Module 2:Scheduling, Allocation and Binding

Lecture 2 & 3 :Scheduling Algorithms

4.   Force Directed Scheduling

As discussed in the last two sections, ALAP and ASAP, may provide optimal situations for different situations. Force Directed Scheduling (FDS) basically works by taking advantages from both the algorithms where operators get uniformly distributed across a time-constrained schedule. Balancing the operations in this manner results in higher functional unit utilization, and thus minimizes the number of functional units of each type.

FDS starts by first finding ALSP and ALAP scheduling for all the operations. Operations whose ALAP and ASAP schedules are same (i.e., same control step is assigned by both ALAP and ASAP), are not considered to be re-scheduled by FDS as there is no flexibility in their positions. Following that, all operations are listed whose ALSP and ASAP schedules are different and the flexible range for such an operation is “ [control step assigned by ASAP --to-- control step assigned by ALSP]”. Now, we schedule these operations in one of their flexible steps, such that total count of operators is minimal. To accomplish this, operations of each type are considered one by one. For a given type of operation, we analyze the total requirement of the number of operators (of the type under question), by considering the combinations of placing the corresponding operations in the steps within their intervals. We select the combination that leads to minimal number of operators. Once we are done with the operation of one type we move for the other types, one by one.