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

Jamie Lokier
2000-01-24T20:23:48Z

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.

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

> 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.

-- Jamie