A distributed implementation of shared uirtual memory with strong and weak coherence

  • W. K. Giloi
  • C. Hastedt
  • F. Schoen
  • W. Schroeder-Preikschat
Virtual Shared Memory
Part of the Lecture Notes in Computer Science book series (LNCS, volume 487)


A virtual shared memory architecture (VSMA) is a distributed memory architecture that looks to the application software as if it were a shared memory system. The major problem with such a system is to maintain the coherence of the distributed data entities. Shared virtual memory means that the shared data entities are pages of local virtual memories with demand paging. Memory coherence may be strong or weak. Strong coherence is a scheme where all the shared data entities look from the outside as if they were stored in one coherent memory. This simplifies programming of a distributed memory system at the cost of a high message traffic in the system, needed to maintain the strong coherence. The efficiency of the system can be increased by adding a weak coherence scheme that allows for multiple writes by different threads of control into the same page. The price of the weak coherence scheme is the need for explicit program synchronizations, needed to reestablish at the end the strong coherence of the result. For the computer architect, the challenging question is how to implement a VSMA most efficiently and, specifically, by what architectural means to support the implementation. In the paper a new solution to this question is presented based upon an innovative distributed memory architecture in which communication is conducted by a dedicated communication processor in each node rather than by the node CPU. This will make the exchange of short, fixed-size messages, e.g., invalidation notices, very efficient. Therefore, it becomes more appropriate to minimize the overall administrative overhead, even at the cost of more message traffic. On that rationale, a novel, capability-based mechanism for both strong and weak coherence of shared virtual memory is presented. The weak coherence scheme is built on top of the strong coherence, utilizing its mechanisms. The proposed implementation is totally distributed and based on a strict need to know philosophy. Consequently, the elaborate pointer lists and their handling at runtime typical for other solutions is not needed.


Distributed memory architecture virtual shared memory architecture strong and weak data coherence communication hardware parallelizing compilers 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Anonymous: PAX Standard Concurrency Control Architecture, Revision 2.4 (Sept. 1989), Intel Corp. and Alliant Computer Systems Corp.Google Scholar
  2. [2]
    Giloi W.K.: Development of Future Supercomputer Architecture — The Challenge of the Nineties, Proc. 6th German-Japanese Technology Forum (1990)Google Scholar
  3. [3]
    Li K.: Shared Virtual Memory on Loosely Coupled Multiprocessors, Ph.D.thesis, Yale University 1986Google Scholar
  4. [4]
    Li K. and Schaefer R.: A Hypercube Shared Virtual Mermory System, Proc. 1989 Internat. Conf. on Parallel Processing, IEEE Catalog No. 89CH2701-1, 125–132Google Scholar
  5. [5]
    Lenoski D. et al.: Stanford DASH Multiprocessor, paper submitted for publication 1990Google Scholar
  6. [6]
    Haridi S., Hagersten E.: The Cache Coherence Protocol of the Data Diffusion Machine, in Odijk E. et al.(eds.): PARLE '89 Parallel Architectures and Languages Europe, LNCS 365, Springer 1989, 1–18Google Scholar
  7. [7]
    McBryan O.: Aktuelle Entwicklungen im Parallelen Rechnen in den USA, GMD Spiegel 1/89Google Scholar
  8. [8]
    Stumm M., Zhou S.: Algorithms Implementing Distributed Shared Memory, COMPUTER (May 1990), 54–64Google Scholar
  9. [9]
    Ricart G., Agrawala A.K.: An Optimal Algorithm for Mutual Exclusion in Computer Networks, CACM 24 (Jan. 1981), 9–17Google Scholar
  10. [10]
    Dubois M., Scheurich C., Briggs F.: Memory Access Buffering in Multiprocessors, Proc. 13th Internat. Symp. on Comp. Architect., IEEE Publication No. 86CH2291-3, 434–442Google Scholar
  11. [11]
    Cheriton D.R. et al.: Multi-Level Shared Caching Techniques for Scalability in VMP-MC, Proc. 16th Annual Internat. Symposium on Computer Architecture (June 1989), 16–24Google Scholar
  12. [12]
    Kennedy K. and Zima H.P.: Virtual Shared Memory for Distributed-Memory Machines, Proc. 4th Hypercube Conference 1989Google Scholar
  13. [13]
    Schröder W.: Overcoming the Startup Time Problem in Distributed Memory Architectures, Proc. Hawaii Internat. Conf. on System Sciences (Jan. 1991), IEEE publicationGoogle Scholar
  14. [14]
    Giloi W.K., Schroeder W.: Very High-Speed Communication in Large MIMD Supercomputers, Proc. 3rd. Internat. Conf. on Supercomputing (June 1989), ACM Order No. 415891, 313–321Google Scholar
  15. [15]
    Giloi W.K., Montenegro S.: High-Bandwidth Interconnects for Highly Parallel MIMD Architectures, Proc. 24th Hawaii Internat. Conf. on System Sciences (Jan-.1991), IEEE publicationGoogle Scholar
  16. [16]
    Bisiani R., Nowatzyk A., Ravishankar M.: Coherent Shared Memory on a Distributed Memory Machine, Proc. 1989 Internat. Conf. on Parallel Processing, IEEE Catalog No. 89CH2701-1, 133–141Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • W. K. Giloi
    • 1
  • C. Hastedt
    • 1
  • F. Schoen
    • 1
  • W. Schroeder-Preikschat
    • 1
  1. 1.GMD Research Center for Innovative Computer Systems and Technology at the Technical University of BerlinGermany

Personalised recommendations