Akaros – An operating system for many-core architectures and large-scale SMP systems

Primary goals:

  • Provide better support for parallel and high-performance applications
  • Enable more predictable performance
  • Scale the operating system to a large number of cores
Akaros is based on a few related ideas:

  • Allow processes to have control of their resources and “peer through” layers of virtualization
  • Provision and guarantee resources to applications
  • Treat parallel processes as a single native entity, which we call a many-core process (MCP)
  • Structure the OS asymmetrically, where some cores specialize in management and system tasks
  • Enable fast, cross-network data transfers by providing a specialized block abstraction to applications

Akaros currently runs on x86 and SPARC V8 hardware with a port of glibc for user space. For more information about the design of Akaros and up-to-date documentation on many of our research ideas, check out our website.