Load balance and parallel I/O: Optimising COSA for large simulations. (15th September 2018) - Jackson, Adrian; Campobasso, M. Sergio; Drofelnik, Jernej
Highlights: Significantly optimised parallel I/O and load balance in a CFD code. Load balancing optimisation improves performance by up to four times. Optimising parallel I/O functionality reduces the cost by up to 100%. Abstract: This paper presents the optimisation of the parallel functionalities of the Navier–Stokes Computational Fluid Dynamics research code COSA, a finite volume structured multi-block code featuring a steady solver, a general purpose time-domain solver, and a frequency-domain harmonic balance solver for the rapid solution of unsteady periodic flows. The optimisation focuses on improving the scalability of the parallel input/output functionalities of the code and developing an effective and user-friendly load balancing approach. Both features are paramount for using COSA efficiently for large-scale production simulations using tens of thousands of computational cores. The efficiency enhancements resulting from optimising the parallel I/O functionality and addressing load balance issues has provided up to a 4× performance improvement for unbalanced simulations, and 2× performance improvements for balanced simulations.