Hi,

I'm afraid I'm pretty new to both OpenFOAM and openMPI so please excuse me if 
my questions are either stupid or badly framed.

I've created a 10 Raspberry pi beowulf cluster for testing out MPI concepts and 
see how they are harnessed in OpenFOAM.  After a helluva lot of hassle, I've 
got the thing running using OpneMPI to run a solver in parallel.
The problem I have is that if I switch the server node to not use the cluster 
(still use 3 cores in an MPI job) the job finishes in x minutes. If I tell it 
to use the 9 other members of the cluster, the same job takes x times 3!

This is what I'm doing;


1.       Create a mesh, adjust it with some other OF stuff

2.       Run the process to split the job into processes for each node

3.       Copy the process directories to each of the affected nodes using scp

4.       Run mpirun with a hosts file

5.       Re-constitute the case directory by copying back the processor folders

6.       Re-construct the case

Only step 4 Uses MPI and the other steps have a reasonably linear response time.
Step 4 is characterised by a flurry of network activity, followed by all the 
Pis lighting up with CPU activity followed a long time of no CPU activity but 
huge network action.
It's this last bit that is consuming all the time - is this a tear-down phase 
of MPI?
Each of the Pi nodes is set up as slots=4 max_slots=4

What is all the network activity?  It seems to happen after the solver has 
completed its job so I'm guessing it has to be MPI.
The network interface on the Pi is not a stellar performer so is there anything 
I can do to minimise the network traffic?

Thanks,
Steve


Reply via email to