From: Steve Arnold (stevearn_at_microsoft.com)
Date: Mon Jan 26 2004 - 14:35:41 PST
In this paper, the authors discuss what seems to be their invention,
"scheduler activations." Briefly this is a hybrid kernel/user-mode
approach to thread management. Their implementation is on a
non-mainstream machine, but the concepts seem to apply to many other
operating systems.
The authors assert that current thread management schemes do not perform
(and are not managed well) at neither the kernel nor the user level.
When they are management completely at the user level, they do not have
a real-world view of the underlying system, and thus cannot make a good
implementation. However, when managed at the kernel level, there is too
much overhead in using them for typical parallel programs.
With scheduler activations the authors aim to "demonstrate that the
exact functionality of kernel threads can be provided at the user
level." However, they need an enhancement to the system in order to do
this effectively. This is where activations come in. The activations let
the user control starting of stopped threads (among other things),
whereas this was previously done by the kernel. "Upcalls" are made for
relevant processor allocation events. The authors show in test results
that they can achieve better performance with these activations.
It seems to me that there might have been a debate up to this point
about how and where threads should really be managed. The authors offer
a solution. This must be quite successful as it has subsequently been
implemented on other OSes. Does this method require good user code to
use it effectively?
This archive was generated by hypermail 2.1.6 : Mon Jan 26 2004 - 14:51:04 PST