For cluster-based systems, our goal was to support mixed workloads of parallel and serial jobs, including both timeshared and batch jobs, by coscheduling parallel jobs while ensuring fair scheduling of all jobs. Existing schedulers provide limited if any control over the resource share allotted to each job. In addition, no existing scheduler provides useful coscheduling of parallel jobs on clusters. We have developed a flexible object-oriented framework for specifying resource management policies in concurrent systems. We have also devised novel proportional-share scheduling algorithms for managing several diverse resources, including processor time, memory, access to locks, and disk bandwidth.
More information is available in several online publications .
In collaboration with the Concurrent Systems Architecture Group at UIUC, we implemented a prototype of dynamic coscheduling on a workstation cluster. More information is available in several online publications .