The Community for Technology Leaders
Green Image
<p><b>Abstract</b>—One of the difficulties in high-level synthesis and compiler optimization is obtaining a good schedule without knowing the exact computation time of the tasks involved. The uncertain computation times of these tasks normally occur when conditional instructions are employed and/or inputs of the tasks influence the computation time. The relationship between these tasks can be represented as a data-flow graph where each node models the task associated with a probabilistic computation time. A set of edges represents the dependencies between tasks. In this research, we study scheduling and optimization algorithms taking into account the probabilistic execution times. Two novel algorithms, called <it>probabilistic retiming</it> and <it>probabilistic rotation scheduling</it>, are developed for solving the underlying nonresource and resource constrained scheduling problems, respectively. Experimental results show that probabilistic retiming consistently produces a graph with a smaller longest path computation time for a given confidence level, as compared with the traditional retiming algorithm that assumes a fixed worst-case and average-case computation times. Furthermore, when considering the resource constraints and probabilistic environments, probabilistic rotation scheduling gives a schedule whose length is guaranteed to satisfy a given probability requirement. This schedule is better than schedules produced by other algorithms that consider worst-case and average-case scenarios.</p>
Scheduling, loop pipelining, probabilistic approach, retiming, rotation scheduling.
Sissades Tongsima, Edwin H.-M. Sha, Chantana Chantrapornchai, David R. Surma, Nelson Luiz Passos, "Probabilistic Loop Scheduling for Applications with Uncertain Execution Time", IEEE Transactions on Computers, vol. 49, no. , pp. 65-80, January 2000, doi:10.1109/12.822565
86 ms
(Ver 3.3 (11022016))