Efficient data race detection for async-finish parallelism

  • Authors:
  • Raghavan Raman;Jisheng Zhao;Vivek Sarkar;Martin Vechev;Eran Yahav

  • Affiliations:
  • Rice University, Houston, USA 77005;Rice University, Houston, USA 77005;Rice University, Houston, USA 77005;UNG H 14, ETH Zürich, Zürich, Switzerland 8092;Technion---Israel Institute of Technology, Haifa, Israel 32000

  • Venue:
  • Formal Methods in System Design
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

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 more) for use in mainstream software development.In this paper, we present an efficient dynamic race detection algorithm that handles both the async-finish task-parallel programming model used in languages such as X10 and Habanero Java (HJ) and the spawn-sync constructs used in Cilk.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.