Publication:
Trade: precise dynamic race detection for scalable transactional memory systems

Placeholder

Organizational Units

Program

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)

Citation

Endorsement

Review

Supplemented By

Referenced By

Copy Rights Note

0

Views

0

Downloads

View PlumX Details