We investigate the use of a software distributed shared memory (DSM) l
ayer to support irregular computations on distributed memory machines.
Software DSM supports irregular computation through demand fetching o
f data in response to memory access faults. With the addition of a ver
y limited form of compiler support, namely the identification of the s
ection of the indirection array accessed by each processor, many of th
ese on-demand page fetches can be aggregated into a single message, an
d prefetched prior to the access fault. We have measured the performan
ce of this approach for two irregular applications, moldyn and nbf, us
ing the TreadMarks DSM system on an 8-processor IBM SP2. We find that
it has similar performance to the inspector-executor method supported
by the CHAOS run-time library, while requiring much simpler compile-ti
me support. For moldyn, it is up to 23% faster than CHAOS, depending o
n the input problem's characteristics; and for nbf, it is no worse tha
n 14% slower. If we include the execution time of the inspector, the s
oftware DSM-based approach is always faster than CHAOS. The advantage
of this approach increases as the frequency of changes to the indirect
ion array increases. The disadvantage of this approach is the potentia
l for false sharing overhead when the data set is small or has poor sp
atial locality.