Instruction Scheduling with Release Times and Deadlines on ILP Processors
ILP (instruction level parallelism) processors are being increasingly used in embedded systems. In embedded systems, instructions may be subject to timing constraints. An optimising compiler for ILP processors needs to find a feasible schedule for a set of time-constrained instructions. In this pape...
Saved in:
Published in | 12th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'06) pp. 51 - 60 |
---|---|
Main Authors | , , |
Format | Conference Proceeding |
Language | English |
Published |
IEEE
2006
|
Subjects | |
Online Access | Get full text |
ISBN | 0769526764 9780769526768 |
ISSN | 2325-1271 |
DOI | 10.1109/RTCSA.2006.39 |
Cover
Summary: | ILP (instruction level parallelism) processors are being increasingly used in embedded systems. In embedded systems, instructions may be subject to timing constraints. An optimising compiler for ILP processors needs to find a feasible schedule for a set of time-constrained instructions. In this paper, we present a fast algorithm for scheduling instructions with precedence-latency constraints, individual integer release times and deadlines on an ILP processor with multiple functional units. The time complexity of our algorithm is O(n 2 logd)+min{O(de), O(ne)}+min{O(ne), O(n 2.376 )}, where n is the number of instructions, e is the number of edges in the precedence graph and d is the maximum latency. Our algorithm is guaranteed to find a feasible schedule whenever one exists in the following special cases: 1) one functional unit, arbitrary precedence constraints, latencies in {0,1}, integer release times and deadlines; 2) two identical functional units, arbitrary precedence constraints, latencies of 0, integer release times and deadlines; 3) multiple identical functional units or multiple functional units of different types, monotone interval-ordered graph, integer release times and deadlines; 4) multiple identical functional units, in-forest, equal latencies, integer release times and deadlines. In case 1) our algorithm improves the existing fastest algorithm from O(n 2 logn)+min{O(ne), O(n 2.376 )} to min{O(ne), O(n 2.376 )}. In case 2) our algorithm improves the existing fastest algorithm from O(ne+n 2 logn) to min{O(ne), O(n 2.376 )}. In case 3) no polynomial time algorithm for multiple functional units of different types was known before |
---|---|
ISBN: | 0769526764 9780769526768 |
ISSN: | 2325-1271 |
DOI: | 10.1109/RTCSA.2006.39 |