K42 focuses on achieving good performance and scalability, providing a customizable and maintainable system, and being accessible to a large community through an open source development model. Supporting the Linux API and ABI makes K42 available to a wide base of application programmers, and our modular structure makes the system accessible to the community of developers who wish to experiment with kernel innovations. K42 is available under an LGPL license (see https://www.research.ibm.com/K42).
The system is fully functional for 64-bit applications and currently runs on PowerPC (SMP) platforms (hardware and simulator) and is being ported to x86-64. It runs codes ranging from scientific applications, such as the Splash Benchmark Suite[23] and a full ASCI Nuclear Transport Code[21], to complex benchmarks like SPEC SDET[2] to significant subsystems like Apache.
Providing a well-structured kernel is a primary goal of the K42 project, but performance is also a central concern. Some research operating system projects have taken particular philosophies and have followed them rigorously to extremes in order to fully examine their implications. Although we follow a set of design philosophies in K42, we are willing to make compromises for the sake of performance. The principles that guide our design include 1) structuring the system using modular, object-oriented code, 2) designing the system to scale to very large shared-memory multiprocessors, 3) leveraging performance advantages of 64-bit processors, 4) avoiding centralized code paths, global data structures, and global locks, 5) moving system functionality to application libraries, and 6) moving system functionality from the kernel to user-level server processes.
Goals of the K42 project include: