Scheduler Activations: Effective Kernel Support for the User-Level management of Parallelism.

From: Chuck Reeves (creeves_at_windows.microsoft.com)
Date: Mon Jan 26 2004 - 15:02:26 PST

  • Next message: Brian Milnes: "Scheduler Activations Review"

    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.


  • Next message: Brian Milnes: "Scheduler Activations Review"

    This archive was generated by hypermail 2.1.6 : Mon Jan 26 2004 - 15:02:17 PST