Coffman-Graham Algorithm
- Assume all tasks execute the same amount of time.
- Definitions:
- If Ti < Tj, then Tj is an immediate successor of Ti.
- Let S(Ti) be all immediate successors of Ti.
- Let alpha(T) be an integer label assigned to T.
- Let N(Ti) be the ordered sequence of integers formed from the
set { alpha(T') | T' in S(Ti)
}.
- Find: task list for Graham's algorithm.
- Algorithm:
- Choose Tk with S(Tk)=0 and let alpha(Tk) be 1.
- For i <-2 to n do
- Let R be the set of unlabeled tasks with no unlabeled successors.
- Let T* be the task in R such that N(T*) is lexicographically
smaller than N(T) for all T in R.
- Let alpha(T*) <-i.
- Construct L = (Un, Un-1, ..., U2, U1) such that
alpha(Ui) = i.
- Theorem: w/w0 <=2 - 2/p
- w length of constructed schedule, w0 length of optimal schedule,
p > 1 processor number.
- Collary: schedule optimal for p=2.
Links : https://medium.com/@bolerio/scheduling-tasks-and-drawing-graphs-the-coffman-graham-algorithm-3c85eb975ab
Coffman-Graham Algorithm
Links : https://medium.com/@bolerio/scheduling-tasks-and-drawing-graphs-the-coffman-graham-algorithm-3c85eb975ab