« Stuff The Internet Says On Scalability For April 27, 2012 | Main | The Anatomy of Search Technology: blekko’s NoSQL database »

Akaros - an open source operating system for manycore architectures

If you are interested in future foward OS designs then you might find Akaros worth a look. It's an operating system designed for many-core architectures and large-scale SMP systems, with the goals of:

  • Providing better support for parallel and high-performance applications
  • Scaling the operating system to a large number of cores 

A more indepth explanation of the motiviation behind Akaros can be found in Improving Per-Node Efficiency in the Datacenter with NewOS Abstractions by Barret Rhoden, Kevin Klues, David Zhu, and Eric Brewer.

The abstract:

We believe datacenters can benefit from more focus on per-node efficiency, performance, and predictability, versus the more common focus so far on scalability to a large number of nodes. Improving per-node efficiency decreases costs and fault recovery because fewer nodes are required for the same amount of work. We believe that the use of complex, general-purpose operating systems is a key contributing factor to these inefficiencies.


Traditional operating system abstractions are ill-suited for high performance and parallel applications, especially on large-scale SMP and many-core architectures. Datacenter nodes ought to run customized operating systems to help applications to utilize the full potential of the underlying hardware. We propose four key ideas that help to overcome these limitations. These ideas are built on a philosophy of exposing as much information to applications as possible and giving them the tools necessary to take advantage of that information to run more efficiently. In short, high-performance applications need to be able to peer through layers of virtualization in the software stack to optimize their behavior. We explore abstractions based on these ideas and discuss how we build them in the context of a new operating system called Akaros. 

Reader Comments (2)

From the paper:
Specialized systems like Akaros can provide immediate value by working with other legacy systems if they implement the same networking/RPC protocol .... For instance, a few of the nodes dedicated to a specific application or support system, such as a key-value store, can be replaced with the application running on Akaros ... Akaros currently runs on x86 ....

I think there is a real business case for this type of OS. My question would be, what would be a killer app on this OS, something that would be several OOM's faster/more-efficient on Akaros than Linux.
Maybe memcached might be a very good first application for this OS, it is a fairly small codebase to modify and it is used all over the place. This would not exploit the filesystem improvements though, so maybe a very small stripped down static webserver.

It would be nice if something useful and popular ran on Akaros so people would use it, a community could form, etc... otherwise it just becomes academic history, which sucks, because Linux is dragging ass in many areas Akaros is tackling.

April 26, 2012 | Unregistered CommenterRussell Sullivan

There is FreeBSD if you have problems with Linux, and hate FreeBSD, then there is OpenBSD, and if you hate that, then explore the world of unknown OSes,

May 4, 2012 | Unregistered Commenter.

PostPost a New Comment

Enter your information below to add a new comment.
Author Email (optional):
Author URL (optional):
Some HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>