[MPICH] how to implement an eficient method

Bruno Simioni brunosimioni at gmail.com
Wed Jan 31 18:55:01 CST 2007


Hi everybody,

I'm implementing an mathemathical method in parallel computing, but i'm not
happy about the result i'm getting. That is about a lot of communication,
and it is turning everything slow.

The method is an integration that the next step always depends on the last
step. But in the middle of the last step, everybody (all nodes of my
cluster) must communicate with the master node.

Like that:

node 1
stuff
stuff
for (i=0; i< num. steps ; i++)
{
   send X1 to master node
   stuff
   stuff
   receive Y from master node
   stuff ( with Y)
   calculate X1
}

node 2
stuff
stuff
for (i=0; i< num. steps ; i++)
{
   send X2 to master node
   stuff
   stuff
   receive Y from master node
   stuff ( with Y)
   calculate X2
}

master node.
stuff
stuff
for (i=0; i< num. steps ; i++)
{
     receive X from everybody.
     stuff
     calculate Y.
     send Y to everybody.
}

Well,

My point is about excessive communication at for. The time spent to
syncronize all processes is causing delay in processing.
Anyone can help me? any advice?

The cluster contains three computers (one processor each one), and the time
spent in shared memory is 60% faster than using sockets.

What do i do?

Thanks.

-- 
Bruno. (from Brazil.)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/mpich-discuss/attachments/20070131/436b7f95/attachment.htm>


More information about the mpich-discuss mailing list