Independent Tasks Scheduling
- n Heterogeneous Platforms
Independent Tasks Scheduling on Heterogeneous Platforms under - - PowerPoint PPT Presentation
Independent Tasks Scheduling on Heterogeneous Platforms under Bounded Multi-Port Model Olivier Beaumont, Nicolas Bonichon, Lionel Eyraud-Dubois INRIA Bordeaux Sud-Ouest, CEPAGE, LaBRI Loris Marchal CNRS, ENS Lyon, ROMA, LIP Scheduling in
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 2/ 33
Communication Models
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 3/ 33
Communication Models
◮ a node can be involved in at most one communication ◮ comes into two flavors (unidirectional or bidirectional) ◮ associated to a topology (physical or at application level)
◮ a node can be involved in several communications ◮ provided that incoming and outgoing bandwidths are not exceeded ◮ associated to an overlay network Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 4/ 33
Communication Models
◮ but is not known in general ◮ and tools to discover topology (ENV, AlNEM) are too slow ◮ especially if the churn is high !
◮ embed the nodes into a metric space ◮ i.e. give coordinates to them ◮ and use their coordinates to approximate the available bandwidth
◮ Examples : Vivaldi (2D+1), Sequoia (Trees), PathGuru
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 5/ 33
Communication Models
50 100 150 200 250 300 350 0.5 1 1.5 2 2.5 x 10
4
peer−host ID bandwidth (kbps)
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 6/ 33
Communication Models
2 4 6 8 10 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Error CDF Last−mile (alpha=0.25) Vivaldi Sequoia−15 Last−mile (alpha=0.25, Random−20)
◮ cheap and robust and decentralized ◮ at least as precise ◮ for PlanetLab dataset (and probably even better for DSL nodes) Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 7/ 33
Bounded multi-port Model – Divisible Load Scheduling
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 8/ 33
Bounded multi-port Model – Divisible Load Scheduling
Independent Tasks Scheduling under Bounded Multi-port 9/ 33
Bounded multi-port Model – Divisible Load Scheduling
◮ between (P0, Pi) and (P0, Pj). Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 10/ 33
Bounded multi-port Model – Divisible Load Scheduling
P4 t2 t3 t4 t1 P2 b1 P1 P3 B0
◮ b′
i(t): actual bandwidth used at time t by the communication
◮ ti: the time when processor Pi stops communicating. ◮ Xi: the fractional number of tasks sent to Pi.
◮ input bandwidth: ∀t, b′
i(t) bi.
◮ output bandwidth: ∀t,
i b′ i(t) B0.
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 11/ 33
Bounded multi-port Model – Divisible Load Scheduling
P4 t2 t3 t4 t1 P2 b1 P1 P3 B0
◮ 1rst part: With a linear cost model Xi units of work: ⋆ sent to Pi in Xi
i(t) time units
⋆ processed by Pi in Xi × wi time units ◮ 2nd part: With an affine cost model: code of size Si + data Xi
⋆ sent to Pi in Si+Xi
i(t) time units
⋆ processed by Pi in Xi × wi time units Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 12/ 33
Bounded multi-port Model – Divisible Load Scheduling Normal Form
1 all processors are involved in the processing of tasks, 2 all slaves start processing tasks immediately after the end of the
3 during each time slot ]tik, tik+1] the bandwidth used by any
P4 t2 t3 t4 t1 P2 b1 P1 P3 B0
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 13/ 33
Bounded multi-port Model – Divisible Load Scheduling Normal Form
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 14/ 33
Bounded multi-port Model – Divisible Load Scheduling Normal Form
i
i
j
j
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 15/ 33
Bounded multi-port Model – Divisible Load Scheduling Normal Form
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 16/ 33
Bounded multi-port Model – Divisible Load Scheduling NP-Completeness
Q = 3B0/4
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 17/ 33
Bounded multi-port Model – Divisible Load Scheduling NP-Completeness
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 18/ 33
Bounded multi-port Model – Divisible Load Scheduling Stability Issues and Open Problems
◮ Consider P1 = (1, 1) and P2 = ( 1
ε, 1)
◮ if P1 is scheduled first:
1+ε 2
◮ if P2 scheduled first:
3ε 2 tasks only!
◮ finding the optimal schedule is more difficult (NP-Complete) ◮ but the worst ratio is 8
9 (proved) between priority-based schedules
◮ and we conjecture that it is even better in the case P > 2 !
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 19/ 33
Bounded multi-port Model – Malleable Tasks Scheduling
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 20/ 33
Bounded multi-port Model – Malleable Tasks Scheduling
P4 t2 t3 t4 t1 P2 b1 P1 P3 B0
◮ b′
i(t): actual quantity of resources used at time t by the
◮ ti: the time when processor Pi stops communicating, ◮ qi: the fractional number of tasks sent to Pi.
◮ Si size of the code (+ Xi very small) units of work, ◮ sent to Pi in
Si
i(t) time units,
◮ computed by Pi in Xi × wi time units Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 21/ 33
Bounded multi-port Model – Malleable Tasks Scheduling
T4 C2 C3 C4 C1 δ1 T2 T1 T3 P
◮ Task Ti with maximum degree of parallelism δi and size Si ◮ Si denotes the overall cost, does not depend on the nb of procs ◮ b′
i(t) actual quantity of resources allocated to Ti at time t
◮ Ci: completion time of Ti,
i(t) = Si.
◮ Goal:
i wiCi
◮ very similar to divisible load setting when minimizing the weighted
◮ except that the quantity of allocated resource should be integers
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 22/ 33
Bounded multi-port Model – Malleable Tasks Scheduling
◮ P|var; pi(q) = pi/q, δi, ri|Cmax (even in presence of release dates)
◮ Maximum lateness problem P|var; pi(q) = pi/q, δi, ri|Lmax
◮ Schwiegelshohn: 2.37-approx without preemptions but suspensions
◮ Kawaguchi and Kyan:
1+ √ 2 2
◮ Deng et al.: 2-approximation algorithm (varying nb of resources) in
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 23/ 33
Bounded multi-port Model – Malleable Tasks Scheduling
x1,1 x2,1 x3,1 δ1 C1 C2 C3
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 24/ 33
Bounded multi-port Model – Malleable Tasks Scheduling
◮ Allocate T1, then T2, . . . , Tn ◮ maximize available resources after Ti’s allocation ◮ by balancing as much as possible the height of Columns 1, . . . , i ◮ Fill columns from left to right starting by the time step with lowest
time (column indices) allocated processors Ci
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 25/ 33
Bounded multi-port Model – Malleable Tasks Scheduling
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 26/ 33
Bounded multi-port Model – Malleable Tasks Scheduling
time (column indices) allocated processors Ci
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 27/ 33
Bounded multi-port Model – Malleable Tasks Scheduling
time alloc(t) A P B P − δ t = tδ time alloc(t) A P B P − δ t tδ
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 28/ 33
Bounded multi-port Model – Malleable Tasks Scheduling
time alloc(t) A P B P − δ t = tδ time alloc(t) A P B P − δ t tδ
◮ the area after Ca is maximal (δi allocated) ◮ since resources are allocated to Ti both before and after Ca ◮ and the maximal number of resources is allocated in all but the
◮ and thus, the area before Ca is minimal
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 29/ 33
Bounded multi-port Model – Malleable Tasks Scheduling
time (column indices) allocated processors Ci
Area allocated to Tasks T1, . . . , Ti−1
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 30/ 33
Bounded multi-port Model – Malleable Tasks Scheduling
time (column indices) allocated processors Ci
Area allocated to Tasks T1, . . . , Ti−1
◮ which tasks are covered by the leftmost column of a new task ?
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 31/ 33
Conclusion
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 32/ 33
Conclusion
◮ NP Complete (proved, strong sense Open) ◮ Very robust (scheduling does not matter (almost)... proved for
◮ NP Complete (very close to Independent Malleable Tasks
◮ Priority Based Schedules are enough (choose an ordering and use it
◮ Realistic Approximation Algorithm (at the moment 2-approx from
Olivier Beaumont (INRIA) Independent Tasks Scheduling under Bounded Multi-port 33/ 33