RaceTM: Detecting Data Races using Hardware Transactional Memory (brief announcement)

  • Shantanu Gupta ,
  • Florin Sultan ,
  • Srihari Cadambi ,
  • Franjo Ivancic ,
  • Martin Roetteler

Proceedings 20th ACM Symposium on Parallelism in Algorithms and Architectures (SPAA'08) |

Widespread emergence of multicore processors will spur development of parallel applications, exposing programmers to more hardware concurrency. Dependable multithreaded software will have to rely on the ability to dynamically detect data races, which are non-deterministic and notoriously hard to reproduce symptoms of synchronization bugs. In this paper, we propose RaceTM, a novel approach that exploits transactional memory support to detect data races. We introduce the concept of lightweight debug transactions that exploit the conflict detection mechanisms of transactional memory systems to perform data race detection. Debug transactions differ from regular transactions in that they do not need to be rolled back, and therefore require no versioning or checkpointing support. Debug transactions do not overlap with a regular transaction, thus providing a transparent mechanism to leverage existing transactional memory support for data race detection.