This Article 
 Bibliographic References 
 Add to: 
Circuit Retiming Applied to Decomposed Software Pipelining
January 1998 (vol. 9 no. 1)
pp. 24-35

Abstract—This paper elaborates on a new view on software pipelining, called decomposed software pipelining, and introduced by Gasperoni and Schwiegelshohn, and by Wang, Eisenbeis, Jourdan, and Su. The approach is to decouple the problem into resource constraints and dependence constraints. Resource constraints management amounts to scheduling an acyclic graph subject to resource constraints for which an efficiency bound is known, resulting in a bound for loop scheduling. The acyclic graph is obtained by cutting some particular edges of the (cyclic) dependence graph. In this paper, we cut edges in a different way, using circuit retiming algorithms, so as to minimize both the longest dependence path in the acyclic graph, and the number of edges in the acyclic graph. With this technique, we improve the efficiency bound given for Gasperoni and Schwiegelshohn algorithm, and we reduce the constraints that remain for the acyclic problem. We believe this framework to be of interest because it brings a new insight into the software problem by establishing its deep link with the circuit retiming problem.

[1] B.R. Rau and C.D. Glaeser,“Some scheduling techniques and an easily schedulable horizontal architecture for high performance scientificcomputing,” Proc. 14th Ann. Workshop Microprogramming, pp. 183-198, Oct. 1981.
[2] M. Lam, "Software Pipelining: An Effective Scheduling Technique for VLIW Machines," Proc. ACM SIGPLAN Conf. Programming Language Design and Implementation, 1988.
[3] A. Aiken and A. Nicolau,“Perfect pipelining: A new loop parallelization technique,” Proc. 1988 European Symp. Programming, pp. 221-235, Lecture Notes in Computer Science, no. 300, Springer-Verlag, Mar. 1988.
[4] C. Hanen and A. Munier, "Cyclic Scheduling on Parallel Processors: An Overview," Scheduling Theory and its Applications, P. Chrétienne, E.G. Coffman, J.K. Lenstra, and Z. Liu, eds. John Wiley&Sons Ltd, 1994.
[5] P. Feautrier, "Fine-Grain Scheduling Under Resource Constraints," Languages and Compilers or Parallel Computing, Lectures Notes in Computer Science, no. 892, pp. 1-15. Springer Verlag, 1994.
[6] R. Govindarajan, E.R. Altman, and G.R. Gao, "A Framework for Resource-Constrained, Rate-Optimal Software Pipelining," COMPAR 94-VAPP VI, Lectures Notes in Computer Science, vol. 854. Springer Verlag, 1994.
[7] V.H. Allan, R.B. Jones, R.M. Lee, and S.J. Allan, “Software Pipelining,” ACM Computing Surveys, vol. 27, no. 3, pp. 367-432, Sept. 1995.
[8] F. Gasperoni and U. Schwiegelshohn, "Generating Close to Optimum Loop Schedules on Parallel Processors," Parallel Processing Letters, vol. 4, no. 4, pp. 391-403, 1994.
[9] J. Wang, C. Eisenbeis, M. Jourdan, and B. Su, “Decomposed Software Pipelining: A New Perspective and a New Approach,” Int'l J. Parallel Programming, vol. 22, no. 3, pp. 357-379, 1994.
[10] C.E. Leiserson and J.B. Saxe, "Retiming Synchronous Circuitry," Algorithmica, vol. 6, pp. 5-35, 1991.
[11] T.H. Cormen,C.E. Leiserson, and R.L. Rivest,Introduction to Algorithms.Cambridge, Mass.: MIT Press/McGraw-Hill, 1990.
[12] A. Schrijver, Theory of Linear and Integer Programming. John Wiley, 1986.
[13] P.-Y. Calland, A. Darte, and Y. Robert, "A New Guaranteed Heuristic for the Software Pipelining Problem," Research Report 95-42, LIP, http://www.ens-lyon.frLIP, 1995.

Index Terms:
Software pipelining, circuit retiming, list scheduling, cyclic scheduling, modulo scheduling.
Pierre-Yves Calland, Alain Darte, Yves Robert, "Circuit Retiming Applied to Decomposed Software Pipelining," IEEE Transactions on Parallel and Distributed Systems, vol. 9, no. 1, pp. 24-35, Jan. 1998, doi:10.1109/71.655240
Usage of this product signifies your acceptance of the Terms of Use.