Date $date$

E cient Resource Scheduling in Multiprocessors by Soumen Chakrabarti Doctor of Philosophy in Computer Science University of California at BERKELEY Professor Katherine Yelick, Computer Science, Chair As multiprocessing becomes increasingly successful in scienti c and commercial computing, parallel systems will be subjected to increasingly complex and challenging workloads. To ensure good job response and high resource utilization, algorithms are needed to allocate resources to jobs and to schedule the jobs. This problem is of central importance, and pervades systems research at diverse places such as compilers, runtime, applications, and operating systems. Despite the attention this area has received, scheduling problems in practical parallel computing still lack satisfactory solutions. The focus of system builders is to provide functionality and features; the resulting systems get so complex that many models and theoretical results lack applicability. The focus of this thesis is in between the theory and practice of scheduling: it includes modeling, performance analysis and practical algorithmics. We present a variety of new techniques for scheduling problems relevant to parallel scienti c computing. The thesis progresses from new compile-time algorithms for message scheduling through new runtime algorithms for processor scheduling to a uni ed framework for allocating multiprocessor resources to competing jobs while optimizing both individual application performance and system throughput. The compiler algorithm schedules network communication for parallel programs accessing distributed arrays. By analyzing and optimizing communication patterns globally, rather than at the single statement level, we often reduce communication costs by factors of two to three in an implementation based on IBM's High-Performance Fortran compiler. The best parallelizing compilers at present support regular, static, array-based