74Accesses
3Altmetric
Abstract
Software pipelining is an efficient instruction-level loop scheduling technique, but existing software pipelining approaches have not been widely used in practical and commercial compilers. This is mainly because resource constraints and the cyclic data dependencies make software pipelining very complicated and difficult to apply. In this paper we present a new perspective on software pipelining in which it is decomposed into two subproblems—one is free from cyclic data dependencies and can be effectively solved by the list scheduling technique, and the other is free from resource constraints and can be easily solved by classical polynomial-time algorithms of graph theory. Based on this new perspective, we develop a new instruction-level loop scheduling approach, call DEcomposed Software Pipelining (DESP).
This is a preview of subscription content,log in via an institution to check access.
Access this article
Subscribe and save
- Get 10 units per month
- Download Article/Chapter or eBook
- 1 Unit = 1 Article or 1 Chapter
- Cancel anytime
Buy Now
Price includes VAT (Japan)
Instant access to the full article PDF.
Similar content being viewed by others
References
G. S. Almasi and A. Gottieb,Highly Parallel Computing, Benjamin/Cummings Publishing Company, Inc. (1989).
B. Su and J. Wang, Loop-carried Dependence and the General URPR Software Pipelining Approach,Proc. of the 24th Hawaii Int'l. Conf. on System Sciences (HICSS-24) (January 1991).
A. E. Charlesworth, An Approach to Scientific Array processing: The Architectural Design on the AP-120B/FPS-164 Family.Computer,14(9):18–27 (1981).
F. Gasperoni, Compilation techniques for VLIW architectures, Technical Report 435, New York University (March 1989).
B. Su, S. Ding, and J. Xia, URPR—an Extension of URCR for Software Pipelining,Proc. of the 19th Conf. on Microprogramming and Microarchitecture, pp. 104–108 (October 1986).
R. F. Touzeau, A FORTRAN compiler for the FPS-164 Scientific Computer,Proc. of the ACM SIGPLAN'84 Symp. on Compiler Construction (1984).
B. R. Rau and C.D. Glaeser, Some Scheduling Techniques and an Easily Schedulable Horizontal Architecture for High Performance Scientific Computing,Proc. of the 14th Conf. on Microprogramming and Microarchitecture, pp. 183–198 (October 1981).
A. Aiken and A. Nicolau, Loop Quantization: An Analysis and Algorithm. Technical Report 87–821, Department of Computer Science, Cornell University, Ithaca, New York (March 1987).
K. Ebcioglu, A Compilation Technique for Software Pipelining of Loops with Conditional Jumps.Proc. of the 20th Conf. on Microprogamming and Microarchitecture, pp. 69–79 (December 1987).
M. S. Lam, A Systolic Array Optimizing Compiler, PhD. Thesis, Carnegie Mellon University (May 1987).
A. Aiken and A. Nicolau, Perfect Pipelining: A New Loop Parallelization Technique. In H. Ganziger (ed.),ESOP'88, Springer-Verlag,Lectures Notes in Computer Science,300:221–235 (1988).
M. Lam, Software Pipelining: An Effective Scheduling Technique for VLIW Machines,Proc. of the ACM SIGPLAN Conf. on Programming Language Design and Implementation, Atlanta (June 1988).
T. Nakatani and K. Ebcioglu, Using a Lookahead Window in a Compaction-based Parallelizing Compiler,Proc. of the 23rd Conf. on Microprogramming and Microarchitecture (1990).
G. Gao, Y.-B. Wong, and Q. Ning, A Timed Petri-Net Model for Fine-Grain Loop Scheduling.Proc. of the 1991 ACM SIGPLAN Conf. on Programming Language Design and Implementation, Toronto, Canada, pp. 204–218 (June 1991).
B. Su and J. Wang, GURPR*: A New Global Software Pipelining Algorithm,Proc. of the 24th Conf. on Microprogramming and Microarchitecture (1991).
F. Gasperoni and U. Schwiegelshohn, An efficient loop algorithm with close to optimum performance, submitted for publication (1992).
A. Munier and C. Hanen, A study of the cyclic scheduling problem on parallel processors. Technical Report 766, LRI, University of Paris-Sud, Orsay (July 1992).
C. Eisenbeis and D. Windheiser, Optimal software pipelining in presence of resource constraints,Proc. of the Int'l. Conf. on Parallel Computing Technologies, Obninsk, Russia (September 1993).
J. C. Dehnert and R. Towle, Compiling for the Cydra 5.Journal of Supercomputing,7(1/2) (January 1993).
R. Huff, Lefetime-Sensitive Modulo Scheduling,Proc. of SIGPLAN Conf. on Programming Languages Design and Implementation, Albuquerque, New Mexico, pp. 258–267 (June 1933).
P.Y.-T. Hsu, Highly Concurrent Scaler Processing. PhD. Thesis, University of Illinois at Urbana-Champaign (January 1986).
A. Munier, Résolution d'un problème d'ordonnancement cyclique à iterations indépendantes et contraintes de ressources.Recherche Opérationnelle/Operations Research,25(2):161–182 (1982).
V. H. Van Dongen, G. R. Gao, and Q. Ning, A Polynomial Time Method for Optimal Software Pipelining,Parallel Processing: CONPAR 92-VAPP V, Lyon, France, pp. 613–624,Second Joint International Conference on Vector and Parallel Processing (September 1992).
F. Gasperoni and U. Schwiegelshohn, Efficient algorithms for cyclic scheduling, Technical Report RC 17068, IBM Research Division (July 1991).
R. M. Karp and J. B. Orlin, Parametric Shortest Path Algorithms with an Application to Cyclic Staffing,Discrete Applied Mathematics,3:37–45 (1981).
J. R. Ellis,Bulldog: A Compiler for VLIW Architectures, MIT Press, Cambridge, Massachusetts (1986).
J. Fisher, Trace Scheduling: A Technique for Global Microcode Compaction,IEEE Trans. on Computers,30(7):478–490 (1981).
J. A. Fisher, J. R. Ellis, J. C. Ruttenberg, and A. Nicolau, Parallel Processing: a Smart Compiler and a Dumb Machine,ACM,19:37–47 (June 1984).
A. Nicolau, Percolation Scheduling: A Parallel Compilation Technique. Technical Report TR 85-678, Department of Computer Science, Cornell University (May 1985).
C. Eisenbeis and D. Windheiser, A new class of algorithms for software pipelining with resource constraints, Rapport de recherche, INRIA (1993).
E. L. Lawler, Optimal Cycles in Doubly Weighted Directed Linear Graphs, In P. Rosenstiehl (ed.),Theory of Graphs—Int'l. Symp., Rome, Gordon and Breach, pp. 209–213 (1966).
J. Wang and C. Eisenbeis, Decomposed software pipelining. Rapport de Recherche 1838, INRIA (January 1993).
Author information
Authors and Affiliations
Institut für Computersprachen, Technische Universität Wien, Argentinierstr. 8, A-1040, Wien, Austria
Jian Wang
INRIA-Rocquencourt, Domaine de Voluceau, PB 105, 78153, Le Chesnay Cedex, France
Christine Eisenbeis & Martin Jourdan
- Jian Wang
You can also search for this author inPubMed Google Scholar
- Christine Eisenbeis
You can also search for this author inPubMed Google Scholar
- Martin Jourdan
You can also search for this author inPubMed Google Scholar
- Bogong Su
You can also search for this author inPubMed Google Scholar
Rights and permissions
About this article
Cite this article
Wang, J., Eisenbeis, C., Jourdan, M.et al. Decomposed software pipelining: A new perspective and a new approach.Int J Parallel Prog22, 351–373 (1994). https://doi.org/10.1007/BF02577737
Received:
Issue Date:
Share this article
Anyone you share the following link with will be able to read this content:
Sorry, a shareable link is not currently available for this article.
Provided by the Springer Nature SharedIt content-sharing initiative