CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   OpenFOAM Parallel Speed Degradation (https://www.cfd-online.com/Forums/openfoam-solving/200280-openfoam-parallel-speed-degradation.html)

LG Liang March 28, 2018 11:36

OpenFOAM Parallel Speed Degradation
 
1 Attachment(s)
Dear OpenFOAM Community,

I noticed that OpenFOAM speed-up performance, when running in parallel, degrades as the problem size increases. This is illustrated in the attached image. I am running the cavity case using mpirun -np 4 icoFoam -parallel command. The domain is decomposed using Simple method (2 by 2 in x and y direction). I am running OpenFOAM on Window 7. Could someone please explain why this is happening? Any reply is appreciated :).

Thank you.

Regards,
LGL

clapointe March 28, 2018 17:54

If you are not increasing the number of processors as the problem size increases, you should not expect the simulation to run faster -- each processor is effectively getting more "work".

Caelan

GerhardHolzinger March 28, 2018 19:53

Quote:

Originally Posted by LG Liang (Post 686957)
I am running the cavity case using mpirun -np 4 icoFoam -parallel command. The domain is decomposed using Simple method (2 by 2 in x and y direction).

As Caelan already pointed out, you are increasing the workload by having a fixed number of processors and an increasing mesh size.

Try it the other way round. Create a sufficiently large mesh, and run with one process, and a subsequently an increasing number of parallel processes.
At first there should be a speed-up, with an ever increasing number of processors, the sped-up should at some point start to decrease again.

At another point, adding more parallel processes will slow simulation times. By then, the communication overhead introduced by parallel solving out weighs the benefits of parallel simulation.

When you then plot the speed-up over number of processors, or the simulation time over the number of processors, you should be able to identify a sweet spot, i.e. an optimal number of processors for a given mesh size, and a given simulation.

LG Liang March 29, 2018 02:43

1 Attachment(s)
Dear All,

Thanks for the replies. I will certainly try with a greater amount of processes. To gain further insight into the problem, I wrote a simple parallel code that performs embarrassingly parallel calculation. The code was compiled and run in OpenFOAM. Since it is 100% parallel, I expect that the speed-up should be around 4 on a 4-core machine. However, the performance slows down as the data size gets bigger. This is illustrated in the attached image. As can be seen from the image, the speed-up is good with small data size (around 4x faster), but it gets worse when the data size increases. Is this normal? Or there is something wrong with my hardware/software/understanding.

Thank you very much.

Regards,
LGL


All times are GMT -4. The time now is 07:19.