I agree that eventually we will have to move away from SMP. Too much
contention in those systems to be particularly scalable. 5 years isn't such
a bad estimate. I think the limiting factor won't be hardware, but
software. OSs will have to support more truly parallel architectures before
the hardware will become popular. The first large-scale OS to adopt these
architectures will probably be one of the quickly evolving ones, like Linux.
The hardware is already starting to get there. We are starting to see
multiple buses becoming available on PC motherboards, and fully integrated
L2 caches (like the P6) are a good start towards eliminating resource
contention in multiprocessor systems. The one thing that will take the
longest is breaking out of the shared memory model. Most of the rest of the
required technology is available and supported.
I am not too sure that the shared memory is really such a bad idea, in terms
of efficiency. I think what *really* needs to be improved is the general
memory architecture currently used. If they used some type of fine grained
switching matrix mechanism, maybe something similar to the old Burroughs
B5000 series mainframes, a lot of memory contention could be eliminated.
This of course in addition to speeding up the entire memory architecture
altogether.
-James Rogers
jamesr@best.com