Comparison of lock thrashing avoidance methods and its performance implications for lock design
Yan Cui, Yu Chen, Yuanchun Shi · 2011
Multicore processors have been ubiquitously used in various computing environments. To achieve the performance potential on multicores, applications are often designed to be multithreaded, therefore threads assigned on different cores can execute in parallel. However, the lock contention in operating systems can degrade the scalability of applications so seriously that the overall throughput decreases with the increasing number of cores (lock thrashing) even if there is no data sharing in applications.