Date: Mon, 2 Feb 2004 02:06:32 -0800 From: "David O'Brien" <obrien@freebsd.org> To: "Haapanen, Tom" <tomh@waterloo.equitrac.com> Cc: amd64@freebsd.org Subject: Re: Dual processor, AMD 64 machine freezing. Message-ID: <20040202100632.GA25194@dragon.nuxi.com> In-Reply-To: <B1D77424948FD611A3B80000C0109EEF023B4D5C@SYNCRO> References: <B1D77424948FD611A3B80000C0109EEF023B4D5C@SYNCRO>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Feb 01, 2004 at 09:45:29PM -0500, Haapanen, Tom wrote: > 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? Yes. > 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? Yes. However, this part of this thread started with the assumption that the OS was not NUMA aware. (unless I misread eariler emails) > 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.? Not impractical -- Linux for AMD64 has NUMA support. -- -- David (obrien@FreeBSD.org)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040202100632.GA25194>