|
![]() Brisbane, 16-18 July 2001 | ||||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||
|
AbstractComparison of Parallelism using OpenMP, MPI and BSP with Smoothed Particle HydrodynamicsRichard Goozeegoozee@mech.uq.edu.au Centre for Hypersonics, Department of Mechanical Engineering, UQ, Australia
We compare the implementation of parallelism in a Computational Fluid Dynamics (CFD) code using three different methods and compare their performance. The methods are based on libraries that are built on top of traditional languages such as C and Fortran. The CFD code uses the Smoothed Particle Hydrodynamics (SPH) method and is naturally parallel. The three methods incorporate varying degrees of explicit parallelism which gives benefits in portability and predictability, although these benefits can be offset by an increased amount of work in development. OpenMP is based on the shared memory model, MPI is based on the distributed memory model with message passing and BSP is based on message passing, like MPI, but imposes a simpler structure to the parallel code. The SPH method was parallelised in a straight forward way with communication allowing all processes to have access to the whole data set. More efficient, and complicated, approaches divide the flow domain so that processes deal with particular volumes only and therefore just require the surrounding boundaries to be communicated. Two machines were used in the study: an SGI Origin 2000 and a Beowulf class workstation cluster. On the Origin 2000, the performance of OpenMP was better than that of both MPI and BSP for small simulations; latencies are significant for message passing when used with small volumes of communications. As expected, all implementations were more efficient with coarser grained parallelism. In this context this means that they are all suited to larger simulations. | ||||||||||||||||||||||||||||||||
Update: 19/Nov/2001 | |||||||||||||||||||||||||||||||||
| ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ ------ | |||||||||||||||||||||||||||||||||