Abstract
In this paper, we propose a novel framework for resource-constrained rate-optimal software pipelining. The distinct feature of our work is that the constructed schedules achieve the maximum computation rate for the given resource constraints. Based on a periodic scheduling framework, we have developed a simple integer linear program formulation for the resource-constrained software pipelining problem. A solution method employs simple and inexpensive heuristics to drastically reduce the search space of the integer programming problem. We have implemented our solution method and applied it on a number of benchmark loops. A desired optimal solution is found within 1 CPU second of execution time in 57%, and within 30 seconds in more than 91% of the test cases. A salient feature of our framework is its generality: it can be applied to either homogeneous or heterogeneous function units, and both can have pipelined or non-pipelined execution units.
This work was supported by research grants from NSERC (Canada) and MICRONET -Network Centers of Excellence (Canada).
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
A. Aiken and A. Nicolau. A realistic resource-constrained software pipelining algorithm. In Proc. of the Third Workshop on Programming Languages and Compilers for Parallel Computing, Irvine, CA, August 1990.
A. Aiken and A. Nicolau. Optimal loop parallelization. In Proc. of the SIGPLAN '88 Conf. on Programming Language Design and Implementation, pages 308–317. SIGPLAN Notices, 23(7), Jul. 1988.
J. R. Allen, K. Kennedy, C. Porterfield, and J. Warren. Conversion of control dependence to data dependence. In Conf. Rec. of the Tenth Ann. ACM Symp. on Principles of Programming Languages, pages 177–189, Austin, Tex., Jan. 24–26, 1983. ACM SIGACT and SIGPLAN.
K. Ebcioğlu and T. Nakatani. A new compilation technique for parallelization loops with unpredictable branches on a VLIW architecture. Research report, IBM Research Division, 1990.
K. Ebcioğlu. A compilation technique for software pipelining of loops with conditional jumps. In Proc. of the 20th Ann. Work. on Microprogramming, pages 69–79, Colorado Springs, Colorado, Dec. 1987.
K. Ebcioğlu and A. Nicolau. A global resource-constrained parallelization technique. In Conf. Proc, 1989 Intl. Conf. on Supercomputing, pages 154–163, Crete, Greece, Jun. 5–9, 1989. ACM.
F. Gasperoni and U. Schwiegelshohn. Efficient algorithms for cyclic scheduling. Research Report RC-17068(#75743), IBM Research Division, Yorktown Heights, NY, 1991.
M. B. Girkar, M. R. Haghighat, C. L. Lee, B. P. Leung, and D. A. Schouten. Parafrase-2 user's manual. Technical Report RC-17068(#75743), Center for Supercomputing Research and Development, University of Illinois at Urbana-Champagne, IL, 1991.
R. Govindarajan, E. R. Altman, and G. R. Gao. An integer programming framework for resource-constrained software pipelining. ACAPS Technical Memo 80, School of Computer Science, McGill University, Montréal, Que., 1993.
R.A. Huff. Lifetime-sensitive modulo scheduling. In Proc. of the ACM SIGPLAN Conference on Programming Languages Design and Implementation, pages 258–267, Albuquerque, NM, June 1993.
C.-T. Hwang, J.-H. Lee, and Y.-C. Hsu. A formal approach to the scheduling problem in high-level synthesis. IEEE Transactions on Computer-Aided Design, 10(4):464–475, April 1991.
M. Lam. Software pipelining: An effective scheduling technique for VLIW machines. In Proc. of the SIGPLAN '88 Conf. on Programming Language Design and Implementation, pages 318–328. SIGPLAN Notices, 23(7), Jul. 1988.
Q. Ning and G. R. Gao. A novel framework of register allocation for software pipelining. In Conf. Rec. of the Twentieth Ann. ACM SIGPLAN-SIGACT Symp. on Principles of Programming Languages, pages 29–42, Charleston, South Carolina, Jan. 10–13, 1993.
B. R. Rau and C. D. Glaeser. Some scheduling techniques and an easily schedulable horizontal architecture for high performance scientific computing. In Proc. of the 14th Ann. Microprogramming Work., pages 183–198, Chatham, Mass., Oct. 12–15, 1981.
B. R. Rau, David W. L. Yen, W. Yen, and R. A. Towle. The Cydra 5 departmental supercomputer. Computer, 22(1):12–35, Jan. 1989.
B.R. Rau, M. Lee, P.P. Tirumalai, and M.S. Schlansker. Register allocation for modulo scheduled loops: Strategies, algorithms and heuristics scheduling. In Proc. of the ACM SIGPLAN Conference on Programming Languages Design and Implementation, pages 283–299, San Francisco, CA, June 1992.
R. Reiter. Scheduling parallel computations. J. of the ACM, 15(4):590–599, Oct. 1968.
R. F. Touzeau. A Fortran compiler for the FPS-164 scientific computer. In Proc. of the SIGPLAN '84 Symp. on Compiler Construction, pages 48–57, Montréal, Que., Jun. 17–22, 1984. ACM SIGPLAN. SIGPLAN Notices, 19(6), Jun. 1984.
V. Van Dongen, G.R. Gao, and Q. Ning. A polynomial time method for optimal software pipelining. In Proc. of the Conference on Vector and Parallel Processing, CONPAR-92, pages 613–624, Lyon, France, Sept. 1992. Also in LNCS-634.
J. Wang and E. Eisenbeis. Decomposed software pipelining: A new approach to exploit instruction-level parallelism for loop programs. Research Report RR-1838, INRIA, Rocquencourt, France, January 1993.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Govindarajan, R., Altman, E.R., Gao, G.R. (1994). A framework for resource-constrained rate-optimal software pipelining. In: Buchberger, B., Volkert, J. (eds) Parallel Processing: CONPAR 94 — VAPP VI. VAPP CONPAR 1994 1994. Lecture Notes in Computer Science, vol 854. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58430-7_56
Download citation
DOI: https://doi.org/10.1007/3-540-58430-7_56
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-58430-8
Online ISBN: 978-3-540-48789-0
eBook Packages: Springer Book Archive