Probabilistic Loop Scheduling for Applications with Uncertain Execution Time

  • Authors:
  • Sissades Tongsima;Edwin H.-M Sha;Chantana Chantrapornchai;David R. Surma;Nelson Luiz Passos

  • Affiliations:
  • National Electronics and Computer Technology Center, Bangkok, Thailand;Univ. of Notre Dame, Notre Dame, IN;Sipakorn Univ., Noakorn Pathom, Thailand;Valparaiso Univ., Valparaiso, IN;Midwestern State Univ., Wichita Falls, TX

  • Venue:
  • IEEE Transactions on Computers
  • Year:
  • 2000

Quantified Score

Hi-index 14.98

Visualization

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.