Microsoft's researchers are working on yet another operating-system research project which can trace its roots to the company's Singularity project. This new operating system, known as Helios, is a heterogeneous multiprocessing platform built around satellite kernels.
(The folks over at the Ma-Config.com blog sent me a pointer to Helios after I wrote last week about another Microsoft Research operating system project, codenamed "Barrelfish." Without the link they provided, I wouldn't have found information about Helios, as it isn't listed on the active projects page for Microsoft Research. Microsoft researchers have written a 14-page paper on Helios, however, which is slated for publication in October.)
Singularity, in case you need a quick refresher, is a microkernel operating system and set of related tools and libraries that is developed completely in managed code. Singularity is not based on Windows; it was written from scratch as a proof-of-concept. Microsoft's Midori incubation project is another effort which can trace its lineage to Singularity.
What, exactly, is Helios? From the soon-to-be-published ACM paper about it:
"Helios is an operating system designed to simplify the task of writing, deploying, and tuning applications for heterogeneous platforms. Helios introduces satellite kernels, which export a single, uniform set of OS abstractions across CPUs of disparate architectures and performance characteristics. Access to I/O services such as file systems are made transparent via remote message passing, which extends a standard microkernel message-passing abstraction to a satellite kernel infrastructure. Helios retargets applications to available ISAs by compiling from an intermediate language."
According to the paper, the team built Helios by modifying the Singularity research development kit (RDK) to support satellite kernels, remote message passing and affinity. They implemented satellite-kernel support on two different hardware platforms: an Intel XScale programmable PCI Express I/O card and cache-coherent NUMA architectures. Helios "treats programmable devices as part of a 'distributed system in the small,'" according to Microsoft's description, and "is inspired by distributed operating systems such as LOCUS, Emerald and Quicksilver."
The Helios researchers describe Helios and Barrelfish, another Microsoft Research OS project, as complementary. From the paper:
"Barrelfish focuses on gaining a fine-grained understanding of application requirements when running applications, while the focus of Helios is to export a single-kernel image across heterogenous coprocessors to make it easy for applications to take advantage of new hardware platforms."
While there has been lots of talk about what Microsoft is planning to deliver as the successor to Windows, it's worth remembering that Singularity, Barrelfish, Helios and Midori are all in early stages -- and might not ever be commercialized. While Microsoft officials don't mind talking about the office of 2019, they don't want to share anything at all on the version of Windows expected in 2011/2012, let alone anything beyond that. So it's tough to say how/if any of these future OS projects will influence the next big OS thing at Microsoft. Still, they're all definitely worth watching....