Multiprocessors with shared memory are considered more general and easier to program than message-passing machines. The scalability is, however, in favor of the latter. There are a number of proposals showing how the poor scalability of shared memory multiprocessors can be improved by the introduction of private caches attached to the processors. These caches are kept consistent with each other by cache-coherence protocols. In this paper we introduce a new class of architectures called Cache Only Memory Architectures (COMA). These architectures provide the programming paradigm of the shared-memory architectures, but are believed to be more scal- able. COMAs have no physically shared memory; instead, the caches attached to the processors containallthe memory in the system, and their size is therefore large. A datum is allowed to be in any or many of the caches, and will automat- ically be moved to where it is needed by a cache-coherence protocol, which also ensures that the last copy of a datum is never lost. The location of a datum in the machine is completely decoupled from its address. We also introduce one example of COMA: the Data Diffusion Machine (DDM). The DDM is based on a hierarchical network structure, with processor/memory pairs at its tips. Remote accesses generally cause only a limited amount of traffic over a limited part of the machine. The architecture is scalable in that there can be any number of levels in the hierarchy, and that the root bus of the hierarchy can be implemented by several buses, increasing the bandwidth.
[1]
Khayri A. M. Ali,et al.
The Muse Or-Parallel Prolog Model and its Performance
,
1990,
NACLP.
[2]
Erik Hagersten,et al.
The Cache Coherence Protocol of the Data Diffusion Machine
,
1989,
PARLE.
[3]
Erik Hagersten,et al.
Race-Free Interconnection Networks and Multiprocessor Consistency
,
1991,
ISCA.
[4]
Philip J. Woest,et al.
The Wisconsin multicube: a new large-scale cache-coherent multiprocessor
,
1988,
ISCA '88.
[5]
Mary K. Vernon,et al.
Performance Analysis of Hierarchical Cache-Consistent Multiprocessors
,
1989,
Perform. Evaluation.
[6]
Andrew W. Wilson,et al.
Hierarchical cache/bus architecture for shared memory multiprocessors
,
1987,
ISCA '87.
[7]
Erik Hagersten,et al.
Multiprocessor consistency and synchronization thru transient cache states
,
1992
.
[8]
Randy H. Katz,et al.
Evaluating The Performance Of Four Snooping Cache Coherency Protocols
,
1989,
The 16th Annual International Symposium on Computer Architecture.
[9]
Jean-Loup Baer,et al.
Introducing Memory Into The Switch Elements Of Multiprocessor Interconnection Networks
,
1989,
The 16th Annual International Symposium on Computer Architecture.
[10]
Seif Haridi,et al.
Data Diffusion Machine - A Scalable Shared Virtual Memory Multiprocessor
,
1988,
FGCS.