Efficient parallel determinacy race detection for two-dimensional dags

Yifan Xu, I. Ting Angelina Lee, Kunal Agrawal

Research output: Chapter in Book/Report/Conference proceedingChapterpeer-review

6 Scopus citations

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 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.

Original languageEnglish
Title of host publicationACM SIGPLAN Notices
PublisherAssociation for Computing Machinery
Pages368-380
Number of pages13
Volume53
Edition1
ISBN (Electronic)9781450349116
DOIs
StatePublished - Feb 10 2018

Fingerprint

Dive into the research topics of 'Efficient parallel determinacy race detection for two-dimensional dags'. Together they form a unique fingerprint.

Cite this