Title :
RACEZ: a lightweight and non-invasive race detection tool for production applications
Author :
Sheng, Tianwei ; Vachharajani, Neil ; Eranian, Stephane ; Hundt, Robert ; Chen, Wenguang ; Zheng, Weimin
Author_Institution :
Tsinghua Univ., Beijing, China
Abstract :
Concurrency bugs, particularly data races, are notoriously difficult to debug and are a significant source of unreliability in multithreaded applications. Many tools to catch data races rely on program instrumentation to obtain memory instruction traces. Unfortunately, this instrumentation introduces significant runtime overhead, is extremely invasive, or has a limited domain of applicability making these tools unsuitable for many production systems. Consequently, these tools are typically used during application testing where many data races go undetected. This paper proposes RACEZ , a novel race detection mechanism which uses a sampled memory trace collected by the hardware performance monitoring unit rather than invasive instrumentation. The approach introduces only a modest overhead making it usable in production environments. We validate RACEZ using two open source server applications and the PARSEC benchmarks. Our experiments show that RACEZ catches a set of known bugs with reasonable probability while introducing only 2.8% runtime slow down on average.
Keywords :
multi-threading; multiprocessing programs; production engineering computing; program debugging; RACEZ; concurrency bugs; data races; lightweight race detection tool; multithreaded applications; noninvasive race detection tool; production applications; production systems; program instrumentation; Computer bugs; Instruction sets; Instruments; Monitoring; Phasor measurement units; Servers; Synchronization; data races; performance monitoring unit; probability analysis; sampling;
Conference_Titel :
Software Engineering (ICSE), 2011 33rd International Conference on
Conference_Location :
Honolulu, HI
Print_ISBN :
978-1-4503-0445-0
Electronic_ISBN :
0270-5257
DOI :
10.1145/1985793.1985848