Download:
|
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
|