I have a dual-socket Westmere server running 2 six-core X5680 CPUs with NUMA enabled.
I have been reading about the benefits of NUMA when software is designed with NUMA in mind, but then I've also been reading about how NUMA can harm performance if the software does not specifically take it into account. How is this possible? My understanding was that disabling NUMA brings memory access from both CPUs down to the lowest common denominator of remote memory. For example, local memory access might be 0.5 milliseconds and remote memory access at another node might be 1 millisecond with NUMA enabled; but with NUMA disabled, all memory access is 1 millisecond. Am I thinking about this the right way? Can someone explain some cases where NUMA with non-NUMA software might not work well?