Improving UNIX Kernel Performance using Profile Based Optimization
Steven E. Speer (Hewlett-Packard)
Rajiv Kumar (Hewlett-Packard)
Craig Partridge (Bolt Beranek and Newman/Stanford University)
Abstract
Several studies have shown that operating system performance has
lagged behind improvements in application performance. In this paper
we show how operating systems can be improved to make better use of
RISC architectures, particularly in some of the networking code, using
a compiling technique known as Profile Based Optimization (PBO). PBO
uses profiles from the exe- cution of a program to determine how to
best organize the binary code to reduce the number of dynamically
taken branches and reduce instruction cache misses. In the case of an
operating system, PBO can use profiles produced by instrumented
kernels to optimize a kernel image to reflect patterns of use on a
particular system. Tests applying PBO to an HP-UX kernel running on
an HP9000/720 show that certain parts of the system code (most notably
the networking code) achieve substantial performance improvements of
up to 35% on micro benchmarks. Overall system performance typically
improves by about 5%.
Download the full text of this paper in
ASCII (35,976 bytes) and
PDF (35,392 bytes) form.
To Become a USENIX Member, please see our
Membership Information.