Information Technology Reference
In-Depth Information
performance reSultS
name. Therefore, naming of packets is an important
component to routing packets. Naming is also how
the Address Resolution Protocol (ARP) is able to
assign a unique identifier to each computer within a
network. Without a unique name for each computer
on a network, it would be impossible to properly
address packets. The Exokernel supports the nam-
ing and routing of packets by what Ganger and
others call the “sharing model” (Ganger, Engler,
Kaashoek, Briceño, Hunt, & Pinckney, 2002).
The Exokernel implements the sharing model by
publishing all of the Address Resolution Protocol
information in a translation table . Because this
translation table is made available to user code
in a read-only format, an application can look-up
the information that it requires without asking the
kernel for assistance. When a process does not find
the information that it needs in the translation table,
it can then ask the network for the information.
This is called the sharing model because all of the
applications share the translation table.
Perhaps the best way to evaluate the Exokernel
is by considering its performance results. In the
following paragraphs, we will look at five areas
that show enhanced operating system performance
due to the Exokernel's approach. These results
suggest the Exokernel's extensible approach pro-
vides enough of an enhancement as to make this
approach a desirable alternative to the traditional
operating system design.
common applications benefit
from an exokernel
When comparing the results of benchmark tests
that were performed by Xok/ExOS (a version
of the Exokernel) with FreeBSD and OpenBSD
(two other operating systems), we see that Xok/
ExOS was able to complete 11 tests in just 41
seconds - which is about 19 seconds faster than the
operating systems it was compared with. On three
benchmark tests, Xok/ExOS did behave slightly
slower than the competition, but these results were
expected because of how the benchmark test was
weighted. The slightly slower results were also of
such a small degree as to not be really significant.
As an overall score, the researchers state the Xok/
ExOS is about 32% more efficient than the other
operating systems that it was tested against.
network error reporting
It is important to notify the sender of a packet
when the addressee of a packet cannot be located.
According to Granger and others, the Exokernel's
“stray packet” daemon takes care of TCP segment
errors and network packets that cannot be delivered
to the correct location (Ganger, Engler, Kaashoek,
Briceño, Hunt, & Pinckney, 2002). Although the
exact details of how the daemon handles these
issues is unclear, it is interesting to note that the
kernel is very much involved in this service. The
researchers justify the kernel's heavy involvement
by noting that this service is most closely related
to protection rather than management. Therefore,
the Exokernel can still be thought of as providing
mostly protection of resources and allowing the
actual management to be provided by code found
in user-space.
exokernel's flexibility is not costly
Benchmark tests were also used to see if the
Exokernel's flexibility added too much overhead
and made its execution less efficient. In the test,
Xok/ExOS was compared to OpenBSD/C-FFS.
The Xok/ExOS completed the test in 41 seconds
versus the 51 seconds of the competition. Thus,
Xok/ExOS was about 20% faster than the other op-
erating systems. It is results like this that prompted
Engler to state that “an Exokernel's flexibility
can be provided for free” (Engler, 1998). Part of
the reason why the Exokernel is a little more ef-
Search WWH ::




Custom Search