Closed gorgonical closed 5 years ago
I just removed the reference to the wiki, since it no longer exists. Here is what was on the wiki home page:
= Overview =
'''[https://github.com/ktpedre/kitten NOTE: Please see Kitten repository at GitHub for latest source code (link)]'''
{{{ git clone https://github.com/ktpedre/kitten.git }}}
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 [http://v3vee.org/download Palacios] that allows full-featured guest operating systems to be loaded on-demand. For a more detailed introduction to Kitten, please see this presentation:
[https://software-login.sandia.gov/~ktpedre/kitten_overview.pdf 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 ([KittenLicensing GPL])
- New LWK codebase partially derived from [http://www.kernel.org Linux], familiar organization and build process
- Linux user-space ABI support (partial, similar to IBM's [http://wiki.bg.anl-external.org/index.php/Cnk CNK])
- [http://www.cs.sandia.gov/~ktpedre/copyrighted-papers/vee11-hpc.pdf Guest OS] support (via V3VEE project's [http://v3vee.org/download 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
- [http://www.cs.sandia.gov/~ktpedre/papers/smap-sc08.pdf SMARTMAP] address-space to address-space mapping support
- [http://www.cs.sandia.gov/qthreads/ Qthreads API] 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
- Initial support for POSIX threads and OpenMP user applications
- 1.2.0, Jan 27, 2010
- Updated Palacios interface, matches Palacios 1.2.0 release
- Added SMARTMAP test application
- Added experimental Open Fabrics Infiniband stack
- Misc. bug fixes and improvements
- 1.3.0, November 14, 2011 [http://www.cs.sandia.gov/web1400/1400_download.html Current Release]
- Initial cut at ACPI SRAT table parsing, make NUMA topology information available to user-space
- Added !SwitchCores() thread migration mechanism, similar to V1 algorithm described in [http://cseweb.ucsd.edu/~rstrong/publications/osr09preprint.pdf Fast Switching of Threads Between Cores]
- Prototype job launch tool for IB clusters (in kitten/user/runtime)
- Misc. updates to stay current with Palacios and Linux
In the "Overview" section of the README there's a wiki referenced at the Sandia website. The link is broken, however, and the open-source software page at Sandia (https://software.sandia.gov/home/) makes no mention of it.
I don't know how outdated the README is or how much extra information is at that wiki, but it would be nice to have.