Using processor-cache affinity information in shared-memory multiprocessor scheduling
- 1 February 1993
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Parallel and Distributed Systems
- Vol. 4 (2), 131-143
- https://doi.org/10.1109/71.207589
Abstract
In a shared-memory multiprocessor system, it may be more efficient to schedule a task on one processor than on another if relevant data already reside in a particular processor's cache. The effects of this type of processor affinity are examined. It is observed that tasks continuously alternate between executing at a processor and releasing this processor due to I/O, synchronization, quantum expiration, or preemption. Queuing network models of different abstract scheduling policies are formulated, spanning the range from ignoring affinity to fixing tasks on processors. These models are solved via mean value analysis, where possible, and by simulation otherwise. An analytic cache model is developed and used in these scheduling models to include the effects of an initial burst of cache misses experienced by tasks when they return to a processor for execution. A mean-value technique is also developed and used in the scheduling models to include the effects of increased bus traffic due to these bursts of cache misses. Only a small amount of affinity information needs to be maintained for each task. The importance of having a policy that adapts its behavior to changes in system load is demonstrated.<>Keywords
This publication has 14 references indexed in Scilit:
- Analysis of task migration in shared-memory multiprocessor schedulingPublished by Association for Computing Machinery (ACM) ,1991
- An analytical cache modelACM Transactions on Computer Systems, 1989
- Available instruction-level parallelism for superscalar and superpipelined machinesPublished by Association for Computing Machinery (ACM) ,1989
- Design tradeoffs for process scheduling in shared memory multiprocessor systemsIEEE Transactions on Software Engineering, 1989
- PRESTO: A system for object‐oriented parallel programmingSoftware: Practice and Experience, 1988
- Fractal Nature of Software-Cache InteractionIBM Journal of Research and Development, 1983
- Resource management in a decentralized systemPublished by Association for Computing Machinery (ACM) ,1983
- Scheduling periodically occurring tasks on multiple processorsInformation Processing Letters, 1981
- Working Sets Past and PresentIEEE Transactions on Software Engineering, 1980
- Exact and Approximate Algorithms for Scheduling Nonidentical ProcessorsJournal of the ACM, 1976