![Page 1: Christoph Lenzen, STOC 2011. What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing](https://reader030.vdocuments.mx/reader030/viewer/2022032604/56649e5f5503460f94b58a4a/html5/thumbnails/1.jpg)
Christoph Lenzen, STOC 2011
![Page 2: Christoph Lenzen, STOC 2011. What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing](https://reader030.vdocuments.mx/reader030/viewer/2022032604/56649e5f5503460f94b58a4a/html5/thumbnails/2.jpg)
Christoph Lenzen, STOC 2011
What is Load Balancing?
work sharing
low-congestionrouting
optimizingstorage
utilization
hashing
![Page 3: Christoph Lenzen, STOC 2011. What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing](https://reader030.vdocuments.mx/reader030/viewer/2022032604/56649e5f5503460f94b58a4a/html5/thumbnails/3.jpg)
Christoph Lenzen, STOC 2011
An Example of Parallel Load Balancing
• fully connected network • small & equal bandwidths (one message/round)• n nodes need to send/receive up to n messages• minimize number of rounds
![Page 4: Christoph Lenzen, STOC 2011. What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing](https://reader030.vdocuments.mx/reader030/viewer/2022032604/56649e5f5503460f94b58a4a/html5/thumbnails/4.jpg)
Christoph Lenzen, STOC 2011
An Example of Parallel Load Balancing
• fully connected network • small & equal bandwidths (one message/round)• n nodes need to send/receive up to n messages• minimize number of rounds
![Page 5: Christoph Lenzen, STOC 2011. What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing](https://reader030.vdocuments.mx/reader030/viewer/2022032604/56649e5f5503460f94b58a4a/html5/thumbnails/5.jpg)
Christoph Lenzen, STOC 2011
An Example of Parallel Load Balancing
• fully connected network • small & equal bandwidths (one message/round)• n nodes need to send/receive up to n messages• minimize number of rounds
? ?
?
but...
![Page 6: Christoph Lenzen, STOC 2011. What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing](https://reader030.vdocuments.mx/reader030/viewer/2022032604/56649e5f5503460f94b58a4a/html5/thumbnails/6.jpg)
Christoph Lenzen, STOC 2011
• distribute n balls into n bins
• replace knowledge by randomization!• n instances (one for each receiver)
Abstraction: Parallel Balls-into-Bins
=
=
![Page 7: Christoph Lenzen, STOC 2011. What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing](https://reader030.vdocuments.mx/reader030/viewer/2022032604/56649e5f5503460f94b58a4a/html5/thumbnails/7.jpg)
Christoph Lenzen, STOC 2011
Naive Approach: Fire-and-Forget
• throw balls uniformly independently at random (u.i.r.)• max. load with high probability (w.h.p.))lnln/(ln nn
![Page 8: Christoph Lenzen, STOC 2011. What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing](https://reader030.vdocuments.mx/reader030/viewer/2022032604/56649e5f5503460f94b58a4a/html5/thumbnails/8.jpg)
Christoph Lenzen, STOC 2011
The Power of Two Choices (e.g. Azar et al., SIAM J. of Comp.‘99)
• inspect two bins and decide • take least loaded• max. load w.h.p.• d choices: w.h.p.• possible• ...but not parallel!
)ln(ln n
)/ln(ln dn Vöcking,JACM‘92
)ln/ln(ln dn
![Page 9: Christoph Lenzen, STOC 2011. What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing](https://reader030.vdocuments.mx/reader030/viewer/2022032604/56649e5f5503460f94b58a4a/html5/thumbnails/9.jpg)
Christoph Lenzen, STOC 2011
The Parallel Power of Two Choices
• strongest upper bound:
max. load in r rounds
• tight for constant r
• ...and certain algorithms:– non-adaptive
(fix bins to contact in advance)– symmetric
(all choices uniform)
rnn
/1lnln/ln
Stemann, SPAA‘96
Adler et al., STOC‘95
![Page 10: Christoph Lenzen, STOC 2011. What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing](https://reader030.vdocuments.mx/reader030/viewer/2022032604/56649e5f5503460f94b58a4a/html5/thumbnails/10.jpg)
Christoph Lenzen, STOC 2011
An Adaptive Algorithm
• contact one bin • every bin accepts one ball
≈ n/e balls remain (w.h.p.)• contact 2<e bins
< n/e2 balls remain (w.h.p.)• contact k<e2 bins, and so on
![Page 11: Christoph Lenzen, STOC 2011. What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing](https://reader030.vdocuments.mx/reader030/viewer/2022032604/56649e5f5503460f94b58a4a/html5/thumbnails/11.jpg)
Christoph Lenzen, STOC 2011
The Power of the Tower
• termination in rounds • cap # contacted bins at• total messages w.h.p.• in exp. (for each ball and bin)• can enforce max. load 2• tolerates message loss & faulty bins
)1(log* On 1)(log*)2(log* xx
log* x x
0 1
1 2
2 4
3 16
4 65,536
5 ≈1020,000
nlog
)(nO
)1(O
![Page 12: Christoph Lenzen, STOC 2011. What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing](https://reader030.vdocuments.mx/reader030/viewer/2022032604/56649e5f5503460f94b58a4a/html5/thumbnails/12.jpg)
Christoph Lenzen, STOC 2011
Optimality?
• for symmetric algorithms:– many balls in symmetric trees for rounds– balls cannot contact many bins w/o incurring messages– if balls in such a tree terminate root gets expected load – many such trees => max. load w.h.p.
)(log*))1(1( no)(n
)1()1(
root
![Page 13: Christoph Lenzen, STOC 2011. What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing](https://reader030.vdocuments.mx/reader030/viewer/2022032604/56649e5f5503460f94b58a4a/html5/thumbnails/13.jpg)
Christoph Lenzen, STOC 2011
No Faster Solution Possible, unless...
• bin loads of are accepted,
• bins have "identities" known to all balls
• messages are used)(n
)1(
place sballs at once
no ))1(1(
![Page 14: Christoph Lenzen, STOC 2011. What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing](https://reader030.vdocuments.mx/reader030/viewer/2022032604/56649e5f5503460f94b58a4a/html5/thumbnails/14.jpg)
Christoph Lenzen, STOC 2011
Exploiting Asymmetry/Bin ID‘s
• subsets of bins• contact random “leader” bin• “leader” bins distribute balls in their subset• can place balls right away• continue with previous algorithm• max. load 3 in rounds
)1(
no ))1(1(
? ? ?
#1 #3#2
)1(O
![Page 15: Christoph Lenzen, STOC 2011. What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing](https://reader030.vdocuments.mx/reader030/viewer/2022032604/56649e5f5503460f94b58a4a/html5/thumbnails/15.jpg)
Christoph Lenzen, STOC 2011
How to Use Messages
• balls “coordinate” constant fraction of bins• each ball contacts bins• balls find coordinated bins• coordinators assign balls to “their” bins• proceed with symmetric algorithm
)1(no ))1(1(
)(n
X XXX)1( )1(
)1(O
![Page 16: Christoph Lenzen, STOC 2011. What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing](https://reader030.vdocuments.mx/reader030/viewer/2022032604/56649e5f5503460f94b58a4a/html5/thumbnails/16.jpg)
Christoph Lenzen, STOC 2011
Summary
• optimal symmetric solution
– max. load 2, mess., rounds
• constant-time if:
– global enumeration of bins
– messages
– max. load
)(nO )1(log* On
)(n
)1(
![Page 17: Christoph Lenzen, STOC 2011. What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing](https://reader030.vdocuments.mx/reader030/viewer/2022032604/56649e5f5503460f94b58a4a/html5/thumbnails/17.jpg)
Christoph Lenzen, STOC 2011
...hey, What Happened to the Original Problem?!
• can be solved in rounds
• can be used to sort keys in rounds
)1(O
2n )1(O
Patt-Shamir and Teplitsky, PODC‘11
![Page 18: Christoph Lenzen, STOC 2011. What is Load Balancing? work sharing low-congestion routing optimizing storage utilization hashing](https://reader030.vdocuments.mx/reader030/viewer/2022032604/56649e5f5503460f94b58a4a/html5/thumbnails/18.jpg)
Christoph Lenzen, STOC 2011