5 ms·
It looks like Microsoft is adding code to Windows to schedule threads in a way that works with this configuration of cores and CCXs Is/has Linux added similar
by craz8 7y ago
It looks like Microsoft is adding code to Windows to schedule threads in a way that works with this configuration of cores and CCXs
Is/has Linux added similar code
Are we calling this Mini-Numa or something else?
- shereadsthenews 7y agoWhy would we call it “mini”? It is straight up NUMA.
- wmf 7y agoIt's not NUMA since the distance from all the cores to main memory is the same (uniform).
- shereadsthenews 7y agoOh hrmm, my mistake. This is a welcome change from the older one.
- craz8 7y agoAlthough Threadripper 2990 is not uniform to main memory, which adds a wrinkle So now there’s at least 2 levels of Non Uniform access to manage by the Bios/OS
- Dylan16807 7y agoDon't forget the CCX level, too. The full list of varying latencies is something like: SMT, inter-core, inter-CCX, inter-die, inter-socket. And even that misses a few subtleties.
- wmf 7y agoI would call it a form of Non-Uniform Cache Architecture (NUCA). Linux definitely knows the cache topology and the scheduler is NUMA-aware but I don't know if the scheduler takes cache topology into account. It seems like it would be a small change to track L3s instead of NUMA nodes.
- microcolonel 7y agoIt's NUMA, just like usual. The difference is the exact topology, and the real difference in latency (which changes the cost function of accessing from a different node).
- floatboth 7y agoThe CCXes aren't NUMA, they all have the same access to memory, no system would show multiple NUMA domains on a desktop Ryzen. Only Threadripper and EPYC are NUMA.
- TazeTSchnitzel 7y agoZen 2 drops the NUMA because of the single I/O die with memory controller right?
- floatboth 7y agoI can't find confirmation, but that would make sense, single-socket EPYC and TR with Zen2 should be UMA
- microcolonel 7y ago> Only Threadripper and EPYC are NUMA. Yeah, I meant this. I don't use Ryzen so I think of Zen as being Threadripper and EPYC.
- consp 7y ago>> Is/has Linux added similar code Yes, in 4.15 patches emerged for TR/Epyc and waaaaaay back in 2.6 it had scheduler domains which can do the same thing.