Sign in with
Sign up | Sign in

256-Core Windows '08 Server Coming

The next version of Microsoft’s Windows Server 2008 will support up to 256 logical cores. Microsoft has slowly leaked out information of Server 2008 release 2 at recent events like WinHEC and Professional Developers Conference, but Microsoft’s Mark Russinovich is now revealing just exactly how the operating system will scale. In a video interview posted on the MSDN website, the founder of Sysinternals and programming guru, explains how Microsoft will remove bottlenecks, specifically the dispatcher lock, to handle dozens to hundreds of cores.

Windows Server 2008 will be based on Windows 7 code-base and will borrow heavily from Vista. Russinovich says most of the code will remain the same and this will help maintain application compatibility. As servers utilize more processors and cores, Microsoft will have to change to keep up with the times and Russinovich explains that Microsoft coders are working hard to eliminate the 32-core limitation that hasn’t changed since the Windows NT days.

Threads are assigned a 32 character binary bitmask that marries the thread to a particular logical core. Microsoft defines the number of logical processor cores as the number of physical CPUs times the physical cores times the threads. For instance, a two CPU system with quad-cores and Hyperthreading would be considered a 16-core system in Microsoft terms. The bit mask determines a thread’s processor affinity or what core it can run on.

Here are some quick examples

00000000 00000000 00000000 00000000 = thread can run on all processors (affinity is basically off)

00000000 00000000 00000000 00000001 = thread runs only on the first processor

00000000 00000000 00000000 00000010 = thread runs only on the second processor

00000000 00000000 00000000 00000100 = thread runs only on the third processor

00000000 00000000 00000000 00000111 = thread can be distributed across the first three processors

So you can see how this works perfectly with up to 32-cores because there is a bit for each core, but this same system has to be tweaked to work with more cores. Russinovich says Windows 7/2008 Server will use processor groups where threads will be assigned to groups of cores. This means old bitmasks, and thereby existing applications, will work with the upcoming operating system.

But running threads on more cores doesn’t really help if those cores spend most of the time idling. Current Windows operating systems have a global dispatcher lock which essentially stop all cores to prevent objects from being accessed by more than one core. While this lock isn’t such a big deal on systems that have up to 8 cores, it presents a problem when scaling beyond that, Russinovich says.

Microsoft coders have tweaked threads to now lock objects locally, that is within their processor group, by adding two more wait states – the pre-wait state and the “real” waiting state. Confused? Well take a look at Russinovich’s 44-minute interview on MSDN and exponentially increase your geek knowledge.

Display 8 Comments.
This thread is closed for comments
  • 0 Hide
    Tindytim , November 14, 2008 11:54 PM
    So does this mean there won't be a Windows 7 Server?

    Seems odd to me that an OS that won't be released for at least another year has the server component coming out sooner, as an update to an earlier component.
  • -2 Hide
    hcheung , November 14, 2008 11:59 PM
    As a whole corporate environments (especially servers) move at a slower pace, so maybe Microsoft wants to maintain the illusion that this is just an incremental upgrade.
  • 0 Hide
    neiroatopelcc , November 15, 2008 9:11 AM
    "and exponentially increase your geek knowledge."
    I think I'll stick to just know that the current servers we have are on the limit of what the os can handle at present.
  • 2 Hide
    zdzichu , November 15, 2008 9:36 AM
    Tindytim: it is known thath Windows 7 server == Windows 2008 R2. W7 is just a polish of base laid by Vista changes.

    Anyway, 256 cores seems like a lot, but Linux support 4096 on x86/64.
  • 0 Hide
    doomsdaydave11 , November 15, 2008 7:10 PM
    TindytimSo does this mean there won't be a Windows 7 Server?Seems odd to me that an OS that won't be released for at least another year has the server component coming out sooner, as an update to an earlier component.

    It's windows server 2008, not a part of windows 7
  • 0 Hide
    Tindytim , November 16, 2008 3:39 PM
    doomsdaydave11It's windows server 2008, not a part of windows 7

    Quote:
    Windows Server 2008 will be based on Windows 7 code-base


    It appears that Windows Server 2008 R2 will be the server variant of 7, or at least according to a few other publications.
  • -1 Hide
    p05esto , November 16, 2008 7:49 PM
    Very nice. MS is making a comeback after falling asleep for a few years there, and I hope they succeed. Us in America need to stand behind our own. Not to mean anything against another county, but our pride has weakened and it's time to step up over here.
  • 1 Hide
    neiroatopelcc , November 17, 2008 5:38 AM
    p05estoVery nice. MS is making a comeback after falling asleep for a few years there, and I hope they succeed. Us in America need to stand behind our own. Not to mean anything against another county, but our pride has weakened and it's time to step up over here.

    International coorperations have no nationailty. That applies both to "danish" AP møller and "us" microsoft and any other big international company really. Siemens isn't german, siemens is international.