Next: Chapter 12: Recovery
Up: No Title
Previous: Chapter 9: Disributed File
Load
- Resource and CPU queue lengths are good indicators of load.
- Artificially increment CPU queue length for transferred jobs on their
way.
- Set timeouts for such jobs to safeguard against transfer failures.
- Little correlation between queue length and CPU utilization for
interactive jobs: use utilization instead.
- Monitoring CPU utilization is expensive.
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.
Need to consider overheads of system state collection.
Load Balancing vs. Sharing
- Load Sharing
- : reduce the likelihood of
unshared state by
transferring tasks to lightly loaded nodes.
- Load Balancing
- : attempt to equalize load at all computers.
Load balancing incurs higher overheads.
Anticipatory task transfers can reduce the
duration of unshared state.
Preemptive vs. Nonpreemptive
- Preemptive transfers
- : transfer of a task that is partially executed.
- expensive due to collection of task's state
- Nonpreemptive transfers
- : only transfer tasks that have not begun
execution.
Components of Load Distribution
- Transfer policy
- : threshold based.
- Selection policy
- : overhead in transfer of
selected task should be
offset by reduction in its response time.
- Location policy
- : possibly use polling to find suitable node.
- Information policy
- : demand-driven, or
periodic, or
state-change-driven.
- Stability
- : queueing-theoretic, or algorithmic
perspective.
Information Policy
- Demand-driven
- : nodes gather information about other nodes.
- sender initiated
- receiver initiated
- symmetrically initiated
- State-change-driven
- : nodes disseminate
information when their state
changes.
Sender Initiated Algorithms
- overloaded node: when a new task makes the queue
length exceed threshold, T
- underloaded node: if accepting a task will not cause queue to
exceed threshold, T
- overloaded node attempts to send task to underloaded node
- only newly arrived tasks considered for
transfers
- location policies: random, threshold, or
shortest
- information policy: demand-driven
- render the system unstable at high load
Receiver Initiated Algorithms
- if a task departure drops node queue length below T: receiver
- underloaded node tries to obtain task from overloaded node
- initiate search for sender either on a task departure or after a
predetermined period: why?
- information policy: demand-driven
- remain stable at high and low loads
- drawback: most transfers are preemptive and expensive, especially if
round-robin CPU scheduling is employed at nodes.
Symmetrically Initiated Algorithms
- senders search for receivers:
- successful in low load situations
- high polling overhead in high load situations
- receivers search for senders:
- useful in high load situations
- preemptive task transfer facility is necessary
Next: Chapter 12: Recovery
Up: No Title
Previous: Chapter 9: Disributed File
Ravi Prakash
2000-04-22