TY - GEN
T1 - Provably good and practically efficient parallel race detection for fork-join programs
AU - Utterback, Robert
AU - Agrawal, Kunal
AU - Fineman, Jeremy T.
AU - Lee, I. Ting Angelina
N1 - Publisher Copyright:
© 2016 ACM.
PY - 2016/7/11
Y1 - 2016/7/11
N2 - If a parallel program has determinacy race(s), different schedules can result in memory accesses that observe different values - various race-detection tools have been designed to find such bugs. A key component of race detectors is an algorithm for series-parallel (SP) maintenance, which identifies whether two accesses are logically parallel. This paper describes an asymptotically optimal algorithm, called WSP-Order, for performing SP maintenance in programs with fork-join (or nested) parallelism. Given a fork-join program with T1 work and T∞ span, WSP-Order executes it while also maintaining SP relationships in O(T1/P + T∞) time on P processors, which is asymptotically optimal. At the heart of WSP-Order is a work-stealing scheduler designed specifically for SP maintenance. We also implemented C-RACER, a race-detector based on WSP-Order within the Cilk Plus runtime system, and evaluated its performance on five benchmarks. Empirical results demonstrate that when run sequentially, it performs almost as well as previous best sequential race detectors. More importantly, when run in parallel, it achieves almost as much speedup as the original program without race-detection.
AB - If a parallel program has determinacy race(s), different schedules can result in memory accesses that observe different values - various race-detection tools have been designed to find such bugs. A key component of race detectors is an algorithm for series-parallel (SP) maintenance, which identifies whether two accesses are logically parallel. This paper describes an asymptotically optimal algorithm, called WSP-Order, for performing SP maintenance in programs with fork-join (or nested) parallelism. Given a fork-join program with T1 work and T∞ span, WSP-Order executes it while also maintaining SP relationships in O(T1/P + T∞) time on P processors, which is asymptotically optimal. At the heart of WSP-Order is a work-stealing scheduler designed specifically for SP maintenance. We also implemented C-RACER, a race-detector based on WSP-Order within the Cilk Plus runtime system, and evaluated its performance on five benchmarks. Empirical results demonstrate that when run sequentially, it performs almost as well as previous best sequential race detectors. More importantly, when run in parallel, it achieves almost as much speedup as the original program without race-detection.
KW - Determinacy race
KW - Order-maintenance data structures
KW - Race detection
KW - Series-parallel maintenance
KW - Work stealing
UR - http://www.scopus.com/inward/record.url?scp=84979729369&partnerID=8YFLogxK
U2 - 10.1145/2935764.2935801
DO - 10.1145/2935764.2935801
M3 - Conference contribution
AN - SCOPUS:84979729369
T3 - Annual ACM Symposium on Parallelism in Algorithms and Architectures
SP - 83
EP - 94
BT - SPAA 2016 - Proceedings of the 28th ACM Symposium on Parallelism in Algorithms and Architectures
PB - Association for Computing Machinery
T2 - 28th ACM Symposium on Parallelism in Algorithms and Architectures, SPAA 2016
Y2 - 11 July 2016 through 13 July 2016
ER -