Review of "Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism"

From: Song Xue (speedsx_at_hotmail.com)
Date: Sun Jan 25 2004 - 22:58:59 PST

  • Next message: Honghai Liu: "Review of Scheduler Activations"

    Managing parallelism at the user level is essential to high-performance parallel computing, but kernel threads or processes, as provided in many operating systems, are a poor abstraction on which to support this. The paper "Scheduler Activations: Effective Kernel Support for the User-Level Management of Parallelism" addresses this dilemma. It describes the design, implementation and performance of a kernel interface and a user-level thread package that together combine the performance of user-level threads with the functionality of kernel threads.
    The approach is based on providing each application address space with a virtual multiprocessor in which the application knows exactly how many processors it has and exactly which of its threads are running on those processors. Responsibilities are divided between the kernel and each application address space: Processor allocation is done by the kernel while thread scheduling is done by each address space. The kernel notifies the address space thread scheduler of every event affecting the address space while the address space notifies the kernel of the subset of user-level events that can affect processor allocation decisions.
    The kernel mechanism that is used to implement these ideas is called scheduler activations. A scheduler activation is the execution context for vectoring control from the kernel to the address space on a kernel event. The address space thread scheduler uses this context to handle the event. Scheduler activations are not linked to any particular model and can support any user-levfel concurrency model.
    The performance of scheduler activation mechanism is measured in three separate contexts: thread cost, communication cost and application performance. Thread cost is essentially he same as those of the FastThreads package (user level threads) running on the tested hardware/OS. The communication cost is higher than that of native kernel threads though the authors claim that given adequate tuning, they should be commensurate. As to application performance, The scheduler activation system performs marginally better in CPU bound computations and much better in IO bound computations where there is more kernel involvement. At the end the authors point out that more scaling work is being carried out on platforms with more processors.


  • Next message: Honghai Liu: "Review of Scheduler Activations"

    This archive was generated by hypermail 2.1.6 : Sun Jan 25 2004 - 22:59:09 PST