The Data Diffusion Machine with a Scalable Point-to-Point Network

The Data Diffusion Machine (DDM) is a virtual shared memory machine. Data items in the machine have no fixed home location but instead migrate to the processors that are actually using the data. Coherency is maintained with a hierarchical directory scheme. In an uncongested machine, all memory operations complete in a time bounded by the logarithm of the number of processors. As the machine load increases, the natural combining of the DDM hierarchy allows better network utilisation and helps improve performance. This paper proposes an implementation of the DDM with split directories interconnected with a point-to-point network. This is easier to construct and scales better than previous designs. The protocol has been redesigned for this intercoonect. The network provides a number of paths between pairs of processors and the protocol maintains sequential consistency under these conditions. Conflicting requests (writes on different processors to the same data item) are resolved in a time bounded by the number of processors, without chance of starvation. Performance measurements for systems of up to 81 processors show promising results.

[1]  Abhiram G. Ranade,et al.  How to emulate shared memory , 1991, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[2]  Abhiram G. Ranade,et al.  How to emulate shared memory (Preliminary Version) , 1987, FOCS.

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

[4]  Corporate Rice University,et al.  High performance Fortran language specification , 1993, FORF.

[5]  S. Raina,et al.  Traffic patterns in a scalable multiprocessor through transputer emulation , 1992, Proceedings of the Twenty-Fifth Hawaii International Conference on System Sciences.

[6]  Anoop Gupta,et al.  The DASH Prototype: Logic Overhead and Performance , 1993, IEEE Trans. Parallel Distributed Syst..

[7]  Henri E. Bal,et al.  Orca: A Language For Parallel Programming of Distributed Systems , 1992, IEEE Trans. Software Eng..

[8]  Ian Page,et al.  Parameterised processor generation , 1994 .

[9]  Anoop Gupta,et al.  The Stanford FLASH multiprocessor , 1994, ISCA '94.

[10]  Anoop Gupta,et al.  SPLASH: Stanford parallel applications for shared-memory , 1992, CARN.

[11]  Kai Hwang,et al.  Computer architecture and parallel processing , 1984, McGraw-Hill Series in computer organization and architecture.

[12]  Rice UniversityCORPORATE,et al.  High performance Fortran language specification , 1993 .

[13]  Seif Haridi,et al.  Data Diffusion Machine - A Scalable Shared Virtual Memory Multiprocessor , 1988, FGCS.

[14]  Kai Li,et al.  Shared virtual memory on loosely coupled multiprocessors , 1986 .

[15]  Paul W. A. Stallard,et al.  Parallel evaluation of a parallel architecture by means of calibrated emulation , 1994, Proceedings of 8th International Parallel Processing Symposium.