Abstract
Instruction scheduling with an automaton-based resource conflict model is well-established for normal scheduling. Such models have been generalized to software pipelining in the modulo-scheduling framework. One weakness with existing methods is that a distinct automaton must be constructed for each combination of a reservation table and initiation interval. In this work, we present a different approach to model conflicts. We construct one automaton for each reservation table which acts as a compact encoding of all the conflict automata for this table, which can be recovered for use in modulo-scheduling. The basic premise of the construction is to move away from the Proebsting-Fraser model of conflict automaton to the Müller model of automaton modelling issue sequences. The latter turns out to be useful and efficient in this situation. Having constructed this automaton, we show how to improve the estimate of resource constrained initiation interval. Such a bound is always better than the average-use estimate. We show that our bound is safe: it is always lower than the true initiation interval. This use of the automaton is orthogonal to its use in modulo-scheduling. Once we generate the required information during pre-processing, we can compute the lower bound for a program without any further reference to the automaton.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Vasanth Bala and Norman Rubin. Efficient instruction scheduling using finite state automata. In 28th Annual ACM/IEEE International Symposium on Microarchitecture, pages 46–56, 1995. 486
Thomas Müller. Employing finite automata for resource scheduling. In 26th Annual ACM/IEEE International Symposium on Microarchitecture, pages 12–20, 1993. 486
Todd W. Proebsting and Christopher Fraser. Detecting pipeline structural hazards quickly. In 21st Annual ACM Symposium on Principles of Programming Languages, pages 280–286, 1994. 486
Govindarajan R, Erik R. Altman, and Guang R. Gao. Co-scheduling hardware and software pipelines. In 2nd IEEE Symposium on High-Performance Computer Architecture, pages 52–61, 1996. 486
Chihong Zhang, Govindarajan R, Sean Ryan, and Guang R. Gao. Efficient statediagram construction methods for software pipelining. In Proc. of International Conference on Compiler Construction (CC-99), pages 153–167, 1999. 486
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ravindra, D.V., Srikant, Y.N. (2002). Improved Preprocessing Methods for Modulo Scheduling Algorithms. In: Sahni, S., Prasanna, V.K., Shukla, U. (eds) High Performance Computing — HiPC 2002. HiPC 2002. Lecture Notes in Computer Science, vol 2552. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-36265-7_46
Download citation
DOI: https://doi.org/10.1007/3-540-36265-7_46
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-00303-8
Online ISBN: 978-3-540-36265-4
eBook Packages: Springer Book Archive