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
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.
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
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."
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."
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
Concurrency Runtime (scheduling and resource management),
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."
primary competitor Apple also focusing on multi-threading with its
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.