Title
Conflict exceptions: simplifying concurrent language semantics with precise hardware exceptions for data-races
Abstract
We argue in this paper that concurrency errors should be treated as exceptions, i.e., have fail-stop behavior and precise semantics. We propose an exception model based on conflict of synchronization free regions, which precisely detects a broad class of data-races. We show that our exceptions provide enough guarantees to simplify high-level programming language semantics and debugging, but are significantly cheaper to enforce than traditional data-race detection. To make the performance cost of enforcement negligible, we propose architecture support for accurately detecting and precisely delivering these exceptions. We evaluate the suitability of our model as well as the behavior of our architectural mechanisms using the PARSEC benchmark suite and commercial applications. Our results show that the exception model largely reflects how programmers are already writing code and that the main memory, traffic and performance overheads of the enforcement mechanisms we propose are very low.
Year
DOI
Venue
2010
10.1145/1815961.1815987
Proceedings of the 40th Annual International Symposium on Computer Architecture
Keywords
Field
DocType
languages,design,threads,bug
Synchronization,Parsec,Programming language,Suite,Computer science,Concurrency,Parallel computing,Thread (computing),Real-time computing,Enforcement,Semantics,Debugging
Conference
Volume
Issue
ISSN
38
3
0163-5964
Citations 
PageRank 
References 
55
1.96
26
Authors
5
Name
Order
Citations
PageRank
Brandon Lucia169032.24
Luis Ceze22183125.93
Karin Strauss3111172.82
Shaz Qadeer43257239.11
Hans Boehm563238.83