skip to main content
10.1145/1217935.1217949acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
Article

K42: building a complete operating system

Published: 18 April 2006 Publication History

Abstract

K42 is one of the few recent research projects that is examining operating system design structure issues in the context of new whole-system design. K42 is open source and was designed from the ground up to perform well and to be scalable, customizable, and maintainable. The project was begun in 1996 by a team at IBM Research. Over the last nine years there has been a development effort on K42 from between six to twenty researchers and developers across IBM, collaborating universities, and national laboratories. K42 supports the Linux API and ABI, and is able to run unmodified Linux applications and libraries. The approach we took in K42 to achieve scalability and customizability has been successful.The project has produced positive research results, has resulted in contributions to Linux and the Xen hypervisor on Power, and continues to be a rich platform for exploring system software technology. Today, K42, is one of the key exploratory platforms in the DOE's FAST-OS program, is being used as a prototyping vehicle in IBM's PERCS project, and is being used by universities and national labs for exploratory research. In this paper, we provide insight into building an entire system by discussing the motivation and history of K42, describing its fundamental technologies, and presenting an overview of the research directions we have been pursuing.

References

[1]
A. Agarwal, R. Bianchini, D. Chaiken, K. L. Johnson, D. Kranz, J. Kubiatowicz, B.-H. Lim, K. Mackenzie, and D. Yeung. The MIT Alewife machine: architecture and performance. In ISCA '95: Proceedings of the 22nd annual international symposium on Computer architecture, pages 2--13, New York, NY, USA, 1995. ACM Press.
[2]
J. Appavoo, M. Auslander, D. Edelsohn, D. da Silva, O. Krieger, M. Ostrowski, B. Rosenburg, R. W. Wisniewski, and J. Xenidis. Providing a Linux API on the scalable K42 kernel. In Freenix track, USENIX Technical Conference, pages 323--336, San Antonio, TX, June 9--14 2003.
[3]
J. Appavoo, K. Hui, M. Stumm, R. Wisniewski, D. da Silva, O. Krieger, and C. Soules. An infrastructure for multiprocessor run-time adaptation. In WOSS - Workshop on Self-Healing Systems, pages 3--8, 2002.
[4]
A. Baumann, J. Appavoo, D. da Silva, O. Krieger, and R. W. Wisniewski. Improving operating system availability with dynamic update. In Workshop of Operating System and Architectural Support for the On-demand IT Infrastructure (OASIS), pages 21--27, Boston Massachusetts, October 9, 2004 2004.
[5]
A. Baumann, J. Appavoo, D. D. Silva, J. Kerr, O. Krieger, and R. W. Wisniewski. Providing dynamic update in an operating system. In USENIX Technical Conference, pages 279--291, Anaheim, CA, April 2005.
[6]
A. Baumann, J. Kerr, J. Appavoo, D. D. Silva, O. Krieger, and R. W. Wisniewski. Module hot-swapping for dynamic update and reconfiguration in K42. In Proc. of 6th Linux.conf.au (LCA), Canberra, April 2005.
[7]
B. N. Bershad, S. Savage, P. Pardyn, E. G. Sirer, M. E. Fiuczynski, D. Becker, C. Chambers, and S. Eggers. Extensibility, safety and performance in the SPIN operating system. In ACM Symposium on Operating System Principles, 3--6 December 1995.
[8]
P. Bohrer, J. Peterson, M. Elnozahy, R. Rajamony, A. Gheith, R. Rockhold, C. Lefurgy, H. Shafi, T. Nakra, R. Simpson, E. Speight, K. Sudeep, E. V. Hensbergen, and L. Zhang. Mambo: a full system simulator for the PowerPC architecture. SIGMETRICS Perform. Eval. Rev., 31(4):8--12, 2004.
[9]
J. Bruno, E. Gabber, B. Ozden, and A. Silberschatz. The Eclipse operating system: Providing quality of service via reservation domains. In USENIX Technical Conference, New Orleans, LA, June 1998.
[10]
R. Bryant, J. Hawkes, and J. Steiner. Scaling Linux to the extreme: from 64 to 512 processors. In Ottawa Linux Symposium. Linux Symposium, 2004.
[11]
J. Chapin, M. Rosenblum, S. Devine, T. Lahiri, D. Teodosio, and A. Gupta. Hive: Fault containment for shared-memory multiprocessors. In Proceedings of the Fifteenth ACM Symposium on Operating Systems Principles, pages 12--25, 1995.
[12]
D. da Silva, L. Soares, and O. Krieger. KFS: Exploring flexilibity in file system design. In Proc. of the Brazilian Workshop in Operating Systems, Salvador, Brazil, August 2004.
[13]
D. R. Engler, S. K. Gupta, and M. F. Kaashoek. Avm: application-level virtual memory. In Hot Topics in Operating Systems, pages 72--77. IEEE Computer Society, May 1995.
[14]
D. R. Engler, M. F. Kaashoek, and J. O'Toole Jr. Exokernel: an operating system architecture for application-level resource management. In ACM Symposium on Operating System Principles, pages 251--266, 3--6 December 1995.
[15]
M. E. Fiuczynski and B. N. Bershad. An extensible protocol architecture for application-specific networking. In USENIX. 1996 Annual Technical Conference, pages 55--64. USENIX. Assoc., 1996.
[16]
B. Ford, G. Back, G. Benson, J. Lepreau, A. Lin, and O. Shivers. The Flux OSKit: a substrate for kernel and language research. In SOSP '97: Proceedings of the sixteenth ACM symposium on Operating systems principles, pages 38--51, New York, NY, USA, 1997. ACM Press.
[17]
B. Gamsa, O. Krieger, J. Appavoo, and M. Stumm. Tornado: maximizing locality and concurrency in a shared memory multiprocessor operating system. In Symposium on Operating Systems Design and Implementation, pages 87--100, February 22--25 1999.
[18]
G. R. Ganger, D. R. Engler, M. F. Kaashoek, H. M. Briceno, R. Hunt, and T. Pinckney. Fast and flexible application-level networking on exokernel systems. ACM Transactions on Computer Systems, 20(1):49--83, February 2002.
[19]
K. Govil, D. Teodosiu, Y. Huang, and M. Rosenblum. Cellular disco: resource management using virtual clusters on shared-memory multiprocessors. ACM Transactions on Computer Systems (TOGS), 18(3):229--262, 2000.
[20]
R. Grindley, T. Abdelrahman, S. Brown, S. Caranci, D. DeVries, B. Gamsa, A. Grbic, M. Gusat, R. Ho, O. Krieger, G. Lemieux, K. Loveless, N. Manjikian, P. McHardy, S. Srbljic, M. Stumm, Z. Vranesic, and Z. Zilic. The NUMAchine multiprocessor. In Proc. of International Conference on Parallel Processing (ICPP'00), pages 487--496. IEEE Computer Society, 2000.
[21]
Guardian digital, inc., http://www.guardiandigital.com/.
[22]
G. C. Hunt, J. R. Larus, D. Tarditi, and T. Wobber. Broad new OS research: Challenges and opportunities. In Proc. of the 10th Workshop on Hot Topics in Operating Systems, Santa Fe, NM, June 2005. USENIX.
[23]
F. L. R. III. Experience with the development of a microkernel-based, multi-server operating system. In HotOS - Workshop on Hot Topics in Operating Systems, pages 2--7, 1997.
[24]
D. Lenoski, J. Laudon, K. Gharachorloo, W.-D. Weber, A. Gupta, J. Hennessy, M. Horowitz, and M. S. Lam. The stanford dash multiprocessor. Computer, 25(3):63--79, 1992.
[25]
I. M. Leslie, R. B. D. McAuley, T. Roscoe, P. Barham, D. Evers, and R. F. E. Hyden. The design and implementation of an operating system to support distributed multimedia applications. IEEE Journal on Selected Areas In Communications, 17(7), May 2005.
[26]
J. Liedtke. On micro-kernel construction. In Proceedings of the 15th ACM Symposium on Operating Systems Principles, pages 237--250. ACM Press, 1995.
[27]
P. McKenney, J. Appavoo, A. Kleen, O. Krieger, R. Russell, D. Sarma, and M. Soni. Read Copy Update. In OLS: Ottawa Linux Symposium, July 2001.
[28]
P. E. McKenney, D. Sarma, A. Arcangeli, A. Kleen, O. Krieger, and R. Russell. Read copy update. In Proceedings of the Ottawa Linux Symposium (OLS), pages 338--367, 26--29 June 2002.
[29]
M. Rosenblum and J. K. Ousterhout. The Design and Implementation of a Log-Structured File System. ACM Transactions on Computer Systems, 10(1):26--52, 1992.
[30]
Security-enhanced linux, http://www.nsa.gov/selinux/index.html.
[31]
M. Seltzer, Y. Endo, C. Small, and K. A. Smith. An introduction to the architecture of the VINO kernel. Technical report, Harvard University, 1994.
[32]
SGI. Sgi irix. http://www.sgi.com/developers/technology/irix/.
[33]
L. Soares, O. Krieger, and D. D. Silva. Meta-data snapshotting: A simple mechanism for file system consistency. In SNAPI'03 (International Workshop on Storage Network Architecture and Parallel I/O), pages 41--52, 2003.
[34]
C. A. N. Soules, J. Appavoo, K. Hui, R. W. Wisniewski, D. da Silva, G. R. Ganger, O. Krieger, M. Stumm, M. Auslander, M. Ostrowski, B. Rosenburg, and J. Xenidis. System support for online reconfiguration. In USENIX Technical Conference, pages 141--154, San Antonio, TX, June 9--14 2003.
[35]
G. Team. Gentoo linux. http://www.gentoo.org.
[36]
R. H. Team. The research hypervisor. www.research.ibm.com/hypervisor, march 2005.
[37]
R. Unrau, O. Krieger, B. Gamsa, and M. Stumm. Hierarchical clustering: A structure for scalable multiprocessor operating system design. Journal of Supercomputing, 9(1/2):105--134, 1995.
[38]
D. A. Wallach, D. R. Engler, and M. F. Kaashoek. Ashs: application-specific handlers for high-performance messaging. In ACM SIGCOMM Conference, August 1996.
[39]
R. W. Wisniewski and B. Rosenburg. Efficient, unified, and scalable performance monitoring for multiprocessor operating systems. In Supercomputing, Phoenix Arizona, November 17--21 2003.
[40]
T. Zanussi, K. Yaghmour, R. W. Wisniewski, M. Dagenais, and R. Moore. An efficient unified approach for trasmitting data from kernel to user space. In Proceedings of the Ottawa Linux Symposium (OLS), pages 519--531, July 23--26 2003.

Cited By

View all
  • (2020)TwizzlerProceedings of the 2020 USENIX Conference on Usenix Annual Technical Conference10.5555/3489146.3489151(65-80)Online publication date: 15-Jul-2020
  • (2019)SemperOSProceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference10.5555/3358807.3358867(709-722)Online publication date: 10-Jul-2019
  • (2019)A tale of two abstractionsProceedings of the 11th USENIX Conference on Hot Topics in Storage and File Systems10.5555/3357062.3357077(11-11)Online publication date: 8-Jul-2019
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
EuroSys '06: Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
April 2006
420 pages
ISBN:1595933220
DOI:10.1145/1217935
  • cover image ACM SIGOPS Operating Systems Review
    ACM SIGOPS Operating Systems Review  Volume 40, Issue 4
    Proceedings of the 2006 EuroSys conference
    October 2006
    383 pages
    ISSN:0163-5980
    DOI:10.1145/1218063
    Issue’s Table of Contents

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 April 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. customizable operating systems
  2. operating system design
  3. scalable operating systems

Qualifiers

  • Article

Conference

EUROSYS06
Sponsor:
EUROSYS06: Eurosys 2006 Conference
April 18 - 21, 2006
Leuven, Belgium

Acceptance Rates

Overall Acceptance Rate 241 of 1,308 submissions, 18%

Upcoming Conference

EuroSys '25
Twentieth European Conference on Computer Systems
March 30 - April 3, 2025
Rotterdam , Netherlands

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)51
  • Downloads (Last 6 weeks)5
