|
[Sponsors] |
March 28, 2018, 12:36 |
OpenFOAM Parallel Speed Degradation
|
#1 |
New Member
James Lee
Join Date: Jul 2017
Posts: 5
Rep Power: 9 |
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 |
|
March 28, 2018, 18:54 |
|
#2 |
Senior Member
Join Date: Aug 2015
Posts: 494
Rep Power: 15 |
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 |
|
March 28, 2018, 20:53 |
|
#3 | |
Senior Member
Gerhard Holzinger
Join Date: Feb 2012
Location: Austria
Posts: 342
Rep Power: 28 |
Quote:
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. |
||
March 29, 2018, 03:43 |
|
#4 |
New Member
James Lee
Join Date: Jul 2017
Posts: 5
Rep Power: 9 |
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 |
|
Tags |
openfoam 1612, parallel, performance |
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
How to contribute to the community of OpenFOAM users and to the OpenFOAM technology | wyldckat | OpenFOAM | 17 | November 10, 2017 16:54 |
OpenFOAM can't be run in parallel in cluster | sibo | OpenFOAM Running, Solving & CFD | 4 | February 21, 2017 17:29 |
How can i make a parallel programming in OpenFOAM? | jignesh_thaker2007 | OpenFOAM Running, Solving & CFD | 3 | July 2, 2014 10:37 |
Can not run OpenFOAM in parallel in clusters, help! | ripperjack | OpenFOAM Running, Solving & CFD | 5 | May 6, 2014 16:25 |
Problem in Running OpenFoam in Parallel | himanshu28 | OpenFOAM Running, Solving & CFD | 1 | July 11, 2013 10:19 |