graph balancing. scheduling on unrelated machines j1 j2 j3 j4 j5 m1 m2 m3
TRANSCRIPT
![Page 1: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/1.jpg)
GRAPH BALANCING
![Page 2: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/2.jpg)
Scheduling on Unrelated Machines
J1
J2
J3
J4
J5
M1 M2 M3
![Page 3: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/3.jpg)
M1 M2 M3
J3
J4
J1
J2
J5
J1
J2
J3
J4
J5
Scheduling on Unrelated Machines
![Page 4: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/4.jpg)
Scheduling on Unrelated Machines
M1
M2
M3 J1
J2 J3
J4
J5
Makespan
![Page 5: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/5.jpg)
Restricted AssignmentM1 M2 M3
J1
J2
J3
J4
J5
![Page 6: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/6.jpg)
Graph Balancing
Special case of Restricted Assignment Each job can be scheduled on at most 2
machines Machines vertices Jobs edges Assign dedicated loads to vertices Problem is to orient the edges
![Page 7: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/7.jpg)
Graph Balancing
2 2
4
35
2
1
6
5 6
5 5
2
1
2
2
1
![Page 8: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/8.jpg)
Graph Balancing Summary
Given: weighted multigraph (V, E, p, q) V : Vertices Machines E : Edges Jobs eE, pe = processing time of job e vV, qv = dedicated load on vertex v Output: Orientation of edges :E V
such that (e) e Loadv = qv + e:v = (e) pe
Objective: Minimize maximum load
![Page 9: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/9.jpg)
Optimization Decision Problem
-relaxed decision procedure Is there any orientation with maximum
load at most d ? Answer:
“NO” Orientation with maximum load at most d.
Binary search for d and scale everything appropriately
![Page 10: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/10.jpg)
2-approximation LP
Find values xev 0, for each e and ve, such that For each e E, u,ve:
xeu + xev = 1
For each v V:qv + e:ve xev pe 1
![Page 11: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/11.jpg)
2-Relaxed Decision Procedure
Solve LP in polynomial time. If not feasible, return “NO” If feasible, round solution using rotation
and tree assignment After rounding, the maximum load is at
most 2 For rounding, decompose the graph as
Cycles Trees
![Page 12: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/12.jpg)
Rotation
1/2
1/41/4
1/31/2
1/2
.3
.5
.4
.5 .4
.7
.5.6
.6
.6 .4
.5
.125
.1
.2
.3
.25
.15
![Page 13: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/13.jpg)
Rotation
1/2
1/41/4
1/31/2
1/2
.1
.1
0
.3 .7
.9
.91
.3
.4 .6
.7
![Page 14: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/14.jpg)
Rotation
Increases the number of integral solutions.
Breaks the fractional cycles. Unchanged after rotation
(xeu + xev) for all edges e
(e:v e xev pe) for all vertices v
Maximum load after rotation is 1. After all fractional cycles are broken,
only fractional trees remain
![Page 15: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/15.jpg)
1
1
1
1
1
1 1
1
1
1
1
1
1
Tree Assignment
![Page 16: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/16.jpg)
2
1
2
2
2
2
2 1
1
1
1
1
1
Tree Assignment
![Page 17: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/17.jpg)
1 1
1 1 1 1 1 1
v`
Integrality Gap
![Page 18: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/18.jpg)
Big edges )
1/2
1/2
1/2
1/21/2
1/2
1/2
![Page 19: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/19.jpg)
1
1/2
>1/2
>1/2
1/2
1/2
>1/2
Big trees constraint
![Page 20: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/20.jpg)
1.75-approximation
Find values xev 0, for each e and ve, such that For each e E, u,v e:
xeu + xev = 1
For each v V:qv + e:v e xev pe 1
For each T GB (graph induced on big edges)
1
![Page 21: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/21.jpg)
v
v
1/2
>1/2
>1/2
1/2
1/2
>1/2
.1
.1
0
.3
.7
.9
.9 1
.3
.4
.6
.7
Algorithm
![Page 22: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/22.jpg)
Invariants
At any stage of iteration: . If is incident to any edge in . If is incident to any big edge in . Big tree constraint is not violated.
![Page 23: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/23.jpg)
Algorithm
Case 1: e is a big edge (pe >= 0.5)Increase in load = pe – xevpe = xeupe <= 0.75
Case 2: e is not a big edge (pe < 0.5)Increase in load = pe – xevpe < pe < 0.5
Since xeupe > 0.75, e is definitely a big edgeFor any vertex u’ in the tree T, the path joining u’ to v is also a subtree of GB
By the tree constraint,xevpe + xe’u’pe’ >= pe + pe’ -1pe’ – xe’u’pe’ <= 1 – (pe - xevpe)Increase in load <= 0.25
![Page 24: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/24.jpg)
Integrality gap
.25
.25
.25
.25
.25
.25 .25
1.5−ϵ
.25
v`
.5−ϵ1 1
.25
.25
.25
.25
.25
1
.5−ϵ.25
v`
.5−ϵ1
1
.25
.25
.25
.25
.25
1
.25
v`
.5−ϵ1 1.5−ϵ
1
1
1
![Page 25: GRAPH BALANCING. Scheduling on Unrelated Machines J1 J2 J3 J4 J5 M1 M2 M3](https://reader036.vdocuments.us/reader036/viewer/2022062320/56649c7b5503460f9492f3ca/html5/thumbnails/25.jpg)
Thanks!