[OMPI users] overlapping communicators?

2009-06-01 Thread tsilva

Hi,

I have a Multiple Program Multiple Data with three programs running in  
parallel, say A, B and C. C is much slower so in order to balance the  
load I want to parallelize C into C0 to Cn (SPMD). There are very  
frequent communications between Ci processes and not so frequent, but  
still multiple times per second, between A, B and C0. I have running  
versions of ABC MPMD and the C*N SMPD.


I was thinking of creating two communicators with C0 being a member of  
both, but I am told this is bad practice although I don't really know  
what the pitfalls are. An alternative would be to create and close the  
ABC communicator every time it is used, but I am worried about the  
cost of this operations and about making the code look messy. I would  
appreciate any advice onn this issue.


Thanks,
Tiago




[OMPI users] top question

2009-06-03 Thread tsilva


Top always shows all the paralell processes at 100% in the %CPU field,  
although some of the time these must be waiting for a communication to  
complete. How can I see actual processing as opposed to waiting at a  
barrier?


Thanks,
Tiago





Re: [OMPI users] top question

2009-06-03 Thread tsilva


Thanks for the explanation. I am using GigEth + Open MPI and the  
buffered MPI_BSend. I had already noticed that top behaved differently  
on another cluster with Infinibandb + MPICH.


So the only option to find out how much time each process is waiting  
around seems to be to profile the code. Will gprof show me anything  
useful or will I have to use a more sophisticated (any free ones?)  
parallel profiler?


Cheers,
Tiago