Version 23 (modified by ktpedre, 6 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.


  • Open Source (GPL)
  • New LWK codebase partially derived from  Linux, familiar organization and build process
  • Fully symmetric kernel, locking used to protect shared data
  • Multiple processes and threads per core
  • Partial Linux ABI support (what matters, similar to IBM's  CNK)
  • User-space uses standard system Glibc
  •  SMARTMAP memory mapping (see SC08 paper) to enable single-copy intra-node MPI messaging. This significantly reduces intra-node memory bandwidth requirements.
  • Guest OS support (when linked with the V3VEE project's  Palacios hypervisor)

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