MP/C: A Multiprocessor/Computer Architecture

A computer architecture for concurrent computing is proposed which has the shared memory aspect of tightly coupled multiprocessor systems and also the connection simplicity associated with message-connected, loosely-coupled multicomputer systems. A large address space is dynamically partitioned into contiguous segments that can be accessed by a single processor. The partitioning is accomplished by switching the system buses. The completion of a concurrent process is signaled by a processor's return to an idle state and the reattachment of its memory segment to the neighboring active processor. In effect, the assignment of an address sequence and the activation of a processor is a process-fork operation, and the processor deactivation and memory segment reattachment is a process-join. Following a description of the MP/C structure and operation, programming conventions are explained and demonstrated. Applications include tree-structured multiprocessing, recursive and nondeterministic procedures, very high precision numerical calculations, process-structured operating systems, and others. The linear MP/C structure is extensible to higher dimensions. A two-dimensional system is described and its application is discussed. Finally, performance issues are presented, and the MP/C architecture is compared with related designs.

[1]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .

[2]  Jon Louis Bentley,et al.  Multidimensional Binary Search Trees in Database Applications , 1979, IEEE Transactions on Software Engineering.

[3]  Jeffrey D. Ullman,et al.  Fundamental concepts of programming systems , 1976 .

[4]  Lawrence C. Widdoes The minerva multi-microprocessor , 1976, ISCA.

[5]  Bernard L. Peuto Architecture of a New Microprocessor , 1979, Computer.

[6]  Svetlana P. Kartashev,et al.  Dynamic Architectures: Problems and Solutions , 1978, Computer.

[7]  Ellis Horowitz,et al.  The Binary Tree as an Interconnection Network: Applications to Multiprocessor Systems and VLSI , 1981, IEEE Transactions on Computers.

[8]  Theodore R. Bashkow,et al.  A large scale, homogeneous, fully distributed parallel machine, I , 1977, ISCA '77.

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

[10]  Alessandro Zorat A divide-and-conquer computer. , 1979 .

[11]  E. P. O'Grady Interprocessor Communication In Multiprocessor Simulation Systems , 1979 .

[12]  Per Brinch Hansen,et al.  Multiprocessor architectures for concurrent programs , 1978, CARN.

[13]  Stanley A. Kurzban,et al.  Operating systems principles , 1975 .

[14]  Ran Ginosar,et al.  Performance evaluation of the MP/C , 1983, AFIPS '83.

[15]  Ken Thompson,et al.  The UNIX time-sharing system , 1974, CACM.

[16]  Philip Enslow,et al.  Multiprocessor Organization—a Survey , 1977, CSUR.

[17]  Tom Gunter,et al.  Microsystems a Microprocessor Architecture for a Changing World: The Motorola 68000 , 1979, Computer.

[18]  H. T. Kung,et al.  A tree machine for searching problems , 1979 .

[19]  Richard I. Tanaka,et al.  Residue arithmetic and its applications to computer technology , 1967 .

[20]  EnslowPhilip Multiprocessor Organizationa Survey , 1977 .

[21]  Samuel H. Fuller,et al.  Cm*: a modular, multi-microprocessor , 1977, AFIPS '77.

[22]  Stephen P. Morse,et al.  The Intel 8086 Microprocessor: a 16-bit Evolution of the 8080 , 1978, Computer.

[23]  H. T. Kung,et al.  Systolic Arrays for (VLSI). , 1978 .

[24]  Robert J. McMillen,et al.  A survey of interconnection methods for reconfigurable parallel processing systems , 1899 .

[25]  Duncan H. Lawrie,et al.  On the Effective Bandwidth of Parallel Memories , 1977, IEEE Transactions on Computers.

[26]  David A. Patterson,et al.  X-Tree: A tree structured multi-processor computer architecture , 1978, ISCA '78.

[27]  J. Wrench Table errata: The art of computer programming, Vol. 2: Seminumerical algorithms (Addison-Wesley, Reading, Mass., 1969) by Donald E. Knuth , 1970 .

[28]  Sally Anne Browning The tree machine , 1980 .

[29]  Klaus J. Berkling,et al.  A Computing Machine Based on Tree Structures , 1971, IEEE Transactions on Computers.

[30]  H. Garner The residue number system , 1959, IRE-AIEE-ACM '59 (Western).

[31]  I. Borosh,et al.  Exact solutions of linear equations with rational coefficients by congruence techniques , 1966 .

[32]  Donald Ervin Knuth,et al.  The Art of Computer Programming , 1968 .