5
$\begingroup$

Few years back, I stumbled across Return Infinity - the OS framework designed around flat, 64bit memory model, with minimal MMU / VM overhead, etc.

I'm wondering if there are any public benchmarks or success stories of that approach - I'm eyeing it as something to practice doing low latency / high performance computing systems.

The theoretical advantages are substantial, if you're aiming to build a specific-purpose computer system (think bare redis / memcache, fft, transcoding, scientific computing etc).

$\endgroup$

migrated from operatingsystems.stackexchange.com Sep 11 '14 at 12:39

7
$\begingroup$

The Return Infinity site you linked claims that BareMetal is an Exokernel.

Exokernel was an MIT research project from the mid to late 1990s which is still widely studied. The philosophy behind Exokernels was that they would provide just mechanism and all policy would move to user-level libraries. In later papers they more specifically said that the kernel provides protection and the libraries provide management. The idea was to avoid expensive abstraction layers that are actually unneeded by certain applications.

In hindsight, it is probably not unfair to claim that the main achievement of the Exokernel research project was to invent a number of very clever techniques to make a microkernel OS perform better than a monolithic OS in some cases. The key, I think, was finding ways to avoid kernel-boundary crossing costs. One way they did this was through judicious and careful mapping of kernel data structures into an application's memory space. This allows large amount of data to be transferred across the kernel/user boundary with fewer system calls and address space changes. They also came up with several techniques for describing network and file system policies with tiny languages that could be easily checked and safely checked inside the kernel. (So the core filesystem and network handling in Exokernel is actually done inside the kernel, rather than from a user-level service across an isolation boundary like it might be in a naive microkernel.)

The canonical paper on Exokernels is (IMHO) one of the best systems experience papers I've ever read. It's been quite a while since I read it, but I recall it as being quite honest about both strengths and weaknesses of the approach.

Kaashoek, M. Frans; Engler, Dawson R.; Ganger, Gregory R.; Briceño, Héctor M.; Hunt, Russell; Mazières, David; Pinckney, Thomas; Grimm, Robert; Jannotti, John; Mackenzie, Kenneth: Application Performance and Flexibility on Exokernel Systems, Proceedings ACM Symposium on Operating Systems Principles, (SOSP-15):251-266, 1995. (That's a Citeseer link and the Citeseer server is often down, so here also is the ACM link (paywalled).

The wikipedia article on Exokernels is not terrible, and gives a reference to at least one other (later) research project, Nemesis from Cambridge University. Another efficient microkernel project that was being worked on around the same time as Exokernel was the L4 microkernel by Jochen Liedtke.

$\endgroup$
  • 1
    $\begingroup$ I'm actually curious if anyone but ReturnInfinity would actually classify BareMetal as Exokernel. In my opinion, it is closer to the "DOS 1.0-like" OS, exporting basic services, just natively 64 bit. $\endgroup$ – qdot Aug 28 '14 at 14:23
  • $\begingroup$ I think it is a fair claim. I pointed you at the later Exokernel work. The early Exokernel papers were (essentially) flames that expressed sadness and anger at the way in which modern OSes hide the bare metal. cs.berkeley.edu/~brewer/cs262b/hotos-exokernel.pdf. Engler used to explicitly use the fact that DOS was the OS most suitable for game development (because the games could directly manipulate the bare metal) as an example motivation, although I can't find that written anywhere. $\endgroup$ – Wandering Logic Aug 28 '14 at 14:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.