Reflects downloads up to 02 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2020)TwizzlerProceedings of the 2020 USENIX Conference on Usenix Annual Technical Conference10.5555/3489146.3489151(65-80)Online publication date: 15-Jul-2020
  • (2019)SemperOSProceedings of the 2019 USENIX Conference on Usenix Annual Technical Conference10.5555/3358807.3358867(709-722)Online publication date: 10-Jul-2019
  • (2019)A tale of two abstractionsProceedings of the 11th USENIX Conference on Hot Topics in Storage and File Systems10.5555/3357062.3357077(11-11)Online publication date: 8-Jul-2019
  • (2019)A Persistent ProblemProceedings of the 10th Workshop on Programming Languages and Operating Systems10.1145/3365137.3365397(30-37)Online publication date: 27-Oct-2019
  • (2019)UnikernelsProceedings of the Workshop on Hot Topics in Operating Systems10.1145/3317550.3321445(7-13)Online publication date: 13-May-2019
  • (2019)A fork() in the roadProceedings of the Workshop on Hot Topics in Operating Systems10.1145/3317550.3321435(14-22)Online publication date: 13-May-2019
  • (2019)SkyBridgeProceedings of the Fourteenth EuroSys Conference 201910.1145/3302424.3303946(1-15)Online publication date: 25-Mar-2019
  • (2019)DRACON: A Dedicated Hardware Infrastructure for Scalable Run-Time Management on Many-Core SystemsIEEE Access10.1109/ACCESS.2019.29377307(121931-121948)Online publication date: 2019
  • (2019)A New Age: An Overview of Multi-kernelsOperating Systems for Supercomputers and High Performance Computing10.1007/978-981-13-6624-6_13(223-226)Online publication date: 16-Oct-2019
  • (2018)Suggesting valid hole fits for typed-holes (experience report)ACM SIGPLAN Notices10.1145/3299711.324276053:7(179-185)Online publication date: 17-Sep-2018
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media