Publication: Trade: precise dynamic race detection for scalable transactional memory systems
Program
KU-Authors
KU Authors
Co-Authors
Kestor, Gökçen
Ünsal, Osman S.
Cristal, Adrian
Advisor
Publication Date
2015
Language
English
Type
Journal Article
Journal Title
Journal ISSN
Volume Title
Abstract
As other multithreaded programs, transactional memory (TM) programs are prone to race conditions. Previous work focuses on extending existing definitions of data race for lock-based applications to TM applications, which requires all transactions to be totally ordered "as if" serialized by a global lock. This approach poses implementation constraints on the STM that severely limits TM applications' performance. This article shows that forcing total ordering among all running transactions, while sufficient, is not necessary. We introduce an alternative data race definition, relaxed transactional data race, that requires ordering of only conflicting transactions. The advantages of our relaxed definition are twofold: First, unlike the previous definition, this definition can be applied to a wide range of TMs, including those that do not enforce transaction total ordering. Second, within a single execution, it exposes a higher number of data races, which considerably reduces debugging time. Based on this definition, we propose a novel and precise race detection tool for C/C++ TM applications (TRADE), which detects data races by tracking happens-before edges among conflicting transactions. Our experiments reveal that TRADE precisely detects data races for STAMP applications running on modern STMs with overhead comparable to state-of-the-art race detectors for lock-based applications. Our experiments also show that in a single run, TRADE identifies several races not discovered by 10 separate runs of a race detection tool based on the previous data race definition.
Description
Source:
ACM Transactions on Parallel Computing
Publisher:
Association for Computing Machinery
Keywords:
Subject
Data flow computing, Electronic data processing, Transactional systems (Computer systems), Parallel processing (Electronic computers)