Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

A framework for resource-constrained rate-optimal software pipelining

  • Conference paper
  • First Online:
Parallel Processing: CONPAR 94 — VAPP VI (VAPP 1994, CONPAR 1994)

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).

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. 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.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. 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.

    Google Scholar 

  4. 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.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. F. Gasperoni and U. Schwiegelshohn. Efficient algorithms for cyclic scheduling. Research Report RC-17068(#75743), IBM Research Division, Yorktown Heights, NY, 1991.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. 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.

    Google Scholar 

  15. 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.

    Google Scholar 

  16. 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.

    Google Scholar 

  17. R. Reiter. Scheduling parallel computations. J. of the ACM, 15(4):590–599, Oct. 1968.

    Google Scholar 

  18. 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.

    Google Scholar 

  19. 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.

    Google Scholar 

  20. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Bruno Buchberger Jens Volkert

Rights and permissions

Reprints 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

Publish with us

Policies and ethics