Dual processor, AMD 64 machine freezing.

David O'Brien obrien at freebsd.org
Mon Feb 2 02:06:36 PST 2004


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 at FreeBSD.org)


More information about the freebsd-amd64 mailing list