Title
Permission regions for race-free parallelism
Abstract
It is difficult to write parallel programs that are correct. This is because of the potential for data races , when parallel tasks access shared data in complex and unexpected ways. A classic approach to addressing this problem is dynamic race detection, which has the benefits of working transparently to the programmer and not raising any false alarms. Unfortunately, dynamic race detection is very slow in practice; further, it can only detect low-level races, not high-level races which are also known as atomicity violations . In this paper, we present a new approach to dynamic detection of data races and atomicity violations based on the concept of permission regions , which are regions of code that have permission to read or write certain variables. Dynamic checks are used to ensure that no conflicting permission regions execute in parallel, thereby allowing the granularity of checks to be adjusted according to the size of permission regions. We demonstrate that permission regions can be used to achieve significantly better performance than past work on dynamic race detection, to the point where they could be used to enable always on race detection for both low- and high-level races in production code.
Year
DOI
Venue
2011
10.1007/978-3-642-29860-8_8
RV
Keywords
Field
DocType
race-free parallelism,high-level race,dynamic detection,race detection,permission region,dynamic check,atomicity violation,conflicting permission region,low-level race,dynamic race detection,data race
Atomicity,Permission,Programmer,Computer science,Real-time computing,Transactional memory,Granularity
Conference
Citations 
PageRank 
References 
6
0.51
28
Authors
4
Name
Order
Citations
PageRank
Edwin Westbrook1927.24
Jisheng Zhao248024.34
Zoran Budimlić329728.95
Vivek Sarkar44318409.41