Authors: William W. Dai
A library for parallel IO and data management has been developed for multi-physics simulations. The goal of the library is to provide sustainable, interoperable, efficient, scalable, and convenient tools for parallel IO and data management for high-level data structures in numerical simulations, and to provide tools for the connection between applications. The high-level data structures include one- and multi-dimensional arrays, structured meshes, unstructured meshes, the meshes generated through (block-based, patch-based, and cell-based) adaptive mesh refinement, variables associated with these meshes, and data defined on particles in particle simulations. The IO mechanism can be collective and non-collective. The library is typically used for restarting files, visualization files, and files connecting different applications. The library is based on MPI-IO. Compared with the IO performance of MPI-IO, the overhead to write the explicit users’ data structures are less than five percent. To further improve IO performance, in addition to the bookkeeping data, the library could buffer problem-size data before calling MPI-IO while keeping users’ explicit high-level data structures. The buffering mechanism improves IO performance by a factor 10 to 20 in multi-physics simulations involving AMR and unstructured meshes.
William Dai received his Ph.D. degree in physics in University of Minnesota in 1993. After that he joined Laboratory for Computational Science and Engineering as a research scientist in the University, focusing on numerical methods for hydrodynamics, magnetohydrodynamics, radiation, and diffusion. William joined the Los Alamos National Laboratory in 2001 as a staff member in High Performance Computing Division. In 2002 he became a team leader and project leader responsible for software development and their integration to several multi-physics codes. Currently, William is a scientist in Computer, Computational, and Statistical Sciences Division, and he is one of the key developers of a large-scale multi-physics code, responsible for new physics capabilities, numerical solvers, and modernization of the code on future computer platforms.