DOC PREVIEW
CORNELL CS 614 - Study Guide

This preview shows page 1-2-3-4 out of 12 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 12 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

The Performance of p-Kernel-Based Systems Hermann H&g Michael Hobmuth Jochen Liedtke* Sebastian SchGnberg Jean Wolter Dresden University of Technology Department of Computer Science D-01062 Dresden, Germany email: [email protected] Abstract First-generation p-kernels have a reputation for being too slow and lacking sufficient flexibility. To determine whether LA, a lean second-generation p-kernel, has overcome these limitations, we have repeated several earlier experiments and conducted some novel ones. Moreover, we ported the Linux operating system to run on top of the L4 p-kernel and compared the resulting system with both Linux running native, and MkLinux, a Linux version that executes on top of a first-generation Mach-derived p-kernel. For L4Linux, the AIM benchmarks report a maximum through- put which is only 5% lower than that of native Linux. The corre- sponding penalty is 5 times higher for a co-located in-kernel ver- sion of MkLinux, and 7 times higher for a user-level version of MkLinux. These numbers demonstrate both that it is possible to implement a high-performance conventional operating system per- sonality above a p-kernel, and that the performance of the p-kernel is crucial to achieve this. Further experiments illustrate that the resulting system is highly extensible and that the extensions perform well. Even real-time memory management including second-level cache allocation can be implemented at user-level, coexisting with L4Linux. 1 Introduction The operating systems research community has almost completely abandoned research on system architectures that are based on pure p-kernels, i. e. kernels that provide only address spaces, threads and IPC, or an equivalent set of primitives. This trend is due primarily to the poor performance exhibited by such systems constructed in the 1980’s and early 1990’s. This reputation has not changed even with the advent of faster p-kernels; perhaps because these p-kernel have for the most part only been evaluated using microbenchmarks. Many people in the OS research community have adopted the hypothesis that the layer of abstraction provided by pure p-kernels is either too low or too high. The “too low” faction concentrated on the extensible-kernel idea. Mechanisms were introduced to add functionality to kernels and their address spaces, either pragmat- ically (co-location in Chorus or Mach) or systematically. Vari- ous means were invented to protect kernels from misbehaving ex- tensions, ranging from the use of safe languages [S] to expensive transaction-like schemes [34]. The “too high” faction started build- ing kernels resembling a hardware architecture at their interface I This research was supported in part by the Deutsche Forschungsgemein- schaft (DFG) through the Sonderforschungsbereich 358. Permission to make digital/hard copy of part or all this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advan- tage, the copyright notice, the title of the publication and its date appear, and notice is given that copying is by permission of ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. SOSP-16 10197 Saint-Malo, France 0 1997 ACM 0.89731-916-5/97/0010...$3.50 * IBM T. J. Watson Research Center 30 Saw Mill River Road Hawthorne, NY 10532, USA email: [email protected] [12]. Software abstractions have to be built on top of that. It is claimed that ,u-kernels can be fast on a given architecture but can- not be moved to other architectures without losing much of their efficiency [19]. In contrast, we investigate the pure p-kernel approach by system- atically repeating earlier experiments and conducting some novel experiments using L.4, a second-generation /c-kernel. (Most first- generation p-kernels like Chorus [32] and Mach [ 131 evolved from earlier monolithic kernel approaches; second-generation II-kernels like QNX [16] and L.4 more rigorously aim at minimality and arc designed from scratch [24].) The goal of this work is to show that p-kernel based systems are usable in practice with good performance. L4 is a lean kernel fea- turing fast message-based synchronous IPC, a simple-to-use exter- nal paging mechanism and a security mechanism based on secure domains. The kernel implements only a minimal set of abstractions upon which operating systems can be built [22]. The following CX- periments were performed: A monolithic Unix kernel, Linux, was adapted to run as a user-level single server on top of L4. This makes L4 usable in practice, and gives us some evidence (at least an upper bound) on the penalty of using a standard OS personality on top of a fast p-kernel. The performance of the resulting system is compared to the native Linux implementation and MkLinux, a port of Linux to a Mach 3.0 derived ,&kernel [lo], Furthermore, comparing L4Linux and MkLinux gives US some insight in how the p-kernel efficiency influences the overall system performance. The objective of three fhrther experiments was to show the extensibility of the system and to evaluate the achievable pcr- formance. Firstly, pipe-based local communication was im- plemented directly on the ,u-kernel and compared to the native Linux implementation. Secondly, some mappidg-related OS extensions (also presented in the recent literature on cxtcnsi- ble kernels) have been implemented as user-level tasks on L4. Thirdly, the first part of a user-level real-time memo 7 man- agement system was implemented. Coexisting with L Linux, the system controls second-level cache allocation to improve the worst-case performance of real-time applications. To check whether the’L.4 abstractions are reasonably indc- pendent of the Pentium platform L4 was originally designed for, the p-kernel was reimplemented from scratch on an Alpha 21164, preserving the original L4 interface. Starting from the IPC implementation in L4/Alpha, we also implemented a lower-level communication primitive, simi- lar to Exokemel’s


View Full Document

CORNELL CS 614 - Study Guide

Documents in this Course
Load more
Download Study Guide
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Study Guide and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Study Guide 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?