skip to main content
10.1145/800176.810011acmconferencesArticle/Chapter ViewAbstractPublication Pagesacm-national-conferenceConference Proceedingsconference-collections
Article
Free Access

Multiprocessor software design

Published:01 January 1980Publication History

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.

References

  1. 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 ScholarGoogle Scholar
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3.W.B. Ackerman. Data Flow Languages. In Proc. NCC Conf., pages 1087-1095. FIPS Press, 1979.Google ScholarGoogle Scholar
  4. 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 ScholarGoogle Scholar
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. 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 ScholarGoogle Scholar
  7. 7.G.L. Anderson and K. Bartlett. Hardware Allocation of Data System Resources. Computer Design 13:89-97, 1974.Google ScholarGoogle Scholar
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11.Arvind, K.P. Gostelow and W. Plouffe. An Asynchronous Programming Language and Computing Machine. Technical Report 114a, University of California, Irvine, 1978.Google ScholarGoogle Scholar
  12. 12.Arvind. Decomposing a Program for Multiple Processor Systems. In Proc. 1980 Int. Conf. on Parallel Processing, pages 7-14. IEEE, 1980.Google ScholarGoogle Scholar
  13. 13.J.W. Atwood. Concurrency in Operating Systems. Computer 9:18-26, 1976.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle Scholar
  15. 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 ScholarGoogle Scholar
  16. 16.J.L. Baer. A Survey of some Theoretical Aspects of Multiprogramming. Computing Surveys 5:31-80, 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17.J.L. Baer. Multiprocessor Systems. IEEE Trans. on Computers C-25:1271-1277, 1976.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18.J.L. Baer and C. Ellis. Compilation in Distributed Function Systems. In Compcon 76, pages 31-34. IEEE, 1976.Google ScholarGoogle Scholar
  19. 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 ScholarGoogle Scholar
  20. 20.J.F. Barlett. A 'non-stop' operating system. In 11th Hawaii Conf. on System Sciences, pages 103-117. 1978.Google ScholarGoogle Scholar
  21. 21.G.H. Barnes et al. The ILLIAC IV computer. IEEE Trans. on Computers C-17:746-757, 1968.Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 22.V.R. Basilis and J.C. Knight. A Language Design for Vector Machines. SIGPLAN Notices 10:39-53, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. 23.K.E. Batcher. Sorting networks and their applications. In Conf. Proc. 1968 SJCC, pages 307-314. AFIPS Press, 1968.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. 24.K.E. Batcher. The Multidimensional Access Memory in STARAN. IEEE Trans. on Computers C-26:174-177, 1977.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. 25.G. Baudet. Asynchronous Iterative Methods for Multiprocessors. Technical Report, Carnegie-Mellon University Computer Science Department, 1976.Google ScholarGoogle Scholar
  26. 26.G. Baudet. Asynchronous Iterative Methods for Multiprocessors. PhD thesis, Carnegie-Mellon University, 1978.Google ScholarGoogle Scholar
  27. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  28. 28.A.J. Bernstein. Analysis of Programs for Parallel Processing. IEEE Trans. on Computers C-15:757-763, 1966.Google ScholarGoogle ScholarCross RefCross Ref
  29. 29.G.v. Bochmann. Architecture of Distributed Computer Systems (Lecture Notes in Computer Science 77). Springer-Verlag, 1979. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. 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 ScholarGoogle Scholar
  31. 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 ScholarGoogle ScholarCross RefCross Ref
  32. 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 ScholarGoogle Scholar
  33. 33.P. Brinch Hansen. The Architecture of Parallel Programs. Prentice-Hall, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. 34.P. Brinch Hansen. Multiprocessor Architectures for Concurrent Programs. In Proc. NCC Conf., pages 317-323. AFIPS Press, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. 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 ScholarGoogle Scholar
  36. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  37. 37.R. Case and A. Padegs. The Architecture of the IBM 370. Comm. ACM 21:73-96, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. 38.CFD — A FORTRAN-based Language for ILLIAC IV NASA Ames Research Center, 1973.Google ScholarGoogle Scholar
  39. 39.D.D. Chamberlin. Parallel Implementation of Single Assignment Languages (PhD Thesis). Technical Report TR 19, Stanford University, January, 1971. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. 40.D.D. Chamberlin. The 'Single-Assignment' Approach to Parallel Processing. In Conf. Proc. 1971 FJCC, pages 263-269. AFIPS Press, 1971.Google ScholarGoogle Scholar
  41. 41.T.C. Chen. Parallelism, Pipelining and Computer Efficiency. Computer Design 10:69-74, 1971.Google ScholarGoogle Scholar
  42. 42.T.C. Chen. Overlap and Pipeline Processing. In Introduction to Computer Architecture, pages 375-429. SRA, 1975.Google ScholarGoogle Scholar
  43. 43.S.C. Chen. Speedup of Iterative Programs in Multiprocessor Systems. PhD thesis, University of Illinois Department of Computer Science, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. 44.L. Cheung. Techniques for Reducing Dependencies among Instructions for a Parallel Single Processor Computer System. PhD thesis, Purdue University, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. 45.T. Christopher et al. Uniprogramming a Network Computer. In Proc. 1978 Int. Conf. on Parallel Processing, pages 132-138. IEEE, 1978.Google ScholarGoogle Scholar
  46. 46.E.G. Coffman, M.J. Elphick and A. Shoshani. System Deadlocks. Computing Surveys 3:67-78, 1971. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. 47.M.E.Conway. A multiprocessor system design. In Conf. Proc. 1963 FJCC, pages 139-146. AFIPS Press, 1963.Google ScholarGoogle ScholarDigital LibraryDigital Library
  48. 48.W. Corwin. The Scheduling of Primary Memory in a Multiprocessor. PhD thesis, Carnegie-Mellon University, 1979.Google ScholarGoogle Scholar
  49. 49.B.A. Crane et al. PEPE Computer Architecture. In Compcon 72, pages 57-60. IEEE, 1972.Google ScholarGoogle Scholar
  50. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  51. 51.E.W. Davis. STARAN/RADCAP System Software. In Proc. 1973 Sagamore Conf. on Parallel Processing, pages 153-159. IEEE and ACM, 1973.Google ScholarGoogle Scholar
  52. 52.E.W. Davis. STARAN Parallel Processor System Software. In Proc. NCC Conf., pages 17-22. AFIPS Press, 1974.Google ScholarGoogle ScholarDigital LibraryDigital Library
  53. 53.J.B. Dennis and E.C. Van Horn. Programming Semantics for Multiprogrammed Computations. Comm. ACM 9:143-155, 1966. Google ScholarGoogle ScholarDigital LibraryDigital Library
  54. 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 ScholarGoogle Scholar
  55. 55.E.W. Dijkstra. Cooperating Sequential Processes. In Programming Languages, pages 43-112. Academic Press, 1968.Google ScholarGoogle Scholar
  56. 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 ScholarGoogle Scholar
  57. 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 ScholarGoogle Scholar
  58. 58.D.M. England. Software Strategy and Structure in Multiprocessor Systems, In Multiprocessor Systems,. Infotech, 1976.Google ScholarGoogle Scholar
  59. 59.P.H. Enslow Jr. (ed). Multiprocessors and Parallel Processing. John Wiley and Sons, 1974.Google ScholarGoogle Scholar
  60. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  61. 61.P.H. Enslow. Multiprocessor Organization: A Survey. Computing Surveys 9:103-129, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. 62.D.B. Erickson. Array Processing on an Array Processor. SIGPLAN Notices 10:17-24, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  63. 63.J.A. Feldman and P.D. Rovner. An Algol-based Associative Language. Comm. ACM 12:439-449, 1969. Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. 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 ScholarGoogle Scholar
  65. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  66. 66.T.Y. Feng. Data Manipulating Functions in Parallel Processing and their Implementation. IEEE Trans. on Computers C-23:309-318, 1974.Google ScholarGoogle ScholarDigital LibraryDigital Library
  67. 67.M.J. Flynn. Very high-speed computing systems. Proc. IEEE 54:1901-1909, 1966.Google ScholarGoogle Scholar
  68. 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 ScholarGoogle Scholar
  69. 69.M.J. Flynn. Shared Internal Resources in a Multiprocessor. In Proc. IFIP Congress, pages 565-569. North- Holland, 1971.Google ScholarGoogle Scholar
  70. 70.M.J. Flynn and A. Podvin. An Unconventional Computer Architecture: Shared Resource Multiprocessing. Computing 5:20-28, 1972.Google ScholarGoogle Scholar
  71. 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 ScholarGoogle Scholar
  72. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  73. 73.D.N. Freeman. IBM and Multiprocessing. Datamation :92-109, 1976.Google ScholarGoogle Scholar
  74. 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 ScholarGoogle Scholar
  75. 75.S.H. Fuller, A.K. Jones and I. Durham (eds). Cm* Review. Technical Report, Carnegie-Mellon University Computer Science Department, June, 1977.Google ScholarGoogle Scholar
  76. 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 ScholarGoogle Scholar
  77. 77.P.A. Gilmore. Structuring of Parallel Algorithms, J. ACM 15:176-192, 1968. Google ScholarGoogle ScholarDigital LibraryDigital Library
  78. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  79. 79.J. Goldberg. New Problems in Fault-Tolerant Computing. In Int. Symp. on Fault-Tolerant Computing, pages 29-34. 1975.Google ScholarGoogle Scholar
  80. 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 ScholarGoogle Scholar
  81. 81.M.V. Gonzalez and C.V. Ramamoorthy. Program Suitability for Parallel Processing. IEEE Trans. on Computers C-20:647-654, 1971.Google ScholarGoogle Scholar
  82. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  83. 83.M.J. Gonzalez. Deterministic Processor Scheduling. Computing Surveys 9:173-204, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  84. 84.J.L. Gula. Operating System Considerations for Multiprocessor Architectures. In Proc. 7th Texas Conf. on Computing Systems. ACM, 1978.Google ScholarGoogle Scholar
  85. 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 ScholarGoogle Scholar
  86. 86.M.C. Harrison and J.T. Schwartz. SHARER, a Time Sharing System for the CDC 6600. Comm. ACM 10:659-664, 1967. Google ScholarGoogle ScholarDigital LibraryDigital Library
  87. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  88. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  89. 89.F.E. Heart et al. The PLURIBUS Multiprocessor System. In Multiprocessor Systems, pages 307-330. Infotech, 1976.Google ScholarGoogle Scholar
  90. 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 ScholarGoogle Scholar
  91. 91.C.A.R. Hoare. Monitors: An Operating System Structuring Concept. Comm. ACM 17:549-557, 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  92. 92.C.A.R. Hoare. Communicating Sequential Processes. Comm. ACM 21:666-677, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  93. 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 ScholarGoogle Scholar
  94. 94.W. Huen et al. A Pipelined Dynamo Compiler. In Proc. 1977 Int. Conf. on Parallel Processing, pages 57-66. IEEE, 1977.Google ScholarGoogle Scholar
  95. 95.Infotech. Multiprocessor Systems. Infotech, Maidenhead, 1976.Google ScholarGoogle Scholar
  96. 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 ScholarGoogle Scholar
  97. 97.E.D. Jensen and W.E. Boebert. Partitioning and Assignment of Distributed Processing Software. In Compcon 76. IEEE, 1976.Google ScholarGoogle Scholar
  98. 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 ScholarGoogle Scholar
  99. 99.D.E. Jensen. The Honeywell Experimental Distributed Processor: An Overview. Computer 11:28-39, 1978.Google ScholarGoogle ScholarDigital LibraryDigital Library
  100. 100.P.M. Johnson. An Introduction to Vector Processing. Computer Design 17:89-97, 1978.Google ScholarGoogle Scholar
  101. 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 ScholarGoogle Scholar
  102. 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 ScholarGoogle ScholarCross RefCross Ref
  103. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  104. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  105. 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 ScholarGoogle ScholarCross RefCross Ref
  106. 106.A.K. Jones and P. Schwarz. Experience using multiprocessor systems: a status report. Computing Surveys 12:121-165, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  107. 107.D. Katsuki et al. Pluribus: An operational fault-tolerant computer. Proc. IEEE 66, 1978.Google ScholarGoogle Scholar
  108. 108.J.A. Katzman. A fault-tolerant computing system. In 11th Hawaii Conf. on System Sciences, pages 85-102. 1978.Google ScholarGoogle Scholar
  109. 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 ScholarGoogle Scholar
  110. 110.P.J. Knueven (Carnegie-Mellon University Computer Science Department). A Survey of Languages on SIMD Computers. 1979.Google ScholarGoogle Scholar
  111. 111.R. Kober. The Multiprocessor System SMS 201 — Combining 128 Microprocessors to a powerful computer. In Compcon 77. IEEE, 1977.Google ScholarGoogle ScholarCross RefCross Ref
  112. 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 ScholarGoogle Scholar
  113. 113.P.W. Kraska. Parallelism Exploitation and Scheduling. Technical Report UIUCDCS-R-62-518, University of Illinois Department of Computer Science, June, 1972.Google ScholarGoogle Scholar
  114. 114.D.J. Kuck. ILLIAC IV Software and Application Programming. IEEE Trans. on Computers C-17:758-770, 1968.Google ScholarGoogle ScholarDigital LibraryDigital Library
  115. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  116. 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 ScholarGoogle Scholar
  117. 117.D.J. Kuck et al. Measurements of Parallelism in Ordinary FORTRAN Programs. IEEE Trans. on Computers C-23:37-46, 1974.Google ScholarGoogle Scholar
  118. 118.D.J. Kuck. Parallel Processing Architecture — A Survey. In Proc. 1975 Sagamore Conf. on Parallel Processing, pages 15-39. IEEE, 1975.Google ScholarGoogle Scholar
  119. 119.D.J. Kuck. A Survey of Parallel Machine Organization and Programming. Computing Surveys 9:29-59, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  120. 120.H.T. Kung. The structure of parallel algorithms. In M.C. Yovits (editor), Advances in Computers, Vol. 19,. Academic Press, 1980.Google ScholarGoogle Scholar
  121. 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 ScholarGoogle Scholar
  122. 122.L. Lamport. The parallel execution of DO-loops. Comm. ACM 17:83-93, 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  123. 123.R.G. Lange et al. Specification for a STARAN Programming Language. Technical Report GER-16347, Goodyear Aerospace Corporation, October, 1976.Google ScholarGoogle Scholar
  124. 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 ScholarGoogle Scholar
  125. 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 ScholarGoogle Scholar
  126. 126.D.H. Lawrie. Memory-processor connection networks. Technical Report UIUCDSC-R-73-557, Dept. of Computer Science, University of Illinois, Feb., 1973.Google ScholarGoogle Scholar
  127. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  128. 128.T. Layman and D. Baer. Glypnir Reference Manual. Technical Report 263, ILLIAC IV Project, University of Illinois, 1972.Google ScholarGoogle Scholar
  129. 129.M. Lehman. A Survey of Problems and Preliminary Results Concerning Parallel Processing and Parallel Processors. Proc. IEEE 54:1889-1901, 1966.Google ScholarGoogle ScholarCross RefCross Ref
  130. 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 ScholarGoogle Scholar
  131. 131.V.R. Lesser. A Dynamically Reconfigurable Multiple Microprocessor. In Proc. Int. Workshop on Computer Architecture, Grenoble, pages 1-16. 1973.Google ScholarGoogle Scholar
  132. 132.B.H. Liebowitz and J.H. Carson. Tutorial on Distributed Processing. Compcon 77, 1977.Google ScholarGoogle Scholar
  133. 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 ScholarGoogle Scholar
  134. 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 ScholarGoogle Scholar
  135. 135.D.B. Lomet. Coping with Deadlock in Distributed Systems. Technical Report RC 7460 #32196, IBM, December, 1978.Google ScholarGoogle Scholar
  136. 136.H. Lorin. Parallelism in Hardware and Software: Real and Apparent Concurrency. Prentice-Hall, 1972.Google ScholarGoogle Scholar
  137. 137.R.A. MacKinnon. Advanced Function Extended with Tightly-Coupled Multiprocessing. IBM Systems J. 13:32-59, 1974.Google ScholarGoogle ScholarDigital LibraryDigital Library
  138. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  139. 139.J.G. Marzolf. AAPL: An Array Processing Language. In Proc. 1974 Sagamore Conf. on Parallel Processing,| pages 230-237. Springer-Verlag, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  140. 140.J. McGraw. Data-Flow Computing: Software Development. In Proc. 1st Int. Conf. on Distributed Computing Systems, pages 242-251. IEEE, 1979.Google ScholarGoogle Scholar
  141. 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 ScholarGoogle Scholar
  142. 142.R.E. Millstein. Control Structures in Illiac FORTRAN. Comm. ACM 16:621-627, 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  143. 143.R.E. Millstein and C.A. Muntz. The ILLIAC IV FORTRAN Compiler. SIGPLAN Notices 10:1-8, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  144. 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 ScholarGoogle Scholar
  145. 145.W.L. Miranker. A Survey of Parallelism in Numerical Analysis. SIAM Review 13:524-547, 1971.Google ScholarGoogle ScholarDigital LibraryDigital Library
  146. 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 ScholarGoogle Scholar
  147. 147.Y. Muraoka. Parallelism Exposure and Exploitation in Programs. Technical Report 424, University of Illinois Department of Computer Science, February, 1971.Google ScholarGoogle Scholar
  148. 148.M. Myszewski. IVTRAN: A Dialect of FORTRAN for use on the ILLIAC IV. Technical Report, Applied Data Research Inc., 1972.Google ScholarGoogle Scholar
  149. 149.A. Newell and G. Robertson. Some Issues in Programming Multiprocessors. Behavior Research Methods and Instrumentation 7:75-86, 1975.Google ScholarGoogle ScholarCross RefCross Ref
  150. 150.G.J. Nutt. A Parallel Processor Operating System Comparison. IEEE Trans. on Software Engineering SE-3:467-475, 1977.Google ScholarGoogle ScholarDigital LibraryDigital Library
  151. 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 ScholarGoogle Scholar
  152. 152.S.M. Ornstein et al. Pluribus: A Reliable Multiprocessor. In Proc. NCC Conf., pages 551-559. AFIPS Press, 1975.Google ScholarGoogle ScholarDigital LibraryDigital Library
  153. 153.N.S. Ostlund. Attached Scientific Processors for Chemical Computations. Technical Report LBL-10409 UC-32, NRCC, Lawrence Berkeley Laboratory, UC, January, 1980.Google ScholarGoogle Scholar
  154. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  155. 155.J. Ousterhout. Partitioning and Communication in a Distributed Operating System. PhD thesis, Carnegie-Mellon University, 1980. Google ScholarGoogle ScholarDigital LibraryDigital Library
  156. 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 ScholarGoogle Scholar
  157. 157.W.W. Patterson. Some thoughts on associative processing languages. In Proc. NCC Conf., pages 23-26. AFIPS Press, 1974.Google ScholarGoogle ScholarDigital LibraryDigital Library
  158. 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 ScholarGoogle Scholar
  159. 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 ScholarGoogle Scholar
  160. 160.D.L. Presberg and N.W. Johnson. The Paralyzer: IVTRAN's Parallelism Analyzer and Synthesizer. SIGPLAN Notices 10:9-16, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  161. 161.N. Quaynon and A. Bernstein. Operating Systems for Hierarchical Multiprocessors. In Proc. 7th Texas Conf. on Computing Systems. ACM, 1978.Google ScholarGoogle Scholar
  162. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  163. 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 ScholarGoogle Scholar
  164. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  165. 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 ScholarGoogle Scholar
  166. 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 ScholarGoogle Scholar
  167. 167.C.V. Ramamoorthy and H.F. Li. Pipeline Architectures. Computing Surveys 9:61-102, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library
  168. 168.L. Raskin. Performance evaluation of multiprocessor systems. Technical Report CMU-CS-78-141, Carnegie-Mellon University Computer Science Department, August, 1978.Google ScholarGoogle Scholar
  169. 169.H.K. Resnick and A.G. Larson. DMAP: A Cobol Extension for Associative Array Processors. SIGPLAN Notices 10:54-61, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  170. 170.G. Reyling. Performance and Control of Multiple Microprocessor Systems. Computer Design 13:81-86, 1974.Google ScholarGoogle Scholar
  171. 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 ScholarGoogle Scholar
  172. 172.J.G. Robinson. The Pluribus Fault-Tolerant Computer. In Compcon 79, pages 45-48. IEEE, 1979.Google ScholarGoogle Scholar
  173. 173.J.F. Ruggiero and D.A. Coryell. An auxiliary processing system for array calculations. IBM Systems J. 8:118-135, 1969.Google ScholarGoogle ScholarDigital LibraryDigital Library
  174. 174.J. Rumbaugh. A Data Flow Multiprocessor. IEEE Trans. on Computers C-26:138-146, 1977.Google ScholarGoogle ScholarDigital LibraryDigital Library
  175. 175.R.M. Russell. The Cray-1 Computer System. Comm. ACM 21:63-72, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  176. 176.G.E. Sayre. STARAN: An Associative Approach to Multiprocessor Architecture. In W. Handler (editor), Computer Architecture, pages 199-221. Springer-Verlag, 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  177. 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 ScholarGoogle Scholar
  178. 178.P. Schneck. Movement of Implicit Parallel and Vector Expressions out of Program Loops. SIGPLAN Notices 10:103-106, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  179. 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 ScholarGoogle ScholarCross RefCross Ref
  180. 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 ScholarGoogle ScholarCross RefCross Ref
  181. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  182. 182.J. Srodawa. Positive Experience with a Multiprocessor System. Computing Surveys 10:73-82, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  183. 183.K.G. Stevens Jr. CFD — A FORTRAN-like Language for the ILLIAC IV. SIGPLAN Notices 10:72-76, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  184. 184.D. Stevenson. Programming the ILLIAC IV. Technical Report, Carnegie-Mellon University Computer Science Department, 1975.Google ScholarGoogle Scholar
  185. 185.H.S. Stone. Parallel processing with the perfect shuffle. IEEE Trans. on Computers C-20:153-61,1971.Google ScholarGoogle ScholarDigital LibraryDigital Library
  186. 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 ScholarGoogle Scholar
  187. 187.H.S. Stone. Introduction to Computer Architecture. SRA, 1975.Google ScholarGoogle Scholar
  188. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  189. 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 ScholarGoogle Scholar
  190. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  191. 191.R.J. Swan. The Switching Structure and Addressing Architecture of an Extensible Multiprocessor, Cm*. PhD thesis, Carnegie-Mellon University, 1978. Google ScholarGoogle ScholarDigital LibraryDigital Library
  192. 192.Tandem 16 System Introduction Tandem Computers, 1977.Google ScholarGoogle Scholar
  193. 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 ScholarGoogle Scholar
  194. 194.K.J. Thurber and L.D. Wald. Associative and Parallel Processors. Computing Surveys 7:215-255, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  195. 195.K.J. Thurber. Large Scale Computer Architecture. Hayden Book Company, 1976.Google ScholarGoogle Scholar
  196. 196.K.J. Thurber. Parallel Processor Architectures— Part 1: General Purpose Systems. Computer Design 18:89-97, 1979.Google ScholarGoogle Scholar
  197. 197.Texas Instruments. ASC, a description of the Advanced Scientific Computer System. Technical Report M1001 P, Texas Instruments, Inc., April, 1972.Google ScholarGoogle Scholar
  198. 198.G. Tjaden and M. Flynn. Detection and Simultaneous Execution of Independent Instructions. IEEE Trans. on Computers C-19:889-895, 1970.Google ScholarGoogle Scholar
  199. 199.R.M. Tomasulo. An Efficient Algorithm for Exploiting Multiple Arithmetic Units. IBM J. Research and Development :25-33, 1967.Google ScholarGoogle Scholar
  200. 200.M.M. Tsao. A Study of Transient Errors on Cm*. Master's thesis, Carnegie-Mellon University, 1978.Google ScholarGoogle Scholar
  201. 201.L.L. Walker. Multiprocessor Operating System Design. In Operating Systems,. Infotech, 1972.Google ScholarGoogle Scholar
  202. 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 ScholarGoogle Scholar
  203. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  204. 204.D. Wedel. FORTRAN for the Texas Instruments ASC System. SIGPLAN Notices 10:119-132, 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  205. 205.D.E. Wilson. The PEPE Support Software System. Compcon 72 :61-64, 1972.Google ScholarGoogle Scholar
  206. 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 ScholarGoogle Scholar
  207. 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 ScholarGoogle Scholar
  208. 208.W.A. Wulf et al. HYDRA: The Kernel of a Multiprocessor Operating System. Comm. ACM 17:337-345, 1974. Google ScholarGoogle ScholarDigital LibraryDigital Library
  209. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  210. 210.W.A. Wulf and R. Levin. A Local Network. Datamation :47-50, 1975.Google ScholarGoogle Scholar
  211. 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 ScholarGoogle Scholar
  212. 212.W.A. Wulf, R. Levin and S.P. Harbison. Hydra: An Experimental Operating System. McGraw-Hill, 1980.Google ScholarGoogle Scholar
  213. 213.S.S. Yau and H.S. Fung. Associative Processor Architecture — A Survey. Computing Surveys 9:3-28, 1977. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Multiprocessor software design

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        ACM '80: Proceedings of the ACM 1980 annual conference
        January 1980
        539 pages
        ISBN:0897910281
        DOI:10.1145/800176

        Copyright © 1980 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 January 1980

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader