Experience with K42, an open- source, Linux-compatible, scalable operation-system kernel IBM SYSTEM JOURNAL, VOL 44 NO 2, 2005 J. Appovoo 、 M. Auslander.

Post on 15-Jan-2016

221 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

Experience with K42, an open-source, Linux-compatible, scalable operation-system kernel

IBM SYSTEM JOURNAL, VOL 44 NO 2, 2005J. Appovoo 、 M. Auslander 、 M. Butrico 、 D. M. da SilvaO. Krieger 、 M. F. Mergen 、 M. Ostrowski 、B. Rosenburg 、 R. W. Wisniewski 、 J. Xenidis

About K42

Operating-system kernel Open-source Linux-compatible Scalable Being used for rapid prototyping of

OS policies and mechanisms.

Main goals

Scalability / performance Adaptability Extensibility / maintainability Open-source compatibility

Goal 1.Scalability / performance

Being structured in an object-oriented manner. Run efficiently on a range of mulitprocess

ors and applications. Each resource is managed by “per-insta

nce“ object. High degree of customizability. Provides self-managing capabilities.

Goal 2.Adaptability

Match the changing needs of the running applications.

Contribute to the autonomic behavior of the system.

Goal 3.Extensibility / maintainability

Support New hardware platforms or new applications easily.

Updating components without interrupting the system.

Goal 4.Open-source compatibility

Facilitates open-source collaboration.

Supporting needs of specific user groups.

Design Principle Use modular object-oriented code(C++). Avoid centralized code paths, global data st

ructure, and global locks. Move system functionality from the kernel t

o server processes and into application libraries.

These principles should not conflicted with scalability / performance goal.

Structural overview of K42

All layers of K42 is based on object-oriented technology.

Emulation layer Linux API and Linux ABI compatibility.

Standard Linux system call are trapped and reflected to the K42 library.

Object-oriented design

Each resource is managed by a different set of object instances.

Avoid global locks, global data structures, and global policies.

Clustered object model makes the distinction between independent and dependent request trasnparent.

Achieve good performance on multiprocessors. No shared data structures and locks can be

processed concurrently. Good locality of reference is achieved for

resources accessed by a small number of processors.

The clustered-object technology lets widely accessed objects be implemented in a distributed fashion.

Customizable Allows multiple policies and

mechanisms to be supported simultaneously.

Maintainable

User-mode implementation of system services

Much of functionality is moved to libraries that is executed in the client process. Allows for a large degree of

customization. Overhead is reduced. Thread scheduling, Timer interrupts,

Page-fault handling, IPC services, I/O servers.

Additional K42 technologies Integrated performance monitoring Hot-swapping Customizable and scalable operation system

KFS allows K42 to tailor the various workloads. Comprehensive scheduling

Processors, I/O, memory, synchronization Lock avoidance

Deletion of K42 objects is defferred.

Other K42 features

K42 was Designed to run on 64-bit processors.

K42 is fully preemptable. Most of kernel data structures are pag

eable.

Experiences Overall object-oriented design

It might be difficult to achieve a desired global state.

Trying to understand the interactions between the different components is complex.

The more applications that increase, the more infrastructure of recording objects is needed.

Modularity for new applications and new HW A porting of K42 to the AMD**x86

64bit platform. Incorporating of test code for a new

memory model into K42.

User-mode implementation This model is different from what an

open-source Linux developer is used to.

Version compatibility issues Multiple versions of the software that

are themselves incompatible makes it difficult for K42 to support Linux.

Status and current directions HW

PowerPC 64-bit platforms including POWER3*, POWER4+*, POWER MCA** G5

Apple G5 Xserve hardware. SW

JVM SPEC(System Performance Evaluation Corporatio

n) SDET(Software Development Envirenment Throu

ghput) Apache MySQL

Conclusions

K42 has the ability to serve as an open-source development platform.

Its modularity structure makes it a valuable teaching, researching, and prototyping vehicle.

Rapid prototyping of ideas.

top related