Hierarchical Coherency Management for Shared Virtual Memory Multicomputers

Abstract For many applications of scalable multicomputers with distributed memory it is desirable to provide transparent shared virtual memory. For such applications, the hardware and system software must maintain coherency among the local memories. Most existing coherency schemes for multicomputers manage memory uniformly at a single granularity of fixed size pages or cache blocks, leading to unnecessarily high storage overhead and poor performance. Coherency management at the granularity of pages (thousands of bytes) results in unnecessary network traffic. At the granularity of cache blocks (tens of bytes), unacceptably large mapping tables are needed for large systems. We propose a solution to this problem using hierarchical management, where mapping and transfer at the block level are done only when necessary—during the time that the page is actually shared. When pages are not shared, they do not require more space for mapping tables than uniform page-level schemes. A detailed description of the scheme is presented, together with an evaluation of its performance and area overheads. The results of trace-driven simulations of the hierarchical coherency scheme are reported. It is shown that the hierarchical scheme makes it possible to achieve the performance advantage of uniform block-based schemes without their large storage overhead.

[1]  Y. Tamir,et al.  Multi-level coherency management for high-performance shared virtual memory multicomputers , 1991, [1991 Proceedings] Tenth Annual International Phoenix Conference on Computers and Communications.

[2]  Randy H. Katz,et al.  Implementing a cache consistency protocol , 1985, ISCA 1985.

[3]  A. Richard Newton,et al.  An empirical evaluation of two memory-efficient directory methods , 1990, ISCA '90.

[4]  Kai Li,et al.  A Hypercube Shared Virtual Memory System , 1989, ICPP.

[5]  J. ContiC.,et al.  Structural aspects of the system/360 model 85 , 1968 .

[6]  Paul Hudak,et al.  Memory coherence in shared virtual memory systems , 1989, TOCS.

[7]  Charles L. Seitz,et al.  Multicomputers: message-passing concurrent computers , 1988, Computer.

[8]  Albert Chang,et al.  801 storage: architecture and programming , 1988, TOCS.

[9]  Sandra Johnson Baylor,et al.  A Study of the Memory Reference Behavior of Engineering/Scientific Applications in Parallel Processors , 1989, ICPP.

[10]  John S. Liptay,et al.  Structural Aspects of the System/360 Model 85 II: The Cache , 1968, IBM Syst. J..

[11]  Anant Agarwal,et al.  Directory-based cache coherence in large-scale multiprocessors , 1990, Computer.

[12]  Michael L. Scott,et al.  Simple but effective techniques for NUMA memory management , 1989, SOSP '89.

[13]  Michel Dubois,et al.  Shared Data Contention in a Cache Coherence Protocol , 1988, ICPP.

[14]  Dirk Grunwald,et al.  Hyperswitch network for the hypercube computer , 1988, ISCA '88.

[15]  Anant Agarwal,et al.  LimitLESS directories: A scalable cache coherence scheme , 1991, ASPLOS IV.