MetaCartSign in to MyCiteSeer

Include Citations | Advanced Search | Help

Include Citations | Advanced Search | Help

  A fast algorithm for scheduling time-constrained instructions on processors with ILP (1998) [8 citations — 3 self]

Download:
Download as a PDF | Download as a PS
by Allen Leung, Krishna V. Palem, Amir Pnueli
Proceedings of the 1998 International Conference on Parallel Architectures and Compilation Techniques
http://react-ilp.cs.nyu.edu/publications/schedule.ps
Add To MetaCart

Abstract:

Instruction scheduling is central to achieving performance in modern processors with instruction level parallelism (ILP). Classical work in this area has spanned the theoretical foundations of algorithms for instruction scheduling with provable optimality, as well as heuristic approaches with experimentally validated performance improvements. Typically, the theoretical foundations are developed in the context of basic-blocks of code. In this paper, we provide the theoretical foundations for scheduling basic-blocks of instructions with time-constraints, which can play an important role in compile-time ILP optimizations in embedded applications. We present an algorithm for scheduling unit-execution-time instructions on machines with multiple pipelines, in the presence of precedence constraints, release-times, deadlines, and latencies l ij between any pairs of instructions i and j. Our algorithm runs in time O(n 3 ff(n)), where ff(n) is the functional inverse of the Ackermann function. It can be used construct feasible schedules for two classes of instances: (1) one pipeline and the latencies between instructions are restricted to the values of 0 and 1, and (2) arbitrary number of pipelines and monotone-interval order precedences. Our result can be seen as a natural extension of previous work on instruction scheduling for pipelined machines in the presence of deadlines. Keywords: Compiler-optimizations, embedded applications,

Citations

180 Efficiency of a good but not linear set union algorithm – Tarjan - 1975
177 Optimization and approximation in deterministic sequencing and scheduling: A survey – Graham, Lawler, et al. - 1979
138 Approximation algorithms for scheduling unrelated parallel machines – Lenstra, Shmoys, et al. - 1990
134 NP-complete scheduling problems – Ullman - 1975
126 A linear-time algorithm for a special case of disjoint set union – Gabow, Tarjan - 1983
90 Postpass code optimization of pipeline constraints – Hennessy, Gross - 1983
69 Scheduling a Production Line to Minimize Maximum Tardiness – Jackson - 1955
65 Optimal Scheduling for Two-Processor Systems – Coffman, Graham - 1972
57 Two-processor scheduling with start-times and deadlines – Garey, Johnson - 1977
57 The 801 Minicomputer – Radin - 1982
39 Scheduling interval-ordered tasks – Papadimitriou, Yannakakis - 1979
33 Scheduling time-critical instructions on risc machines – Palem, Simons - 1993
31 Reduced Instruction Set Computer Architecture for VLSI – Katevenis - 1984
30 Scheduling expressions on a pipelined processor with a maximal delay of one cycle – Bernstein, Gertner - 1989
16 Deterministic Scheduling with Pipelined Processors – Bruno, Jones, et al. - 1980
15 Polytopes and scheduling – Schulz - 1996
13 Single Machine Scheduling Subject to Precedence Delays – Finta, Liu - 1996
12 Complexity results for single-machine problems with positive finish-start time-lags – Brucker, Knust - 1999
5 Scheduling Unit-Time Tasks with Integer Release Times and Deadlines – Frederickson - 1983
5 On the Complexity of Precedence Constrained Scheduling – Palem - 1986
4 The MIPS machine – Hennessy, Jouppi, et al. - 1982
2 Instruction scheduling for the IBM RISC system /6k processors – Warren - 1990