l7 load balancing & termination
TRANSCRIPT
![Page 1: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/1.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing
Load Balancing&
Termination
![Page 2: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/2.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing
Load Balancing• Want all processors to operate
continuously to minimize time to completion.
• Load balancing determines what work will be done by which processor.– Static– Dynamic
![Page 3: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/3.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing
Static Load Balancing• Approaches already discussed:
– Round Robin– Random– Recursive Bisection– Simulated Annealing– Genetic Algorithm
![Page 4: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/4.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing
Static Load Balancing• Bin Packing for Homogeneous Systems
– P boxes of equal size– Minimize the size of the boxes, s.t.
• every piece of work goes in one and only one box
• the work in any given box will be assigned to one processor
• put work that requires the most communication on the same processor if possible
![Page 5: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/5.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing
300
Static Load Balancing• Let’s take a very simple example
– 2 homogeneous processors– 8 homogeneous meshes with sizes
• 15x10• 11x3• 10x10• 8x10
• How close can we come to perfect load balance?
• 9x9• 8x9• 7x7• 6x6
![Page 6: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/6.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing
300
Static Load Balancing• Extend our example w/communication
– 2 homogeneous processors– 8 homogeneous meshes with sizes
• 15x10• 11x3• 10x10• 8x10
• Does the communication change how good we can make our load balance?
• 9x9• 8x9• 7x7• 6x6
![Page 7: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/7.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing
300
Static Load Balancing• Extend example w/more communication
– 2 homogeneous processors– 8 homogeneous meshes with sizes
• 15x10• 11x3• 10x10• 8x10
• Does the communication change our total runtime and/or balance?
• 9x9• 8x9• 7x7• 6x6
big blue means lots of
communication
big yellow means lots of
communication
![Page 8: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/8.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing 300Static Load Balancing
• Extend example w/more communication– 2 homogeneous processors– 8 homogeneous meshes with sizes
• 15x10• 11x3• 10x10• 8x10
• Here the communication changed our total runtime and/or balance.
• 9x9• 8x9• 7x7• 6x6
big blue means lots of
communication
big yellow means lots of
communication
![Page 9: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/9.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing
Static Load Balancing• Bin Packing for Heterogeneous Systems
– P boxes of variable size representing the capability of the associated processor relative to the total capability of the system
– Minimize the imbalance, s.t.• every piece of work goes in one and only one
box• put work that requires the most communication
on the same processor if possible• each box is the same % full
![Page 10: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/10.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing
Static Load Balancing• Let’s extend our example
– 2 heterogeneous processors– 8 homogeneous meshes with sizes
• 15x10• 11x3• 10x10• 8x10
• How do heterogeneous processors change what we do?
• 9x9• 8x9• 7x7• 6x6
![Page 11: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/11.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing
Static Load Balancing• Let’s extend our example
– 2 homogeneous processors– 8 heterogeneous meshes with sizes
• 15x10• 11x3• 10x10• 8x10
• How do heterogeneous meshes change what we do?
• 9x9• 8x9• 7x7• 6x6
![Page 12: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/12.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing
Static Load Balancing• Let’s extend our example
– 2 heterogeneous processors– 8 heterogeneous meshes with sizes
• 15x10• 11x3• 10x10• 8x10
• How do heterogeneous meshes and processors change what we do?
• 9x9• 8x9• 7x7• 6x6
![Page 13: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/13.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing
Static Load Balancing• Problems with Static Load Balancing
– How do we know for sure what the computation per mesh element is?
– How do we know for sure what the capabilities of each processor will be?
– How do we know what the load on each processor will be (shared resources)?
– Similar questions for the communication... Given these questions may be impossible to answer for some problems, we move to dynamic load balancing.
![Page 14: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/14.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Dynamic Load Balancing
• Approaches to Dynamic Load Balance– Centralized – a master process hold the
collection of tasks to perform and determines when the job is complete
– Distributed – the tasks are distributed and the decision process for determining termination is distributed
![Page 15: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/15.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Dynamic Load Balancing
• Centralized Dynamic Load Balance
How can we improve on this process?
![Page 16: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/16.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Dynamic Load Balancing
• Distributed Dynamic Load Balance
How can we improve on this process?
![Page 17: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/17.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Dynamic Load Balancing
• Distributed Dynamic Load Balance– processes transferring tasks
![Page 18: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/18.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Dynamic Load Balancing
• Distributed Dynamic Load Balance– processes transferring tasks – How selected?
![Page 19: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/19.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Dynamic Load Balancing
• Distributed Dynamic Load Balance– processes transferring tasks – How selected?
![Page 20: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/20.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Dynamic Load Balancing
• Distributed Dynamic Load Balance– Multiple threads for
![Page 21: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/21.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Distributed Termination
• Recognition of termination conditions for distributed computations is more difficult than sequential termination.
• Conditions [Bertsekas & Tsitsiklis, 89]– local termination reached by all– no communication in progress
![Page 22: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/22.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Distributed Termination
• Bertsekas & Tsitsiklis
![Page 23: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/23.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Distributed Termination
• Single-Pass Ring Termination
![Page 24: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/24.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Distributed Termination
• Dual-pass Ring Termination– Dijkstra, Feijen, and Gasteren 1983
![Page 25: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/25.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Distributed Termination
• Dual-pass Ring Termination– Dijkstra, Feijen, and Gasteren 1983
![Page 26: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/26.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Distributed Termination
• Fixed Energy Termination– Start with all energy assigned to the master– Send a bit of energy with each task
assigned– Return the energy when the task is finished– When all energy is returned to the master
and it has no more work to farm out, termination has been reached.
![Page 27: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/27.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Program Paradigms
C C CC …
C C CC …
Synchronous Interaction
Synchronous Interaction
Phase Parallelismideal
![Page 28: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/28.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Program Paradigms
C C…
C C CC …
Synchronous Interaction
Synchronous Interaction
Phase Parallelismreal
C C
![Page 29: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/29.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Program Paradigms
Divide and C
onquer
C
CC
CC C C
C C
Cideal
![Page 30: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/30.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Program Paradigms
Divide and C
onquer
C
CC
C3C1C C
C2
C
Creal
![Page 31: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/31.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Program Paradigms
P
R
QPipelinedZ
…
ideal
![Page 32: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/32.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Program Paradigms
P
R
QPipelinedZ
…
real
![Page 33: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/33.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Program Paradigms
S S SS …
Master
Master Slave
ideal
![Page 34: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/34.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Program Paradigms
SS SS
…
Master
Master Slave
real
![Page 35: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/35.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Program Paradigms
P Q ZR …
Work Pool
Work Pool
ideal
![Page 36: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/36.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Program Paradigms
PQ ZR …
Work Pool
Work Pool
real
![Page 37: L7 Load Balancing & Termination](https://reader030.vdocuments.site/reader030/viewer/2022012803/61bd21fc61276e740b0fb0a4/html5/thumbnails/37.jpg)
Load Balancing
Program Paradigms
Dynamic Load Balancing
Summary
Distributed Termination Detection Algorithms
CS/IT 451 & CS551 – Parallel Processing
Lecture 7 – Load Balancing and Termination Detection
Static Load Balancing Summary
• Load Balancing– Centralized – Distributed
• Termination• Paradigms
– phase– pipelined– master slave– work pool
Static Dynamic