Presentation is loading. Please wait.

# Precedence Constrained Scheduling Abhiram Ranade Dept. of CSE IIT Bombay.

## Presentation on theme: "Precedence Constrained Scheduling Abhiram Ranade Dept. of CSE IIT Bombay."— Presentation transcript:

Precedence Constrained Scheduling Abhiram Ranade Dept. of CSE IIT Bombay

Input Directed Acyclic Graph G, #processors p A B C D E F G H, 3 Vertex = unit time task edge (u,v) : Time(u) < Time(v)

Output: Schedule Time 1 2 3 4 Processor 1 A D E G Processor 2 B F H Processor 3 C Schedule Length, to be minimized

Applications Project management. Vertex = lay foundation, build walls. Edges: what happens first to what happens later. Processors : Number of workmen. MS Project, others. Our problem: Simplified version. Other applications: Parallel computing.

Summary of results Polytime algorithm when p=2. [Fuiji.. 69] NP-hard for variable p. [LenKan 78] NP-hardness not known for fixed p > 2. Polytime algorithm for trees. [Hu 61]

Summary of results - 2 Any greedy algorithm gives 2 - 1/p approximation. i.e. Schedule of length at most (2 - 1/p) times Optimal length. [Coffman-Graham 72, Lam-Sethi 77] give 2 - 2/p approximation algorithm. [Gangal-Ranade 08] give 2 – 7/(3p+1) approximation for p > 3. [Svensson 10] Better than 2-ε unlikely.

Outline Elementary Lower Bound ideas Elementary algorithm and analysis Deadline Constraints [GarJoh 76]  More complex problem, but generates new ideas.  2 processor optimality, also without deadlines  Essentially gives 2 - 2/p approximation Ideas behind 2 - 7/(3p+1) approximation algorithm

Elementary Lower Bounds To prove optimality of any algorithm, need to show why it cannot be improved, i.e. lower bound on schedule length. OPT  H = Length of longest path in G. OPT  [ N / p ], N = #nodes [ x ] = ceiling(x), smallest integer  x. Example: H = 3, [N/p] =[8/3] = 3

Input Directed Acyclic Graph G, #processors p A B C D E F G H, 3 Vertex = unit time task edge (u,v) : Time(u) < Time(v)

Generic Algorithm 1. Pick any “ready” vertex. 2. Schedule it at earliest possible time. 3. Repeat until done. ready = no predecessors yet unscheduled. earliest possible = after predecessors.

Proof of 2 approximation Full (time) slot: All processors busy Number of “full” slots  N/p Number of partial slots  H. Why?  Partial slot: Some processor did not get work.  All maximally long paths must shrink.  This can happen only H times. Time  N/P + H  OPT + OPT = 2 OPT Improve to 2 - 1/p.

Deadline Constraints [GarJoh 76] Additional Input: D(v) : time by which v must be processed. Need a schedule with p processors in which precedence constraints and deadlines are respected.

Deadline Propagation v has N(d) descendants with deadline  d  v must itself finish by d - [N(d)/p]. new deadline: d(v) = min( D(v), min d d -[N(d)/p] ) In what order to calculate? (u,v) edge  d(u) < d(v) GJ Algo: priority = deadline. Optimal for p=2!

Example AB E D C 4 4 4.... d(A) = 4 - [7/5] = 2 d(B) = min(4-[8/5], 2-[1/5]) = 1 d(C) = …. = 3 d(D) = = 2 d(E) =... = 0

GJ Deadline Properties Deadline < 1 : schedule not possible. Optimal Schedule length  Max deadline - Min deadline + 1. Opt for example  4 - 0 + 1 = 5 Load bound : [N/p] = [17/5] = 4 Longest path: H = 4 Is this the best lower bound?

Partial Slot Bound Max Deadline – Min Deadline + 1 >= H Time 1 2... t..... P1 u v P2 - u is ancestor of v, so d(u) < d(v)

Load Bound Max deadline – Min deadline + 1 >= [N/p] Add a universal parent z d(z) <= Max deadline – [Number of descendants with deadline d/p] = Max – [N/p] Min deadline <= Max – [N/p]

