3 ms·
It goes deeper than that. Some of those links are called QPI. Accessing memory on a multi-socket system can be much slower (40%) if the memory isn't connected t
by MichaelGG 11y ago
It goes deeper than that. Some of those links are called QPI. Accessing memory on a multi-socket system can be much slower (40%) if the memory isn't connected to the socket you're on. In that case the request has to go to the other socket, then to RAM. In a quad-socket system, this might mean making two hops, first.
Even accessing cache in a multi-socket system sucks. Taking ownership of a cache line that's in another socket can cost 300 cycles. Ouch.
So in a way, programming current Intel NUMA systems is a lot more like writing distributed systems in the first place, if you care about performance. Yes, it's more reliable (your cross-socket read isn't gonna sporadically fail), but if you treat it as a single unit, things get slow.