Enhanced co-scheduling: A software pipelining method using module-scheduled pipeline theory

Citation
R. Govindarajan et al., Enhanced co-scheduling: A software pipelining method using module-scheduled pipeline theory, INT J P PRO, 28(1), 2000, pp. 1-46
Citations number
28
Categorie Soggetti
Computer Science & Engineering
Journal title
INTERNATIONAL JOURNAL OF PARALLEL PROGRAMMING
ISSN journal
08857458 → ACNP
Volume
28
Issue
1
Year of publication
2000
Pages
1 - 46
Database
ISI
SICI code
0885-7458(200002)28:1<1:ECASPM>2.0.ZU;2-7
Abstract
Instruction scheduling methods which use the concepts developed by the clas sical pipeline theory have been proposed for architectures involving deeply pipelined function units. These methods rely on the construction of state diagrams (or automatons) to iii efficiently represent the complex resource usage pattern; and (ii) analyze legal initiation sequences, i.e.. those whi ch do not cause a structural hazard. In this paper, we propose a state-diag ram based approach for module scheduling or software pipelining, an instruc tion scheduling method for loops. Our approach adapts the classical pipelin e theory for modulo scheduling, and, hence, the resulting theory is called Modulo-Scheduled pipeline (MS-pipeline) theory. The state diagram, called t he Modulo-Scheduled (MS) state diagram is helpful in identifying legal init iation or latency sequences, that improve the number of instructions initia ted in a pipeline. An efficient method, called Co-scheduling; which uses th e legal initiation sequences as guidelines for constructing software pipeli ned schedules has bren proposed in this paper. However, the complexity of t he constructed MS-stair diagram limits the usefulness of our Co scheduling method. Further analysis of the MS-pipeline theory. reveals that the space complexity of the MS-state diagram can be significantly reduced by identify ing primary paths. We develop the underlying theory to establish that the r educed MS-stale diagram consisting only of primary paths is complete; i.e., it retains ail the useful information represented by the original state di agram as far as scheduling of operations is concerned. Our experiments show that the number of paths in the reduced state diagram is significantly low er-by 1 to 3 orders of magnitude-compared to the number of paths in the ori ginal state diagram. The reduction in the state diagram Facilitate the Co-s cheduling method to consider multiple initiations sequences, and hence obta in more efficient schedules. We call the resulting method, enhanced Co-sche duling. The enhanced Co-scheduling method produced efficient schedules when tested on a set of 1153 benchmark loops, Further the schedules produced by this method are significantly better than those produced by Huff's Slack S cheduling method, a competitive software pipelining method, in terms of bot h the initiation interval of the schedules and the time taken to construct them.