Abstract
Software pipelining is one of the most important loop scheduling methods used by parallelizing compilers. It determines a static parallel schedule — a periodic pattern — to overlap instructions of a loop body from different iterations. The main contributions of this paper are the following: First, we propose to express the fine-grain loop scheduling problem (in particular, software pipelining) on the basis of the mathematical formulation of r-periodic scheduling. This formulation overcomes some of the problems encountered by existing software pipelining methods. Second, we demonstrate the feasibility of the proposed method by presenting a polynomial time algorithm to find an optimal schedule in this r-periodic form that maximizes the computation rate (in fact, we show that this schedule maximizes the computation rate theoretically possible).
Preview
Unable to display preview. Download preview PDF.
References
A. Aiken. Compaction-based parallelization. (PhD thesis), Technical Report 88-922, Cornell University, 1988.
A. Aiken and A. Nicolau. Optimal loop parallelization. In Proceedings of the 1988 ACM SIGPLAN Conference on Programming Languages Design and Implementation, June 1988.
A. Aiken and A. Nicolau. A realistic resource-constrained software pipelining algorithm. In Proceedings of the Third Workshop on Programming Languages and Compilers for Parallel Computing, Irvine, CA, August 1990.
Ron Cytron. Doacross: Beyond vectorization for multiprocessors. Proceedings of the 1986 International Conference on Parallel Processing, pages 836–844, August 1986.
K. Ebcioglu. A compilation technique for software pipelining of loops with conditional jumps. In Proceedings of the 20th Annual Workshop on Microprogramming, December 1987.
K. Ebcioglu and A. Nicolau. A global resource-constrained parallelization technique. In Proceedings of the ACM SIGARCH International Conference on Supercomputing, June 1989.
H. Gabow and R. Tarjan. Faster scaling algorithms for network problems. SIAM J. Computing, October 1989.
G. R. Gao, Y. B. Wong, and Qi Ning. A Petri-Net model for fine-grain loop scheduling. In Proceedings of the '91 ACM-SIGPLAN Conference on Programming Language Design and Implementation, pages 204–218, Toronto, Canada, June 1991.
J. L. Hennessy and D. A. Patterson. Computer Architecture: A Quantitative Approach. Morgan Kaufmann Publishers, Inc., 1990.
R. B. Jones and H. A. Allan. Software pipelining: A comparison and improvement. In Proceedings of the 23th Annual Workshop on Microprogramming and Microarchitecture, pages 46–56, Orlando, Florida, November 1990.
Monica Lam. Software pipelining: An effective scheduling technique for VLIW machines. In Proceedings of the 1988 ACM SIGPLAN Conference on Programming Languages Design and Implementation, pages 318–328, Atlanta, GA, June 1988.
Eugene Lawler. Combinatorial Optimization: Networks and Matroids. Saunders College Publishing, 1976.
A. Nicolau, K. Pingali, and A. Aiken. Fine-grain compilation for pipelined machines. Technical Report TR-88-934, Department of Computer Science, Cornell University, Ithaca, NY, 1988.
Pierre Peladeau. On the length of the cyclic frustrum in a sdsp-pn. Technical Report ACAPS Technical Note 31, McGill University, Montreal, 1991.
B. R. Rau and C. D. Glaeser. Some scheduling techniques and an easily schedulable horizontal architecture for high performance scientific computing. In Proceedings of the 14th Annual Workshop on Microprogramming, pages 183–198, 1981.
Raymond Reiter. Scheduling parallel computations. Journal of the ACM, 15(4):590–599, 1968.
R. F. Touzeau. A FORTRAN compiler for the FPS-164 scientific computer. In Proceedings of the ACM SIGPLAN '84 Symposium on Compiler Construction, pages 48–57, June 1984.
V. Van Dongen and G. Gao. A polynomial time method for optimal software pipelining. Technical Report ACAPS Tech. Memo 37, McGill University, School of Computer Science, 1992.
A Zaky and P. Sadayappan. Optimal static scheduling of sequential loops on multiprocessors. In Proceedings of the 1989 Internat. Conf. on Parallel Processing, volume 3, pages 130–137, 1989.
Hans Zima and Barbara Chapman. Supercompilers for Parallel and Vector Computers. ACM Press, New York, 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1992 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Van Dongen, V.H., Gao, G.R., Ning, Q. (1992). A polynomial time method for optimal software pipelining. In: Bougé, L., Cosnard, M., Robert, Y., Trystram, D. (eds) Parallel Processing: CONPAR 92—VAPP V. VAPP CONPAR 1992 1992. Lecture Notes in Computer Science, vol 634. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-55895-0_462
Download citation
DOI: https://doi.org/10.1007/3-540-55895-0_462
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-55895-8
Online ISBN: 978-3-540-47306-0
eBook Packages: Springer Book Archive