Providing a Linux API on the Scalable K42 Kernel

K42 is an open-source research kernel targeted for 64-bit cache-coherent
multiprocessor systems.  It was designed to scale up to multiprocessor
systems containing hundreds or thousands of processors and to scale down to
perform well on 2- to 4-way multiprocessors.  K42's goal was to re-design
the core of an operating system, but not an entire application environment.
We wanted to use a commonly available interface with a large established
code base.  Because Linux is open source and widely available, we chose to
support its application environment by supporting the Linux API and ABI.
There were some interesting complications as well as advantages that arose
from K42's structure because our implementation of the Linux application
environment was done primarily in user space, had to interface with K42's
object-oriented technology, and used fine-grained locking.  Other research
systems efforts directed at achieving a high degree of scalability and
maintainability exhibit similar structural characteristics.

In this paper we present the motivation behind K42, including its goals and
overall structure, and describe its system interface.  We then focus on the
required infrastructure and mechanisms needed to efficiently support a
Linux application environment.  We examine the lessons learned of what was
advantageous and what was disadvantageous from K42 in implementing the
Linux API and ABI.

By: Jonathan Appavoo, Marc Auslander, Dilma Da Silva, David Edelsohn, Orran Krieger, Michal Ostrowski, Bryan Rosenburg, Robert W. Wisniewski, Jimi Xenidis

Published in: RC22766 in 2003


This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.


Questions about this service can be mailed to .