Mayfly: A general-purpose, scalable, parallel processing architecture

TheMayfly is a scalable general-purpose parallel processing system being designed at HP Laboratories, in collaboration with colleagues at the University of Utah. The system is intended to efficiently support parallel variants of modern programming languages such as Lisp, Prolog, and Object Oriented Programming models. These languages impose a common requirement on the hardware platform to supportdynamic system needs such as runtime type checking and dynamic storage management. The main programming language for the Mayfly is a concurrent dialect of Scheme. The system is based on a distributed-memory model, and communication between processing elements is supported by message passing. The initial prototype of Mayfly will consist of 19 identical processing elements interconnected in a hexagonal mesh structure. In order to achieve the goal of scalable performance, each processing element is a parallel processor as well, which permits the application code, runtime operating system, and communication to all run in parallel. A 7 processing element subset of the prototype is presently operational. This paper describes the hardware architecture after a brief background synopsis of the software system structure.

[1]  Richard M. Brown,et al.  The ILLIAC IV Computer , 1968, IEEE Transactions on Computers.

[2]  Al Davis,et al.  The Architecture of the FAIM-1 Symbolic Multiprocessing System , 1985, IJCAI.

[3]  Randall Rettberg,et al.  The Monarch parallel processor hardware design , 1990, Computer.

[4]  Samuel T. Chanson,et al.  Process groups and group communications: classifications and requirements , 1990, Computer.

[5]  Kenneth S. Stevens,et al.  The Post Office-Communication Support for Distributed Ensemble Architectures , 1986, IEEE International Conference on Distributed Computing Systems.

[6]  Daniel W. Weise,et al.  Distributing backward-chaining deductions to multiple processors , 1988 .

[7]  Roger M. Firestone An analytic model for parallel computation , 1977, AFIPS '77.

[8]  John Sanguinetti Performance of a Message-Based Multiprocessor , 1986, Computer.

[9]  Andrew A. Chien,et al.  The J-Machine: A Fine Grain Concurrent Computer , 1989 .

[10]  John L. Gustafson,et al.  The Architecture of a Homogeneous Vector Supercomputer , 1986, J. Parallel Distributed Comput..

[11]  B. Ramakrishna Rau,et al.  Efficient code generation for horizontal architectures: Compiler techniques and architectural support , 1982, ISCA '82.

[12]  Robert S. Swarz,et al.  The theory and practice of reliable system design , 1982 .

[13]  L. W. Tucker,et al.  Architecture and applications of the Connection Machine , 1988, Computer.

[14]  V. Jagannathan,et al.  Blackboard Architectures and Applications , 1989 .

[15]  John P. Hayes,et al.  A Microprocessor-based Hypercube Supercomputer , 1986, IEEE Micro.

[16]  Richard Masao Fujimoto VLSI Communication Components for Multicomputer Networks , 1983 .

[17]  W Daniel Hillis,et al.  The Connection Machine (Computer Architecture for the New Wave). , 1981 .

[18]  G. Amdhal,et al.  Validity of the single processor approach to achieving large scale computing capabilities , 1967, AFIPS '67 (Spring).

[19]  Ralph Duncan,et al.  A Survey of Parallel Computer , 1990 .

[20]  Paul Hudak,et al.  Garbage collection and task deletion in distributed applicative processing systems , 1982, LFP '82.

[21]  Michael J. Flynn,et al.  Some Computer Organizations and Their Effectiveness , 1972, IEEE Transactions on Computers.

[22]  E. Douglas Jensen,et al.  Computer Interconnection Structures: Taxonomy, Characteristics, and Examples , 1975, CSUR.

[23]  Richard M. Karp,et al.  Parallel Program Schemata , 1969, J. Comput. Syst. Sci..

[24]  Arvind,et al.  Executing a Program on the MIT Tagged-Token Dataflow Architecture , 1990, IEEE Trans. Computers.

[25]  Joseph Boykin,et al.  Guest Editor's Introduction: Recen Developments in Operating Systems , 1990 .

[26]  Charles L. Seitz,et al.  The cosmic cube , 1985, CACM.