Skip site navigation (1)Skip section navigation (2)
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>