genz :
gamerk316 :
The downside to NUMA is you need your workloads to NEVER need to touch the same memory data, otherwise everything grinds to a halt. That's why Windows does so poorly in NUMA, given the way they handle threading (which is optimized for non-NUMA).
Sounds like a problem for... drum roll
https://en.wikipedia.org/wiki/Windows_on_Windows
Maybe they can get a kernel scheduler on each NUMA channel. :lol:
Seriously though, with the amount of 2S and 4S sockets produced throughout history are you honestly telling me that OS schedulers start to destroy performance gains at only 16 threads? There are 8 Cores from 2007 (Core Quad xeons in 4S config). That's very very close to where we currently are in the consumer space already.
This might sound weird or even annoyingly direct, but... Do you really think serious work on servers with multitude of CPUs is done with Windows installed?
That is one of the many reasons why you never really use Windows Server for anything *remotely* serious.
All the people developing dotNet applications must be delusional their code is going to be running critical applications or in critical infrastructure using Windows, if at all. At best, web apps or crappy balancing machines. Funny thing: did you know IIS craps out when the CPU is at 100%? It can't accept new connections and it's still a thing they haven't fixed. Dayum!
Anyway, the point is MS hasn't really taken NUMA seriously for some bizarre reason I don't know personally, even when they do "support" it in MS Server.
Cheers!