Lattice Boltzmann Method for DSM Systems: Implementation and Optimization with JAVA - Dreweke, Alexander (VDM Verlag Dr. Müller, 2008)
The Lattice Boltzmann method is a new and promising alternative to the traditional Navier-Stokes solvers in the domain of computational fluid dynamics. It is based on cellular automata and operates on a domain, were all cells are normalized in space. Because of the great need for memory and computing time most computational fluid dynamic problems cannot be solved on a single computer in sufficient time. Therefore the solvers have to be parallelised.For parallelization a distributed shared memory approach is used instead of the traditional Message Passing Interface approach. The distributed shared memory system provides the programmer a global address space on top of the distributed memory of the individual nodes of the cluster.Our performance evaluation shows that by optimizing the Lattice Boltzmann method the sequential program we are able to achieve 5.5 million lattice updates per second for a 1000x1000 grid. By further optimizing the sequential program in a distributed shared memory specific way we are able to achieve a speed-up of 3.4 in both 2D and 3D test case. This results in a total of 2 million lattice updates per second.
UnivIS-Import:2015-04-02:Pub.2008.tech.IMMD.IMMD2.lattic