The performance of multiprogrammed multiprocessor scheduling algorithms

Scheduling policies for general purpose multiprogrammed multiprocessors are not well understood. This paper examines various policies to determine which properties of a scheduling policy are the most significant determinants of performance. We compare a more comprehensive set of policies than previous work, including one important scheduling policy that has not previously been examined. We also compare the policies under workloads that we feel are more realistic than previous studies have used. Using these new workloads, we arrive at different conclusions than reported in earlier work. In particular, we find that the “smallest number of processes first” (SNPF) scheduling discipline performs poorly, even when the number of processes in a job is positively correlated with the total service demand of the job. We also find that policies that allocate an equal fraction of the processing power to each job in the system perform better, on the whole, than policies that allocate processing power unequally. Finally, we find that for lock access synchronization, dividing processing power equally among all jobs in the system is a more effective property of a scheduling policy than the property of minimizing synchronization spin-waiting, unless demand for synchronization is extremely high. (The latter property is implemented by coscheduling processes within a job, or by using a thread management package that avoids preemption of processes that hold spinlocks.) Our studies are done by simulating abstract models of the system and the workloads.

[1]  John K. Ousterhout,et al.  Scheduling Techniques for Concurrent Systems , 1982, ICDCS.

[2]  R. Butterworth,et al.  Queueing Systems, Vol. II: Computer Applications. , 1977 .

[3]  Edward D. Lazowska,et al.  The Effect of Scheduling Discipline on Spin Overhead in Shared Memory Parallel Systems , 1991, IEEE Trans. Parallel Distributed Syst..

[4]  Lionel M. Ni,et al.  Design Tradeoffs for Process Scheduling in Shared Memory Multiprocessor Systems , 1989, IEEE Trans. Software Eng..

[5]  Brian N. Bershad,et al.  PRESTO: A system for object‐oriented parallel programming , 1988, Softw. Pract. Exp..

[6]  Anoop Gupta,et al.  Process control and scheduling issues for multiprogrammed shared-memory multiprocessors , 1989, SOSP '89.

[7]  Shikharesh Majumdar,et al.  Scheduling in multiprogrammed parallel systems , 1988, SIGMETRICS '88.

[8]  Edward D. Lazowska,et al.  Speedup Versus Efficiency in Parallel Systems , 1989, IEEE Trans. Computers.

[9]  M NiLionel,et al.  Design Tradeoffs for Process Scheduling in Shared Memory Multiprocessor Systems , 1989 .

[10]  John K. Ousterhout Scheduling Techniques for Concurrebt Systems. , 1982, ICDCS 1982.

[11]  Asser N. Tantawi,et al.  Performance analysis of parallel processing systems , 1987, SIGMETRICS '87.

[12]  K. Mani Chandy,et al.  Computer Systems Performance Modeling , 1981 .

[13]  John L. Gustafson,et al.  Reevaluating Amdahl's law , 1988, CACM.

[14]  Linus Schrage,et al.  Letter to the Editor - A Proof of the Optimality of the Shortest Remaining Processing Time Discipline , 1968, Oper. Res..

[15]  Shikharesh Majumdar Processor scheduling in multiprogrammed parallel systems , 1988 .

[16]  W. D. Ray Queueing Systems. Vol. II—Computer Applications , 1977 .