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.

S. Tongsima, N. L. Passos, C. Chantrapornchai, D. R. Surma and E. H. Sha, "Probabilistic Loop Scheduling for Applications with Uncertain Execution Time," in IEEE Transactions on Computers, vol. 49, no. , pp. 65-80, 2000.
83 ms
(Ver 3.3 (11022016))