Scheduling without deadlines Set d(terminal vertices) = k, some number. Propagate deadlines. m = least deadline. Schedule from time m using deadlines. Theorem: Algorithm is optimal for p=2.

2 Processor Optimality v : earliest scheduled vertex not meeting deadline w : latest scheduled vertex before v scheduled alone. Always exists? Nodes in region must be Descendants of w. Region has 2(t-t’)-1nodes with Deadline  t-1. d(w)  t-1 - (2(t-t’)-1)/2 = t’-1 Contradiction Time: 1 2 3 t’ t Proc 1: w v Proc 2: - d(w)  t’, d(v)  t-1

Remarks Why does this not work for p > 2? Algorithm gives 2 - 2/p approximation for even p. More complex proof.

Improvements to GJ [GR 09] Node v has N(d,L) descendants at distance at least L+1 having deadline at least d Then d(v)  min d,L d - L - [N(d,L)/p]

Example AB E D C 4 4 4.... d(A) = 4 - [7/5] = 2 d(B) = min(4-[8/5], 2-[1/5]) = 1 d(C) = …. = 3 d(D) = = 2 d(E) =... = 0 d(E)  4 – 2 – [12/5] = -1 Max - min + 1 = 6. Optimal!

Algorithm Set d(terminal vertices) = 0 Propagate deadlines. New rule. For each v in non-decreasing deadline order:  (Rearrange ancestors of v if possible).  Schedule v in earliest possible slot, and smallest numbered processor.

Rearrange ancestors of v Suppose t = last slot with ancestors of v. Suppose vertices in slots t-1,t have same deadline. Suppose v has < p ancestors in t-1,t. Then move ancestors of v to slot t-1, move other vertices to slot t. If slot t is not full, v can be scheduled in t.

Analysis Outline Key part of proof: If algorithm constructs a long schedule, then deadline must drop a lot moving from last column to first. Max deadline - min deadline + 1  optimal schedule length. Optimal schedule must also be long, so good approximation factor.

How deadline varies in the schedule 123..p123..p Time> 1 2 3 …. u v w Deadline can only increase in first row: D(u)  D(v) Deadline can only increase in any column: D(u)  D(w)

Partial slot rule 123..p123..p 1 2 3 ….increasing time. u v w x y - Deadline must increase in first row after a partial slot: D(u) < D(v) … why was not v scheduled earlier?

1-slot rule 123..p123..p 1 2 3 ….increasing time. u v - Let M denote the number of nodes scheduled after u. Then D(u)  D(v) - [M/p]

Intuition: Easy schedules Suppose all slots are partial: drop per slot. Thus total deadline drop = length of schedule. Optimal! Suppose all slots are either 1 slots or full slots. 1-slot rule gives optimality.

Intuition: Difficult Schedules Schedules with mixture of 2-slots and full slots. Extreme case 1: 2-slots at the beginning, full slots at the end. Extreme case 2: 2 slots and full slots alternate.

Extreme case 1: Time> P1 : a v v v v v v v v v w P2 : b v v v v v v v v v P3 : v v v v v P4 : v v v v v A,b must be ancestors of all to right. One of them say a, must be ancestor of mp/2 d(a)  d(w) - L - mp/2. Drop = #2slots + full slots/2

Extreme Case 2 Time:1 2 3 4 5.... P1 : v v v v v v P2 : v v v v v v P3 : v v v P4 : v v v Use ancestor rearrangement to argue large drop.

Actual Analysis Keep track of how many 1-slots, 2-slots, full slots.. encountered. Relate numbers to deadline drop, schedule length. Solve for schedule length/deadline drop.

Remarks Analysis is complicated, but not much more than 2-2/p analysis of Lam-Sethi. Algorithm is simpler than Coffman- Graham. Technique will not work beyond 2 - 3/p. Even getting there is hard.

Download ppt "Precedence Constrained Scheduling Abhiram Ranade Dept. of CSE IIT Bombay."

Similar presentations

Ads by Google