Skip to main content
Log in

Theory of parallel programming. Part I: Survey of practical aspects

  • Published:
Cybernetics Aims and scope

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Literature Cited

  1. G. S. Antoshchenkov, “On possible methods of organizing cycles in K-language”, in: Proceedings of the First All-Union Conference on Programming, Session I [in Russian], Izd. IK AN USSR, Kiev (1968).

    Google Scholar 

  2. G. A. Bekishev, “On the parallelization of computational algorithms,” in: Computing Systems [in Russian], Vol.5, Nauka, Novosibirsk (1963).

    Google Scholar 

  3. V. B. Borshchev and Yu. A. Shreider, “Nonalgorithmic programming language,” Nauchno-Tekh. Inf., No. 12 (1964).

  4. V. B. Borshchev and Yu. A. Shreider, “Algorithms, programming languages, and dispositions,” Kibernetika, No.4 (1965).

  5. S. N. Bushev, “Use of Markov algorithms for describing parallel processes,” in: Problems of Computer Theory [in Russian], Vol.5, IK AN USSR, Kiev (1969).

    Google Scholar 

  6. S. N. Bushev, “An approach to the dissection of programs into functionally independent parts,” Izv. Akad. Nauk SSSR, Tekh. Kibernetika, No. 5 (1970).

  7. V. A. Val'kovskii, “A method of desequencing flow charts,” in: Theory of Languages and Methods of Constructing Programming Systems [in Russian], IK AN USSR, Kiev-Alushta (1972).

    Google Scholar 

  8. A. van Wijngaarden (editor) et al., “Report on the algorithmic language ALGOL-68” [Russian and English], Kibernetika, No. 6 (1969); No. 1 (1970).

  9. V. F. D'yachenko, “Detection and analysis of linear sequences in flow charts of algorithms,” in: Information Networks and Switching [in Russian], Moscow (1968).

  10. E. V. Evreinov and Yu. G. Kosarev, “Solving problems on general-purpose systems,” in: Computing Systems [in Russian], Vol. 17, Nauka, Novosibirsk (1965).

    Google Scholar 

  11. E. V. Evreinov and Yu. G. Kosarev, “Matrix p-language for the description of parallel algorithms,” in: Computing Systems [in Russian], Vol.17, Nauka, Novosibirsk (1965).

    Google Scholar 

  12. E. V. Evreinov and Yu. G. Kosarev, Homogeneous High-Performance General-Purpose Computers [in Russian], Nauka, Novosibirsk (1966).

    Google Scholar 

  13. A. P. Ershov, V. E. Kotov, A. A. Letichevskii, R. I. Poldovchenko, I. V. Pottosin, B. A. Trakhtenbrot, A. L. Fuksman, and G. S. Tseitin, “Theoretical programming in the USSR,” in: Systems and Theoretical Programming [in Russian], Izd. VTs SO AN SSSR, Novosibirsk (1972).

    Google Scholar 

  14. V. E. Itkin, “Parallel flow charts,” Kibernetika, No. 1 (1971).

  15. D. N. Kiknadze, “Methods of analysis of structures of parallel algorithms implemented by homogeneous computing systems,” in: Computing Systems [in Russian], Nauka, Novosibirsk (1967).

    Google Scholar 

  16. E. A. Kopinskii, “Algorithms for the parallel execution of programs,” Zh. Vychisl. Matem. i Matem. Fiz.,9, No. 5 (1969).

  17. Yu. G. Kosarev, “Methods of solving problems on general-purpose computers,” in: Computing Systems [in Russian], Vol.17, Nauka, Novosibirsk (1965).

    Google Scholar 

  18. Yu.G. Kosarev, “Parallelization by cycles,” in: Computing Systems [in Russian], Vol.24, Nauka, Novosibirsk (1967).

    Google Scholar 

  19. V. E. Kotov and A. S. Narin'yani, “Asynchronous computational processes over a memory,” Kibernetika, No. 3 (1966).

  20. V. E. Kotov, “Certain problems in transforming flow charts into asynchronous programs,” in: Proceedings of the Third All-Union Conference on Information-Retrieval Systems and the Automation of Processing of Scientific and Technical Information [in Russian], Vol.2, VINITI, Moscow (1967).

    Google Scholar 

  21. V. E. Kotov and A. S. Narin'yani, “Transformation of flow charts into asynchronous programs,” in: Computing Systems [in Russian], Nauka, Novosibirsk (1967).

    Google Scholar 

  22. V. E. Kotov, “On the practical implementation of asynchronous parallel computations,” in: Systems and Theoretical Programming [in Russian], Izd. VTs SO AN SSSR, Novosibirsk (1972).

    Google Scholar 

  23. V. E. Kotov, “Transformation of flow charts into asynchronous programs,” Dissertation, VTs SO AN SSSR, Novosibirsk (1970).

    Google Scholar 

  24. N. A. Krinitskii, “Language of network schemes,” in: Digital Computer Technology and Programming [in Russian], Vol. 3, Moscow (1967).

  25. Programming Language PL/I [Russian translation], Mir, Moscow (1968).

  26. E. Z. Lyubimskii, “On the algorithmization of programming and methods of programming programs,” Dissertation, Izdatel'stvo MGU, Moscow (1958).

    Google Scholar 

  27. Ya. Malushinskii and D. A. Pospelov “A method of identifying independent pieces in program schemata,” Trudy Moskov. Energ. Inst.,53 (1964).

  28. V. V. Martynyuk, “On certain applications of the closure operation in the analysis of graphs,” Zh. Vychisl. Matem. i Matem. Fiz.,11, No. 6 (1971).

    Google Scholar 

  29. K. Matsyashchik and D. A. Pospelov, “Optimal allocation by levels of programs to parallel computing devices,” in: Information-Transmitting Networks and Their Automation [in Russian], Moscow (1965).

  30. A. S. Narin'yani, “Translation of flow charts into asynchronous programs,” in: Proceedings of the Third All-Union Conference on Information-Retrieval Systems and the Automation of Processing of Scientific and Technical Information [in Russian], Vol.2, VINITI Moscow (1967).

    Google Scholar 

  31. A. S. Narin'yani, “Asynchronous computational processes over a memory,” Dissertation, VTs SO AN SSSR, Novosibirsk (1970).

    Google Scholar 

  32. M. A. Osipova, “Problems in the synthesis of a machine-oriented language for a complex of computers with a common memory,” Dissertation, VINITI, Moscow (1966).

    Google Scholar 

  33. R. I. Podlovchenko, “Nondeterministic flow charts of algorithms and Reschemata,” in: Theory of Programming, PartI [in Russian], Izd. VTs SO AN SSSR, Novosibirsk (1972).

    Google Scholar 

  34. D. A. Pospelov, “Mathematical problems arising in the concurrent operation of several computers,” Trudy Moskov. Energ. Inst.,53 (1964).

  35. D.A. Pospelov, “Theoretical problems in the system grouping of standard computers,” in: Computing Systems [in Russian], Nauka, Novosibirsk (1967).

    Google Scholar 

  36. D. A. Pospelov, “Classification of the structures of algorithms implemented on computers,” Izv. Akad. Nauk SSSR, Tekh. Kibernetika, No. 5 (1967).

  37. D. A. Pospelov, “Methods of writing algorithms for computers,” in: Proceedings of the First All-Union Conference on Computing Systems [in Russian], Vol.4 Novosibirsk (1968).

  38. D. A. Pospelov, Introduction to the Theory of Computer Systems [in Russian], Sovet-skoe Radio, Moscow (1972).

    Google Scholar 

  39. T. N. Smirnova and K. V. Shakhbazyan, “Design of a K-translator,” in: Proceedings of the First All-Union Conference on Programming, Session I[in Russian], Izd. IK AN USSR, Kiev (1968).

    Google Scholar 

  40. T. A. Tushkina and K. V. Shakhbazyan, “On the basic concepts of parallel programming,” Zap. Nauk. Sem. LOMI,18 (1970).

  41. T. A. Tushkina and K. V. Shakhbazyan, “Solution of some problems in parallel programming”, Zap. Nauk. Sem. LOMI,18 (1970).

  42. E. Kh. Tyugu, “Solution of problems on computing models,” Zh. Vychisl Matem. i Matem. Fiz.,10, No. 3 (1970).

  43. V. A. Tyurenkov, “Algorithms for finding shortest paths,” in: Computing Systems [in Russian], Vol.6, Nauka, Novosibirsk(1963).

    Google Scholar 

  44. V. N. Fal'k and V. P. Kutepov, “Functional graph schemata and their equivalent transformations,” in: Proceedings of the First All-Union Conference on Programming, Session A [in Russian], Izd. IK AN USSR, Kiev (1968).

    Google Scholar 

  45. A. I. Khalilov, “An algorithmic language for the description of parallel processes (ALGOPP),” in: Automatic Programming [in Russian], Vol.3, Izd. IK AN USSR, Kiev (1969).

    Google Scholar 

  46. A. I. Khalilov, “Some questions in the automation of programming for multiprocessor computing systems,” Candidate's Dissertation [in Russian], Izd.IK AN USSR, Kiev (1972).

    Google Scholar 

  47. A. I. Kahlilov, “On the automation of parallelization of programs at the level of a procedure-oriented language,” in: Theory of Languages and Methods of Constructing Programming Systems [in Russian], Izd. IK AN USSR, Kiev-Alushta (1972).

    Google Scholar 

  48. V. G. Khoroshevskii, “On algorithms for allocating tasks to computers,” Trudy Sibirsk. Fiz.-Tekh. Inst. (Tomsk),47 (1965).

  49. K. V. Shakhbazyan and M. M. Levedinskii, “Functional algorithmic language,” Tr. Matem. Inst., AN USSR,96 (1968).

  50. K. V. Shakhbazyan, “K-language and parallel branches of algorithms,” in: Proceedings of the First All-Union Conference on Programming, Session I [in Russian], Izd. IK AN USSR, Kiev (1968).

    Google Scholar 

  51. K. V. Shakhbazyan, Zap. Nauk Sem. LOMI,18 (1970).

  52. D. A. Adams, A Computational Model with Data Flow Sequencing, Paper CS-II7, Computer Science Department, Stanford University, Stanford, California, (December, 1968).

    Google Scholar 

  53. J. P. Anderson, “Program structures for parallel processing,” Commun. ACM8, No. 12 (1965).

  54. M. A. Arbib and Y. Give'on, “Algebra automata I: Parallel programming as a prolegomena to the categorial approach.,” Information and Control,12, No. 4 (1968).

  55. E. Ashcroft and Z. Manna, Formalization of Properties of Parallel Programs, Paper AIM-110, Artificial Intelligence Project, Stanford University, Stanford, California (February, 1970).

    Google Scholar 

  56. J. L. E. Baer and D. P. Bovet, “Complilation of arithmetic expressionsfor parallel processing,” in: Proceedings of the IFIP Congress 68 (Edinburgh, 1968) North-Holland, Amsterdam (1969).

    Google Scholar 

  57. J. L. E. Baer, “Graph models of computations in computer systems,” Doctoral Thesis, University of California, Los Angeles (1968).

    Google Scholar 

  58. J. L. E. Baer and G. Estrin, “Bounds for maximum parallelism in a bilogic graph model of computations,” IEEE Trans. Electronic Computers,EC-18, No. 11 (1969).

    Google Scholar 

  59. J. L. E. Baer, D. P. Bovet, and G. Estrin, “Legality and other properties of graph models of computations,” J. Assoc. Computing Mach.,17, No. 3 (1970)

    Google Scholar 

  60. A. J. Bernstein, “Analysis of programs for parallel processing,” IEEE Trans. Electronic Computers,EC-15, No. 5 (1966).

    Google Scholar 

  61. A. J. Bernstein and J. B. Johnston, “Implementation of a parallel processing language,” in: Proceedings of the First Annual Princeton Conference on Information Sciences and Systems, Princeton University (1967).

  62. H. W. Bingham, D. A. Fisher, and W. L. Semon, Detection of Implicit Computational Parallelism from Input-Output Sets, Burroughs Corporation Technical Report, TR-66-4 (December, 1966).

  63. H. W. Bingham, D. A. Fisher, and W. L. Semon, Detection of Essential Ordering Implicit in Compiler Language Programs, Burroughs Corporation Technical Report TR-67-1 (February, 1967).

  64. H. W. Bingham et al., Automatic Detection of Parallelism in Computer Programs, Burroughs Corporation Technical Report TR-67-4 (November, 1967).

  65. T. H. Bredt, A Survey of Models for Parallel Computing, Technical Report No. 8, Digital Systems Laboratory, Stanford University, Stanford, California (August, 1970).

    Google Scholar 

  66. D. Cohen, “A parallel processes definition and control system,” in: Proceeding of the AFIPS Fall Joint Computer Conference, Vol.33 (1968).

  67. L. L. Constantine, “Control of sequence and parallelism in modular programs,” in: Proceedings of the AFIPS Spring Joint Computer Conference, Vol.32 (1968).

  68. M. R. Conway, “Design of a separable transition-diagram compiler,” Commun. ACM,6 No. 7 (1963).

    Google Scholar 

  69. M. R. Conway, “A multiprocessor system design,” in: Proceedings of the AFNIPS Fall Joint Computer Conference, Vol.32 (1968).

  70. A. J. Critchlow, “Generalized multiprocessing and multiprogramming systems,” in: Proceedings of the AFIPS Fall Joint Computer Conference, Vol.24 (1963).

  71. J. B. Dennis and E. C. Van Horn, “Programming semantics for multiprogrammed computations,” Commun. ACM,9 No. 3 (1966).

    Google Scholar 

  72. J. B. Dennis, “Programming, generality, parallelism, and computer architecture,” in: Proceedings of the IFIP Congress 68 (Edinburgh, 1968), North-Holland, Amsterdam (1969).

    Google Scholar 

  73. P. J. Denning, “On the determinacy of schemata,” in: Record of the Project MAC Conference on Concurrent Systems and Parallel Computations, Woods Hole, Massachusetts (June, 1970).

  74. J. B. Dennis, Proposed Research in Computation Structures, Project MAC Computation Structures Group Memo, No. 50, Massachusetts Institute of Technology, Cambridge (April, 1970).

    Google Scholar 

  75. J. B. Dennis, Informal Outline of a Theory of Parallel Computation Schemata for Simple Algorithms, Project MAC Computation Structures Group Memo No. 51, Massachusetts Institute of Technology, Cambridge, Massachusetts (September, 1970).

    Google Scholar 

  76. E. W. Dijkstra, “Solution of a problem in concurrent programming control,” Commun. ACM,8, No. 9 (1965).

    Google Scholar 

  77. E. W. Dijkstra, “The structure of the ‘THE’ multiprogramming system,” Commun. ACM,11, No. 5 (1968).

    Google Scholar 

  78. E. W. Dijkstra, “Cooperating sequential processes,” in: Programming Languages (edited by F. Genuys), Academic Press, New York (1968).

    Google Scholar 

  79. W. S. Dorn, N. C. Hsu, and T. J. Rivlin, Some Mathematical Aspects of Parallel Computation, IBM Research Center RC-647, Yorktown Heights, New York (1962).

  80. A. P. Ershov, Parallel Programming, Stanford Artificial Intelligence Project, Memo AIM-146, Report CS-224, Computer Science Department, Stanford University (July, 1971).

  81. G. Estrin, “Organization of computers systems — the fixed plus variable structure computer,” in: Proceedings of the AFIPS Western Joint Computer Conference, Vol.17 (1960).

  82. G. Estrin, B. Bussell, R. Turn, and J. Bibb, “Parallel proceeding in a restructurable computer system,” IEEE Trans. Electronic Computers,EC-12, No. 6 (1963).

    Google Scholar 

  83. G. Estrin and R. Turn, “Automatic assignment of computations in a variable structure computer system,” IEEE Trans. Electronic Computers,EC-12, No. 6 (1963).

    Google Scholar 

  84. D. A. Fisher, Program Analysis for Multiprocessing, Burrough Corporation Technical Report TR-67-2 (May, 1967).

  85. S. Gill, “Parallel programming,” Computer J., No. 1 (1958).

  86. P. A. Gilmore, “Structuring of parallel algorithms,” J. Assoc. Computing Mach.,15, No. 2 (1968).

    Google Scholar 

  87. J. A. Gosden, “Explicit parallel processing description and control in programs for multi- and uni-processor computers,” in: Proceedings of the AFIPS Fall Joint Computer Conference, Vol.29 (1966).

  88. H. Hellerman, “Parallel processing of algebraic expressions,” IEEE Trans. Electronic Computers,EC-15, No. 1 (1966).

    Google Scholar 

  89. E. C. Van Horn, “Computer design for asynchronously reproducible multiprocessing,” MACTR-34, Thesis, Massachusetts Institute of Technology, (November, 1966).

  90. R. M. Karp and R. E. Miller, “Properties of a model for parallel computations: determinacy, terminations, queueing,” SIAM J. Appl. Math.,14 (1966).

  91. R. M. Karp and R. E. Miller, “Parallel program schemata: a mathematical model for parallel computation,” in: IEEE Conference Record of the 8th Annual Symposium on Switching and Automata Theory (October, 1967).

  92. R. M. Karp and R. E. Miller, “Parallel program schemata,” J. Computer and System Sciences,3, No. 2 (1969).

    Google Scholar 

  93. R. M. Keller, “On maximally parallel schemata,” in: IEEE Conference Record of the 11th Annual Symposium on Switching and Automata Theory (October, 1970).

  94. V. E. Kotov and A. S. Nanin'yani, “On transformation of sequential programs into asynchronous parallel programs,” in Proceedings of IFIP Congress 68 (Edinburgh, 1968), North-Holland, Amsterdam, (1969).

    Google Scholar 

  95. B. W. Lampson, “A scheduling philosophy for multiprocessing systems,” Commun. ACM,11, No. 5 (1968).

  96. M. Lehman, “A survey and preliminary results concerning parallel processing and parallel processors,” in: Proceedings of the IEEE Vol.54 (1966).

  97. F. L. Luconi, “Completely functional asynchronous computational structures,” in: IEEE Conference Record of the 8th Annual Symposium on Switching and Automata Theory (October, 1967).

  98. F. L. Luconi, “Asynchronous computational structures,” MAC-TR-49, Thesis, Massachusetts Institute of Technology, Cambridge (February, 1968).

    Google Scholar 

  99. F. L. Luconi, “Output functional computational structures,” in: IEEE Conference Record of the 9th Annual Symposium on Switching and Automata Theory (October, 1968).

  100. Z. Manna, “The correctness of nondeterministic programs,” Artificial Intelligence J.,1, No. 1 (1970).

  101. D. Martin, “The automatic assignment and sequencing of computations on parallel processor systems,” Doctoral Thesis, University of California, Los Angeles (1963).

    Google Scholar 

  102. D. Martin, The Automatic Assignment and Sequencing of Computations and systems, UCLA Rep. No. 66-4 (January, 1966).

  103. D. Martin and G. Estrin, “Experiments on models of computations and systems,” IEEE Trans. Electronic Computers,EC-16 (1967).

  104. D. Martin and G. Estrin, “Models of computational systems—cyclic to acyclic graph transformations,” IEEE Trans. Electronic Computers,EC-16, No. 1 (1967).

    Google Scholar 

  105. D. Martin and G. Estrin, “Models of computations and systems — evaluation of vertex probabilities in graph models of computations,” J. Assoc. Computing Mach.,14, No. 2 (1967).

    Google Scholar 

  106. D. Martin and G. Estrin, “Path-length computations on graph models of computations,” IEEE Trans. Computers,C-18, No. 6 (1969).

    Google Scholar 

  107. J. C. Murthra, “Highly parallel information processing systems,” in: Advances in Computers, Vol. 7 (1966).

  108. A. Opler, “Procedure-oriented languages to facilitate parallel processing,” Commun. ACM.8, No. 5 (1965).

    Google Scholar 

  109. M. S. Paterson and C. E. Hewitt, “Comparative schematology,” in: Record of the Project MAC Conference on Concurrent Systems and Parallel Computations, Woods Hole, Massachusetts (June, 1970).

  110. S. S. Patil, “An abstract parallel processing system,” Master's Thesis, Department of Electrical Engineering, Massachusetts Institute of Technology Cambridge (June, 1970).

    Google Scholar 

  111. C. V. Ramamoorthy and M. J. Gonzalez, “A survey of techniques for recognizing parallel processable streams in computer programs,” in: Proceedings of the AFIPS Fall Joint Computer Conference, Vol. 35 (1962).

  112. C. A. Petri, “Fundamentals of a theory of asynchronous information flow,” in: Proceedings of the IFIP Congress 62, Munich (1962).

  113. R. Reiter, Initiation and Timing in a Model for Parallel Computation, Tech. Rep. SEL-66-3, Dept. of Engineering, University of Michigan, Ann Arbor (1966).

    Google Scholar 

  114. R. Reiter, “A study of a model for parallel computation,” Doctoral Thesis, Department of Communication Sciences, University of Michigan, Ann Arbor (June, 1967).

    Google Scholar 

  115. R. Reiter, “Scheduling parallel computations,” J. Assoc. Computing Mach.,15 No. 4 (1968).

    Google Scholar 

  116. J. E. Rodriguez Bezos, “A graph model for parallel computations,” Doctoral Thesis, Department of Electrical Engineering, Massachusetts Institute of Technology, Cambridge (September, 1967).

    Google Scholar 

  117. E. C. Russel, “Automatic assignment of computational tasks in a variable structure computer,” Master's Thesis, University of California, Los Angeles (1963).

    Google Scholar 

  118. E. C. Russel, “Automatic program analysis,” Doctoral Thesis, University of California, Los Angeles (1969).

    Google Scholar 

  119. J. D. Rutledge, “Parallel processes, schemata, and transformations,” Draft for NATO Conf. Computer Architecture (September, 1969).

  120. J. D. Rutledge, Parallel Processes, Schemata, and Transformations, RC-2912, IBM Research, Yorktown Heights, New York (June, 1970).

    Google Scholar 

  121. J. D. Rutledge, “Program schemata as automata,” in: IEEE Conference Record of the 11th Annual Symposium on Switching and Automata Theory (October, 1970).

  122. E. S. Schwartz, “An automatic sequencing procedure with application to parallel programming,” J. Assoc. Computing Mach.,8, No. 4 (1961).

    Google Scholar 

  123. D. R. Slutz, The Flow Graph Schemata Model of Parallel Computation, MAC-TR-51, Thesis, Massachusetts Institute of Technology, Cambridge (September, 1968).

    Google Scholar 

  124. D. R. Slutz, “Flow graph schemata,” in: Record of the Project MAC Conference on Concurrent Systems and Parallel Computations, Woods Hole, Massachusetts (June, 1970).

  125. J. S. Squire, “A translation algorithm for a multiple processor computer,” in: Proceedings of the 18th ACM National Conference, Denver, Colorado (1963).

  126. H. S. Stone, “One-pass compilation of arithmetic expressions for a parallel processor,” Commun. ACM,10, No. 4 (1967).

    Google Scholar 

  127. L. G. Tesler and H. J. Enea, “A language design for concurrent processes,” in: Proceedings of the AFIPS Spring Joint Computer Conference, Vol. 32 (1968).

  128. D. Tsichritzis, “Computational processes,” in: Record of the Project MAC Conference on Concurrent Systems and Parallel Computation, Woods Hole, Massachusetts (June, 1970).

  129. R. Turn, “Assignment of inventory of a variable structure computer,” Doctoral Thesis, Department of Engineering, University of California, Los Angeles (1963).

    Google Scholar 

  130. S. A. Volansky, “Graph model analysis and implementation of computational sequences,” Doctoral Thesis, School of Engineering and Applied Sciences, University of California, Los Angeles (June, 1970).

    Google Scholar 

  131. N. Wirth, “A note on ‘program structures for parallel processing’,” Commun. ACM,9, No. 5 (1966).

    Google Scholar 

Download references

Authors

Additional information

This article comprises the first two sections of “Part I.” The conclusion of Part I will appear in this journal, No. 2 (1974). However, the references for all of Part I are given at the end of the present article. A companion survy (“Theory of Parallel Programming, Part II: Survey of Formal Models,” by A. S. Narin'yani, referred to hereinafter as “Part II”) will appear in this journal, Nos. 3 and 5 (1974).

Translated from Kibernetika, No. 1, pp. 1–16, January–February, 1974.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kotov, V.E. Theory of parallel programming. Part I: Survey of practical aspects. Cybern Syst Anal 10, 1–18 (1974). https://doi.org/10.1007/BF01069013

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01069013

Keywords

Navigation