Probabilistic loop scheduling for applications with uncertain execution time

  • Sissades Tongsima
  • , Edwin H.M. Sha
  • , Chantana Chantrapornchai
  • , David R. Surma
  • , Nelson Luiz Passos

Research output: Contribution to journalArticlepeer-review

35 Scopus citations

Abstract

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 probabilistic retiming and probabilistic rotation scheduling, 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.

Original languageEnglish
Pages (from-to)65-80
Number of pages16
JournalIEEE Transactions on Computers
Volume49
Issue number1
DOIs
StatePublished - Jan 2000
Externally publishedYes

Fingerprint

Dive into the research topics of 'Probabilistic loop scheduling for applications with uncertain execution time'. Together they form a unique fingerprint.

Cite this