Thu, Oct 1 2009 20:32
Big engine no gas - Multi-Core OS with native support for the hardware we buy still a future prospect.
Well we can hardly say Multi-Core processors are new technology. Those who really know the ins and outs of the way applications run will tell you there is inefficiency in the way operating systems and the applications that run on them use the hardware. This inefficiency can actually make multi-core processors run slower than their single core predecessors for non-optimized applications. The most efficient applications are specifically designed to support newer technologies like Hyper-threading and Multi-Core but those are not the business productivity applications you would expect.
Yes, it is game development that is most preoccupied with the specifics of achieving maximum performance. This is in part because game development is highly volatile market which often builds code from scratch rather than reusing code that has evolved over 10 and in some case 20 years like Microsoft Office. To take advantage of the new power legacy code needs to be rewritten effectively from the beginning to support today's hardware. But therein lies the problem. Today hardware is getting increasingly diverse and what was dual(2) core 18 months ago is Six Core now and the count will grow. So the target is moving and companies may start coding against a future spec which may only exists for 18 months or less. Equally we now have multi-GPU processors which perform graphics computing faster and systems that can take advantage of this performance see massive gains in performance for real life applications like DNA, robotics modeling, Global Weather Pattern prediction and other areas.
Following the scale of predictability, constantly rewriting major application code to take advantage of hardware is impractical. So does that mean hardware vendors should go back to single core? Well maybe, but probably not. Let's look at the history of operating systems. Remember DOS (Disk Operating System), well it evolved to support a bridge between the user applications and the hardware. So architecturally, doesn't it make sense that the operating system needs to take better advantage of new hardware performance? It sure does. Enter http://www.barrelfish.org/ a joint Microsoft Research and Swiss ETH Zürich project. The goal is essentially to create a distributed Multi-Kernel operating system on your box which efficiently communicates through a light weight hypervisor. In other words, an operating system which uses the maximum performance of the underlying technology with out having application developers program specifically toward the optimal hardware.
The Multikernel Model - source: http://www.barrelfish.org/barrelfish_sosp09.pdf
This model is a massive oversimplification of the challenges faced in creating such and operting system. So how long are we talking about before true multikernel lightweight hypervisors rule the roost on our electron hatcheries? All we know at this point as Windows 7 prepares to launch is that incubation has begun on next generation. Windows Eight my Kernels.
Filed under: Architecture, Windows 7, Performance, Mult-Core, Multikernel, Windows 8