Dual processor, AMD 64 machine freezing.
tomh at waterloo.equitrac.com
Sun Feb 1 18:47:03 PST 2004
David O'Brien wrote:
> Its not theory, its fact -- even w/o a NUMA aware OS. Statistically, 1/2
> the accesses by a CPU are to local memory, 1/2 to distant memory. If
> you put all them memory on a single CPU then you've got two
> processors trying to access memory, saturating the memory controller
> on the single CPU with memory -- thus giving you less BW. Your diagram
> above leaves out the memory controller (and its request buffer).
But isn't that (the 50-50 CPU memory access split) assuming that there is no
CPU-awareness in memory allocation?
Suppose that I have process/thread X running on CPU 1, and the OS kernel is
clever enough to allocate physical pages located on CPU 1's memory bank
whenever thread X requests new memory. In that scenario, wouldn't it be
reasonable to assume that more than 50% of memory accesses are local?
Of course, having processes and/or threads that have CPU affinity would help
a whole lot, too.
Is this ...
(a) an incorrect assumption; or
(b) impractical to implement, given virtual memory etc.?
More information about the freebsd-amd64