Version 25 (modified by ktpedre, 7 years ago) (diff)



 NOTE: Please see Kitten repository at Google Code for latest source code

Kitten is a lightweight kernel (LWK) compute node operating system, similar to previous LWKs such as SUNMOS, Puma, Cougar, and Catamount. Kitten distinguishes itself from these prior LWKs by providing a Linux-compatible user environment, a more modern and extendable codebase, and a virtual machine monitor capability via  Palacios that allows full-featured guest operating systems to be loaded on-demand. For a more detailed introduction to Kitten, please see this presentation:

Kitten: A Lightweight Operating System for Ultrascale Supercomputers

Be warned – there are rough edges and missing functionality (a polished job load mechanism springs to mind). However, there is also a solid foundation in place on which to build and experiment with new system software ideas. We have found that LWKs in general often allow more effort to be directed at the true issue being explored, rather than working around complex Linux kernel internals and maintaining non-standard Linux patches.

Highlight Features

  • Open Source (GPL)
  • New LWK codebase partially derived from  Linux, familiar organization and build process
  • Linux user-space ABI support (partial, similar to IBM's  CNK)
  •  Guest OS support (via V3VEE project's  Palacios hypervisor)
  • Uses standard GNU toolchains and system libraries such as Glibc
  • Multiple processes and threads per core, uses standard Glibc NPTL POSIX Threads implementation
  •  SMARTMAP address-space to address-space mapping support

Kitten Releases

  • 1.0.0, Dec. 8, 2008
  • 1.1.0, May 1, 2009
    • Integration with Palacios VMM, allows guest OSes to be loaded alongside native Kitten applications  Build Instructions
    • Initial support for POSIX threads and OpenMP user applications
  • 1.2.0, Jan 27, 2010  Current Release
    • Updated Palacios interface, matches Palacios 1.2.0 release
    • Added SMARTMAP test application
    • Added experimental Open Fabrics Infiniband stack
    • Misc. bug fixes and improvements