From: Chuck Reeves (creeves_at_windows.microsoft.com)
Date: Mon Jan 26 2004 - 15:02:26 PST
The paper, "Scheduler Activations: Effective Kernel Support for the
User-Level management of Parallelism, was written by a group of
researchers at the University of Washington around 1992. The paper
outlines problems with the design of current (as of 1992) approaches to
the thread management. The authors claim that the design of kernel
thread packages and user-level thread packages suffer by not having
access to pertinent and critical information related to scheduler
behavior (processor availability) and program structure (thread/address
spaces etc...). The document proposes to introduce an eventing model
between the kernel and a per-process object called an address space
thread scheduler. The events are called scheduler activations. The
scheduler activations are able to notify the user-level thread packages
of changes in state of the scheduler. Such as recent availability of
processors or impending preemption of threads currently running in that
address space (process).
This approach improves upon kernel threads by reducing the number of
calls into the kernel. It improves upon the current model of building
user-level thread packages on top of kernel-threads by permitting
cooperative use of information and control between the kernel and the
user-level thread packages.
I thought the idea of exposing a virtual processor to the user-level
thread packages to be brillant abstraction. I also appreciated the
freedom that this abstraction provided to use different concurrency
models in the user-level. Section 3.2 discussed an algorithm for
allocating processors that favored address spaces that use fewer
processors that use more. I don't understand how this can work and I
would like to here more about it. The binary optimizations made to the
c-runtime library to optimize the exit critical section code sounded
like a bit of hack, but I can understand why it was effective. The
explanation justfying the poor upcall performance was acceptable. All in
all, a well written and informative paper.
This archive was generated by hypermail 2.1.6 : Mon Jan 26 2004 - 15:02:17 PST