MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  Efficient state-diagram construction methods for software pipelining (1999) [4 citations — 3 self]

Download:
Download as a PDF | Download as a PS
by Chihong Zhang, R. Govindarajany, Sean Ryan, Guang R. Gao
In Proc. of the 8th Intl. Conf. on Compiler Construction
ftp://ftp.capsl.udel.edu/pub/doc/memos/memo028.ps.gz
Add To MetaCart

Abstract:

State diagram based approach has been proposed as an effective way to model resource constraints in traditional instruction scheduling and software pipelining methods. However, the constructed state diagram for software pipelining method (i) is very large and (ii) contains significant amount of replicated, and hence redundant, information on legal latency sequences. As a result, the construction of state diagrams can take very large computation time. For example, in modeling the resource constraints of the DEC Alpha 21064 processor, it took more than 24 hours on a 250MHz high-performance workstation to construct, say, 100,000 distinct latency sequences. In another experiment, out of the 224,400 latency sequences generated, only 30 were distinct. These make state diagram based approach impractical in real compiler implementation. In this paper, we propose two methods for the efficient construction of state diagrams. In the first method, we relate the construction of state diagram to a well-known problem in graph theory, namely the enumeration of maximal independent sets of a graph. This facilitates the use of an existing algorithm as a direct method for constructing distinct

Citations

866 Algorithmic graph theory and perfect graphs – Golumbic - 1980
454 Software pipelining: An effective scheduling technique for VLIW machines – Lam - 1988
213 Iterative modulo scheduling: An algorithm for software pipelining loops – Rau - 1994
167 Instruction-level parallel processing: History, overview, and perspective – Rau, Fisher - 1993
140 The Architecture of Pipelined Computers – Kogge - 1981
126 Lifetime-sensitive modulo scheduling – Huff - 1993
74 Introduction to Combinatorial Mathematics – Liu - 1968
66 A new algorithm for generating all maximal independent sets – Tsukiyama, Ide, et al. - 1997
53 The cydra 5 minisupercomputer: Architecture and implementation – Beck, Yen, et al. - 1993
53 Software pipelining showdown: Optimal vs. heuristic methods in a production compiler – Ruttenberg, Gao, et al. - 1996
38 Detecting Pipeline Structural Hazards Quickly – Proebsting, Fraser - 1994
36 Efficient instruction scheduling using finite state automata – Bala, Rubin - 1995
31 Improving the throughput of a pipeline by insertion of delays – Patel, Davidson - 1976
24 A Reduced Multipipeline Machine Description that Preserves Scheduling Constraints – Eichenberger, Davidson - 1996
15 Optimal Software Pipelining with Function Unit and Register Constraints – Altman - 1995
11 Co-scheduling hardware and software pipelines – Govindarajan, Altman, et al. - 1996
8 Employing finite state automata for resource scheduling – Muller - 1993
4 An enhanced co-scheduling method using reduced ms-state diagrams – Govindarajan, Rao, et al. - 1998
2 An Enhanced Co-Scheduling Method using Reduced MS-State Diagrams – Govindrarajan, Rao, et al. - 1998
2 Parallel Processing Symp – Intl - 1998
2 3.73 N/A DEC Alpha Processor IIConstruction Time Normalized time – NA