From: Joanna Muench (joannam_at_spro.net)
Date: Mon Jan 19 2004 - 18:24:09 PST
Kassshoek, et al (1997) present a detailed description of an exokernel
system, including the motivating philosophy, implementation, performance
comparisons with unmodified UNIX systems and finally an example of a web
server application. The paper argues that an architecture giving
application direct access to resources will both speed performance and
accommodate a broader variety of applications. The first point is
adequately proven through benchmarks comparing the system with other
UNIX systems while the second point is perhaps appropriately left to
other referenced work.
System protections are again defined by capabilities; the substantial
difference between these capabilities and those defined in Dennis and
Van Horn (1966) are unfortunately described elsewhere. The storage
system presented the greatest technical challenge in implementing the
system and required at least three different approaches. One
break-through was the realization that temporary file systems don't need
to maintain the rigid integrity rules defined by Ganger and Patt
(1994).The more important concept of the storage system were the
templates required to define each type of data structure and the
untrusted deterministic functions used to define these templates. I
found the description of UDF's to be somewhat opaque.
The remainder of the paper described the Xok implementation of the
exokernel ideas and provides some benchmarks, both of the base system
and of a web server application specially designed for this
architecture. The numbers are impressive, with the base system at least
matching and often surpassing standard UNIX implementations and the
optimized Cheetah application dwarfing other applications (at least
until limited by network bandwidth). Some of the improvements are due to
a more efficient library file system, C-FFS (which any OS could
implement), but most are attributable to the gains allowed by optimizing
resources, for instance storing individual files that make up an HTML
page together. Interestingly, the authors were unable to explain
performance gains for the base system in three applications (pax, cp and
diff).
As a developer, I was relieved to read that the system came with the
ExOS library to support most of the BSD abstractions. This obviates the
need for an application to redefine the wheel for non-critical resource
access. But it raises the issue of how widespread the need for such a
specialized system really is. As processor speeds have increased the
cost of designing an application that will fully exploit the exokernel
interface becomes hard to justify. I wish the authors had discussed some
of the experience they allude to in the first paragraph of the
introduction, that mistakes in resource interface design can be very
expensive.
This archive was generated by hypermail 2.1.6 : Mon Jan 19 2004 - 18:20:36 PST