Allocation of Clients to Multiple Servers on Large Scale - - PowerPoint PPT Presentation
Allocation of Clients to Multiple Servers on Large Scale - - PowerPoint PPT Presentation
Allocation of Clients to Multiple Servers on Large Scale Heterogeneous Platforms Olivier Beaumont, Lionel Eyraud-Dubois, Christopher Thaves-Caro Laboratoire Bordelais de Recherche en Informatique Equipe CEPAGE (INRIA) Scheduling in
Introduction
Outline
1
Introduction
2
Independent tasks distribution
3
Online considerations
4
Conclusions
Lionel Eyraud-Dubois (LaBRI-Cepage) 2/ 24
Introduction
Introduction
Divisible Task Scheduling
Master dispatches tasks to Workers Tasks can be arbitrarily divided Standard communication model: One Port
- Lionel Eyraud-Dubois (LaBRI-Cepage)
3/ 24
Introduction
Explore the Bounded Multi Port model
Simultaneous communications, with a per-node bandwidth bound Internet-like: no contention inside the network Steady-state approach Keep things reasonable: degree constraint
C1 Ci C2 S0 S1 Sm Cn w1 wn wi w2 b′
i
b′
1
b′
2
b′
n
dm d1 b0 d0 bm b1
Lionel Eyraud-Dubois (LaBRI-Cepage) 4/ 24
Introduction
Explore the Bounded Multi Port model
Simultaneous communications, with a per-node bandwidth bound Internet-like: no contention inside the network Steady-state approach Keep things reasonable: degree constraint
C1 Ci C2 S0 S1 Sm Cn w1 wn wi w2 b′
i
b′
1
b′
2
b′
n
dm d1 b0 d0 bm b1
Lionel Eyraud-Dubois (LaBRI-Cepage) 4/ 24
Introduction
Precise model
An instance
m servers, with bandwidth bi and maximal out-degree di n clients, with capacity wj
A solution
An assignment wi
j of bandwidth from server i to client j
∀j,
- i wj
i ≤ bj
(capacity constraint at server j) ∀j, Card{i, wi
j > 0} ≤ dj
(degree constraint at server j) ∀i,
- j wj
i ≤ wi
(capacity constraint at client i) Maximise T =
i,j wi j
Lionel Eyraud-Dubois (LaBRI-Cepage) 5/ 24
Independent tasks distribution
Outline
1
Introduction
2
Independent tasks distribution Complexity Algorithm Seq Practical comparisons with heuristics
3
Online considerations
4
Conclusions
Lionel Eyraud-Dubois (LaBRI-Cepage) 6/ 24
Independent tasks distribution Complexity
Complexity
NP-Hard: reduction from 3-Partition
◮ n servers with bandwidth B and degree 3 ◮ 3n clients with capacity ai, ai = nB ◮ Throughput nB reachable iff 3-Partition has a solution
Easy to solve without the degree constraint
◮ solve max-flow on the complete bipartite graph
→ Loosen the degree constraint
Lionel Eyraud-Dubois (LaBRI-Cepage) 7/ 24
Independent tasks distribution Algorithm Seq
Algorithm Seq
Resource augmentation: allowed one more connection per server Order clients by capacity For each server, bandwidth b and out-degree d:
1
Find a consecutive sublist of length d + 1 such that:
⋆ total capacity is at least b ⋆ capacity of the first d clients is less than b 2
Assign these clients, perhaps split the last one
3
Update the client list
Choice of a subset does not matter Order of servers does not matter
Lionel Eyraud-Dubois (LaBRI-Cepage) 8/ 24
Independent tasks distribution Algorithm Seq
An example
- d1 = 2
b1 = 48 d2 = 5 b2 = 30 d3 = 1 b3 = 68
10 12 17
w4 = 24
31 47
Lionel Eyraud-Dubois (LaBRI-Cepage) 9/ 24
Independent tasks distribution Algorithm Seq
An example
- d1 = 2
b1 = 48 d2 = 5 b2 = 30 d3 = 1 b3 = 68
10 12 17
w4 = 24
31 47
Lionel Eyraud-Dubois (LaBRI-Cepage) 9/ 24
Independent tasks distribution Algorithm Seq
An example
- d1 = 2
b1 = 48 d2 = 5 b2 = 30 d3 = 1 b3 = 68
10 12 17
w4 = 24
31 47
Lionel Eyraud-Dubois (LaBRI-Cepage) 9/ 24
Independent tasks distribution Algorithm Seq
An example
- d2 = 5
b2 = 30 d3 = 1 b3 = 68 C(3,4) = 41 b1 = 48 d1 = 2 C(3,5) = 72
Lionel Eyraud-Dubois (LaBRI-Cepage) 9/ 24
Independent tasks distribution Algorithm Seq
An example
- d2 = 5
b2 = 30 d3 = 1 b3 = 68
47 12
d1 = 2 b1 = 48
10 24
Lionel Eyraud-Dubois (LaBRI-Cepage) 9/ 24
Independent tasks distribution Algorithm Seq
An example
- d2 = 5
b2 = 30 d3 = 1 b3 = 68
47 12
d1 = 2 b1 = 48
10 24
Lionel Eyraud-Dubois (LaBRI-Cepage) 9/ 24
Independent tasks distribution Algorithm Seq
An example
- d3 = 1
b3 = 68 d1 = 2 b1 = 48 b2 = 30 C(1,3) = 46 d2 = 5
Lionel Eyraud-Dubois (LaBRI-Cepage) 9/ 24
Independent tasks distribution Algorithm Seq
An example
- d3 = 1
b3 = 68
47 16
d1 = 2 b1 = 48 d2 = 5 b2 = 30
Lionel Eyraud-Dubois (LaBRI-Cepage) 9/ 24
Independent tasks distribution Algorithm Seq
An example
- d3 = 1
b3 = 68
47 16
d1 = 2 b1 = 48 d2 = 5 b2 = 30
Lionel Eyraud-Dubois (LaBRI-Cepage) 9/ 24
Independent tasks distribution Algorithm Seq
An example
- d1 = 2
b1 = 48 d2 = 5 b2 = 30 b3 = 68 C(1,2) = 63 d3 = 1
Lionel Eyraud-Dubois (LaBRI-Cepage) 9/ 24
Independent tasks distribution Algorithm Seq
An example
- d2 = 5
b2 = 30 d1 = 2 b1 = 48
5 Remaining server
d3 = 1 b3 = 63
Lionel Eyraud-Dubois (LaBRI-Cepage) 9/ 24
Independent tasks distribution Algorithm Seq
Why does it work ?
Inuitively, more disparate client lists are “easier” to allocate
Central Lemma
Define C D iff ∀k,
k
- i=1
Ci ≤
k
- i=1
Di Statement: if C
Seq(d+1,b)
− − − − − − − → C′
- D
valid(d,b)
− − − − − → D′ then C′ D′ Recursively, C(m) D(m), thus C(m)
i
≤ D(m)
i
Remaining client capacity is lower with Seq than with any valid allocation
Lionel Eyraud-Dubois (LaBRI-Cepage) 10/ 24
Independent tasks distribution Algorithm Seq
Remarks
Valid approximation algorithm
At the end, remove the smallest client at each server ∀j, T ′
j ≥ dj dj+1Tj
T ′ ≥
dmin dmin+1T ≥ dmin dmin+1T ∗
Dual problem
Given a throughput K, minimise the maximal degree d∗ needed to reach K Seq with dichotomy achieves d∗ + 1
Lionel Eyraud-Dubois (LaBRI-Cepage) 11/ 24
Independent tasks distribution Practical comparisons with heuristics
Simple heuristics
Largest Client Largest Server
Order clients and servers by capacities, and assign the currently largest client to the currently largest server. Split and reinsert the client if necessary.
Largest Client Best Connection
Same as before, but sort servers by bj
dj (average available bandwidth).
Online Best Connection
Same as LCBC, but without sorting clients first. Use the server with the closest average available bandwidth to the considered client
Lionel Eyraud-Dubois (LaBRI-Cepage) 12/ 24
Independent tasks distribution Practical comparisons with heuristics
Experimental setting
Random instance generation
m servers, 10m clients Capacities generated with power law distributions Server degrees nearly proportional to capacities
Natural upper bounds
T ≤
j bj
T ≤
i wi
Instances scaled so that both are roughly equal
Lionel Eyraud-Dubois (LaBRI-Cepage) 13/ 24
Independent tasks distribution Practical comparisons with heuristics
Results
0.86 0.88 0.9 0.92 0.94 0.96 0.98 1 1.02 1.04 20 40 60 80 100 120 140 Normalized throughput Number of servers Seq LCBC OBC LCLS
Average normalized throughput (over 250 instances) when m varies
Lionel Eyraud-Dubois (LaBRI-Cepage) 14/ 24
Independent tasks distribution Practical comparisons with heuristics
Results
2 4 6 8 10 12 14 16 18 20 40 60 80 100 120 140 Average alpha* Number of servers Seq LCBC OBC LCLS
Average α∗ when m varies
Lionel Eyraud-Dubois (LaBRI-Cepage) 15/ 24
Independent tasks distribution Practical comparisons with heuristics
Results
1 10 100 1 1.2 1.4 1.6 1.8 2 Alpha* (logscale) Client capacity dispersion Seq LCBC
α∗ values against dispersion for m = 80
Lionel Eyraud-Dubois (LaBRI-Cepage) 16/ 24
Online considerations
Outline
1
Introduction
2
Independent tasks distribution
3
Online considerations
4
Conclusions
Lionel Eyraud-Dubois (LaBRI-Cepage) 17/ 24
Online considerations
Can we do it online ?
When clients come and go
Disallow any change in the previous choices Count the number of changes for various algorithms
In this section
Fully online is impossible Online Seq achieves a low number of changes
Lionel Eyraud-Dubois (LaBRI-Cepage) 18/ 24
Online considerations
Fully online is impossible
There is no fully online algorithm with resource augmentation factor α and approximation ratio 1
k.
1 server with bandwidth b = k × 2αk+1 and degree k αk groups of clients, group i having capacity 2i
- ne client of capacity b
A must connect at least one client from each group. ⇒ No more connection available for the last client.
Lionel Eyraud-Dubois (LaBRI-Cepage) 19/ 24
Online considerations
Online Seq
Add some “locality” in Seq
Always choose the “rightmost” sublist of clients ⇒ Ensures that the splitted client is reinserted at the same place
Local transformations of client lists
C is increased to C+ by
◮ insertion of a new client at position p ◮ capacity increase of Cp+1
Similarly, C is decreased to C− by
◮ deletion of a client at position p ◮ capacity decrease of Cp+1 Lionel Eyraud-Dubois (LaBRI-Cepage) 20/ 24
Online considerations
Online Seq
Lemma
If C
Seq(d+1,b)
− − − − − − − → C′ ↓ C+ = D
Seq(d+1,b)
− − − − − − − → D′ then C′ + − → D′ Furthermore, the allocations differ by at most 4 changes. Recursively, for a given set of servers S, Seq(C ∪ Cnew) and Seq(C) differ by at most 4 changes per server.
Lionel Eyraud-Dubois (LaBRI-Cepage) 21/ 24
Online considerations
A comparison
Aggressive Best Connection
On client arrival, connect with Best Connection. If no room, remove the client that yields the largest gain. On client departure, use the newly available bandwidth to reduce the indegree of other clients. If there are unconnected clients left, act like on client arrival.
On 80-server instances, with 500 events
On average, throughput lower by 6%, can be as low as 75% Maximal number of changes for one event can reach 130 for one server Average number of maximal changes is 3.5 for Seq, 1.6 for ABC
Lionel Eyraud-Dubois (LaBRI-Cepage) 22/ 24
Conclusions
Outline
1
Introduction
2
Independent tasks distribution
3
Online considerations
4
Conclusions
Lionel Eyraud-Dubois (LaBRI-Cepage) 23/ 24
Conclusions
Summary
Divisible Tasks, Multi-Port version Propose Seq, a guaranteed approximation algorithm Analysed an online setting
Future Works
Broadcast – Streaming problem in the same model “P2P” setting: allow clients to forward messages Online algorithm with fewer total number of changes
Lionel Eyraud-Dubois (LaBRI-Cepage) 24/ 24