Windows 7 to scale to 256 processors
Summary: Microsoft has been hinting that even though it had no plans to make major changes to the Windows kernel, it did have a scheme up its sleeve to make Windows 7 and Windows 7 Server better suited to working on multicore/parallel systems. Now details are becoming clearer as to how Microsoft plans to do this.
Microsoft has been hinting that even though it had no plans to make major changes to the Windows kernel, it did have a scheme up its sleeve to make Windows 7 and Windows 7 Server better suited to working on multicore/parallel systems. Now details are becoming clearer as to how Microsoft plans to do this.
During the debut of the pre-beta of Windows 7 this week, Windows Engineering Chief Steven Sinofsky made a passing reference to Windows 7 being able to scale to 256 processors. But he never said how this would be enabled.
Mark Russinovich, Technical Fellow in Microsoft's Core OS division, explained in more detail how Microsoft has managed to do this in a video interview published on Microsoft's Channel 9 Web site.
Russinovich said that Microsoft has managed to break the dispatcher lock in Windows -- a task that had stumped even the father of the Windows NT operating system, David Cutler. When Cutler designed Windows for the server, systems beyond 32-way seemed far, far away, Russinovich said.
On more massively multiprocessor systems, Windows threads spin while waiting for the dispatcher lock. Once Cutler had been moved to work on Microsoft Red Dog (Windows Azure), another kernel developer, Arun Kishan, looked at this problem with a set of fresh eyes and found a solution, Russinovich said. By adding another state -- so threads aren't just running or waiting, but can be "pre-waiting," as well -- Windows will be better suited to running parallel, multithreaded applications running across manycore systems, Russinovich said.
Russinovich noted with the dispatcher-lock roadblock removed, a second set of locks became the new focus for folks working on the Windows kernel. The PFN database inside Windows, which contains information on all of the physical memory in the system, was becoming another scalability bottleneck when trying to get Windows to handle multithreaded apps on massively multicore machines. With Windows 7 and Windows Server 2008 R2 (Windows 7 Server), Microsoft again broke this lock down into finer grain locks, Russinovich said.
I'd expect Microsoft will delve into the ways it is making the next generation of Windows more multiprocessing-capable at the Windows Hardware Engineering Conference (WinHEC) next week in Los Angeles. Stay tuned.
In the meantime, given I'm not a programmer and am trying to channel a very technical Russinovich, it's probably worth checking out the Channel 9 video interview of him yourself if you care about Windows kernel futures.
Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.
Talkback
CPUs not cores?
No, 256 cores. (NT).
If it was capable of supporting 1024 cores
They aren't because it doesn't.
Anyways... Windows... day late and a dollar short on all the REAL technological advances. Linux has been supporting 4096+ cores for years now.
Re: If it was capable of supporting 1024 cores
Massively parallel architectures...
Hardware, O/S, and software need to work together to overcome the obstacles.
True ...
Windows has, for some time now, been pretty good and dynamic thread affinity, but hardware support to reduce RAM latency has been sorely lacking.
No longer with Nehalem! Take a look at Intel's new CPU architecture ... and in particular the new 3-level cache. This will power the move beyond 4-core towards 16-core.
The next generation of chips will then focus on lower latency cache coherency for many more cores than that!
How much further?
They're worried about wasting resources and a sub-optimal O/S ya think?
Batting 1000 - keep it up - Thanks! nt
RE: Windows 7 to scale to 256 processors
Coming soon : multiple blue-screens in record time ...
RE: Give it up.
He can't it's his psychy and he's lonely...nt
Psyche
It's only a cheap shot
In this case, the premise is true -- therefore, it's more accurate to call it a particularly effective shot to one of Window's still HUGE weaknesses -- inherent insecurity.
Backing him up.
When was the last time you say a "blue screen"? <br><br>
I have only seen one in my career watching someone make a registry entry on an NT 4.0 server and screwing it up. That was in 1999. <br> <br>
Fact is, Linux has more kernel panics than windows has any problems at this point in time. <br><br>
deny it all you like, you most likely don't use windows and if you are still getting blue screens, then it's obviously that you don't know much about running windows.
Looking forward to Windows 7
amount of cores and not have to do anything with clustering
for a change.
Blue Screens and Security
configured Windows will very seldom blue screen, and if it
still does, you either don't know what your doing, or its a
random error by some beta drivers your using.
I still blue screen almost weekly, but thats because i run
almost all beta drivers for my desktop. My laptop (a dual-
booted macbook) hasn't ever blue-screened with a
standard install.
As for security, if you think that just because you hear
more about windows security flaws, that it is inherently
insecure, then you do not understand the nature of a
secured system, which can be done with any OS. Just like
any OS can be insecure, depending on the setup. Ontop of
all that, the only 'Secure' System, is a system without any
sort of wireless device, no connection to a network line,
buried in a concrete box with 3' thick sides, a mile down
under the earth's crust. Course, then you would probably
find someone who would be willing to spend the time and
effort to dig all the way down there, blast open the
concrete, and grab the computer.
In the security world, no system, including every variation
of *nix, *BSD, O/S2, Solaris, DOS, Windows, OS X, no
system is secure.
256 PROCESSes
integer - ms thinks once again no one needs to go beyond an integer
256 processORS!!!