Get rid of the operating system!
High performance cloud computing is nix
Nix is joint work of Laboratorio de Sistemas with Bell Laboratories, Sandia National Labs, and Vitanuova.
Most desktop and laptop machines today, even phones, are multicore. But OSes are
still built as decades ago. Nix is able to lend cores to applications with no OS interference
(not even clock interrupts), but still provides all functionality of a conventional operating
system.
In particular, for applications, Nix is not different from a Plan 9 from Bell Labs kernel.
However, Nix can partition cores into:
- TCs: Time-sharing cores. Similar to cores as handled by SMP systems.
- ACs: Application cores. User code runs undisturbed on them.
- KCs: Kernel cores. They take system load like system calls and interrupt handling.
Cores can change their role at run-time, depending on the actual system load.
This is most useful for HPC applications but also for Cloud Computing,
because of both performance and convenience.
Software
-
The main development tree is hosted in sources.lsub.org.
See the PROCESS file to
see how to install and contribute.
You are welcome to contribute.
- Daily generated nix.tgz containing everything.
- You can browse the code here.
Documents
- Analyzing manycore OS design aspects in NIX. Francisco J. Ballesteros,
Noah Evans, Charles Forsyth, Gorka Guardiola, Jim McKie, Ron Minnich, and Enrique Soriano.
Poster, ACM SIGOPS EuroSys 2012 Conference Bern, Switzerland, 2012.
Abstract pdf.
Poster pdf.
- Nix: a case for a manycore system for cloud computing. Francisco J. Ballesteros,
Noah Evans, Charles Forsyth, Gorka Guardiola, Jim McKie, Ron Minnich, and Enrique Soriano.
Bell Labs Technical Journal. 2012.
- High Performance Cloud Computing is Nix.. Francisco J. Ballesteros,
Noah Evans, Charles Forsyth, Gorka Guardiola, Jim McKie, Ron Minnich, and Enrique Soriano.
Bell Labs Technical Conference. 2011.
Authors
This system started as joint work of the
Laboratorio de Sistemas, Bell Laboratories, Sandia National Labs,
and Vitanuova. Today it continues using a public development process, as described above.
This was the initial list of authors on the early days. Check out the /CONTRIBUTORS file
in the distribution for a list of people that have sent patches or contributed to the system.
- Francisco J Ballesteros
- Noah Evans
- Charles Forsyth
- Gorka Guardiola
- Jim McKie
- Ron Minnich
- Enrique Soriano