Skip to main content
Back to USENIX
  • Conferences
  • Students
Sign in

USENIX Conference Policies

  • Event Code of Conduct
  • Conference Network Policy
  • Statement on Environmental Responsibility Policy

In-Kernel Servers on Mach 3.0: Implementation and Performance

Jay Lepreau, Mike Hibler, Bryan Ford, Jeffrey Law, and Douglas Orr, University of Utah

The advantages in modularity and power of microkernel-based operating systems such as Mach 3.0 are well known. The existing performance problems of these systems, however, are signicant. Much of the performance degradation is due to the cost of maintaining separate protection domains, traversing software layers, and using a semantically rich inter-process communication mechanism. An approach that optimizes the common case is to permit merging of protection domains in performance critical applications, while maintaining protection boundaries for debugging or in situations that demand robustness. In our system, client calls to the server are effectively bound either to a simple system call interface, or to a full RPC mechanism, depending on the server's location. The optimization reduces argument copies, as well as work done in the control path to handle complex and infrequently encountered message types. In this paper we present a general method of doing this for Mach 3.0 and the results of applying it to the Mach microkernel and the OSF/1 single server. We describe the necessary modifications to the kernel, the single server, and the RPC stub generator. Semantic equivalence, backwards compatibility, and common source and binary code are preserved. Performance on micro and macro benchmarks is reported, with RPC performance improving by a factor of three, Unix system calls to the server improving between 20% and a factor of two, and 4-13%performance gain on large benchmarks. A breakdown of the times on the RPC path is also presented.

Jay Lepreau, University of Utah

Mike Hibler, University of Utah

Bryan Ford, University of Utah

Jeffrey Law, University of Utah

Douglas Orr, University of Utah

BibTeX
@inproceedings {252206,
author = {Jay Lepreau and Mike Hibler and Bryan Ford and Jeffrey Law and Douglas Orr},
title = {{In-Kernel} Servers on Mach 3.0: Implementation and Performance},
booktitle = {USENIX Mach III Symposium (USENIX Mach III Symposium)},
year = {1993},
address = {Santa Fe, NM},
url = {https://www.usenix.org/conference/usenix-mach-iii-symposium/kernel-servers-mach-30-implementation-and-performance},
publisher = {USENIX Association},
month = apr
}
Download

Links

Paper: 
http://usenix.org/publications/library/proceedings/mach3/full_papers/lepreau.ps
  • Log in or register to post comments

© USENIX
EIN 13-3055038

  • Privacy Policy
  • Contact Us