There is nothing preventing you from creating your own shared memory segment
for use by your application. This does not impact the MPI implementation.
You need to make sure you take care of all the issues associated with
multiple procs/threads accessing the same cache lines, which can cause quite
a bit of performance degradation, if not managed.
On 5/28/07 8:00 AM, "Tahir Malas" <tmalas_at_[hidden]> wrote:
> Hi all,
> We have an 8-node cluster of SMP nodes, which have dual-quad core
> processors. The network is Infiniband. Each process in our parallel FORTRAN
> 90 program holds an identical array that is used in all parts of the
> program. However, when the size of the problem gets larger and larger, this
> memory cost has started to become a memory bottleneck for us.
> If all 8 processes in the same node could just read from the same memory
> instead of holding their arrays, we would have significant memory gain. This
> would be natural in a node if were to use OpenMP, but I wonder whether this
> is somehow possible with only MPI? We know that passing to hybrid
> programming (MPI + OpenMP) is a choice, but we look for simpler choices for
> the time being.
> In another post I have seen something like "you could share the memory
> between processes using the shm_xxx system calls of unix", but this isn't
> clear to me.
> Thanks in advance,
> Tahir Malas
> Bilkent University
> Electrical and Electronics Engineering Department
> Phone: +90 312 290 1385
> users mailing list