Sciweavers

PPOPP
2010
ACM

Analyzing lock contention in multithreaded applications

13 years 9 months ago
Analyzing lock contention in multithreaded applications
Many programs exploit shared-memory parallelism using multithreading. Threaded codes typically use locks to coordinate access to shared data. In many cases, contention for locks reduces parallel efficiency and hurts scalability. Being able to quantify and attribute lock contention is important for understanding where a multithreaded program needs improvement. This paper proposes and evaluates three strategies for gaining insight into performance losses due to lock contention. First, we consider using a straightforward strategy based on call stack profiling to attribute idle time and show that it fails to yield insight into lock contention. Second, we consider an approach that builds on a strategy previously used for analyzing idleness in work-stealing computations; we show that this strategy does not yield insight into lock contention. Finally, we propose a new technique for measurement and analysis of lock contention that uses data associated with locks to blame lock holders for th...
Nathan R. Tallent, John M. Mellor-Crummey, Allan P
Added 29 Jan 2011
Updated 29 Jan 2011
Type Journal
Year 2010
Where PPOPP
Authors Nathan R. Tallent, John M. Mellor-Crummey, Allan Porterfield
Comments (0)