experience with k42, an open- source, linux-compatible, scalable operation-system kernel ibm system...

22
Experience with K42, an open-source, Linux- compatible, scalable operation-system kernel IBM SYSTEM JOURNAL, VOL 44 NO 2, 2005 J. Appovoo M. Auslander M. Butrico D. M. da Silva O. Krieger M. F. Mergen M. Ostrowski B. Rosenburg R. W. Wisniewski J. Xeni dis

Upload: alban-hawkins

Post on 15-Jan-2016

230 views

Category:

Documents


0 download

TRANSCRIPT

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

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

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

About K42

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

OS policies and mechanisms.

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

Main goals

Scalability / performance Adaptability Extensibility / maintainability Open-source compatibility

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

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.

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

Goal 2.Adaptability

Match the changing needs of the running applications.

Contribute to the autonomic behavior of the system.

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

Goal 3.Extensibility / maintainability

Support New hardware platforms or new applications easily.

Updating components without interrupting the system.

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

Goal 4.Open-source compatibility

Facilitates open-source collaboration.

Supporting needs of specific user groups.

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

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.

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

Structural overview of K42

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

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.

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

Object-oriented design

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

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.

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

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.

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

Customizable Allows multiple policies and

mechanisms to be supported simultaneously.

Maintainable

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

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.

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

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.

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

Other K42 features

K42 was Designed to run on 64-bit processors.

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

eable.

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

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.

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

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.

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

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.

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

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

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

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.