Analysis of task migration in shared-memory multiprocessor scheduling

In shared-memory multiprocessor systems it may be more efficient to schedule a task on one processor than on mother. Due to the inevitability of idle processors in these environments, there exists an important tradeoff between keeping the workload balanced and scheduling tasks where they run most efficiently. The purpose of an adaptive task migration policy is to determine the appropriate balance between the extremes of this load sharing tradeoff.We make the observation that there are considerable differences between this load sharing problem in distributed and shared-memory multiprocessor systems, and we formulate a queueing theoretic model of task migration to study the problem. A detailed mathematical analysis of the model is developed, which includes the effects of increased contention for system resources induced by the task migration policy. Our objective is to provide a better understanding of task migration in shared-memory multiprocessor environments. In particular, we illustrate the potential for significant improvements in system performance, and we show that even when migration costs are large it may still be beneficial to migrate waiting tasks to idle processors. We further demonstrate the potential for unstable behavior under migratory scheduling policies, and we provide optimal policy thresholds that yield the best performance and avoid this form of processor thrashing.

[1]  Mark S. Squillante,et al.  Using Processor-Cache Affinity Information in Shared-Memory Multiprocessor Scheduling , 1993, IEEE Trans. Parallel Distributed Syst..

[2]  Kai Lai Chung,et al.  Markov Chains with Stationary Transition Probabilities , 1961 .

[3]  Donald F. Towsley,et al.  Adaptive load sharing in heterogeneous systems , 1989, [1989] Proceedings. The 9th International Conference on Distributed Computing Systems.

[4]  Edward D. Lazowska,et al.  The limited performance benefits of migrating active processes for load sharing , 1988, SIGMETRICS '88.

[5]  Harold S. Stone,et al.  Multiprocessor Scheduling with the Aid of Network Flow Algorithms , 1977, IEEE Transactions on Software Engineering.

[6]  Kevin P. McAuliffe,et al.  The IBM Research Parallel Processor Prototype (RP3): Introduction and Architecture , 1985, ICPP.

[7]  Bailey Proceedings of the 1988 international conference on parallel processing , 1988 .

[8]  Miron Livny,et al.  Load Balancing in Homogeneous Broadcast Distributed Systems , 1982, SIGMETRICS.

[9]  Edward D. Lazowska,et al.  Adaptive load sharing in homogeneous distributed systems , 1986, IEEE Transactions on Software Engineering.

[10]  Amnon Barak,et al.  A distributed load‐balancing policy for a multicomputer , 1985, Softw. Pract. Exp..

[11]  Yung-Terng Wang,et al.  Load Sharing in Distributed Systems , 1985, IEEE Transactions on Computers.

[12]  Raphael A. Finkel,et al.  A Stable Distributed Scheduling Algorithm , 1981, IEEE International Conference on Distributed Computing Systems.

[13]  Mark S. Squillante,et al.  Analysis of Contention in Multiprocessor Scheduling , 1990, Performance.

[14]  Donald F. Towsley,et al.  Adaptive Load Sharing in Heterogeneous Distributed Systems , 1990, J. Parallel Distributed Comput..

[15]  Barton P. Miller,et al.  Process migration in DEMOS/MP , 1983, SOSP '83.

[16]  Donald F. Towsley,et al.  A comparison of priority-based decentralized load balancing policies , 1986, SIGMETRICS '86/PERFORMANCE '86.

[17]  Teunis J. Ott,et al.  Load-balancing heuristics and process behavior , 1986, SIGMETRICS '86/PERFORMANCE '86.

[18]  Shahid H. Bokhari,et al.  Dual Processor Scheduling with Dynamic Reassignment , 1979, IEEE Transactions on Software Engineering.

[19]  Asser N. Tantawi,et al.  Optimal static load balancing in distributed computer systems , 1985, JACM.

[20]  Harold S. Stone,et al.  Critical Load Factors in Two-Processor Distributed Systems , 1978, IEEE Transactions on Software Engineering.

[21]  Marcel F. Neuts,et al.  Matrix-geometric solutions in stochastic models - an algorithmic approach , 1982 .

[22]  Leonard Kleinrock,et al.  Theory, Volume 1, Queueing Systems , 1975 .

[23]  Donald F. Towsley,et al.  Analysis of the Effects of Delays on Load Sharing , 1989, IEEE Trans. Computers.

[24]  Leonard Kleinrock,et al.  Queueing Systems: Volume I-Theory , 1975 .

[25]  A. D. Young Mathematics for Operations Research , 1978 .

[26]  Robert M Thrall,et al.  Mathematics of Operations Research. , 1978 .

[27]  Donald F. Towsley,et al.  Allocating programs containing branches and loops within a multiple processor system , 1986, IEEE Transactions on Software Engineering.

[28]  Edward D. Lazowska,et al.  A Comparison of Receiver-Initiated and Sender-Initiated Adaptive Load Sharing , 1986, Perform. Evaluation.