Conflict Exceptions: Simplifying Concurrent Language Semantics with Precise Hardware Exceptions for Data-Races
The authors argue in this paper that concurrency errors should be treated as exceptions, i.e., have fail-stop behavior and precise semantics. They propose an exception model based on conflict of synchronization free regions, which precisely detects a broad class of data-races. They show that their 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, they propose architecture support for accurately detecting and precisely delivering these exceptions.