Publication: T-rex: a dynamic race detection tool for C/C++ transactional memory applications
Program
KU-Authors
KU Authors
Co-Authors
Kestor, Gökçen
Ünsal, Osman S.
Cristal, Adrian
Advisor
Publication Date
Language
English
Journal Title
Journal ISSN
Volume Title
Abstract
Transactional memory (TM) has reached a maturity level and programmers have started using this programming model to parallelize their applications. However, although much effort has been put into the development of TM systems, there is still lack of debugging and development tools for TM applications, such as race detection tools. Previous definitions of transactional data race often impose constraints on the TM implementation or the programming language and cannot be widely applied to current STM designs. We propose a new definition of transactional data race that follows the programmer's intuition of racy accesses, is independent of thread interleaving, can accommodate popular STM systems, and allows common programming idioms. Based on this definition, we design and implement TRex, a precise dynamic race detection tool for C/C++ TM programs. Using T-Rex we discover transactional data races in STAMP applications that, to the best of our knowledge, have not been previously reported. Our experiments also show that T-Rex runtime overhead is comparable to stateof- The-art lock-based race detection tools, despite the extra work required to handle transactional memory semantics.
Source:
Proceedings of the 9th European Conference on Computer Systems, EuroSys 2014
Publisher:
Association for Computing Machinery
Keywords:
Subject
Computer engineering