wiki:WikiStart

Version 11 (modified by ktpedre, 9 years ago) (diff)

--

Overview

Kitten is a lightweight kernel (LWK) operating system designed to be used on the compute nodes of distributed memory supercomputers. At this point, Kitten is, well, still a kitten, but eventually our intent is for it to be used on systems consisting of tens or hundreds of thousands of multi-socket, multi-core compute nodes (i.e., mega-core systems). The primary goal of Kitten is to enable supercomputer applications to scale to significantly higher node counts and perform substantially better than is possible with general-purpose compute node operating systems, such as Linux. Kitten is based on Linux in part, but makes different design choices that are targeted at scalability (low noise, deterministic behavior) and performance (physically contiguous memory layout, transparent large pages, novel techniques for taking better advantage of multi-core processors, like  SMARTMAP).

To get the latest Kitten release, click on the  Downloads link to the right and choose "Kitten Lightweight Kernel (GPL)" from the drop-down menu.

Features

  • 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)
  •  lwIP TCP/IP stack with ne2k and seastar drivers