Lecture Notes: Load Balancing
Lecture Notes: Load Balancing
Blank Homework
Notes Labs Scores Blank
Lecture Notes
Dr. Tong Lai Yu, March 2010
some may be lightly loaded, some moderately loaded, some heavily loaded
Differences between "N-times" faster processor and processor pool of N processors is interesting.
While the arrival rate is N times the individual rate, the service rate is not unless the pool is constantly
maximally busy
but one N-times-faster processor can be much more expensive ( or
non-existent ) than N
slow processor
Let's analyze N isolated systems to see the problem of underutilization in the absence of load balancing --
consider a system of N identical and independent M/M/1 servers:
Probability of at Least One Task waiting,
and At Least One processor Idle
Classification of Algorithms
Static --
decisions hard-wired into algorithm using prior knowledge of system
Dynamic -- use state information to make decisions.
Adaptive -- special case of dynamic algorithms; dynamically change parameters of the algorithm
Load Sharing -- reduce the likelihood of unshared state by transferring tasks to lightly loaded nodes
Load Balancing -- try to make each load have approximately same load
Transfer policy -- threshold based, determine if a process should be executed remotely or locally
Selection policy -- which task should be picked, overhead in transfer of selected task should be offset by
reduction in its response time
Location policy -- which node to be sent, possibly use polling to find suitable node
Information policy -- when should the information of other nodes
should be collected; demand-driven, or
periodic, or state-change-driven
Demand-driven:
nodes gather information about other nodes
sender initiated
receiver initiated
symmetrically initiated
Periodic :
nodes exchange information periodically
State-change-driven :
nodes disseminate information when their state changes
Stability -- queueing-theoretic, or algorithmic perspective
overloaded node-- when a new task makes the queue length ≥ threshold T
underloaded node -- if accepting a task still maintains queue lenght < threshold T
overloaded node attempts to send task to underloaded node
only newly arrived tasks considered for transfers
location policies:
random -- no information about other nodes
threshold -- polling to determine if its a receiver ( underloaded )
shortest -- a # of nodes are polled at random to determine their
queue length
information policy: demand-driven
stability: polling increases activites; render the system unstable at high load
41. Comparisons