Review: Anderson, Lazowska, Levy, The Performance Implications of Thread Management Alternatives

From: Ian King (iking_at_killthewabbit.org)
Date: Mon Jan 26 2004 - 17:21:43 PST

  • Next message: Reid Wilkes: "Thread management paper review"

    The authors create a taxonomy of thread management alternatives for
    multiprocessors, assuming shared-memory implementations and providing
    considerable low-level detail based on typical operating system structures, and
    then analyze the performance implications of the resulting systems. This
    discussion is supplemented by implementation of each alternative on an
    appropriate platform, the Sequent Symmetry shared-memory multiprocessor.

    Reading somewhat between the lines, it seemed the authors chose a user-mode
    thread system, which was intriguing given the paper we read regarding scheduler
    activations; between these two papers, we see the use of user-mode threads over
    kernel-owned threads in multiprocessor environments, and significant performance
    gains as a result.

    The authors started from an optimized position - a user-mode threading
    implementation - and analyzed how variations in the implementation could affect
    performance; part of the argument was that by minimizing the overall overhead of
    the threading mechanism, the performance implications of those variations would
    be much more apparent. The authors seemed to find that the management of
    locking for shared resources, and the resulting bus contention in various
    shared-bus schemes, was the predominating factor in performance, with other
    thread overhead being significant but secondary. The analysis of resulting
    performance was quite rigorous in comparison with other papers we've read, and
    the authors were quite thorough in addressing possible alternative
    interpretations of the data.

    I was particularly intrigued by the idle queue for processors; treating
    processors as a resource is an idea I've considered in the context of the
    exokernel. It is often implicitly assumed that the processor is the Lord and
    Master of a computing system; while it is true that nothing happens without the
    processor, from the perspective of tasks in a multitasking system that processor
    is simply another resource to be shared. I think the idea of distinguishing
    the services of a processor as a shareable resource from the perspective of the
    scheduler adds considerable clarity to considerations of multiprocessor OS
    implementation.


  • Next message: Reid Wilkes: "Thread management paper review"

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