On the importance of an end-to-end view of memory consistency in future computer systems

  • Guang R. Gao
  • Vivek Sarkar
I Invited Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1336)

Abstract

The main purpose of a memory consistency model is to serve as an agreement between hardware system designers and software developers on the semantics of memory operations so as to ensure correct execution of user programs. However, the bulk of past work on memory consistency models has been pursued from the hardware viewpoint. In this viewpoint, a memory consistency model is used to specify certain behavioral properties that are guaranteed by uniprocessor/multiprocessor hardware e.g., the memory coherence property. In this paper, we argue that it is essential to adopt an end-to-end view of memory consistency that can be understood at all levels of software and hardware. We believe that this is possible with a memory consistency model based on partial order execution semantics — such as the Location Consistency (LC) model — rather than on the memory coherence assumption.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Proceedings of the 17th Annual International Symposium on Computer Architecture, Seattle, Washington, May 1990.Google Scholar
  2. 2.
    Sarita V. Adve and Mark D. Hill, “Weak Ordering-A New Definition,” in Proceedings of the 17th Annual International Symposium on Computer Architecture, Seattle, Washington, pp. 2–14, May 1990.Google Scholar
  3. 3.
    Sarita V. Adve and Mark D. Hill, “A Unified Formalization of Four Shared-Memory Models,” IEEE Transactions on Parallel and Distributed Systems, pp. 613–624, June 1993.Google Scholar
  4. 4.
    B. Bershad, M. Zekauskas, and W. Sawdon, “The Midway Distributed Shared Memory System,” in Proceedings of the IEEE COMPCON, 1993.Google Scholar
  5. 5.
    Robert D. Blumofe, Matteo Frigo, Christopher F. Joerg, Charles E. Leiserson, and Keith H. Randall, “An Analysis of Dag-Consistent Distributed Shared-Memory Algorithms,” in Proceedings of the 8th Annual ACM Symposium on Parallel Algorithms and Architectures, Padua, Italy, pp. 297–308, June 1996.Google Scholar
  6. 6.
    J.B. Carter, J.K. Bennett, and W. Zwaenepoel, “Implementation and Performance of Munin,” in Proceedings of the 13 ACM Symposium on Operating System Principles, pp. 152–164, 1991.Google Scholar
  7. 7.
    Michel Dubois, Christoph Scheurich, and Faye Briggs, “Memory Access Buffering in Multiprocessors,” in Proceedings of the 13th Annual International Symposium on Computer Architecture, Tokyo, Japan, pp. 434–442, June 1986.Google Scholar
  8. 8.
    Guang R. Gao and Vivek Sarkar, “Location Consistency: Stepping Beyond the Barriers of Memory Coherence and Serializability,” ACAPS Technical Memo 78, School of Computer Science, McGill University, Montréal, Québec, December 1994. In ftp://ftp-acaps.cs.mcgill.ca/pub/doc/memos.Google Scholar
  9. 9.
    Guang R. Gao and Vivek Sarkar, “Location Consistency: Stepping Beyond Memory Coherence Barrier,” in Proceedings of the 1995 International Conference on Parallel Processing, vol. II, Oconomowoc, Wisconsin, pp. 73–76, August 1995.Google Scholar
  10. 10.
    Kourosh Gharachorloo, Daniel Lenoski, James Laudon, Phillip Gibbons, Anoop Gupta, and John Hennessy, “Memory Consistency and Event Ordering in Scalable Shared-Memory Multiprocessors,” in Proceedings of the 17th Annual International Symposium on Computer Architecture, Seattle, Washington, pp. 15–26, May 1990.Google Scholar
  11. 11.
    Alan H. Karp and Vivek Sarkar, “Data Merging for Shared-Memory Multiprocessors,” Proceedings of the,26th Hawaii International Conference on System Sciences, Walilea, Hawaii, Volume I (Architecture), pp. 244–256, January 1993.Google Scholar
  12. 12.
    Pete Keleher, Alan L. Cox, and Willy Zwaenepoel, “Lazy Release Consistency for Software Distributed Shared Memory,” in Proceedings of the 19th Annual International Symposium on Computer Architecture, Gold Coast, Australia, pp. 13–21, May 1992.Google Scholar
  13. 13.
    Leslie Lamport, “How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs,” IEEE Transactions on Computers, 28(9):690–691, September 1979.Google Scholar
  14. 14.
    Daniel Lenoski, Kourosh Gharachorloo, James Laudon, Anoop Gupta, John Hennessy, Mark Horowitz, and Monica Lam, “Design of Scalable Shared-Memory Multiprocessors: The DASH Approach,” in Digest of Papers, 35th IEEE Computer So ciety International Conference, COMPCON Spring '90, San Francisco, California, pp. 62–67, February-March 1990.Google Scholar
  15. 15.
    Shamir Merali, “Designing and Implementing Memory Consistency Models for Shared-Memory Multiprocessors,” Master's thesis, McGill University, Montréal, Québec, April 1996.Google Scholar
  16. 16.
    Hisham Petry, “Comparison of SC-Derived Memory Models and Location Consistency on Shared Memory Architectures,” Master's thesis, McGill University, Montréal, Québec, July 1997.Google Scholar
  17. 17.
    J. H. Saltzer, D. P. Reed, and D. D. Clark, “End-TO-End Arguments in System Design,” ACM Transactions on Computer Systems, 2(4):277–288, November 1984.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag 1997

Authors and Affiliations

  • Guang R. Gao
    • 1
  • Vivek Sarkar
    • 2
  1. 1.University of DelawareNewarkUSA
  2. 2.MIT Laboratory for Computer ScienceCambridgeUSA

Personalised recommendations