Fall 2000: CS 771/871 Operating Systems

[ Home | Class Roster | Syllabus | Status | Glossary | Search | Course Notes]


Distributed Scheduling


Analysis of Processor Pools

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 (which implies an unstable queuing system). Whenever the number of requests falls below N, the pool will service them slower than a fast processor (but faster than N isolated systems).

But of course an "N" faster processor may be prohibitively expensive or non-existent (N = 1000 * Pentium 600)

Let's analysis N isolated systems (adapted from Singhal) to see how big the problem is (level of underutilization in the absence of load balancing):


Probability of Idle When Waiting

 


Issues In Load Distribution


Components of Load Distribution Algorithms


Stability

Queuing-Theoretic: 

Algorithmic:


Load Distributions Algorithms
Sender-Initiated

Three simple yet effective algorithms:


Load Distributions Algorithms
Receiver-Initiated

ISSUE: catching a potential sender with a task that has not started is difficult.

Algorithm stable under load
Question: How can receiver initiated avoid preemption at sender?

 


Load Distributions Algorithms
Symmetrically-Initiated

Advantages of both: under low, sender-initiated more successful, under high receiver initiated are more successful.

But can also have the disadvantages as well.
Plus if sender sends then goes below threshold as a result and becomes receiver wanting to get job back, then sender because above, etc.

Goal: maintain load close to system average
Problem: could cause thrashing

Above Average Algorithm: avoid thrashing between sender/receiver


Load Distributions Algorithms
Adaptive

Above average does not keep track of busy and idle processors, just average load. broadcast or polling therefore may not be efficient.

Stable Symmetric: keep information from polling to classify nodes into three groups:
underloaded/overloaded/OK. (learns global state as by product of polling)
Initially all processors are receivers.

 

Stable sender initiated: uses sender initiated part of the above algorithm as is
Change receiver part to handle non-preemptive, new receivers using statevector (the current state believed by the other nodes) sends update to those who do not have ti on the receivers list.

ADSEND: Adaptive Sender

Only non-pre-emptive selection:

Uses sender-initiated portion of ADSYM algorithm.

Has an additional data structure STATEVECTOR (one location for each node) which records which list this node is on at every other node.

When sender polls, it additionally update STATEVECTOR for the polled node to reflect sender status.

Polled node updates its STATEVECTOR for the sender's list assignment.

Receiver algorithm:


  Comparison of Load Distribution Algorithms


Results of Comparision(from *)

* Shivaratri, Krueger and Singhal," Load Distribution in Locally Distributed Systems", IEEE Computer, Vol. 25, no 12, Dec. 1992, pp 33-44.

Assumptions and Parameters:

 


Results Figure 1


Results Figure 2

Better than sender at high

still unstable at high loads

Better than receiver at low


Results: Figure 3

 

Adaptive slightly better (SYM is adaptive)

ADSYM approaches ideal

ADSYM similar to RECV under heavy loads but better on light loads


Results: Figure 4

offered system load of .85 but by only a subset of processors (heterogeneous load)


Copyright chris wild 2000.
For problems or questions regarding this web contact [Dr. Wild].
Last updated: 10 Oct 2000 .