Title :
CORD: cost-effective (and nearly overhead-free) order-recording and data race detection
Author :
Prvulovic, Milos
Author_Institution :
Georgia Inst. of Technol., Atlanta, GA, USA
Abstract :
Chip-multiprocessors are becoming the dominant vehicle for general-purpose processing, and parallel software will be needed to effectively utilize them. This parallel software is notoriously prone to synchronization bugs, which are often difficult to detect and repeat for debugging. While data race detection and order-recording for deterministic replay are useful in debugging such problems, only order-recording schemes are lightweight, whereas data race detection support scales poorly and degrades performance significantly. This paper presents our CORD (cost-effective order-recording and data race detection) mechanism. It is similar in cost to prior order-recording mechanisms, but costs considerably less then prior schemes for data race detection. CORD also has a negligible performance overhead (0.4% on average) and detects most dynamic manifestations of synchronization problems (77% on average). Overall, CORD is fast enough to run always (even in performance-sensitive production runs) and provides the support programmers need to deal with the complexities of writing, debugging, and maintaining parallel software for future multi-threaded and multi-core machines.
Keywords :
microprocessor chips; parallel programming; program debugging; synchronisation; chip-multiprocessor; cost-effective order-recording; data race detection; general-purpose processing; parallel software; synchronization bug; Computer bugs; Costs; Degradation; Production; Programming profession; Software debugging; Software maintenance; Software performance; Vehicle dynamics; Writing;
Conference_Titel :
High-Performance Computer Architecture, 2006. The Twelfth International Symposium on
Print_ISBN :
0-7803-9368-6
DOI :
10.1109/HPCA.2006.1598132