Cheetah: Detecting false sharing efficiently and effectively

24Citations
Citations of this article
16Readers
Mendeley users who have this article in their library.

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.

Cite

CITATION STYLE

APA

Liu, T., & Liu, X. (2016). Cheetah: Detecting false sharing efficiently and effectively. In Proceedings of the 14th International Symposium on Code Generation and Optimization, CGO 2016 (pp. 1–11). Association for Computing Machinery, Inc. https://doi.org/10.1145/2854038.2854039

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free