Affiliation:
1. Washington University in St. Louis
Abstract
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
T
1
work and
T
∞
span, 2D-Order executes it while also detecting races in
O
(
T
1
/
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
7 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. PINT: Parallel INTerval-Based Race Detector;2022 IEEE International Parallel and Distributed Processing Symposium (IPDPS);2022-05
2. Responsive parallelism with futures and state;Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation;2020-06-06
3. Parallel determinacy race detection for futures;Proceedings of the 25th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming;2020-02-19
4. Processor-Oblivious Record and Replay;ACM Transactions on Parallel Computing;2019-12-26
5. Efficient race detection with futures;Proceedings of the 24th Symposium on Principles and Practice of Parallel Programming;2019-02-16