Skip to main content

Toward a compile-time methodology for reducing false sharing and communication traffic in shared virtual memory systems

  • Conference paper
  • First Online:
Languages and Compilers for Parallel Computing (LCPC 1993)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 768))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 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.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Article  Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Utpal Banerjee David Gelernter Alex Nicolau David Padua

Rights and permissions

Reprints 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

Publish with us

Policies and ethics