Microsoft is ready to put the Windows Vista era behind it and is moving on to a Windows 7 world starting October 22. Among Windows 7’s greatest strengths is a combination of power and efficiency. Faster and with new APIs like DirectX 11, the new OS looks to deliver impressive results, assuming driver makers can live up to their end of the bargain and write efficient drivers for the new OS.
One strength of Windows 7 that’s not always talked about, but is lurking under the surface of many of the operating system’s advancements is its improved use of multiple cores. With Intel and AMD flooding the market with multi-core designs, the gigahertz war is dead and a new war is brewing — a battle for the most cores, and the most efficient cores.
Microsoft has enthusiastically jumped on the opportunity to utilize this power with Windows 7. The new OS can support up to 256 cores, versus 64 in Vista. Jon DeVaan, senior vice president of Microsoft’s Windows Core Operating System Division says this change was particularly weighty. He states, “One dimension is support for a much larger number of processors and getting good linear scaling on that change from 64 to 256 processors. There’s all kinds of depth in that change.”
The improvements that enabled the increased number of cores also will improve performance with standard consumer numbers of cores — typically 2 to 4 — via improvements in cache and workload balancing. Microsoft Visual Studio 2010 also features greatly improved support for multi-threading and should allow Windows applications makers to make more efficient Windows 7 apps that leverage multiple cores.
Evans Data analyst Janel Garvin says that is perhaps the most important change. He states, “An operating system is never going to be able to take an application that isn’t already parallel and make it so. Developers still need to multi-thread their apps. Microsoft has done surprisingly little until recently to help developers write parallel applications, except for their alliance with Intel to promote Parallel Studio.”
He continues, “However, in the last year they’ve made some announcements and promises for Visual Studio 2010 about enhanced tools for parallel programming. It’s likely that the success of Parallel Studio has impressed upon them the importance of providing Windows developers with the tools they need to remain competitive going into the future when manycore will be the standard.”
Visual Studio 2010 offers many improvements including Task Parallel Library (used for performing tasks like loops simultaneously when circumstances permit), Parallel Language Integrated Query (PLINQ) (used for parallel data operations), Microsoft Concurrency Runtime (scheduling and resource management), Asynchronous Agents Library (provides improved inter-thread messaging), and finally the Parallel Pattern Library (geared for C++ users).
Despite the vast improvements even Mr. DeVaan acknowledges the art of exploiting multiple cores is still evolving. He adds, “As an industry, we’re going to be working hard to make it work better and working with broad set of developers to target (multicore programming) without undue work. Will these approaches really accomplish it? That’s an open question.”
With Microsoft’s primary competitor Apple also focusing on multi-threading with its developer-geared Grand Central Dispatch multitasking model built into Snow Leopard, the ability to properly leverage multiple cores is a crucial task for Windows 7. And it appears that the upcoming OS will be rising to the occasion.