SDTimes is running a story about details of a new operating system being developed at Microsoft called Midori. It is supposedly based on Microsoft’s Singularity operating system built entirely on managed code ala .Net. This could be Microsoft’s first non-Windows commercial OS since DOS. If SDTimes’ details are right it may be the first OS to support one of the features I have been pining for for many years: cloud computing within the home.
I first thought up this concept about four years ago, before the term “cloud computing” was en vogue. Basically I was thinking how great it would be to be able to pool and leverage the CPU resources of the three computers (two laptops and a desktop) I had within my house. In particular I wanted to be able to use the desktop’s faster CPU to complete workloads for my laptop in a relatively ad hoc manner.
Some video applications I had used could render their output on more than one machine using their own clustering software, but why should it be limited to niche programs like that? I already share disk space, printers, or even TV tuners (via Orb or Media Center Extender), why not my CPU? You can push your computing out on the Internet cloud all you want but a lot of people have a micro cloud of resources already within their home, or workgroup.
At the time it seemed like something that might be esoteric enough to be implemented in Linux so I tried to find out how feasible it was in some Linux developer forums. In my mind I thought it could be implemented as a virtual CPU that the scheduler would only send jobs to if the physical CPU was at 100% for more than ten seconds or so. It would also have to be aware of the bandwidth and latencies of the connection between machines. Obviously network accessed CPU resources wouldn’t be incredibly efficient but any additional processing cycles gained would help.
As the number of cores continues to increase (particularly on the desktop) and devices like netbooks with limited resources become popular this could have been a huge boon. Unfortunately nobody took me seriously. After all, my kernel-level C programming is severely lacking. :)
If the documents SDTimes has received are accurate it would seem that Midori is all about cloud computing. Or put more accurately, heavily abstracting away hardware from software to enable remote or local resources to be used for any given task. It isn’t just for the CPU either. Imagine being able to easily pool the disk storage available on the various nodes of your network into one huge fault-tolerant distributed storage volume. All I can say is that on paper this all sounds incredible.
Microsoft is obviously pretty quiet on the purpose of Midori. The PR people have admitted its existence but they it is just an incubation project; only time will tell. Hopefully it will see the light of day before I die or Duke Nukem Forever comes out, which ever comes first.
*Update: Must be a pretty big story if even the BBC is running it.