Skip to main content
Log in

Recognition of loop parallelisms by simulated execution

  • Published:
Cybernetics Aims and scope

Conclusions

The method of recognition of loop parallelisms based on simulation of loop execution has been described, for the sake of simplicity, within the scope of simple loop structure analysis. At the same time, the method can be effectively extended to loops of arbitrary structures including loop nests. The method allows to vary the number of analyzed passes from N1 to N1×N2×...×Nj, where Ni is the number of iterations of a loop of an imbedding i. Reduction of a nest of loops to a loop of the form (1) can be carried out as follows.

With a minimum size of the analyzed passes, internal loops (if necessary) are treated as being unwound into a linear sequence; with a maximum size of passes, the heading of the nest of loops is represented as DO KI=J, N, M, where K, I, J, N, and M are vectors, and a run through the values of vector I is simulated.

For parallel programs executed in MINIMAX-type systems, branches are implemented in individual elementary machines. In allocating loop passes to different branches it is necessary to minimize exchange interactions taking place between machines. The simulation method makes it possible in such cases to disclose information allowing to make rational decisions.

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.

Similar content being viewed by others

Literature Cited

  1. É. V. Evreinov and Yu. G. Kosarev, “Problem solving with general-purpose systems,” Vychisl. Sist., No. 17, 106 (1965).

    Google Scholar 

  2. É. V. Evreinov and Yu. G. Kosarev, Uniform High-Efficiency General-Purpose Computing Systems [in Russian], Nauka, Novosibirsk (1966).

    Google Scholar 

  3. Yu. G. Kosarev, “Paralleling into loops,” Vychisl. Sist., No. 24, 3 (1967).

    Google Scholar 

  4. Computing Systems [in Russian] No. 30, Novosibirsk (1968).

  5. N. N. Mirenkov, “Parallel algorithms for problem solving with uniform computing systems,” Vychisl. Sist., No. 57, 3 (1973).

    Google Scholar 

  6. Yu. G. Kosarev, “On exchange schemes between parallel algorithm branches,” Vychisl. Sist., No. 51, 70 (1972).

    Google Scholar 

  7. V. A. Val'kovskii, “Paralleling of loops into a small number of branches,” Vychisl. Sist., No. 70, 90 (1977).

    Google Scholar 

  8. M. Sh. Badratinov, V. G. Galyapin, and R. M. Nuriev, “Automatic paralleling of programs into loops,” in: Theory and Mathematical Methods of Problem Solving [in Russian], Ufa (1975), pp. 28–31.

  9. G. A. Todorov, “Analysis of parallelism of computing processes in loop programs,” Programmirovanie, No. 1, 11 (1980).

    Google Scholar 

  10. S. A. Mityaeva, “Paralleling of programs for multiprocessor computing systems,” Kibernetika, No. 2, 47 (1980).

    Google Scholar 

  11. V. G. Lebedev and Yu. M. Shuraits, “Paralleling of loops with arbitrarily large steps,” Avtomat. Telemekh., No. 9, 158 (1979).

    Google Scholar 

  12. L. Lamport, “The parallel execution of DO loops,” Com. ACM,17, No. 2, 83 (1974).

    Google Scholar 

  13. R. E. Millstein and C. A. Muntz, “The ILLIAC-4 Fortran Compiler,” Sigplan Notices Special Interest Group on Programming Language,10, No. 3, 1 (1977).

    Google Scholar 

  14. D. L. Presberg and N. W. Johnson, “The Paralyzer: Ivtran's parallelism analyzer and synthesizer,” ibid. p. 9 (1977).

    Google Scholar 

  15. D. J. Kuck, “A survey of parallel machine organization and programming,” AMC Computing Surveys,9, No. 1, 29 (1977).

    Google Scholar 

  16. R. M. Nuriev, “Data and logical links in schemes of programs over arrays,” Kibernetika, No. 1, 78 (1979).

    Google Scholar 

  17. R. M. Nuriev, “Necessary and sufficient conditions for substantial paralleling of programs into loops,” Tekhn. Kibern., No. 2, 105 (1976).

    Google Scholar 

  18. P. S. Sapatyi, “Solution of branching and looping problems in multiprocessor computing systems,” Tekhn. Kibern., No. 1, 166 (1974).

    Google Scholar 

  19. A. I. Khalilov, “On program paralleling,” Probl. Kibern., No. 28, 157 (1974).

    Google Scholar 

  20. D. A. Pospelov, Introduction to Computing System Theory [in Russian], Sov. Radio, Moscow (1972).

    Google Scholar 

  21. V. A. Val'kovskii and V. E. Kotov, Automatic Design of Parallel Programs. Paralleling of Expressions and Loops [in Russian], Preprint of the Comp. Center, Siberian Branch, Academy of Sciences of the USSR, No. 146 (1979), p. 41.

    Google Scholar 

  22. K. V. Shakhbazyan and T. A. Tushkina, “Review of scheduling methods for multiprocessor systems,” in: Computing Methods of Linear Algebra. Parallel Computation [in Russian], Vol. 54 (1975), pp. 229–258.

  23. V. G. Kerbel' and N. N. Mirenkov, “Automatic paralleling of special algorithms,” Vychisl. Syst., No. 63, 149 (1976).

    Google Scholar 

  24. N. N. Mirenkov, Parallel Systems Programming. Parts 1 and 2 [in Russian], Preprint of Institute of Mathematics, Siberian Branch, Academy of Sciences of the USSR, OVS-05, OVS-06, Novosibirsk (1978), Part 1, p. 35; Part 2, p. 50.

  25. N. K. Grishaeva, V. G. Kerbel', Yu. I. Kolosova, V. I. Konstantinov, V. D. Korneev, T. A. Levagina, N. N. Mirenkov, and S. B. Fisherman, “The language of parallel algorithms,” Vychisl. Sist., No. 57, 33 (1973).

    Google Scholar 

  26. V. E. Kotov, On Parallel Languages [in Russian], Preprint Comp. Center, Siberian Branch, Academy of Sciences of the USSR, Novosibirsk (1979), p. 49.

  27. V. M. Glushkov, Yu. V. Kapitonova, and A. A. Letichevskii, “Theory of data structures and synchronous parallel computing,” Kibernetika, No. 6, 2 (1976).

    Google Scholar 

  28. A. A. Letichevskii, “On maximal des equencing of loop operators,” Dokl. Akad. Nauk SSSR,242, No. 4, 761 (1978).

    Google Scholar 

  29. V. G. Kerbel', Yu. I. Kolosova, V. D. Korneev, E. G. Krylov, N. N. Mirenkov, MINIMAX System Software [in Russian], Preprint Inst. of Mathem., Siberian Branch, Academy of Sciences of the USSR, OVS-09 (1979), p. 43.

  30. Yu. G. Kosarev and N. N. Mirenkov, “Mathematical software of uniform computing systems,” Vychisl. Sist., No. 58, 61–79 (1974).

    Google Scholar 

  31. N. N. Mirenkov, “Parallel structural programming,” Programmirovanie, No. 3, 3 (1975).

    Google Scholar 

  32. E. P. Ershov, “The essence of translation,” Programmirovanie, No. 5, 21 (1977).

    Google Scholar 

  33. A. D. Astakhov, “Efficiency limits of multiprocessor computing systems,” Avtomat. Telemekh., No. 6, 132 (1975).

    Google Scholar 

Download references

Authors

Additional information

Translated from Kibernetika, No. 3, pp. 28–33, May–June, 1981.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mirenkov, N.N., Simonov, S.A. Recognition of loop parallelisms by simulated execution. Cybern Syst Anal 17, 327–332 (1981). https://doi.org/10.1007/BF01068972

Download citation

  • Received:

  • Issue Date:

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

Keywords

Navigation