Check out the new USENIX Web site.

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)


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.