Document Type
Article
Department/Program
Computer Science
Journal Title
Proceedings of Cgo 2016: The 14th International Symposium on Code Generation and Optimization
Pub Date
2016
First Page
1
Abstract
False sharing is a notorious performance problem that may occur in multithreaded programs when they are running on ubiquitous multicore hardware. It can dramatically degrade the performance by up to an order of magnitude, significantly hurting the scalability. Identifying false sharing in complex programs is challenging. Existing tools either incur significant performance overhead or do not provide adequate information to guide code optimization. To address these problems, we develop Cheetah, a profiler that detects false sharing both efficiently and effectively. Cheetah leverages the lightweight hardware performance monitoring units (PMUs) that are available in most modern CPU architectures to sample memory accesses. Cheetah develops the first approach to quantify the optimization potential of false sharing instances without actual fixes, based on the latency information collected by PMUs. Cheetah precisely reports false sharing and provides insightful optimization guidance for programmers, while adding less than 7% runtime overhead on average. Cheetah is ready for real deployment.
Recommended Citation
Liu, Tongping and Liu, Xu, Cheetah: Detecting False Sharing Efficiently and Effectively (2016). Proceedings of Cgo 2016: The 14th International Symposium on Code Generation and Optimization.
10.1145/2854038.2854039
DOI
10.1145/2854038.2854039