Re: SMP Theory (was: Re: Interesting analysis of linux kernel threading by IBM)

Ralf Baechle
2000-01-24T22:55:31Z

On Tue, Jan 25, 2000 at 12:56:45AM +0100, Jamie Lokier wrote:

> dg50@daimlerchrysler.com wrote:
> > If this is indeed the case (please correct any misconceptions I have) then
> > it strikes me that perhaps the hardware design of SMP is broken. That
> > instead of sharing main memory, each processor should have it's own main
> > memory. You connect the various main memory chunks to the "primary" CPU via
> > some sort of very wide, very fast memory bus, and then when you spawn a
> > thread, you instead do something more like a fork - copy the relevent
> > process and data to the child cpu's private main memory (perhaps via some
> > sort of blitter) over this bus, and then let that CPU go play in its own
> > sandbox for a while.
>
> I think you just reinvented NUMA -- Non-Uniform Memory Access. Every
> CPU can access the others' memory, but you really want them to
> concentrate on their own. SGI does some boxes like that.

SGI does ccNUMA, cache coherent NUMA. The difference is that unlike in
`real' NUMA machines each processor on a node has access to memory in each
node directly. A node in an Origin system is a dual CPU SMP system.

> Linux even has a memory allocator which is moving in the direction of
> supporting those things.

It's actually the start of the support for the Origin series but other
systems are expected to jump the wagon.

> > Which really is more like the "array of uni-processor boxen joined by a
> > network" model than it is current SMP - just with a REALLY fast&wide
> > network pipe that just happens to be in the same physical box.
>
> It's been proposed to have multiple instances of the OS running too,
> instead of one OS running on all CPUs.

Ok, but users and application developers still want the entire system to
feel like a single system.

Ralf