Provably good and practically efficient parallel race detection for fork-join programs

35Citations
Citations of this article
13Readers
Mendeley users who have this article in their library.

Abstract

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.

Cite

CITATION STYLE

APA

Utterback, R., Agrawal, K., Fineman, J. T., & Lee, I. T. A. (2016). Provably good and practically efficient parallel race detection for fork-join programs. In Annual ACM Symposium on Parallelism in Algorithms and Architectures (Vol. 11-13-July-2016, pp. 83–94). Association for Computing Machinery. https://doi.org/10.1145/2935764.2935801

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free