[MPICH] Query

David Ashton ashton at mcs.anl.gov
Fri Jul 29 03:01:50 CDT 2005


MPICH2 assumes uniform access to all of memory.  There is no NUMA awareness
in any of the shared memory channels.  The sshm channel allocates
single-reader-single-writer shared memory queues when a process first
communicates with another process.  On most systems this causes the memory
to be allocated close to the process that allocated it.

MPICH2 does not make any library calls to allocate memory spanning multiple
nodes.

The shared memory channels assume cache coherent systems and use CPU
specific instructions to insure this when necessary.

The communication model is simple.  The writer writes data to shared memory
and then sets a flag.  The reader spins on the flag until it is set, copies
the data out of shared memory and resets the flag.  The writer can also spin
on the resetting of the flag before writing data.  By default there are 16
flag protected 16k chunks of shared memory for each process-pair to allow
for overlapping of reading and writing.

There is some work being done at Argonne to look into re-designing MPICH2 to
be optimized for shared memory systems.

There may be other groups with access to large shared memory machines that
have done more work in this area.

-David Ashton

-----Original Message-----
From: owner-mpich-discuss at mcs.anl.gov
[mailto:owner-mpich-discuss at mcs.anl.gov] On Behalf Of devesh sharma
Sent: Friday, July 29, 2005 12:29 AM
To: mpich-discuss at mcs.anl.gov
Subject: [MPICH] Query

Hello Every body,

In MPICH2 is there any support for Distributed Shared Memory ? If yes
then which consistancy Model has been implemented and what is the
Granularity? Under CH3 implementation where is that?





More information about the mpich-discuss mailing list