Computational Steering and Parallel Online Monitoring Using RMA through the HDF5 DSM Virtual File Driver
Procedia Computer Science
As systems provide more resources and host an indefinitely growing number of cores, the amount of data produced by simulation codes is steadily increasing, creating a bottleneck at the point where the data must be transferred to postprocessing software. One solution is to avoid the use of a file system altogether and couple post processing software directly to the simulation using an interface common to both sides of the transfer. HDF5, the widely known IO library, offers a modular mapping of
... odular mapping of file contents to storage, allowing the user to use different methods (drivers) for reading and writing data. These drivers are organized in a Virtual File Layer (VFL) so that the user can easily switch between -and if necessary -extend them. In order to be able to visualize and analyze data in-situ, we developed a parallel virtual file driver called the DSM driver, which allows the transfer of data in parallel between two different codes using only the HDF5 API; this driver has now been extended to support remote memory access operations. Whilst the original implementation allows one to post-process data in-situ, we present in this paper extensions to the driver that provide the ability to couple parallel applications bidirectionally. We use this to perform computational steering of simulations. Commands and data are sent back to the simulation using either the driver layer itself (primarily commands) or the HDF5 layer via the DSM driver (datasets). The use of HDF5 datasets for transfer between codes makes true parallel coupling possible, even when the data models of the codes are not directly compatible. The steering interface presented here is shown implemented within ParaView, the parallel visualization application, but the API is generic and in fact any applications that make use of HDF5 may be connected using the driver.