Top Banner
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
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.

Jan 15, 2016

Download

Documents

Alban Hawkins
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
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.