More than 64 cores and how Microsoft deals with it - OR the next W2K bug

Started by Jeremy Collake, October 23, 2012, 02:41:22 AM

Previous topic - Next topic

Jeremy Collake

I was considering the future, and the products offered at Bitsum, and it occurred to me that we'll soon be in a world where systems have more than 64 logical cores. What does that mean? It means it exceeds the 64-bit bitmask used by Windows to select a CPU affinity. Most applications actually use a 32-bit bitmask when choosing affinities, making this a bit a-kin to the W2K bug when it comes to applications. However, we'll focus on the operating system for now.

32-bit Windows systems can *only* have 64 logical cores. However, Microsoft has worked around this in 64-bit Windows by grouping cores into nodes called processor groups. Yes, instead of expanding the bitmask, which could need to grow indefinitely, they instead group the cores together so that when you select a single logical core via an affinity setting API, you are actually selecting a group of cores. This limits granularity, but does allow for reasonably good backwards compatibility, and supports up to 64*128 logical cores.. since each bit in the 64-bit affinity bitmask can represent up to 128 logical cores, making up a processor group node.

For more information, see http://msdn.microsoft.com/en-us/library/windows/desktop/dd405503(v=vs.85).aspx .
Software Engineer. Bitsum LLC.

edkiefer

Yes, technically they could biuld CPU with many core, like what they do on GPU side but the issue is software to run it and take advantage .
This has always been the case and why its so slow with ramping up core count (its just not worth it yet ) .
For scientific  and specialty applications many cores do help but your in a different system group then avg desktop .

PS: I know you know this, Just posting thoughts  :)
Bitsum QA Engineer

Jeremy Collake

Well, from my perspective, I am just considering adjustments to make sure I am compatible with any number of cores - something most similar applications won't be able to say. Of course, right now there is unfortunately a 32 core limit on Process Lasso, though very few exceed that, and if it is exceeded, the consequences are just a reduction in available affinity settings.
Software Engineer. Bitsum LLC.

edkiefer

Sure, it can't hurt if its not to hard to implement .

Just saying on desktop/work-station the most would be like 16 core (2x quad core) .

On server side not sure how that works out on cpu core count , is there many users in that area ?
Bitsum QA Engineer

Jeremy Collake

The issue is mostly the dialogs right now, they are limited to 32 cores. I just have to update the UI. Once *everything* affinity related in Process Lasso is taken to 64-bits and 64 cores, then that will be the final step - as that is the maximum support Windows allows based on the above processor grouping. The cores are then groups. So, i do have a little work to do, but have had no customer who has come to me with a system having more than 32 cores.... yet. I figure in a year or two though, who knows, which is why I'm working on this now.
Software Engineer. Bitsum LLC.