Date: Sun, 1 Feb 2004 21:45:29 -0500 From: "Haapanen, Tom" <tomh@waterloo.equitrac.com> To: amd64@freebsd.org Subject: RE: Dual processor, AMD 64 machine freezing. Message-ID: <B1D77424948FD611A3B80000C0109EEF023B4D5C@SYNCRO>
next in thread | raw e-mail | index | archive | help
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.? Tom
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B1D77424948FD611A3B80000C0109EEF023B4D5C>