n/w ram or DSM ??

Mark Hahn hahn at physics.mcmaster.ca
Fri Nov 22 09:53:30 PST 2002

> IS DSM is more complex or its not a good idea ?

I'm always puzzled by interest in DSM.  why?  basically just because
pages are big, pagefaults are expensive, and networks are slow.

naive DSM (and I'm not puting words in your mouth here) just seeks to provide
a shared workspace acoss mulipe nodes.  MMU hardware is cool, and we can use 
it to, for instance, provide a big chunk of memory that appears the same on 
each node, and appears readonly.  if/when someone touches a page, we can trap
it, and impose some consistency model on the whole set of nodes.  for
instance, if A writes a page, DSM would revoke any copies of the page on othe
nodes, then resume the writer.  then if node B reads the page, it would
fault, DSM would make A's page readonly, copy the content to B, and resume B.
great stuff, and you can easily think of ways to make it faster, relax the 
consistency requirements, let the user provide hints, etc.

all of that is great fun to think about, but how much sense does it make?
the programming model can be quite simple, but I really doubt that the
performance would be acceptable for many applications.  if your data is very
read-mostly, perhaps, or if you can somehow tolerate inconsistent/stale data.
or perhaps your data is big, network is slow, so you'd wind up always waiting
for data anyway...

I think most people believe that explicit message passing (MPI, etc) is a
better solution to cluster programming.  specialized hardware could make DSM
more interesting, but that starts to be more than a small matter of
programming ;)

More information about the Beowulf mailing list