Loop Scheduling for Applications with Fixed or Probabilistic Timing Information
Sissades Tongsima,Edwin H.-M. Sha
1999-01-01
Abstract:Scheduling is one of the most important and challenging stages in system synthesis. A good scheduling technique can significantly improve performance of parallel and distributed systems. Applications running on these systems, such as adaptive fuzzy logic controllers, robot navigation systems, and real-time video conferencing programs are iterative or recursive in nature. To schedule them, a scheduling algorithm reads in an application represented by a data-flow graph (DFG). This thesis discusses scheduling techniques for both non-resource constrained and resource constrained problems. Scheduling techniques for the first category are allowed to schedule applications to as many processors as they require. On the other hand, resource constrained scheduling restricts the number of available processors when scheduling is performed. A resource constrained scheduling algorithm, called the rotation scheduling framework, is studied. Based on this methodology, several scheduling algorithms are presented which solve other related scheduling problems, such as reducing pipeline hazards and communication costs. Previous scheduling solutions deal with well-defined simple applications such as DSP image processing. However, for more complex applications, a representation of the input graph should be in the form of a hierarchical structure, i.e. a node in the graph represents a group of operations. The computation time of a node in this case can vary. The existing solutions, however, cannot efficiently deal with this consideration. A new graph model, called the probabilistic data-flow graph (PG), is introduced to reflect such uncertainties. In this research, we present a new set of probabilistic algorithms, both non-resource and resource constrained, to deal with the probabilistic graph input. The set of our probabilistic scheduling frameworks includes probabilistic retiming, probabilistic unfolding, probabilistic list scheduling , and probabilistic rotation scheduling. The experiments in this work shows the significant improvement of using the probabilistic approaches versus the traditional non-probabilistic techniques. Finally, we present a communication-sensitive scheduling algorithm which is an extension of probabilistic rotation scheduling and is designed to handle the situation when communication costs are represented by random variables.