Title :
Lock Trace Reduction for Multithreaded Programs
Author :
Yan Cai ; Chan, W.K.
Author_Institution :
Dept. of Comput. Sci., City Univ. of Hong Kong, Hong Kong, China
Abstract :
Many happened-before-based detectors for debugging multithreaded programs implement vector clocks to incrementally track the casual relations among synchronization events produced by concurrent threads and generate trace logs. They update the vector clocks via vector-based comparison and content assignment in every case. We observe that many such tracking comparison and assignment operations are removable in part or in whole, which if identified and used properly, have the potential to reduce the log traces thus produced. This paper presents our analysis to identify such removable tracking operations and shows how they could be used to reduce log traces. We implement our analysis result as a technique entitled LOFT. We evaluate LOFT on the well-studied PARSEC benchmarking suite and five large-scale real-world applications. The main experimental result shows that on average, LOFT identifies 63.9 percent of all synchronization operations incurred by the existing approach as removable and does not compromise the efficiency of the latter.
Keywords :
multi-threading; program debugging; program diagnostics; synchronisation; vectors; LOFT; PARSEC benchmarking suite; concurrent threads; content assignment; happened-before-based detectors; large-scale real-world applications; log trace reduction; multithreaded program debugging; removable tracking operations; synchronization events; vector clocks; vector-based comparison; Algorithm design and analysis; Concurrent computing; Detectors; Message systems; Synchronization; Redundant operation optimization; synchronization; threads;
Journal_Title :
Parallel and Distributed Systems, IEEE Transactions on
DOI :
10.1109/TPDS.2013.13