Date: Sun, 22 Sep 2002 04:10:42 +0200 (CEST) From: "=?iso-8859-1?q?Pedro=20F.=20Giffuni?=" <giffunip@yahoo.com> To: freebsd-arch@FreeBSD.org Subject: Loadable Scheduler (was Re: New Linux threading model) Message-ID: <20020922021042.73571.qmail@web13404.mail.yahoo.com>
next in thread | raw e-mail | index | archive | help
I know everyone is pretty much busy on other things, but since the subject of schedulers keeps coming every once in a while, I thought I should share this document from Microsoft Research that I found while looking for information on scheduler activations: http://www.research.microsoft.com/scripts/pubs/view.asp?TR_ID=MSR-TR-98-30 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. Our initial prototype implementation of Vassal supports two concurrent scheduling policies: a single loaded scheduler and the native scheduler. The changes we made to Windows NT were minimal and they have essentially no impact on system behavior when loadable schedulers are not in use. Furthermore, loaded schedulers operate with essentially the same efficiency as the default scheduler. An added benefit of loadable schedulers is that they enable rapid prototyping of new scheduling algorithms by often removing the time-consuming reboot step from the traditional edit/compile/reboot/debug cycle. In addition to the Vassal infrastructure, we also describe a “proof of concept” loadable real-time scheduler and performance results. Published by Advanced Computing Systems Association as: Candea, G.M. and M.B. Jones, "Vassal: loadable scheduler support for multi-policy scheduling," Proceedings of the 2nd USENIX Windows NT Symposium, USENIX Assoc, Berkeley, CA, 1998, pp. 157-166. ___________ ps. I understand the source code (for Windows NT) is available by contacting the authors. ______________________________________________________________________ Mio Yahoo!: personalizza Yahoo! come piace a te http://it.yahoo.com/mail_it/foot/?http://it.my.yahoo.com/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020922021042.73571.qmail>
