Beowulf: A theorical approach

James Cownie jcownie at
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
hypeable :-)

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

-- Jim 

James Cownie	<jcownie at>
Etnus, Inc.     +44 117 9071438

More information about the Beowulf mailing list