Efficient parallel determinacy race detection for two-dimensional dags

Efficient parallel determinacy race detection for two-dimensional dags
复制标题

DOI:
10.1145/3178487.3178515
复制
发表时间:
2018-02
期刊:
Proceedings of the 23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
影响因子:
--
通讯作者:
Yifan Xu;I. Lee;Kunal Agrawal
Yifan Xu;I. Lee;Kunal Agrawal
中科院分区:
其他
文献类型:
--
作者:
Yifan Xu;I. Lee;Kunal Agrawal

文献摘要

被引文献

相似文献

据说如果程序的逻辑并行零件访问相同的内存位置,并且其中一个访问权限通常是程序中的错误。该程序的不同时间表可以带来不同的结果,以检测这些种族的焦点是通过叉-Join并行的程序的子类。在更一般的程序中检测种族,即依赖结构的程序可以表示为嵌入2D网格中的平面dag。跨度2D阶在P处理器上检测到O(T1/P +T∞)时间的种族,这是不对称的Pracer,一种基于CILK-P的2D级的种族检测算法,这是一种表达管道并行性的语言,这表明Pracer构成了合理的开销,并且表现出类似于基线的可伸缩性(没有种族检测)多个内核。
A program is said to have a determinacy race if logically parallel parts of a program access the same memory location and one of the accesses is a write. These races are generally bugs in the program since they lead to non-deterministic program behavior --- different schedules of the program can lead to different results. Most prior work on detecting these races focuses on a subclass of programs with fork-join parallelism. This paper presents a race-detection algorithm, 2D-Order, for detecting races in a more general class of programs, namely programs whose dependence structure can be represented as planar dags embedded in 2D grids. Such dependence structures arise from programs that use pipelined parallelism or dynamic programming recurrences. Given a computation with T1 work and T∞ span, 2D-Order executes it while also detecting races in O(T1/P + T∞) time on P processors, which is asymptotically optimal. We also implemented PRacer, a race-detection algorithm based on 2D-Order for Cilk-P, which is a language for expressing pipeline parallelism. Empirical results demonstrate that PRacer incurs reasonable overhead and exhibits scalability similar to the baseline (executions without race detection) when running on multiple cores.