Reducing False Sharing on Shared Memory Multiprocessors through Compile Time Data Transformations

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

Abstract

We have developed compiler algorithms that analyze explicitly parallel programs and restructure their shared data to reduce the number of false sharing misses. The algorithms analyze per-process shared data accesses, pinpoint the data structures that are susceptible to false sharing and choose an appropriate transformation to reduce it. The transformations either group data that is accessed by the same processor or separate individual data items that are shared. This paper evaluates that technique. We show through simulation that our analysis successfully identifies the data structures that are responsible for most false sharing misses, and then transforms them without unduly decreasing spatial locality. The reduction in false sharing positively impacts both execution time and program scalability when executed on a KSR2. Both factors combine to increase the maximum achievable speedup for all programs, more than doubling it for several. Despite being able to only approximate actual inter-processor memory accesses, the compiler-directed transformations always outperform programmer efforts to eliminate false sharing. © 1995, ACM. All rights reserved.

Cite

CITATION STYLE

APA

Jeremiassen, T. E., & Eggers, S. J. (1995). Reducing False Sharing on Shared Memory Multiprocessors through Compile Time Data Transformations. ACM SIGPLAN Notices, 30(8), 179–188. https://doi.org/10.1145/209937.209955

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