Review: Kaashoek, et al. Application Performance and Flexibility on Exokernel Systems.

From: Richard Jackson (richja_at_expedia.com)
Date: Wed Jan 21 2004 - 13:31:42 PST

  • Next message: Brian Milnes: "Kashooek review"

    This 1997 paper by Kaashoek, et al. at MIT discusses an implementation
    of an exokernel operating system, which was proposed in previous papers.
    This paper is very detailed, and assumes that the reader has a strong
    knowledge about how traditional operating system kernels are
    implemented. Many comparisons and references are made to these
    traditional systems throughout the paper.
     
    An exokernel operating system is a system that separates resource
    protection from resource management. This is somewhat related to the
    mechanism/policy separation that existed in HYDRA, but this concept is
    more fundamental to the overall operation of the kernel. The main
    purpose of a exokernel is to give untrusted applications the optional
    ability to manage resources at the lowest-possible level, with the goal
    of drastically improving performance of the application. The authors
    also show that an exokernel design can improve performance of untuned
    applications as well. This free benefit certainly makes an exokernel
    system worth considering.
     
    This paper is extensive, and covers many different aspects of exokernel
    design and implementation. The paper first introduces Xok, which is the
    exokernel itself, and ExOS, which is the operating system that runs on
    top of Xok. ExOS is a example of a libOS, which is a general
    abstraction of an OS that can run on top of Xok. Other libOSs could be
    created, based on the needs of the application. The main purpose of the
    libOS is to abstract the underlying kernel and simulate a given OS, for
    example, UNIX. Using this model, unmodified applications can run on Xok
    via ExOS. Alternately, a tuned application can bypass the libOS, making
    direct calls to Xok, with the goal of improving performance. Through
    this model, Xok can support both legacy and specialized applications.
    Also worth noting is that any ExOS functionality can be replaced by an
    application's code, enabling a very high level of control.

    Another key concept is that of a libFS, which is a file system
    abstraction that is built as a component of each libOS. The paper
    described XN, which is a custom libFS that is used by the example
    system. The paper went into great detail about the various design
    challenges surrounding XN, and how the exokernel successfully
    multiplexes the physical storage among one or more libFSs that may
    exist. A second libFS called C-FFS(Co-locating Fast File System) is
    also discussed, as an alternative to XN.
     
    Next, some applications are described, which exploit the power of the
    exokernel system. The main example is a web server called Cheetah,
    which uses domain-specific-knowledge to influence the design. The
    result is a server that outperforms any of the other web servers
    mentioned. The authors claim that the optimizations needed involved
    little coding complexity.
     
    The remainder of the paper is focused on performance. Various studies
    were done to measure global performance of the system, in light of some
    applications using exokernel-specific implementations. The result was
    that the system still performed well. The authors gave a few reasons
    for this, but the general feeling is that an exokernel architecture
    empowers the applications to make better decisions about resource use,
    which makes the overall system perform better.
     
    The paper concludes with a list of advantages, weaknesses and lessons
    learned. One of the key weakness is that kernel interface design is
    very difficult and the authors suggested that an iterative design
    approach was required. One of the key strengths, aside from higher
    levels of resource control, is that kernel data is directly exposed to
    apparitions, making it possible to discover data that was previously
    unavailable.
     


  • Next message: Brian Milnes: "Kashooek review"

    This archive was generated by hypermail 2.1.6 : Wed Jan 21 2004 - 13:32:10 PST