Okay, my advisor has settled on our small machine: a quad Xeon with 2GB.
But now he's working on the proposal for the big machine, and guess who's
going to do the groundwork.
So here's the question: How big can Linux SMP get? In particular, how
many processors, and does it depend upon which architecture? It isn't
enough to know what the kernel can support, I need to actually find
supporting hardware. We are more loyal to Linux than anything else, but
can we get eight or sixteen cpu SMP hardware for Linux to run on? How
about 32 or 64 cpus?
Also, I've tried to find results about the expected diminishing returns of
many cpus in a regular SMP setup. I assume this occurs because of the
cache coherance traffic on the shared bus. Are there some architectures
on which Linux SMP works that get around this with multiple or special
busses? Otherwise, what kind of SMP-like support is there under Linux for
machines that aren't strictly SMP? For instance the SGI Origin series
isn't an SMP architecture, but the ccNUMA support from the hardware and
a special version of Irix make it SMP-like (at least according to the
promotional literature).
For a sense of scale in the grant proposal, I'll say that my advisor was
initially interested in the Origin series--except that SGI charges way too
much for memory and hard-drives (we need _at_least_ a terrabyte of
storage, maybe two). And the main memory should be no smaller than 32 GB,
though 64 GB is desired.
In particular, ease of programming is the most important feature. We
would like to avoid message passing for now. Threads are the preferred
option, but forking (does clone() with shared memory work in any SMP
or SMP-like configurations?) is fine too.
Obviously I'm no multiprocessor guru, but I'm willing to work towards that
end--if someone can point me to information which has some nonzero
probability of being helpful, I'd be grateful. I've spent a lot of time
on manufacturer's web sites with very little to show for it, so I'm
willing to follow any new lead.
-Paul Komarek