Load balancing
Presented by 張肇烜
Outline
Load Balancing
Static Load Balancing
Dynamic Load Balancing
Load Balancing
Use to distribute computations fairly across
processors in order to obtain the highest
possible execution speeds.
Load Balancing (cont.)
P4
P3
P2
P1
P0
P4
P3
P2
P1
P0
Static Load Balancing
Before the execution of any process.
Some potential static load balancing:
Randomized algorithm
Round robin algorithm
Weight round robin algorithm
Static Load Balancing (cont.)
Randomized algorithms:
Selects processes at random to take tasks.
A
1
3
B
2
C
4
5
D
E
Static Load Balancing (cont.)
Round robin algorithms:
Passes out tasks in sequential order of processes
coming back to the first when all processes have
been given a task.
A
1
B
2
C
3
4
D
5
E
Static Load Balancing (cont.)
Weighted round robin algorithms:
To improve imbalance problem of RR.
A weight:1 B weight:3
5
3
C weight:4
2
4
D weight:2
1
E weight:5
Static Load Balancing (cont.)
Several flaws:
Very difficult to estimate accurately the execution
times of various parts of a program without
actually executing the parts.
Communication delays that vary under different
circumstances.
Dynamic Load Balancing
Vary load during the execution of the
processes.
Does incur an additional overhead during
execution, but it is much more effective than
static load balancing.
Dynamic Load Balancing (cont.)
Can be classified as:
Centralized
Decentralized
Dynamic Load Balancing (cont.)
Centralized DLB:
Tasks handed out from a centralized location.
Master-slave structure.
Work pool
Queue
……
nd
Se
t as
k
Tasks
Master process
est
ta
sk
Re
qu
Slave worker processes
Dynamic Load Balancing (cont.)
Decentralized DLB:
A worker process may receive tasks from other
worker processes and may send tasks to other
worker processes.
Process
Process
Process
Requests/tasks
Process
Process
Dynamic Load Balancing (cont.)
Task transfer mechanisms:
Receiver-Initiated Method
Sender-Initiated Method
Dynamic Load Balancing (cont.)
Receiver-Initiated Method:
A process requests tasks from other processes it
selects.
Typically, a process would request tasks from
other processes when it has few or no tasks to
perform.
It has been shown to work well at high system
load.
Dynamic Load Balancing (cont.)
Sender-Initiated Method:
A process sends tasks to other processes it
selects.
Typically, a process with a heavy load passes out
some of its tasks to others that are willing to
accept them.
It has been shown to work well for light over
system load.
Dynamic Load Balancing (cont.)
Some potential Dynamic load balancing :
Least-Connection Algorithm (LC)
Weighted Least-Connection Algorithm (WLC)
Dynamic Load Balancing (cont.)
Least-Connection Algorithm :
The requests are distributed to the server based
on the number of established connections.
Least-connection algorithm performs well when
the loads of requests vary frequently.
Dynamic Load Balancing (cont.)
Weighted Least-Connection Algorithm :
Similar to weighted round robin algorithm, weights
can be combined to least-connection algorithm for
heterogeneous environment.
Dynamic Load Balancing (cont.)
Weighted Least-Connection Algorithm :
其算法流程如下,假設有一組伺服器S = {S0,
S1, ..., Sn-1},W(Si)表示伺服器Si的權重值,C(Si)
表示伺服器Si的目前連接數。而所有伺服器目前連
接數的總和為CSUM = ΣC(Si) (i=0, 1, .. , n-1)。當
前的新連接請求會被發送伺服器Sm,而且僅當伺
服器Sm滿足以下條件,(C(Sm) / CSUM)/ W(Sm)
= min { (C(Si) / CSUM) / W(Si)} (i=0, 1, . , n-1),
其中W(Si)不得為零。
© Copyright 2026 Paperzz