Simulation applications for engineering problems, running on modern supercomputing clusters, produce massive amounts of data. To be able to store this data, they have to use the same notion of parallelism for their I/O as for the computation itself. Addi- tionally, the emerging datasets require special tools, to be able to analyse and visualise the stored information due to their size of up to multiple terrabytes. This work presents the design and implementation of an I/O kernel as part of an existing massive parallel CFD code. The kernel employs a single shared file approach, to limit the management effort of post processing. The output file is based on the Hierarchical Data Format version 5 (HDF5), a portable, self-describing high-level data format, allowing a database like view of its objects. The file’s contents were selected to support multiple functionalities. They include essential constants, and checkpoint datasets of user defined write out intervals that contain a snapshot of the codes hierarchical grid data structure and the complete simulation data. Based on the file structure, the thesis highlights the design and implementation of rou- tines to restart a simulation at any written checkpoint, also allowing altered boundary conditions, and a visualisation scheme that allows to interactively select subsets of data of varying resolution, present in the codes hierarchical grid structure. Adjustments, involving the use of collective buffering, data alignment, cache sizes and the use of linear data buffers to improve the kernels performance on the JUQUEEN supercomputer are discussed. Performance measurements on the JUQUEEN provided excellent results utilizing between 30 and 40 percent of the I/O hardware’s theoretical bandwidth. Also the comparison with an I/O kernel used in one of the largest I/O applications to date showed competitive performance. Lastly, the fitness of the implemented functionality is shown by conducting a von Kármán vortex street benchmark, showing a branching simulation restart with altered boundary conditions from an intermediate checkpoint.
«
Simulation applications for engineering problems, running on modern supercomputing clusters, produce massive amounts of data. To be able to store this data, they have to use the same notion of parallelism for their I/O as for the computation itself. Addi- tionally, the emerging datasets require special tools, to be able to analyse and visualise the stored information due to their size of up to multiple terrabytes. This work presents the design and implementation of an I/O kernel as part of an ex...
»