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
期刊:
影响因子:
--
通讯作者:
Yifan Xu;I. Lee;Kunal Agrawal
中科院分区:
文献类型:
--
作者:
Yifan Xu;I. Lee;Kunal Agrawal
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.