Intermediate checkpointing with conflicting access prediction in transactional memory systems

Intermediate checkpointing with conflicting access prediction in transactional memory systems
复制标题

事务内存系统中具有冲突访问预测的中间检查点

DOI:
--
复制
发表时间:
2008
期刊:
2008 IEEE International Symposium on Parallel and Distributed Processing
影响因子:
--
通讯作者:
P. Stenström
P. Stenström
中科院分区:
--
文献类型:
--
作者:
M. Waliullah;P. Stenström

文献摘要

被引文献

相似文献

transmitted内存系统承诺通过减轻程序员详细分析复杂的线程间依赖关系来减少暴露程序中线程级并行性的负担。通过封装大型程序代码块并将其作为原子块执行,依赖性检查被推迟到运行时,此时许多冲突事务中的一个将被提交,而其他事务将不得不回滚并重新执行。在目前的建议,检查点采取在原子块的开始和所有的执行可能会浪费,即使冲突的访问发生在原子块的结束在本文中,我们提出了一种新的方案,(1)预测何时发生第一个冲突的访问和(2)插入一个检查点之前,它被执行。当预测正确时,唯一被丢弃的执行是必须重新执行的执行。当预测不正确时,整个事务必须像以前一样重新执行。总体而言,我们发现,我们的计划管理,以保持高的预测精度,并导致相当显着减少的数量丢失的周期,由于回滚;几何平均加速在五个应用程序是16%。
Transactional memory systems promise to reduce the burden of exposing thread-level parallelism in programs by relieving programmers from analyzing complex inter-thread dependences in detail. By encapsulating large program code blocks and executing them as atomic blocks, dependence checking is deferred to run-time at which point one of many conflicting transactions will be committed whereas the others will have to roll-back and re-execute. In current proposals, a checkpoint is taken at the beginning of the atomic block and all execution can be wasted even if the conflicting access happens at the end of the atomic block In this paper, we propose a novel scheme that (1) predicts when the first conflicting access occurs and (2) inserts a checkpoint before it is executed. When the prediction is correct, the only execution discarded is the one that has to be re-done. When the prediction is incorrect, the whole transaction has to be re-executed just as before. Overall, we find that our scheme manages to maintain high prediction accuracy and leads to a quite significant reduction in the number of lost cycles due to roll-backs; the geometric mean speedup across five applications is 16%.