BIB-VERSION:: CS-TR-v2.0 ID:: STAN//CSL-TR-94-601 ENTRY:: March 21, 1994 ORGANIZATION:: Stanford University, Computer Systems Laboratory. TITLE:: Efficient Scheduling on Multiprogrammed Shared-Memory Multiprocessors TYPE:: Thesis TYPE:: Technical Report AUTHOR:: Tucker, Andrew PAGES:: 98 ABSTRACT:: Shared-memory multiprocessors are often used as compute servers, with multiple users running applications in a multiprogrammed style. On such systems, naive time-sharing scheduling policies can result in poor performance for parallel applications. Most parallel applications are written with the model of a stable computing environment, where applications are running uninterrupted on a fixed number of processors. On a time-sharing system, processes are interrupted periodically and the number of processors running an application continually varies. The result is an decrease in performance for a number of reasons, including processes being obliviously preempted inside critical sections and cached data being replaced by intervening processes. This thesis explores using more sophisticated scheduling systems to avoid these problems. Robust implementations of previously proposed approaches involving cache affinity scheduling and gang scheduling are developed and evaluated. It then presents the design, implementation, and performance of process control, a novel scheduling approach using explicit cooperation between the application and kernel to minimize context switching. Performance results from a suite of workloads containing both serial and parallel applications, run on a 4-processor Silicon Graphics workstation, confirm the effectiveness of the process control approach. NOTES:: Also published as CS-TN-94-4 by Stanford University, Department of Computer Science. [Adminitrivia V2/ACK/19940321 Changed the ID from CS-TN-94-5 to CSL-TR-94-614 and added Also published note.] [Adminitrivia V1/Prg/19940310] END:: STAN//CSL-TR-94-601