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.

Topics: Windows, Microsoft, Operating Systems, Processors, Software

About

Mary Jo has covered the tech industry for more than 25 years for a variety of publications and Web sites, and is a frequent guest on radio, TV and podcasts, speaking about all things Microsoft-related. She is the author of Microsoft 2.0: How Microsoft plans to stay relevant in the post-Gates era (John Wiley & Sons, 2008).

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.

Talkback

71 comments
Log in or register to join the discussion
  • CPUs not cores?

    So that means then maybe up to 1024 cores? Totally insane.
    ZenMasta
    • No, 256 cores. (NT).

      .
      TheTruthisOutThere@...
    • If it was capable of supporting 1024 cores

      then MS Marketing would be shouting it from the rooftops.

      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.
      akulkis
      • Re: If it was capable of supporting 1024 cores

        Are you sure is just 256 cores ? I guess is 256 CPUs, if so it would be able to go until 2048 (and not 1024) since 8 cores is coming out very soon.
        Gradius2
  • Massively parallel architectures...

    There are more problems to solve besides dispatching. With a large number of processors, you will run into latency problems accessing memory as physical memory gets further away from a particular processor. Multiple queues and thread affinity to processors will be required.
    Hardware, O/S, and software need to work together to overcome the obstacles.
    Norm_z
    • True ...

      ... and MS are well and truly "on this" :)

      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!
      de-void-21165590650301806002836337787023
    • How much further?

      I guess the question is - how much further is "further?"
      CobraA1
    • They're worried about wasting resources and a sub-optimal O/S ya think?

      Hmmm....
      fr0thy2
      • Batting 1000 - keep it up - Thanks! nt

        nt
        TheBottomLineIsAllThatMatters
  • RE: Windows 7 to scale to 256 processors

    Oh goodie! The AntiVirus programs can finally finish fast!
    tburzio
    • Coming soon : multiple blue-screens in record time ...

      ;-)
      fr0thy2
      • RE: Give it up.

        Cheap pot shots merely shows you to both to be peurile.
        Bozzer
        • He can't it's his psychy and he's lonely...nt

          nt
          TheBottomLineIsAllThatMatters
          • Psyche

            Psyche.
            professordnm
        • It's only a cheap shot

          if its premise is false.

          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.
          akulkis
          • Backing him up.

            Only makes you look like an apologist for trolls. <br><br>
            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.
            xuniL_z
          • Looking forward to Windows 7

            Especially Min Win, and being able to run it on a crazy
            amount of cores and not have to do anything with clustering
            for a change.
            jrdonnaruma
          • Blue Screens and Security

            xunil makes a good point, A correctly installed and
            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.
            jrdonnaruma
  • 256 PROCESSes

    256 does any one know what the means

    integer - ms thinks once again no one needs to go beyond an integer
    Monosdeja
    • 256 processORS!!!

      Read the article again.
      Grayson Peddie