Title
Efficient Data Race Detection for Async-Finish Parallelism
Abstract
A major productivity hurdle for parallel programming is the presence of data races. Data races can lead to all kinds of harmful program behaviors, including determinism violations and corrupted memory. However, runtime overheads of current dynamic data race detectors are still prohibitively large (often incurring slowdowns of 10× or larger) for use in mainstream software development. In this paper, we present an efficient dynamic race detector algorithm targeting the async-finish task-parallel parallel programming model. The async and finish constructs are at the core of languages such as X10 and Habanero Java (HJ). These constructs generalize the spawn-sync constructs used in Cilk, while still ensuring that all computation graphs are deadlock-free. We have implemented our algorithm in a tool called TaskChecker and evaluated it on a suite of 12 benchmarks. To reduce overhead of the dynamic analysis, we have also implemented various static optimizations in the tool. Our experimental results indicate that our approach performs well in practice, incurring an average slowdown of 3.05× compared to a serial execution in the optimized case.
Year
DOI
Venue
2012
10.1007/978-3-642-16612-9_28
Formal Methods in System Design
Keywords
Field
DocType
Parallel programming,Program analysis,Data races,Determinism
Asynchronous communication,Suite,Computer science,Parallel computing,Real-time computing,Dynamic data,Parallel programming model,Cilk,Java,Software development,Computation
Journal
Volume
Issue
ISSN
41
3
1572-8102
ISBN
Citations 
PageRank 
3-642-16611-3
36
1.23
References 
Authors
18
5
Name
Order
Citations
PageRank
Raghavan Raman123510.70
Jisheng Zhao248024.34
Vivek Sarkar34318409.41
Martin T. Vechev487548.07
Eran Yahav5170679.49