Scalability of hybrid programming for a CFD code on the Earth Simulator
The Earth Simulator (ES) is an SMP cluster system. There are two types of parallel programming models available on the ES. One is a flat programming model, in which a parallel program is implemented by MPI interfaces only, both within an SMP node and among nodes. The other is a hybrid programming model, in which a parallel program is written by using thread programming within an SMP node and MPI programming among nodes simultaneously. It is generally known that it is difficult to obtain the same high level of performance using the hybrid programming model as can be achieved with the flat programming model. In this paper, we have evaluated scalability of the code for direct numerical simulation of the NavierStokes equations on the ES. The hybrid programming model achieves the sustained performance of 346.9Gflop/s, while the flat programming model achieves 296.4Gflop/s with 16 PNs of the ES for a DNS problem size of 2563. For small scale problems, however, the hybrid programming model is not as efficient because of microtasking overhead. It is shown that there is an advantage for the hybrid programming model on the ES for the larger size problems.
scalability hybrid programming earth simulator smp cluster mpi programming