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.
Similar content being viewed by others
Literature Cited
É. V. Evreinov and Yu. G. Kosarev, “Problem solving with general-purpose systems,” Vychisl. Sist., No. 17, 106 (1965).
É. V. Evreinov and Yu. G. Kosarev, Uniform High-Efficiency General-Purpose Computing Systems [in Russian], Nauka, Novosibirsk (1966).
Yu. G. Kosarev, “Paralleling into loops,” Vychisl. Sist., No. 24, 3 (1967).
Computing Systems [in Russian] No. 30, Novosibirsk (1968).
N. N. Mirenkov, “Parallel algorithms for problem solving with uniform computing systems,” Vychisl. Sist., No. 57, 3 (1973).
Yu. G. Kosarev, “On exchange schemes between parallel algorithm branches,” Vychisl. Sist., No. 51, 70 (1972).
V. A. Val'kovskii, “Paralleling of loops into a small number of branches,” Vychisl. Sist., No. 70, 90 (1977).
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.
G. A. Todorov, “Analysis of parallelism of computing processes in loop programs,” Programmirovanie, No. 1, 11 (1980).
S. A. Mityaeva, “Paralleling of programs for multiprocessor computing systems,” Kibernetika, No. 2, 47 (1980).
V. G. Lebedev and Yu. M. Shuraits, “Paralleling of loops with arbitrarily large steps,” Avtomat. Telemekh., No. 9, 158 (1979).
L. Lamport, “The parallel execution of DO loops,” Com. ACM,17, No. 2, 83 (1974).
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).
D. L. Presberg and N. W. Johnson, “The Paralyzer: Ivtran's parallelism analyzer and synthesizer,” ibid. p. 9 (1977).
D. J. Kuck, “A survey of parallel machine organization and programming,” AMC Computing Surveys,9, No. 1, 29 (1977).
R. M. Nuriev, “Data and logical links in schemes of programs over arrays,” Kibernetika, No. 1, 78 (1979).
R. M. Nuriev, “Necessary and sufficient conditions for substantial paralleling of programs into loops,” Tekhn. Kibern., No. 2, 105 (1976).
P. S. Sapatyi, “Solution of branching and looping problems in multiprocessor computing systems,” Tekhn. Kibern., No. 1, 166 (1974).
A. I. Khalilov, “On program paralleling,” Probl. Kibern., No. 28, 157 (1974).
D. A. Pospelov, Introduction to Computing System Theory [in Russian], Sov. Radio, Moscow (1972).
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.
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.
V. G. Kerbel' and N. N. Mirenkov, “Automatic paralleling of special algorithms,” Vychisl. Syst., No. 63, 149 (1976).
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.
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).
V. E. Kotov, On Parallel Languages [in Russian], Preprint Comp. Center, Siberian Branch, Academy of Sciences of the USSR, Novosibirsk (1979), p. 49.
V. M. Glushkov, Yu. V. Kapitonova, and A. A. Letichevskii, “Theory of data structures and synchronous parallel computing,” Kibernetika, No. 6, 2 (1976).
A. A. Letichevskii, “On maximal des equencing of loop operators,” Dokl. Akad. Nauk SSSR,242, No. 4, 761 (1978).
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.
Yu. G. Kosarev and N. N. Mirenkov, “Mathematical software of uniform computing systems,” Vychisl. Sist., No. 58, 61–79 (1974).
N. N. Mirenkov, “Parallel structural programming,” Programmirovanie, No. 3, 3 (1975).
E. P. Ershov, “The essence of translation,” Programmirovanie, No. 5, 21 (1977).
A. D. Astakhov, “Efficiency limits of multiprocessor computing systems,” Avtomat. Telemekh., No. 6, 132 (1975).
Additional information
Translated from Kibernetika, No. 3, pp. 28–33, May–June, 1981.
Rights 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
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF01068972