Chris Vaill - Columbia University
Proportional share resource management provides a flexible and useful abstraction for multiplexing time-shared resources. Previous proportional share mechanisms have either high scheduling overhead, or weak proportional sharing accuracy, and most are not designed for use in multiprocessor systems. To address this problem, we are designing and implementing a new proportional share scheduler that both is highly scalable and gives good proportional-share accuracy on multiprocessor machines. The scheduler provides scalable performance by distributing scheduling among the CPUs using a novel load balancing mechanism that works together with an efficient per-CPU scheduler. The scheduler makes scheduling decisions in constant time and preserves proportional sharing properties within the constraints of multiprocessor scheduling. We are implementing the scheduler in the Linux kernel and evaluating its performance on multiprocessor systems.