Beowulf: A theorical approach
jcownie at etnus.com
Fri Jun 23 09:16:30 PDT 2000
> Today, this is called the "SALC" programming model: shared address,
> local consistancy. You explicitly fetch data to your local address
> space, and you are responsible for making sure it's up to date.
I don't like that name much. The address space is _not_ shared,
nothing is shared, an address is always local. (Which is a good thing
if you only have a 32 bit address space, since you'd soon blow it away
in a large machine if you had all the cooperating process' address
spaces mapped in).
Personally I always called it a "cache-coherent explicit remote store
access" model, but I suppose that's not a FLA, so insufficiently
> The reasons no-one does it any more are
> That would be a surprise for those of us who are planning on doing it. The
> UPC++ and CoArray Fortran languages use SALC, and I expect to have SALC
> hardware when PCI-X gets here. MPI-2's one-sided communications can be sped
> up if you have SALC hardware.
Sorry, you misunderstand, I'm not saying that no-one uses that
_programming_ model anymore, I _am_ saying that no third parties build
NICs which connect directly to a (non-standard) CPU bus, rather than a
standard interface. (Which was, after all where this discussion
started, with the suggestion that a good place to put a NIC would be
in the second cpu socket of a dual processor mother-board).
Indeed you seem to be agreeing, "I expect to have SALC hardware when
PCI-X gets here", so you're waiting to connect to a standard bus,
rather than trying to engineer to a CPU bus.
In any case you don't need to wait, the Quadrics' stuff does this now
(on PCI). Not a big surprise, really, given that it is the current
version of the Meiko interconnect.
James Cownie <jcownie at etnus.com>
Etnus, Inc. +44 117 9071438
More information about the Beowulf