Affinity scheduling of unbalanced workloads
- Univ. of Saskatchewan, Saskatoon (Canada). Dept. of Computational Science
Scheduling in a shared memory multiprocessor is often complicated by the fact that a unit of work may be processed more efficiently on one processor than on any other, due to factors such as the presence of required data in a local cache. The unit of work is said to have an ``affinity`` for the given processor, in such a case. The scheduling issue that has to be considered is the tradeoff between the goals of respecting processor affinities (so as to obtain improved efficiencies in execution) and of dynamically assigning each unit of work to whichever processor happens to be, at the time, least loaded (so as the obtain better load balance and decreased processor idle times). A specific context in which the above scheduling issue arises is that of shared memory multiprocessors with large, per-processor caches or cached main memories. The shared-memory programming paradigm of such machines permits the dynamic scheduling of work. The data required by a unit of work may, however, often reside mostly in the cache of one particular processor, to which that unit of work thus has affinity. In this paper, two new ``affinity scheduling`` algorithms are proposed for a context in which the units of work have widely varying execution times. An experimental study of these algorithms finds them to perform well in this context.
- OSTI ID:
- 87625
- Report Number(s):
- CONF-941118--; ISBN 0-8186-6605-6
- Country of Publication:
- United States
- Language:
- English
Similar Records
Scheduling and process migration in partitioned multiprocessors
Program partitioning and scheduling for NUMA computer architectures