This Article 
 Bibliographic References 
 Add to: 
Using Processor-Cache Affinity Information in Shared-Memory Multiprocessor Scheduling
February 1993 (vol. 4 no. 2)
pp. 131-143

In a shared-memory multiprocessor system, it may be more efficient to schedule a taskon one processor than on another if relevant data already reside in a particularprocessor's cache. The effects of this type of processor affinity are examined. It isobserved that tasks continuously alternate between executing at a processor andreleasing 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 forexecution. A mean-value technique is also developed and used in the scheduling modelsto include the effects of increased bus traffic due to these bursts of cache misses. Onlya small amount of affinity information needs to be maintained for each task. Theimportance of having a policy that adapts its behavior to changes in system load isdemonstrated.

[1] M. Accetta, R. Baron, W. Bolosky, D. Golub. R. Rashid. A. Tevanian, and M. Young, "Mach: A new kernel foundation for UNIX development," inProc. USENIX Assoc. Summer Tech. Conf., June 1986, pp. 93-112.
[2] A. Agarwal, M. Horowitz, and J. Hennessy, "An analytical cache model,"ACM Trans. Comput. Syst., vol. 7, pp. 184-215, May 1989.
[3] M. J. Bach,Design of the UNIX Operating System. Englewood Cliffs, NJ: Prentice-Hall, 1986.
[4] B. Bershad, ED. Lazowska, and H. Levy, "Presto: A System for Object-Oriented Parallel Programming,"Software: Practice and Experience, Vol. 18, No. 8, Aug. 1988, pp. 713-732.
[5] R. W. Conway, W. L. Maxwell, and L. W. Miller.Theory of Scheduling. Reading, MA: Addison-Wesley, 1967.
[6] D.H. Craft, "Resource Management in a Decentralized System,"Proc. Ninth ACM Symp. Operating System Principles, ACM Press, New York, Order No. 534830, 1983, pp. 11-19.
[7] P. J. Denning, "Working sets past and present."IEEE Trans. Software Eng., vol. SE-6, no. 1, pp. 64-84, Jan. 1980.
[8] P. A. Franaszek and R. D. Nelson, "Delay cost scheduling for timesharing systems," IBM Res. Rep. RC 13777 (#61800), June 1988.
[9] E. Horowitz and S. Sahni, "Exact and approximate algorithms for scheduling nonidentical processors,"J. ACMvol. 23, no. 2, pp. 317-327, Apr. 1976.
[10] N.P. Jouppi and D.W. Wall, "Available Instruction-Level Parallelism for Superpipelined and Superscalar Machines,"Third Int'l Conf. Architectural Support for Programming Languages and Operating Systems, IEEE CS Press, Los Alamitos, Calif., Order No. 1936, 1989, pp. 272-282.
[11] L. Kleinrock,Queueing Systems, Vol. II: Computer Applications. New York: Wiley, 1976.
[12] E. L. Lawler and C. U. Martel, "Scheduling periodically occurring tasks on multiple processors,"Inform. Processing Lett., vol. 12, no. 1, pp. 9-12, Feb. 1981.
[13] E. D. Lazawskaet al., Quantitative System Performance--Computer System Analysis Using Queueing Network Models. Englewood Cliffs, NJ: Prentice-Hall, 1984.
[14] L. M. Ni and C. E. Wu, "Design tradeoffs for process scheduling in shared memory multiprocessor systems,"IEEE Trans. Software Eng., vol. SE-15, no. 3, pp. 327-334, Mar. 1989.
[15] C. H. Sauer and K. M. Chandy,Computer Systems Performance Modeling. Englewood Cliffs, NJ: Prentice-Hall, 1981.
[16] Sequent Computer Systems, Inc.Symmetry Technical Summary, 1988.
[17] M. S. Squillante, "Issues in shared-memory multiprocessor scheduling: A performance evaluation," Ph.D. dissertation, Dep. Comput. Sci. and Eng., University of Washington, Sept. 1990.
[18] M. S. Squillante and R. D. Nelson, "Analysis of task migration in shared-memory multiprocessor scheduling," inProc. ACM SIGMETRICS Conf. Measurement and Modeling of Comput. Syst., May 1991, pp. 143-155.
[19] H. S. Stone, personal communication, Nov. 1990.
[20] B. Stroustrup,The C++ Programming Language. Reading, MA: Addison-Wesley, 1986.
[21] C. P. Thacker. L. C. Stewart, and E. H. Satterthwaite, Jr., "Firefly: A multiprocessor workstation,"IEEE Trans. Comput., vol. C-37, no. 8, pp. 909-920, Aug. 1988.
[22] S. S. Thakkar, P. R. Gifford, and G. F. Fieland, "Balance: A shared memory multiprocessor system," inProc. Second Int. Conf. Supercomput., May 1987, pp. 1-9.
[23] D. Thiebaut, personal communication, June-Sept. 1989.
[24] D. F. Thiebaut and H. S. Stone, "Footprints in the cache,"ACM Trans. Comput. Syst., vol. 5, no. 4, pp. 305-329, Nov. 1987.
[25] M. K. Vernon, E.D. Lazowska, and J. Zahorjan, "An accurate and efficient performance analysis technique for multiprocessor snooping cache-consistency protocols," inProc. 15th Annu. Int. Symp. Comput. Architecture, Honolulu, HI, May 1988, pp. 308-315.
[26] J. Voldman and L. W. Hoevel, "The software-cache connection,"IBM J. Res. Develop., vol. 25, no. 6, pp. 877-893, Nov. 1981.
[27] J. Voldman, B. Mandelbrot, L. W. Hoevel. J. Knight, and P. Rosenfeld, "Fractal nature of software-cache interaction,"IBM J. Res. Develop., vol. 27, no. 2, pp. 164-170, Mar. 1983.
[28] A. Weinrib and G. Gopal, "Decentralized resource allocation for distributed systems," inProc. INFOCOM, 1987.

Index Terms:
Index Termsqueueing network models; processor-cache affinity information; shared-memorymultiprocessor scheduling; I/O; synchronization; quantum expiration; preemption; meanvalue analysis; analytic cache model; buffer storage; performance evaluation; queueingtheory; scheduling; shared memory systems
M.S. Squiillante, E.D. Lazowska, "Using Processor-Cache Affinity Information in Shared-Memory Multiprocessor Scheduling," IEEE Transactions on Parallel and Distributed Systems, vol. 4, no. 2, pp. 131-143, Feb. 1993, doi:10.1109/71.207589
Usage of this product signifies your acceptance of the Terms of Use.