An Efficient and Flexible Parallel I/O Implementation for the CFD

An Efficient and Flexible Parallel I/O Implementation for the CFD

1 An Efficient and Flexible Parallel I/O implementation for the CFD General Notation System Kyle Horne, Nate Benson Center for High Performance Computing, Utah State University Thomas Hauser Academic & Research Computing, Northwestern University [email protected], [email protected], [email protected] Abstract—One important, often overlooked, issue tations. One important, often overlooked, issue for large, three dimensional time-dependent com- for large, three-dimensional time-dependent putational fluid dynamics (CFD) simulations is the simulations is the input and output performance input and output performance of the CFD solver, of the CFD solver. The development of the especially for large time-dependent simulations. The development of the CFD General Notation System CFD General Notation System (CGNS) (see (CGNS) has brought a standardized and robust [1], [2], [3]) has brought a standardized and data format to the CFD community, enabling the robust data format to the CFD community, exchange of information between the various stages enabling the exchange of information between of numerical simulations. Application of this standard the various stages of numerical simulations. data format to large parallel simulations is hindered CGNS is used in many commercial and open by the reliance of most applications on the CGNS Mid-Level Library. This library has only supported source tools such as Fluent, Fieldview, Plot3D, serialized I/O. By moving to HDF5 as the recom- OpenFOAM, Gmsh and VisIt. Unfortunately, mended low level data storage format, the CGNS the original design and implementation of the standards committee has created the opportunity CGNS interface did not consider parallel ap- to support parallel I/O. In our work, we present plications and, therefore, lack parallel access the parallel implementation of the CGNS Mid-Level mechanisms. By moving to HDF5 as the rec- Library and an I/O request-queuing approach to overcome some limitations of HDF5. We also present ommended low level data storage format, the detailed benchmarks on a parallel file system for CGNS standards committee has created the typical structured and unstructured CFD application opportunity to support parallel I/O. In our I/O patterns. work, we present the parallel implementation of the CGNS Mid-Level Library and detailed benchmarks on parallel file systems for typical I. INTRODUCTION structured and unstructured CFD applications. Linux clusters can provide a viable and more cost-effective alternative to conventional II. I/O FOR COMPUTATIONAL FLUID supercomputers for the purposes of computa- DYNAMICS SIMULATIONS tional fluid dynamics (CFD). In some cases, the Linux supercluster is replacing the conven- Current unsteady CFD simulations demand tional supercomputer as a large-scale, shared- not only a great deal of processing power, but use machine. In other cases, smaller clusters are also large amounts of data storage. Even a providing dedicated platforms for CFD compu- relatively simple unsteady CFD simulation can 2 produce terabytes of information at a tremen- to spend minimal effort on dealing with I/O dous rate, and all this data must be stored and operations. This new parallel I/O API, together archived for analysis and post processing. Most with a queuing-approach to overcome some CFD programs have one of the following three limitations of HDF5 for a generally distributed approaches implemented: multi-block grid, and the benchmarks on the 1) One process is responsible for I/O. This parallel file system is the core of our storage means that all I/O activity is channeled challenge entry. through one process and the program cannot take advantage of a parallel file A. The CGNS system system since this process is inherently The specific purpose of the CFD General serial. One CFD code using this approach Notation System (CGNS) project is to pro- is OVERFLOW [4]developed by NASA. vide a standard for recording and recovering 2) A large number of parallel CFD codes computer data associated with the numerical are programmed to access their input solution of the equations of fluid dynamics. and output data in a one-file-per-process The intent is to facilitate the exchange of model. This approach is simple but has Computational Fluid Dynamics (CFD) data be- two major disadvantages. First, in order tween sites, between applications codes, and to get access to the full solution for vi- across computing platforms, and to stabilize the sualization or post-processing, one must archiving of CFD data. reassemble all files into one solution file. The CGNS system consists of three parts: (1) This is an inherently serial process and the Standard Interface Data Structures, SIDS, can take a long time. Second, the sim- (2) the Mid-Level Library (MLL), and (3) the ulation program may only be restarted low-level storage system, currently using ADF with the same number of processes (see and HDF5. Fig. 1a) which may reduce the potential The "Standard Interface Data Structures" throughput for a user on a busy super- specification constitutes the essence of the computer. One CFD code which takes CGNS system. While the other elements of this approach is OpenFOAM[5]. the system deal with software implementation 3) The most transparent approach for a user issues, the SIDS specification defines the sub- is writing from all process in parallel stance of CGNS. It precisely defines the intel- into one shared file. The current MPI- lectual content of CFD-related data, including 2 standard [6]defines in chapter nine the the organizational structure supporting such MPI-I/O extension to allow parallel ac- data and the conventions adopted to standard- cess from memory to files. Parallel I/O ize the data exchange process. The SIDS are is more difficult to implement and may designed to support all types of information perform slower compared to approach 2, involved in CFD analysis. While the initial when the I/O requests are not coordinated target was to establish a standard for 3D- properly. An overview of the shared file structured multi-block compressible Navier- I/O model is provided in figure (1 b). Stokes analysis, the SIDS extensible framework It is highly desirable to develop a set of now includes unstructured analysis, configura- parallel APIs for accessing CGNS files that tions, hybrid topology and geometry-to-mesh employ appropriate parallel I/O techniques. association. Programming convenience and support for A CGNS file consists of nodes with names, all types of CFD approaches, from block- associated meta data and data. Figure 2 shows structured to unstructured, is a very important the abstract layout of a CGNS file. The nodes design criteria, since scientific users may desire of a CGNS tree may or may not be in the 3 Figure 1: Storage topology of a modern computer cluster in two configurations. Configuration (a) shows the traditional CFD approach to I/O, where each node writes a separate file to disk. These files must be combined to obtain the full solution in a process which can be quite time consuming. Configuration (b) shows the object of this proposal, a CFD I/O method in which the partial solution from each node is written into the appropriate location within a single solution file for the whole problem. same file. CGNS provides the concept of links (similar to soft links in a file system) between nodes. This enables users to write the grid coordinates in one file and then add links to the solution written in several files to the grid file. For a visualization system these linked files would look like one big file containing the grid and solution data. Although the SIDS specification is indepen- dent of the physical file formats, its design was targeted towards implementation using the ADF Core library, but one is able to define a mapping to any other data storage format. Cur- rently in CGNS 3.0, HDF5 is the recommended Figure 2: Typical layout of a CGNS file consist- storage format, but access to the older ADF ing of a tree structure with meta data and data format is transparent to the users of the MLL. stored under each tree node. The dashed link shows that CGNS also supports the concept of 1) ADF data format: The "Advanced Data links to other nodes which reside in other files. Format" (ADF) is a concept defining how data is organized on the storage media. It is based on a single data structure called an ADF node, designed to store any type of data. Each ADF release. file is composed of at least one node called the 2) HDF5 data format: In the current beta "root". The ADF nodes follow a hierarchical version of CGNS 3.0, HDF5 is the default low- arrangement from the root node down. This level storage format. The format of an HDF5 data format was the main format up to the 3.0 file on disk encompasses several key ideas of 4 the HDF4 and AIO file formats as well as tools to function, but still provides routines for addresses some shortcomings therein. parallel file access on the largest of the data The HDF5 library uses these low-level ob- sets that need to be written to the file. jects to represent the higher-level objects that The CGNS Mid-level Library supports writ- are then presented to the user or to applications ing files in HDF5 as of version 2.5, but the through APIs. For instance, a group is an object support is not native. The main library calls header that contains a message that points to are written to the ADF interface and HDF5 a local heap and to a B-tree which points to support is achieve through an ADF to HDF5 symbol nodes. A data set is an object header compatibility layer.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    31 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us