YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

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.


Related Documents