Conflict exceptions: simplifying concurrent language semantics with precise hardware exceptions for data-races

  • Authors:
  • Brandon Lucia;Luis Ceze;Karin Strauss;Shaz Qadeer;Hans-J. Boehm

  • Affiliations:
  • University of Washington, Seattle, WA, USA;University of Washington, Seattle, WA, USA;Microsoft Research, Redmond, WA & University of Washington, Seattle, WA, USA;Microsoft Research, Redmond, WA & University of Washington, Seattle, WA, USA;Hewlett Packard Laboratories, Palo Alto, CA, USA

  • Venue:
  • Proceedings of the 37th annual international symposium on Computer architecture
  • Year:
  • 2010

Quantified Score

Hi-index 0.06

Visualization

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.