skip to main content
article

K42: an infrastructure for operating system research

Authors Info & Claims
Published:01 April 2006Publication History
Skip Abstract Section

Abstract

K42 is an open-source scalable research operating system well suited to support systems research. The primary goals of K42's design that support such research include flexibility to allow a multitude of policies and implementations to be supported simultaneously, extensibility to allow new policies and implementations to be readily added, and scalability to enable good performance for both small and large applications on both small and large multiprocessor systems. The goals are accomplished via key features including an object-oriented structure that allows specialized resource management implementations and policies on a per-resource, per-application basis, implementation in user-level servers of much of the system functionality, and a sophisticated set of underlying services that provides a programming model for developing system software in a scalable and modular fashion.These characteristics make K42 an attractive framework for prototyping new operating system ideas. In addition, K42 has a sophisticated performance monitoring infrastructure allowing a thorough understanding of new ideas to be gained. The above framework combined with a consistent emphasis on scalability makes K42 well suited for high-end computing initiatives. In this paper, we describe the structure of K42 which contributes to the advantageous prototyping environment, and demonstrate how to utilize it by describing ongoing research efforts.

References

  1. Linux VServer Project. http://linux-vserver.org/.]]Google ScholarGoogle Scholar
  2. Report from the 4th FAST-OS (forum to address scalable technologies for runtime and operating systems) workshop. http://www.cs.unm.edu/ fastos/03workshop/report.pdf, July 2003.]]Google ScholarGoogle Scholar
  3. Eric Allen, David Chase, Victor Luschangco, Jan-Willem Maessen, Sukyoung Ryu, Guy L. Steele Jr., and Sam Tobin-Hochstadt. The Fortress language specification (version 0.785). Sun Microsystems, Inc., November 2005.]]Google ScholarGoogle Scholar
  4. Thomas E. Anderson, Brian N. Bershad, Edward D. Lazowska, and Henry M. Levy. Scheduler activations: Effective kernel support for the user-level management of parallelism. ACM Transactions on Computer Systems, 10(1):53--79, Feb 1992.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Jonathan Appavoo, Marc Auslander, David Edelsohn, Dilma da Silva, Orran Krieger, Michal Ostrowski, Bryan Rosenburg, Robert W. Wisniewski, and Jimi 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.]]Google ScholarGoogle Scholar
  6. Jonathan Appavoo, Kevin Hui, Michael Stumm, Robert Wisniewski, Dilma da Silva, Orran Krieger, and Craig Soules. An infrastructure for multiprocessor run-time adaptation. In WOSS - Workshop on Self-Healing Systems, pages 3--8, 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Gaurav Banga, Peter Druschel, and Jeffrey C. Mogul. Resource containers: a new facility for resource management in server systems. In OSDI'99: Proceedings of the Third Symposium on Operating Systems Design and Implementation, pages 45--58, Berkeley, CA, USA, 1999. USENIX Association.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Andrew Baumann, Jonathan Appavoo, Dilma da Silva, Orran Krieger, and Robert 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.]]Google ScholarGoogle Scholar
  9. Andrew Baumann, Jonathan Appavoo, Dilma Da Silva, Jeremy Kerr, Orran Krieger, and Robert W. Wisniewski. Providing dynamic update in an operating system. In USENIX Technical Conference, pages 279--291, Anaheim, CA, April 2005.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Andrew Baumann, Jeremy Kerr, Jonathan Appavoo, Dilma Da Silva, Orran Krieger, and Robert W. Wisniewski. Module hot-swapping for dynamic update and reconfiguration in K42. In Proc. of 6th Linux.conf.au (LCA), Canberra, April 2005.]]Google ScholarGoogle Scholar
  11. Brian N. Bershad, Stefan Savage, Przemyslaw Pardyn, Emin Gun Sirer, Marc E. Fiuczynski, David Becker, Craig Chambers, and Susan Eggers. Extensibility, safety and performance in the SPIN operating system. In ACM Symposium on Operating System Principles, 3--6 December 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Patrick Bohrer, James Peterson, Mootaz Elnozahy, Ram Rajamony, Ahmed Gheith, Ron Rockhold, Charles Lefurgy, Hazim Shafi, Tarun Nakra, Rick Simpson, Evan Speight, Kartik Sudeep, Eric Van Hensbergen, and Lixin Zhang. Mambo: a full system simulator for the PowerPC architecture. SIGMETRICS Perform. Eval. Rev., 31,(4):8--12, 2004.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Angela Demke Brown, Todd C. Mowry, and Orran Krieger. Compiler-based I/O prefetching for out-of-core applications. ACM Transactions on Computer Systems, 19(2):111--170, 2001.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Ray Bryant, John Hawkes, and Jack Steiner. Scaling Linux to the extreme: from 64 to 512 processors. In Ottawa Linux Symposium. Linux Symposium, 2004.]]Google ScholarGoogle Scholar
  15. Brad Chamberlain. An introduction to Chapel: Cray Cascade's High Productivity Language. In AHPCRC DARPA Parallel Global Address Space (PGAS) Programming Models Conference, Minneapolis, MN, September 2005.]]Google ScholarGoogle Scholar
  16. Philippe Charles, Christian Grothoff, Vijay Saraswat, Christopher Donawa, Allan Kielstra, Kemal Ebcioglu, Christoph von Praun, and Vivek Sarkar. X10: an object-oriented approach to non-uniform cluster computing. In OOPSLA '05: Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages and Applications, pages 519--538, New York, NY, USA, 2005. ACM Press.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Dilma da Silva, Livio Soares, and Orran Krieger. KFS: Exploring flexilibity in file system design. In Proc. of the Brazilian Workshop in Operating Systems, Salvador, Brazil, August 2004.]]Google ScholarGoogle Scholar
  18. Francis Dang, Maria Jesus Garzaran, Milos Prvulovic, Ye Zhang, Alin Jula, Hao Yu, Nancy Amato, Lawrence Rauchwerger, and Josep Torrellas. Smartapps: An application centric approach to high performance computing: Compiler-assisted software and hardware support for reduction operations. In Proc. Next Generation Software Workshop, pages 10--19, Fort Lauderdale, Florida, April 2002.]]Google ScholarGoogle ScholarCross RefCross Ref
  19. Dawson R. Engler, M. Frans Kaashoek, and James 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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Marc E. Fiuczynski, Robert Grimm, Yvonne Coady, and David Walker. Patch (1) considered harmful. In Proceedings of the 10th Workshop on Hot Topics in Operating Systems (HotOS), Santa Fe, NM, June 2005. USENIX.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Ben Gamsa, Orran Krieger, Jonathan Appavoo, and Michael 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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Gregory R. Ganger, Dawson R. Engler, M. Frans Kaashoek, Hector M. Briceno, Russell Hunt, and Thomas Pinckney. Fast and flexible application-level networking on exokernel systems. ACM Transactions on Computer Systems, 20(1):49--83, February 2002.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Gideon Glass and Pei Cao. Adaptive page replacement based on memory reference behavior. In Proceedings of the 1997 ACM SIGMETRICS International Conference on Measurement and Modeling of Computer Systems, pages 115--126. ACM Press, 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Jeffrey Katcher. Postmark: A new file system benchmark. Technical Report TR3022, Network Appliance.]]Google ScholarGoogle Scholar
  25. Jong Min Kim, Jongmoo Choi, Jesung Kim, Sam H. Noh, Sang Lyul Min, Yookun Cho, and Chong Sang Kim. A low-overhead high-performance unified buffer management scheme that exploits sequential and looping references. In Symposium on Operating Systems Design and Implementation, pages 119--134. USENIX Association, 23--25 October 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Steve R. Kleiman. Vnodes: An architecture for multiple file system types in Sun UNIX. In Proceedings of 1986 Summer USENIX Annual Technical Conference, pages 238--247, Atlanta, GA, USA, 1986.]]Google ScholarGoogle Scholar
  27. Orran Krieger, Marc Auslander, Bryan Rosenburg, Robert W. Wisniewski, Jimi Xenidis, Dilma Da Silva, Michal Ostrowski, Jonathan Appavoo, Maria Butrico, Mark Mergen, Amos Waterland, and Volkmar Uhlig. K42: Building a real operating system. In To Appear in the Proceedings of Eurosys'2006. ACM SIGOPS, April 2006.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Orran Krieger and Michael Stumm. HFS: a performance-oriented flexible file system based on building-block compositions. ACM Transactions on Computer Systems, 15(3):286--321, 1997.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Paul E. McKenney, Dipankar Sarma, Andrea Arcangeli, Andi Kleen, Orran Krieger, and Rusty Russell. Read copy update. In Proceedings of the Ottawa Linux Symposium (OLS), pages 338--367, 26--29 June 2002.]]Google ScholarGoogle Scholar
  30. Rodney Van Meter and Minxi Gao. Latency management in storage systems. In Symposium on Operating Systems Design and Implementation, pages 103--117. USENIX Association, 23--25 October 2000.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Jeff Mogul. Operating systems should support business change. In Proceedings of the 10th Workshop on Hot Topics in Operating Systems (HotOS), Santa Fe, NM, June 2005. USENIX.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. David Mosberger and Larry L. Peterson. Making paths explicit in the Scout operating system. In Symposium on Operating Systems Design and Implementation, volume 30, pages 153--167. ACM, 1996.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Calton Pu, Tito Autrey, Andrew Black, Charles Consel, Crispin Cowan, Jon Inouye, Lakshmi Kethana, Jonathan Walpole, and Ke Zhang. Optimistic incremental specialization: streamlining a commercial operating system. In ACM Symposium on Operating System Principles, volume 29, 3--6 December 1995.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. ReiserFS home page, April 2002. http://www.namesys.com.]]Google ScholarGoogle Scholar
  35. Margo Seltzer, Yasuhiro Endo, Christopher Small, and Keith A. Smith. An introduction to the architecture of the VINO kernel. Technical report, Harvard University, 1994.]]Google ScholarGoogle Scholar
  36. Craig A. N. Soules, Jonathan Appavoo, Kevin Hui, Robert W. Wisniewski, Dilma da Silva, Gregory R. Ganger, Orran Krieger, Michael Stumm, Marc Auslander, Michal Ostrowski, Bryan Rosenburg, and Jimi Xenidis. System support for online reconfiguration. In USENIX Technical Conference, pages 141--154, San Antonio, TX, June 9--14 2003.]]Google ScholarGoogle Scholar
  37. Michael M. Swift, Muthukaruppan Annamalai, Brian N. Bershad, and Henry M. Levy. Recovering device drivers. In Procedings of the 6th ACM/USENIX ymposium on Operating Systems Design and Implementation (OSDI), pages 1--16, San Francisco, CA, December 2004. USENIX.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. David Tam. Performance analysis and optimization of the Hurricane File System. Master's thesis, Department of Electrical and Computer Engineering, University of Toronto, Toronto, Ontario, Canada, January 2003.]]Google ScholarGoogle Scholar
  39. Robert W. Wisniewski and Bryan Rosenburg. Efficient, unified, and scalable performance monitoring for multiprocessor operating systems. In Supercomputing, Phoenix Arizona, November 17--21 2003.]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. K42: an infrastructure for operating system research

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in

      Full Access

      • Published in

        cover image ACM SIGOPS Operating Systems Review
        ACM SIGOPS Operating Systems Review  Volume 40, Issue 2
        April 2006
        107 pages
        ISSN:0163-5980
        DOI:10.1145/1131322
        Issue’s Table of Contents

        Copyright © 2006 Authors

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 April 2006

        Check for updates

        Qualifiers

        • article

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader