ABSTRACT
Machines intended for parallel computations exhibit a wide variety of architectural designs, including pipeline, vector and array organizations, less traditional associative, data-flow and systolic organizations, and shared-memory MIMD organizations. It is not surprising, therefore, that the software support for these machines exhibits a wide variety of features reflecting the differing designs. Even within a single class of parallel machine, the system software used on different machines within that class may appear radically different. In part this variety arises because the design space for multiprocessor software is richer than for uniprocessor software; for example there are tradeoffs to be selected between performance and reliability, extensibility, fault-tolerance, etc., and the particular choice of design parameters can have a profound effect on the structure of the operating system. Another factor, however, which causes variety between different operating systems is that the costs of various design choices are known much less accurately than they are with uniprocessors, and thus individual multiprocessor operating systems may exhibit a great deal of experimental variability. Fortunately, the design principles are relatively well understood, and may be described in broad terms.
In the case of special-purpose SIMD and associative machines, built with some particular set of applications in mind, a general-purpose host uniprocessor usually takes over most of the resource allocation and scheduling for both itself and for the special-purpose attached processor, which it treats as a peripheral. Consequently the support software on the special-purpose machine is relatively primitive. Since only a small number of programming techniques are appropriate for such machines, they are most easily provided to the programmer as machine-oriented extensions to conventional languages, though several systems have language processors which provide optimizers appropriate for the architecture.
- 1.N.E. Abel et al. TRANQUIL: A language for an Array Processing Computer. In Conf. Proc. 1969 SJCC, pages 57-73. AFIPS Press, 1969.Google Scholar
- 2.W.B. Ackerman and J.B. Dennis. VAL —A Value Oriented Algorithmic Language. Technical Report TR-218, Lab. for Computer Science, MIT, 1979. Google ScholarDigital Library
- 3.W.B. Ackerman. Data Flow Languages. In Proc. NCC Conf., pages 1087-1095. FIPS Press, 1979.Google Scholar
- 4.S.J. Allan and A.E. Oldehoeft. A Flow Analysis Procedure for the Translation of High-Level Languages to a Data-Flow Language. In Proc. 1979 Int. Conf. on Parallel Processing, pages 26-34. IEEE, 1979.Google Scholar
- 5.R.W. Allard, K.A. Wolf and R.A. Temlin. Some effects of the 6600 Computer on Language Structures. Comm. ACM 7:112-119, 1964. Google ScholarDigital Library
- 6.E.B. Allen and A.G. Larson. FORTRAN Extension Design Concepts for Associative Processing. In Proc. 1975 Sagamore Conf. on Parallel Processing, pages 186-191. IEEE, 1975.Google Scholar
- 7.G.L. Anderson and K. Bartlett. Hardware Allocation of Data System Resources. Computer Design 13:89-97, 1974.Google Scholar
- 8.H. Anlauff. Design of a Hierarchical Multiprocessor System for Multi-Level Parallel Computation. In W. Handler (editor), Computer Architecture, pages 223-265. Springer-Verlag, 1976. Google ScholarDigital Library
- 9.B.W. Arden and A.D. Berenbaum. A Multi-Microprocessor Computer System Architecture. In Proc. 5th Symp. on Operating System Principles. ACM, 1975. Google ScholarDigital Library
- 10.J.S. Arnold, D.P. Casey and R.H. McKinstry. Design of Tightly-coupled Multiprocessor Programming. IBM Systems J. 13:60-87, 1974.Google ScholarDigital Library
- 11.Arvind, K.P. Gostelow and W. Plouffe. An Asynchronous Programming Language and Computing Machine. Technical Report 114a, University of California, Irvine, 1978.Google Scholar
- 12.Arvind. Decomposing a Program for Multiple Processor Systems. In Proc. 1980 Int. Conf. on Parallel Processing, pages 7-14. IEEE, 1980.Google Scholar
- 13.J.W. Atwood. Concurrency in Operating Systems. Computer 9:18-26, 1976.Google ScholarDigital Library
- 14.J.L. Baer and D.P. Bovet. Compilation of Arithmetic Expressions for Parallel Computations. In Proc. IFIP Congress, pages 340-346. North-Holland, 1968.Google Scholar
- 15.J.L. Baer and E.C. Russell. Preparation and Evaluation of Computer Programs for Parallel Processing Systems. In L.C. Hobbs (editor), Parallel Processor Systems, Technologies and Applications, pages 375-416. Spartan Books, 1970.Google Scholar
- 16.J.L. Baer. A Survey of some Theoretical Aspects of Multiprogramming. Computing Surveys 5:31-80, 1973. Google ScholarDigital Library
- 17.J.L. Baer. Multiprocessor Systems. IEEE Trans. on Computers C-25:1271-1277, 1976.Google ScholarDigital Library
- 18.J.L. Baer and C. Ellis. Compilation in Distributed Function Systems. In Compcon 76, pages 31-34. IEEE, 1976.Google Scholar
- 19.U. Banerjee, S.C. Chen, D.J. Kuck and R.A. Towle. Time and Parallel Processor Bounds for FORTRAN-like Loops. IEEE Trans. on Computers C-28:660-670, 1979.Google Scholar
- 20.J.F. Barlett. A 'non-stop' operating system. In 11th Hawaii Conf. on System Sciences, pages 103-117. 1978.Google Scholar
- 21.G.H. Barnes et al. The ILLIAC IV computer. IEEE Trans. on Computers C-17:746-757, 1968.Google ScholarDigital Library
- 22.V.R. Basilis and J.C. Knight. A Language Design for Vector Machines. SIGPLAN Notices 10:39-53, 1975. Google ScholarDigital Library
- 23.K.E. Batcher. Sorting networks and their applications. In Conf. Proc. 1968 SJCC, pages 307-314. AFIPS Press, 1968.Google ScholarDigital Library
- 24.K.E. Batcher. The Multidimensional Access Memory in STARAN. IEEE Trans. on Computers C-26:174-177, 1977.Google ScholarDigital Library
- 25.G. Baudet. Asynchronous Iterative Methods for Multiprocessors. Technical Report, Carnegie-Mellon University Computer Science Department, 1976.Google Scholar
- 26.G. Baudet. Asynchronous Iterative Methods for Multiprocessors. PhD thesis, Carnegie-Mellon University, 1978.Google Scholar
- 27.L.H. Bauer. Implementation of Data Manipulating Functions on the STARAN Parallel Processor. In Proc. 1974 Sagamore Conf. on Parallel Processing, pages 75-96. Springer-Verlag, 1975. Google ScholarDigital Library
- 28.A.J. Bernstein. Analysis of Programs for Parallel Processing. IEEE Trans. on Computers C-15:757-763, 1966.Google ScholarCross Ref
- 29.G.v. Bochmann. Architecture of Distributed Computer Systems (Lecture Notes in Computer Science 77). Springer-Verlag, 1979. Google ScholarDigital Library
- 30.W.E. Boebert, W.R. Franta, E.D. Jensen and R.Y. Kain. Design Issues in a Distributed Executive. In Compsac 78, pages 254-258. IEEE, 1978.Google Scholar
- 31.W.E. Boebert, W.R. Franta, E.D. Jensen and R.Y. Kain. Kernel Primitives of the HXDP Executive. In Compsac 78, pages 595-600. IEEE, 1978.Google ScholarCross Ref
- 32.R.P. Brent. The Parallel Evaluation of Arithmetic Expressions in Logarithmic Time. In J.F. Traub (editor), Complexity of Sequential and Parallel Numerical Algorithms, pages 83-102. Academic Press, Inc., 1973.Google Scholar
- 33.P. Brinch Hansen. The Architecture of Parallel Programs. Prentice-Hall, 1977. Google ScholarDigital Library
- 34.P. Brinch Hansen. Multiprocessor Architectures for Concurrent Programs. In Proc. NCC Conf., pages 317-323. AFIPS Press, 1978. Google ScholarDigital Library
- 35.H.E. Brown. Parallel Processor and Pipeline Computers: An Annotated Bibliography. Technical Report EL-764-SR, Electric Power Research Institute, 3412 Hillview Avenue, Palo Alto, CA 94304, 1978.Google Scholar
- 36.J.C. Browne, K.M. Chandy, J. Hogarth and C.C. Lee. The Effect on Throughput of Multiprocessing in a Multiprogramming Environment. IEEE Trans. on Computers C-22:728-735, 1973.Google ScholarDigital Library
- 37.R. Case and A. Padegs. The Architecture of the IBM 370. Comm. ACM 21:73-96, 1978. Google ScholarDigital Library
- 38.CFD — A FORTRAN-based Language for ILLIAC IV NASA Ames Research Center, 1973.Google Scholar
- 39.D.D. Chamberlin. Parallel Implementation of Single Assignment Languages (PhD Thesis). Technical Report TR 19, Stanford University, January, 1971. Google ScholarDigital Library
- 40.D.D. Chamberlin. The 'Single-Assignment' Approach to Parallel Processing. In Conf. Proc. 1971 FJCC, pages 263-269. AFIPS Press, 1971.Google Scholar
- 41.T.C. Chen. Parallelism, Pipelining and Computer Efficiency. Computer Design 10:69-74, 1971.Google Scholar
- 42.T.C. Chen. Overlap and Pipeline Processing. In Introduction to Computer Architecture, pages 375-429. SRA, 1975.Google Scholar
- 43.S.C. Chen. Speedup of Iterative Programs in Multiprocessor Systems. PhD thesis, University of Illinois Department of Computer Science, 1975. Google ScholarDigital Library
- 44.L. Cheung. Techniques for Reducing Dependencies among Instructions for a Parallel Single Processor Computer System. PhD thesis, Purdue University, 1975. Google ScholarDigital Library
- 45.T. Christopher et al. Uniprogramming a Network Computer. In Proc. 1978 Int. Conf. on Parallel Processing, pages 132-138. IEEE, 1978.Google Scholar
- 46.E.G. Coffman, M.J. Elphick and A. Shoshani. System Deadlocks. Computing Surveys 3:67-78, 1971. Google ScholarDigital Library
- 47.M.E.Conway. A multiprocessor system design. In Conf. Proc. 1963 FJCC, pages 139-146. AFIPS Press, 1963.Google ScholarDigital Library
- 48.W. Corwin. The Scheduling of Primary Memory in a Multiprocessor. PhD thesis, Carnegie-Mellon University, 1979.Google Scholar
- 49.B.A. Crane et al. PEPE Computer Architecture. In Compcon 72, pages 57-60. IEEE, 1972.Google Scholar
- 50.A.L. Davies. The Architecture and System Method of DDM1: A Recursively Structured Data Driven machine. In Proc. 5th Ann. Symp. on Computer Architecture, pages 210-215. IEEE and ACM, 1978. Google ScholarDigital Library
- 51.E.W. Davis. STARAN/RADCAP System Software. In Proc. 1973 Sagamore Conf. on Parallel Processing, pages 153-159. IEEE and ACM, 1973.Google Scholar
- 52.E.W. Davis. STARAN Parallel Processor System Software. In Proc. NCC Conf., pages 17-22. AFIPS Press, 1974.Google ScholarDigital Library
- 53.J.B. Dennis and E.C. Van Horn. Programming Semantics for Multiprogrammed Computations. Comm. ACM 9:143-155, 1966. Google ScholarDigital Library
- 54.J.B. Dennis. The Varieties of Data-Flow Machines. In Proc. 1st Int. Conf. on Distributed Computing Systems, pages 430-439. IEEE, 1979.Google Scholar
- 55.E.W. Dijkstra. Cooperating Sequential Processes. In Programming Languages, pages 43-112. Academic Press, 1968.Google Scholar
- 56.J.R. Dingeldine, H.G. Martin and W.M. Patterson. Operating System and Support Software for PEPE. In Proc. 1973 Sagamore Conf. on Parallel Processing, pages 170-178. IEEE and ACM, 1973.Google Scholar
- 57.J.R. Dingeldine. Parallel FORTRAN (PFOR) PEPE Assembly Language (PAL) User's Manual. Technical Report TM-HU-046/400/01, System Development Corporation, Huntsville, Alabama, 1976.Google Scholar
- 58.D.M. England. Software Strategy and Structure in Multiprocessor Systems, In Multiprocessor Systems,. Infotech, 1976.Google Scholar
- 59.P.H. Enslow Jr. (ed). Multiprocessors and Parallel Processing. John Wiley and Sons, 1974.Google Scholar
- 60.P.H. Enslow. Multiprocessors and Other Parallel Systems: An Introduction and Overview. In W. Handler (editor), Computer Architecture, pages 133-198. Springer-Verlag, 1976. Google ScholarDigital Library
- 61.P.H. Enslow. Multiprocessor Organization: A Survey. Computing Surveys 9:103-129, 1977. Google ScholarDigital Library
- 62.D.B. Erickson. Array Processing on an Array Processor. SIGPLAN Notices 10:17-24, 1975. Google ScholarDigital Library
- 63.J.A. Feldman and P.D. Rovner. An Algol-based Associative Language. Comm. ACM 12:439-449, 1969. Google ScholarDigital Library
- 64.J.D. Feldman and L.C. Fulmer. RADCAP — An Operational Parallel Processing Facility. In Proc. NCC Conf., pages 7-15. AFIPS Press, 1974.Google Scholar
- 65.J.A. Feldman, J.R. Low and P.D. Rovner. Programming Distributed Systems. In Proc. ACM 1978 Ann. Conf., pages 310-316. ACM, 1978. Google ScholarDigital Library
- 66.T.Y. Feng. Data Manipulating Functions in Parallel Processing and their Implementation. IEEE Trans. on Computers C-23:309-318, 1974.Google ScholarDigital Library
- 67.M.J. Flynn. Very high-speed computing systems. Proc. IEEE 54:1901-1909, 1966.Google Scholar
- 68.M.J. Flynn, A. Podvin and K. Shimizu. A Multiple Instruction Stream Processor with Shared Resources. In C.L. Hobbs (editor), Parallel Processor Systems, Technologies and Applications, pages 251-286. Spartan Books, 1970.Google Scholar
- 69.M.J. Flynn. Shared Internal Resources in a Multiprocessor. In Proc. IFIP Congress, pages 565-569. North- Holland, 1971.Google Scholar
- 70.M.J. Flynn and A. Podvin. An Unconventional Computer Architecture: Shared Resource Multiprocessing. Computing 5:20-28, 1972.Google Scholar
- 71.M.J. Flynn and J.L. Hennessy. Parallelism and Representation Problems in Distributed Systems. In Proc. 1st Int. Conf. on Distributed Computing Systems, pages 124-130. IEEE, 1979.Google Scholar
- 72.C.C. Foster and E.M. Riseman. Percolation of Code to Enhance Parallel Dispatching and Execution. IEEE Trans. on Computers C-21:1411-1415, 1972.Google ScholarDigital Library
- 73.D.N. Freeman. IBM and Multiprocessing. Datamation :92-109, 1976.Google Scholar
- 74.D.P. Friedman and D.S. Wise. The Impact of Applicative Programming on Multiprocessing. In Proc. 1976 Int. Conf. on Parallel Processing, pages 263-272. IEEE, 1976.Google Scholar
- 75.S.H. Fuller, A.K. Jones and I. Durham (eds). Cm* Review. Technical Report, Carnegie-Mellon University Computer Science Department, June, 1977.Google Scholar
- 76.S.H, Fuller, J.K. Ousterhout, L. Raskin, P. Rubinfeld, P.S. Sindhu and R.J. Swan. Multi-microprocessers: An Overview and Working Example. Proc. IEEE 66:216-228, 1978.Google Scholar
- 77.P.A. Gilmore. Structuring of Parallel Algorithms, J. ACM 15:176-192, 1968. Google ScholarDigital Library
- 78.P.A. Gilmore. Matrix Computations on an Associative Processor. In Proc. 1974 Sagamore Conf. on Parallel Processing, pages 75-96. Springer-Verlag, 1975. Google ScholarDigital Library
- 79.J. Goldberg. New Problems in Fault-Tolerant Computing. In Int. Symp. on Fault-Tolerant Computing, pages 29-34. 1975.Google Scholar
- 80.M.V. Gonzalez and C.V. Ramamoorthy. Recognition and Representation of Parallel Processable Streams in Computer Systems. In L.C. Hobbs (editor), Parallel Processor Systems, Technologies and Applications, pages 335-374. Spartan Books, 1970.Google Scholar
- 81.M.V. Gonzalez and C.V. Ramamoorthy. Program Suitability for Parallel Processing. IEEE Trans. on Computers C-20:647-654, 1971.Google Scholar
- 82.M.J. Gonzalez and C.V. Ramamoorthy. Parallel Task Execution in a Decentralized System. IEEE Trans. on Computers C-21:1310-1322, 1972.Google ScholarDigital Library
- 83.M.J. Gonzalez. Deterministic Processor Scheduling. Computing Surveys 9:173-204, 1977. Google ScholarDigital Library
- 84.J.L. Gula. Operating System Considerations for Multiprocessor Architectures. In Proc. 7th Texas Conf. on Computing Systems. ACM, 1978.Google Scholar
- 85.J. Gurd and I. Watson. Data Driven System for High Speed Parallel Computing — Part 1: Structuring Software for Parallel Execution. Computer Design 19:91-100, 1980.Google Scholar
- 86.M.C. Harrison and J.T. Schwartz. SHARER, a Time Sharing System for the CDC 6600. Comm. ACM 10:659-664, 1967. Google ScholarDigital Library
- 87.M.J. Harrison and W.H. Harrison. The Implementation of APL on an Associative Processor. In Proc. 1974 Sagamore Conf. on Parallel Processing, pages 75-96. Springer-Verlag, 1975. Google ScholarDigital Library
- 88.F.E. Heart et al. A new Minicomputer/Multiprocessor for the ARPA Network. In Proc. NCC Conf., pages 529-537. AFIPS Press, 1973.Google ScholarDigital Library
- 89.F.E. Heart et al. The PLURIBUS Multiprocessor System. In Multiprocessor Systems, pages 307-330. Infotech, 1976.Google Scholar
- 90.C.A.R. Hoare. Towards a Theory of Parallel Programming. In C.A.R. Hoare and R.N. Perrott (editor), Operating System Techniques, Academic Press, 1972.Google Scholar
- 91.C.A.R. Hoare. Monitors: An Operating System Structuring Concept. Comm. ACM 17:549-557, 1974. Google ScholarDigital Library
- 92.C.A.R. Hoare. Communicating Sequential Processes. Comm. ACM 21:666-677, 1978. Google ScholarDigital Library
- 93.L.C. Hobbs and D.J. Theis. Survey of Parallel Processor Approaches and Techniques. In L.C. Hobbs (editor), Parallel Processor Systems, Technologies and Applications, pages 3-20. Spartan Books, 1970.Google Scholar
- 94.W. Huen et al. A Pipelined Dynamo Compiler. In Proc. 1977 Int. Conf. on Parallel Processing, pages 57-66. IEEE, 1977.Google Scholar
- 95.Infotech. Multiprocessor Systems. Infotech, Maidenhead, 1976.Google Scholar
- 96.M. Jazayeri et al. Design and Implementation of a Language for Communicating Sequential Processes. In Proc. 1980 Int. Conf. on Parallel Processing, pages 173-180. IEEE, 1980.Google Scholar
- 97.E.D. Jensen and W.E. Boebert. Partitioning and Assignment of Distributed Processing Software. In Compcon 76. IEEE, 1976.Google Scholar
- 98.E.D. Jensen, K.J. Thurber and G.M. Schneider. A Review of Systematic Methods in Distributed Processor Interconnection. In IEEE Int. Conf. on Communications. IEEE, 1976.Google Scholar
- 99.D.E. Jensen. The Honeywell Experimental Distributed Processor: An Overview. Computer 11:28-39, 1978.Google ScholarDigital Library
- 100.P.M. Johnson. An Introduction to Vector Processing. Computer Design 17:89-97, 1978.Google Scholar
- 101.A.K. Jones, R.J. Chansler, I. Durham, P. Feiler and K. Schwans. Software Management of Cm* — a Distributed Multiprocessor. In Proc. NCC Conf., pages 657-663. AFIPS Press, 1977.Google Scholar
- 102.A.K. Jones, R.J. Chansler, I. Durham, P. Feiler, D.A. Scelza, K. Schwans and S.R. Vegdahl. Programming Issues raised by a multiprocessor. Proc. IEEE 66:229-237, 1978.Google ScholarCross Ref
- 103.A.K. Jones, R.J. Chansler, I. Durham, K. Schwans and S.R. Vegdahl. StarOS, a multiprocessor operating system for the support of task forces. In Proc. 7th Symp. on Operating System Principles, pages 117-127. ACM, 1979. Google ScholarDigital Library
- 104.A.K. Jones and K. Schwans. TASK Forces: distributed software for solving problems of substantial size. In 4th Int. Conf. on Software Engineering, pages 315-330. ACM, 1979. Google ScholarDigital Library
- 105.A.K. Jones and E.F. Gehringer (eds). The Cm* Multiprocessor Project: A Research Review. Technical Report, Carnegie-Mellon University Computer Science Department, August, 1980.Google ScholarCross Ref
- 106.A.K. Jones and P. Schwarz. Experience using multiprocessor systems: a status report. Computing Surveys 12:121-165, 1980. Google ScholarDigital Library
- 107.D. Katsuki et al. Pluribus: An operational fault-tolerant computer. Proc. IEEE 66, 1978.Google Scholar
- 108.J.A. Katzman. A fault-tolerant computing system. In 11th Hawaii Conf. on System Sciences, pages 85-102. 1978.Google Scholar
- 109.R.M. Keller, G. Lindstrom and S. Patil. A Loosely-Coupled Applicative Multiprocessing System. In Proc. NCC Conf., pages 613-622. AFIPS Press, 1979.Google Scholar
- 110.P.J. Knueven (Carnegie-Mellon University Computer Science Department). A Survey of Languages on SIMD Computers. 1979.Google Scholar
- 111.R. Kober. The Multiprocessor System SMS 201 — Combining 128 Microprocessors to a powerful computer. In Compcon 77. IEEE, 1977.Google ScholarCross Ref
- 112.R. Kober and C. Kuznia. SMS — A Multiprocessor Architecture for High-Speed Numerical Calculations. In Proc. 1978 Int. Conf. on Parallel Processing, pages 18-24. IEEE, 1978.Google Scholar
- 113.P.W. Kraska. Parallelism Exploitation and Scheduling. Technical Report UIUCDCS-R-62-518, University of Illinois Department of Computer Science, June, 1972.Google Scholar
- 114.D.J. Kuck. ILLIAC IV Software and Application Programming. IEEE Trans. on Computers C-17:758-770, 1968.Google ScholarDigital Library
- 115.D.J. Kuck, Y. Muraoka and S.C. Chen. On the Number of Operations Simultaneously Executable in FORTRAN-like Programs and their Resulting Speed-up. IEEE Trans. on Computers C-21:1293-1310, 1972.Google ScholarDigital Library
- 116.D.J. Kuck. Multioperation Machine Computational Complexity. In J.F. Traub (editor), Complexity of Sequential and Parallel Numerical Algorithms, pages 17-48. Academic Press, Inc., 1973.Google Scholar
- 117.D.J. Kuck et al. Measurements of Parallelism in Ordinary FORTRAN Programs. IEEE Trans. on Computers C-23:37-46, 1974.Google Scholar
- 118.D.J. Kuck. Parallel Processing Architecture — A Survey. In Proc. 1975 Sagamore Conf. on Parallel Processing, pages 15-39. IEEE, 1975.Google Scholar
- 119.D.J. Kuck. A Survey of Parallel Machine Organization and Programming. Computing Surveys 9:29-59, 1977. Google ScholarDigital Library
- 120.H.T. Kung. The structure of parallel algorithms. In M.C. Yovits (editor), Advances in Computers, Vol. 19,. Academic Press, 1980.Google Scholar
- 121.H.T. Kung and C.E. Leiserson. Systolic Arrays (for VLSI). In C.A. Mead and L.A. Conway (editor), Introduction to VLSI Systems,. Addison-Wesley, 1980.Google Scholar
- 122.L. Lamport. The parallel execution of DO-loops. Comm. ACM 17:83-93, 1974. Google ScholarDigital Library
- 123.R.G. Lange et al. Specification for a STARAN Programming Language. Technical Report GER-16347, Goodyear Aerospace Corporation, October, 1976.Google Scholar
- 124.R.G. Lange. High Level Language for Associative and Parallel Computation with STARAN. In Proc. 1976 Int. Conf. on Parallel Processing, pages 170-176. IEEE, 1976.Google Scholar
- 125.E.L. Lawler and J.M. Moore. A functional equation and its application to resource allocation and sequencing problems. Management Science :77-64, 1969.Google Scholar
- 126.D.H. Lawrie. Memory-processor connection networks. Technical Report UIUCDSC-R-73-557, Dept. of Computer Science, University of Illinois, Feb., 1973.Google Scholar
- 127.D.H. Lawrie, T. Layman, D. Baer and J.M. Randall. Glypnir — A Programming Language for the ILLIAC IV. Comm. ACM 18:157-164, 1975. Google ScholarDigital Library
- 128.T. Layman and D. Baer. Glypnir Reference Manual. Technical Report 263, ILLIAC IV Project, University of Illinois, 1972.Google Scholar
- 129.M. Lehman. A Survey of Problems and Preliminary Results Concerning Parallel Processing and Parallel Processors. Proc. IEEE 54:1889-1901, 1966.Google ScholarCross Ref
- 130.G. Le Lann. An Analysis of Different Approaches to Distributed Computing. In Proc. 1st Int. Conf. on Distributed Computing Systems, pages 222-232. IEEE, 1979.Google Scholar
- 131.V.R. Lesser. A Dynamically Reconfigurable Multiple Microprocessor. In Proc. Int. Workshop on Computer Architecture, Grenoble, pages 1-16. 1973.Google Scholar
- 132.B.H. Liebowitz and J.H. Carson. Tutorial on Distributed Processing. Compcon 77, 1977.Google Scholar
- 133.R. Lipton and F. Sayward. Response Time of Parallel Programs. In Proc. 1977 Int. Conf. on Parallel Processing, pages 234-242. IEEE, 1977.Google Scholar
- 134.G.R. Lloyd and R.E. Merwin. Evaluation of Performance of Parallel rocessors in a Real-time Environment. In Proc. NCC Conf., pages 101-108. AFIPS Press, 1973.Google Scholar
- 135.D.B. Lomet. Coping with Deadlock in Distributed Systems. Technical Report RC 7460 #32196, IBM, December, 1978.Google Scholar
- 136.H. Lorin. Parallelism in Hardware and Software: Real and Apparent Concurrency. Prentice-Hall, 1972.Google Scholar
- 137.R.A. MacKinnon. Advanced Function Extended with Tightly-Coupled Multiprocessing. IBM Systems J. 13:32-59, 1974.Google ScholarDigital Library
- 138.M. Maekawa et al. Experimental Polyprocessor System (EPOS) — Operating System. In Proc. 6th Ann, Symp. on Computer Architecture, pages 196-201. IEEE and ACM, 1979. Google ScholarDigital Library
- 139.J.G. Marzolf. AAPL: An Array Processing Language. In Proc. 1974 Sagamore Conf. on Parallel Processing,| pages 230-237. Springer-Verlag, 1975. Google ScholarDigital Library
- 140.J. McGraw. Data-Flow Computing: Software Development. In Proc. 1st Int. Conf. on Distributed Computing Systems, pages 242-251. IEEE, 1979.Google Scholar
- 141.C.A. Mead and M. Rem. Highly Concurrent Structures with Global Communication. In C.A. Mead and L.A. Conway (editor), Introduction to VLSI Systems,. Addison-Wesley, 1980.Google Scholar
- 142.R.E. Millstein. Control Structures in Illiac FORTRAN. Comm. ACM 16:621-627, 1973. Google ScholarDigital Library
- 143.R.E. Millstein and C.A. Muntz. The ILLIAC IV FORTRAN Compiler. SIGPLAN Notices 10:1-8, 1975. Google ScholarDigital Library
- 144.R.L. Milton. Preliminary Results of a comparative analysis of ILLIAC IV Languages. In Proc. 1975 Sagamore Conf. on Parallel Processing, pages 172-179. IEEE, 1975.Google Scholar
- 145.W.L. Miranker. A Survey of Parallelism in Numerical Analysis. SIAM Review 13:524-547, 1971.Google ScholarDigital Library
- 146.R. Moulder. A Data Management System Utilizing the STARAN Associative Processor. In Proc. 1973 Sagamore Conf. on Parallel Processing, pages 161. IEEE and ACM, 1973.Google Scholar
- 147.Y. Muraoka. Parallelism Exposure and Exploitation in Programs. Technical Report 424, University of Illinois Department of Computer Science, February, 1971.Google Scholar
- 148.M. Myszewski. IVTRAN: A Dialect of FORTRAN for use on the ILLIAC IV. Technical Report, Applied Data Research Inc., 1972.Google Scholar
- 149.A. Newell and G. Robertson. Some Issues in Programming Multiprocessors. Behavior Research Methods and Instrumentation 7:75-86, 1975.Google ScholarCross Ref
- 150.G.J. Nutt. A Parallel Processor Operating System Comparison. IEEE Trans. on Software Engineering SE-3:467-475, 1977.Google ScholarDigital Library
- 151.P.N. Oleinick and S.H. Fuller. The Implementation and Evaluation of a Parallel Algorithm on C.mmp. Technical Report CMU-CS-78-125, Carnegie-Mellon University Computer Science Department, June, 1978.Google Scholar
- 152.S.M. Ornstein et al. Pluribus: A Reliable Multiprocessor. In Proc. NCC Conf., pages 551-559. AFIPS Press, 1975.Google ScholarDigital Library
- 153.N.S. Ostlund. Attached Scientific Processors for Chemical Computations. Technical Report LBL-10409 UC-32, NRCC, Lawrence Berkeley Laboratory, UC, January, 1980.Google Scholar
- 154.J.K. Ousterhout, D.A. Scelza and P.S. Sindhu. Medusa: an experiment in distributed operating system structure. Comm. ACM 23:92-104, 1980. Google ScholarDigital Library
- 155.J. Ousterhout. Partitioning and Communication in a Distributed Operating System. PhD thesis, Carnegie-Mellon University, 1980. Google ScholarDigital Library
- 156.J.L. Owens. The Influence of Machine Organization on Algorithms. In J.F. Traub (editor), Complexity of Sequential and Parallel Numerical Algorithms, pages 111-130. Academic Press, Inc., 1973.Google Scholar
- 157.W.W. Patterson. Some thoughts on associative processing languages. In Proc. NCC Conf., pages 23-26. AFIPS Press, 1974.Google ScholarDigital Library
- 158.G. Paul and M.W. Wilson. An Introduction to Vectran and its use in Scientific Applications Programming. In Proc. 1978 LASL Workshop on Vector and Parallel Machines, pages 176-204. LASL, 1978.Google Scholar
- 159.R. Perrott and D. Stevenson. ACTUS — A Language for SIMD Architectures. In Proc. 1978 LASL Workshop on Vector and Parallel Machines, pages 212-218. LASL, 1978.Google Scholar
- 160.D.L. Presberg and N.W. Johnson. The Paralyzer: IVTRAN's Parallelism Analyzer and Synthesizer. SIGPLAN Notices 10:9-16, 1975. Google ScholarDigital Library
- 161.N. Quaynon and A. Bernstein. Operating Systems for Hierarchical Multiprocessors. In Proc. 7th Texas Conf. on Computing Systems. ACM, 1978.Google Scholar
- 162.C.V. Ramamoorthy, K.M. Chandy and M.J. Gonzalez. Optimal Scheduling Stategies in a Multiprocessor System. IEEE Trans. on Computers C-21:137-146, 1972.Google ScholarDigital Library
- 163.C.V. Ramamoorthy and M.J. Gonzalez. A Survey of Techniques for Recognizing Parallel Processable Streams in Computer Programs. In Conf. Proc. 1969 FJCC, pages 1-15. AFIPS Press, 1972.Google Scholar
- 164.C.V. Ramamoorthy, J.H. Park and H.F. Li. Compilation Techniques for Recognition of Parallel Processable Tasks in Arithmetic Expressions. IEEE Trans. on Computers C-22:986-998, 1973.Google ScholarDigital Library
- 165.C.V. Ramamoorthy and H.F. Li. Pipelined Processors — A Survey. In Proc. 1975 Sagamore Conf. on Parallel Processing, pages 40-62. IEEE, 1975.Google Scholar
- 166.C.V. Ramamoorthy and W.H. Leung. A Scheme for Parallel Execution of Sequential Programs. In Proc. 1976 Int. Conf. on Parallel Processing, pages 312-316. IEEE, 1976.Google Scholar
- 167.C.V. Ramamoorthy and H.F. Li. Pipeline Architectures. Computing Surveys 9:61-102, 1977. Google ScholarDigital Library
- 168.L. Raskin. Performance evaluation of multiprocessor systems. Technical Report CMU-CS-78-141, Carnegie-Mellon University Computer Science Department, August, 1978.Google Scholar
- 169.H.K. Resnick and A.G. Larson. DMAP: A Cobol Extension for Associative Array Processors. SIGPLAN Notices 10:54-61, 1975. Google ScholarDigital Library
- 170.G. Reyling. Performance and Control of Multiple Microprocessor Systems. Computer Design 13:81-86, 1974.Google Scholar
- 171.J.G. Robinson and E.S. Roberts. Software Fault-Tolerance in the Pluribus. In Proc. NCC Conf., pages 563-569. AFIPS Press, 1978.Google Scholar
- 172.J.G. Robinson. The Pluribus Fault-Tolerant Computer. In Compcon 79, pages 45-48. IEEE, 1979.Google Scholar
- 173.J.F. Ruggiero and D.A. Coryell. An auxiliary processing system for array calculations. IBM Systems J. 8:118-135, 1969.Google ScholarDigital Library
- 174.J. Rumbaugh. A Data Flow Multiprocessor. IEEE Trans. on Computers C-26:138-146, 1977.Google ScholarDigital Library
- 175.R.M. Russell. The Cray-1 Computer System. Comm. ACM 21:63-72, 1978. Google ScholarDigital Library
- 176.G.E. Sayre. STARAN: An Associative Approach to Multiprocessor Architecture. In W. Handler (editor), Computer Architecture, pages 199-221. Springer-Verlag, 1976. Google ScholarDigital Library
- 177.R.A. Schmidt. A Parallel Operating System for an MIMD Computer. In Proc. 1980 Int. Conf. on Parallel Processing, pages 3-4. IEEE, 1980.Google Scholar
- 178.P. Schneck. Movement of Implicit Parallel and Vector Expressions out of Program Loops. SIGPLAN Notices 10:103-106, 1975. Google ScholarDigital Library
- 179.D.P. Siewiorek, K. Vini, H. Mashburn, S.R. McConnel and M. Tsao. A case study of C.mmp, Cm* and C.vmp: Part 1 — experience with fault tolerance in multiprocessor systems. Proc. IEEE 66:1178-1199, 1978.Google ScholarCross Ref
- 180.D.P. Siewiorek, V. Kini, R. Joobbani and H. Bellis. A case study of C.mmp, Cm* and C.vmp: Part 2 — predicting and calibrating reliability of multiprocessor systems. Proc. IEEE 66:1200-1220, 1978.Google ScholarCross Ref
- 181.R.L. Sites. An Analysis of the Cray-1 Computer. In Proc. 5th Ann. Symp. on Computer Architecture, pages 101-106. IEEE and ACM, 1978. Google ScholarDigital Library
- 182.J. Srodawa. Positive Experience with a Multiprocessor System. Computing Surveys 10:73-82, 1978. Google ScholarDigital Library
- 183.K.G. Stevens Jr. CFD — A FORTRAN-like Language for the ILLIAC IV. SIGPLAN Notices 10:72-76, 1975. Google ScholarDigital Library
- 184.D. Stevenson. Programming the ILLIAC IV. Technical Report, Carnegie-Mellon University Computer Science Department, 1975.Google Scholar
- 185.H.S. Stone. Parallel processing with the perfect shuffle. IEEE Trans. on Computers C-20:153-61,1971.Google ScholarDigital Library
- 186.H.S. Stone. Problems of Parallel Computation. In J.F. Traub (editor), Complexity of Sequential and Parallel Numerical Algorithms, pages 1-16. Academic Press, Inc., 1973.Google Scholar
- 187.H.S. Stone. Introduction to Computer Architecture. SRA, 1975.Google Scholar
- 188.H. Sullivan, T.R. Bashkow and D. Klappholz. A Large-Scale, Homogeneous, Fully-Distributed Parallel Machine, II. In Proc. 4th Ann. Symp. on Computer Architecture, pages 118-124. IEEE and ACM, 1977. Google ScholarDigital Library
- 189.R.J. Swan, S.H. Fuller and D.P. Siewiorek. Cm* — a modular multi-microprocessor. In Proc. NCC Conf., pages 637-644. AFIPS Press, 1977.Google Scholar
- 190.R.J. Swan, A. Bechtolsheim, K.W. Lai and J.K. Ousterhout. The implementation of the Cm* multi-microprocessor. In Proc. NCC Conf., pages 645-655. AFIPS Press, 1977.Google ScholarDigital Library
- 191.R.J. Swan. The Switching Structure and Addressing Architecture of an Extensible Multiprocessor, Cm*. PhD thesis, Carnegie-Mellon University, 1978. Google ScholarDigital Library
- 192.Tandem 16 System Introduction Tandem Computers, 1977.Google Scholar
- 193.L.G. Tesler and H.J. Enea. A Language Design for Concurrent Processes. In Conf. Proc. 1968 SJCC, pages 403. AFIPS Press, 1968.Google Scholar
- 194.K.J. Thurber and L.D. Wald. Associative and Parallel Processors. Computing Surveys 7:215-255, 1975. Google ScholarDigital Library
- 195.K.J. Thurber. Large Scale Computer Architecture. Hayden Book Company, 1976.Google Scholar
- 196.K.J. Thurber. Parallel Processor Architectures— Part 1: General Purpose Systems. Computer Design 18:89-97, 1979.Google Scholar
- 197.Texas Instruments. ASC, a description of the Advanced Scientific Computer System. Technical Report M1001 P, Texas Instruments, Inc., April, 1972.Google Scholar
- 198.G. Tjaden and M. Flynn. Detection and Simultaneous Execution of Independent Instructions. IEEE Trans. on Computers C-19:889-895, 1970.Google Scholar
- 199.R.M. Tomasulo. An Efficient Algorithm for Exploiting Multiple Arithmetic Units. IBM J. Research and Development :25-33, 1967.Google Scholar
- 200.M.M. Tsao. A Study of Transient Errors on Cm*. Master's thesis, Carnegie-Mellon University, 1978.Google Scholar
- 201.L.L. Walker. Multiprocessor Operating System Design. In Operating Systems,. Infotech, 1972.Google Scholar
- 202.W.J. Watson. The TI ASC — a highly modular and flexible super computer architecture. In Conf. Proc. 1972 FJCC, pages 221-228. AFIPS Press, 1972.Google Scholar
- 203.W.J. Watson and H.M. Carr. Operational Experiences with the TI Advanced Scientific Computer. In Proc. NCC Conf., pages 389-397. AFIPS Press, 1974.Google ScholarDigital Library
- 204.D. Wedel. FORTRAN for the Texas Instruments ASC System. SIGPLAN Notices 10:119-132, 1975. Google ScholarDigital Library
- 205.D.E. Wilson. The PEPE Support Software System. Compcon 72 :61-64, 1972.Google Scholar
- 206.A. Wray. Vectoral — A Vector Algorithmic Language for ILLIAC. In Proc. 1978 LASL Workshop on Vector and Parallel Machines, pages 174-175. LASL, 1978.Google Scholar
- 207.W.A. Wulf and G.C. Bell. C.mmp — a multi-mini-computer. In Conf. Proc. 1972 FJCC, pages 765-777. AFIPS Press, 1973.Google Scholar
- 208.W.A. Wulf et al. HYDRA: The Kernel of a Multiprocessor Operating System. Comm. ACM 17:337-345, 1974. Google ScholarDigital Library
- 209.W.A. Wulf, R. Levin and C. Pierson. Overview of the Hydra Operating System. In Proc. 5th Symp. on Operating System Principles, pages 122-131. ACM, 1975. Google ScholarDigital Library
- 210.W.A. Wulf and R. Levin. A Local Network. Datamation :47-50, 1975.Google Scholar
- 211.W.A. Wulf and S.P. Harbison. Reflections in a pool of processors — An experience report on C.mmp/Hydra. In Proc. NCC Conf., pages 939-951. AFIPS Press, 1978.Google Scholar
- 212.W.A. Wulf, R. Levin and S.P. Harbison. Hydra: An Experimental Operating System. McGraw-Hill, 1980.Google Scholar
- 213.S.S. Yau and H.S. Fung. Associative Processor Architecture — A Survey. Computing Surveys 9:3-28, 1977. Google ScholarDigital Library
Index Terms
- Multiprocessor software design
Recommendations
The design of a RISC based multiprocessor chip
Supercomputing '90: Proceedings of the 1990 ACM/IEEE conference on SupercomputingThis paper describes the architecture of a RISC based multiprocessor chip. The processors operate in a MIMD fashion executing parallel instruction streams generated by a parallelizing compiler for the exploitation of fine-grained parallelism. Low cost ...
Design of software for distributed/multiprocessor systems
AFIPS '82: Proceedings of the June 7-10, 1982, national computer conferenceSoftware design methodologies for distributed/multiprocessor systems are investigated. Parallelism and multitasking are considered as key issues in the design process. Petri-nets and precedence graphs are presented as techniques for the modeling of a ...
Multiprocessor/multiarchitecture microprocessor design (M3D)
CSC '85: Proceedings of the 1985 ACM thirteenth annual conference on Computer ScienceThe level of support for high level programming languages (HLPLs), despite the claim of support by some of the newly introduced microprocessors, is inadequate despite the falling (rising) cost of hardware (software). Computer systems that are to be used ...
Comments