Holy high core count, Batman, Microsoft's upcoming Windows Server 2008 R2, the second revision to the server OS released last year, will support up to 256 logical cores. Logical processors equate to the number of physical processors times the number of cores and threads per core, so 256 logical cores translates into 64 dual-core processors with two threads per core, or 32 quad-core chips with two threads per core.
The new release, which will be based on Windows 7 code-base and contain a good bit of Vista DNA, manages to scale as high as it does by breaking the dispatcher lock in Windows. The dispatcher lock isn't a big issue for systems with up to 16 cores, but as the core-count goes up, Windows threads end up waiting for the dispatcher lock to green-light the cores. To get around this, two more wait states have been added to replace the global dispatcher lock of old so that those threads are no longer stuck waiting. Mark Russinovich, Technical Fellow in Microsoft's Core OS division, details the process in a 45-minute video interview on Microsoft's Chanel 9 website.