DragonFly users List (threaded) for 2004-10
Re: NUMA memory support
On Sun, 24 Oct 2004 15:49:38 +0200, Simon 'corecode' Schubert
> CC: kernel, where more appropriate
> On 24.10.2004, at 05:11, David Rhodus wrote:
> > The NUMA memory addressing support is built into the hardware, to be
> > specific the bios. But to truly take advantage of NUMA the operating
> > system needs to differentiate things on the per-cpu bases. The
> > per-cpu segmentation is a part of the fundamental design and
> > implementation of DragonFly. This allows for DragonFly to achieve
> > enhanced performance and greater reliability over other operating
> > systems.
> But doesn't this for example mean that data originating from hardware
> (DMA) needs to be assigned to one CPU beforehand? For example, network
> packets somehow need to be assigned to the right CPU before they are
> evaluated, so that DMA will put them into the right memory area.
> Otherwise it could happen that a TCP packet arrives in CPU #1's memory,
> but gets dispatched to CPU #2's TCP thread (because of the connection
> hash). Now this thread needs to work on an mbuf that doesn't lie in
> local memory. Or am I complicating stuff?
Its called I/O APIC PCI interrupt routing, this goes on in the back
end and in this example binds a NIC to a specific processor. Though
there are other considerations the algorithms in use have to make
depending on how the data is going to be used.
Steven David Rhodus