Vassal: Loadable Scheduler Support for Multi-Policy Scheduling

This paper presents Vassal, a system that enables applications to dynamically load and unload CPU scheduling policies into the operating system kernel, allowing multiple policies to be in effect simultaneously. With Vassal, applications can utilize scheduling algorithms tailored to their specific needs and general-purpose operating systems can support a wide variety of special-purpose scheduling policies without implementing each of them as a permanent feature of the operating system. We implemented Vassal in the Windows NT 4.0 kernel. Loaded schedulers coexist with the standard Windows NT scheduler, allowing most applications to continue being scheduled as before, even while specialized scheduling is employed for applications that request it. A loaded scheduler can dynamically choose to schedule threads in its class, or can delegate their scheduling to the native scheduler, exercising as much or as little control as needed. Thus, loaded schedulers can provide scheduling facilities and behaviors not otherwise available

Published in:
Proceedings of the 2nd USENIX Windows NT Symposium, 157-166
Vassal;loadable scheduler support;multi-policy scheduling;CPU scheduling;operating system kernel;general-purpose operating systems;special-purpose scheduling policies;Windows NT kernel;

 Record created 2006-12-22, last modified 2019-03-31

Download fulltext

Rate this document:

Rate this document:
(Not yet reviewed)