Abstract
To date, page management in shared virtual memory (SVM) systems has been primarily the responsibility of the run time system. However, there are some problems that are difficult to resolve efficiently at run time. Chief among these is false sharing. In this paper, a loop transformation theory is developed for identifying and eliminating page-level sharing between processors at compile-time. Loop nests of one and two dimensions (before blocking) with single-level doall style parallelism are discussed.
While at Leiden University, this work was supported by the Esprit Agency DG XIII under Grant No. APPARC 6634 BRA III. Part of this work was done while the author was a Research Scientist at the Center for Research on Parallel Computation at Rice University, supported by a National Science Foundation Postdoctoral Research Associateship in Computational Science and Engineering under grant no. CDA-9310307 and by the Center for Research on Parallel Computation under grant no. CCR-9120008.
Preview
Unable to display preview. Download preview PDF.
References
W. J. Bolosky, R. P. Fitzgerald, and M. L. Scott, “Simple But Effective Techniques for NUMA Memory Management,” in Proceedings of the 12th ACM Symposium on Operating Systems Principles, pp. 19–31, Dec. 1989.
J. B. Carter, J. K. Bennett, and W. Zwaenepoel, “Implementation and Performance of Munin,” in Proceedings of the 13th ACM Symposium on Operating Systems Principles, pp. 152–164, Oct. 1991.
R. LaRowe Jr., J. T. Wilkes, and C. S. Ellis, “Exploiting Operating System Support for Dynamic Page Placement on a NUMA Shared Memory Multiprocessor,” in Proceedings of the Third ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, pp. 122–132, Apr. 1991.
Z. Lahjomri and T. Priol, “KOAN: A Shared Virtual Memory for the iPSC/2 Hypercube,” Tech. Rep. 597, IRISA/INRIA, July 1991. Submitted to Journal of Parallel and Distributed Computing.
E. D. Granston, “Toward a Compile-Time Methodology for Eliminating False Sharing and Reducing Communication Traffic in Shared Virtual Memory Systems,” Tech. Rep. 93-12, Computer Science Department, Leiden University, 1993.
E. D. Granston and H. A. G. Wishoff, “Managing Pages in Shared Virtual Memory Systems: Getting the Compiler into the Game,” Tech. Rep. 92-19, Computer Science Department, Leiden University, Dec. 1992. Revised July 1993.
E. D. Granston, “Computing Blocking and Alignment Factors for References Whose Subscripts Are Functions of a Single Loop Index,” Tech. Rep. 93-22, Computer Science Department, Leiden University, 1993.
T. Priol and Z. Lahjomri, “Trade-offs Betweeen Shared Virtual Memory and Message-Passing on an iPSC/2 Hypercube,” Tech. Rep. 637, IRISA/INRIA, Feb. 1992.
J. Torrellas, M. S. Lam, and J. L. Hennessy, “False Sharing and Spatial Locality in Multiprocessor Caches,” Aug. 1992. Submitted to IEEE Transactions on Computers.
M. E. Wolf and M. S. Lam, “A Data Locality Optimizing Algorithm,” in Proceedings of the ACM SIGPLAN '91 Conference on Programming Languages Design and Implementation, vol. 26(6), pp. 30–44, June 1991.
K. Kennedy and K. S. McKinley, “Optimizing for Parallelism and Data Locality,” in Proceedings of the International Conference on Supercomputing, pp. 323–334, July 1992.
F. Bodin, C. Eisenbeis, W. Jalby, and D. Windheiser, “A Quantitative Algorithm for Data Locality Optimization,” in Code Generation-Concepts, Tools, Techniques, Springer-Verlag, 1992.
M. Breternitz, Jr., M. Lai, V. Sarkar, and B. Simons, “Compiler solutions for the stale-data and false-sharing problems,” Tech. Rep. 03.466, IBM Santa Teresa Laboratory, Apr. 1993.
W. Giloi, C. Hastedt, F. Schoen, and W. Schroeder-Preikschat, “A Distributed Implementation of Shared Virtual Memory with Strong and Weak Coherence,” in Distributed Memory Computing (A. Bode, ed.), LNCS 487, pp. 23–31, Springer-Verlag, Apr. 1991.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Granston, E.D. (1994). Toward a compile-time methodology for reducing false sharing and communication traffic in shared virtual memory systems. In: Banerjee, U., Gelernter, D., Nicolau, A., Padua, D. (eds) Languages and Compilers for Parallel Computing. LCPC 1993. Lecture Notes in Computer Science, vol 768. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57659-2_16
Download citation
DOI: https://doi.org/10.1007/3-540-57659-2_16
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57659-4
Online ISBN: 978-3-540-48308-3
eBook Packages: Springer Book Archive