Hardware Reference
In-Depth Information
FIGURE 16.5: A CGNS/SIDS data model definition.
on disk (ADF, HDF5) or in memory (Python). The CGNS/HDF5 mapping is
the main and default implementation [11].
Mapping CGNS/SIDS to HDF5 was chosen to increase performance on
dedicated platforms and to avoid maintenance on middleware. The former disk
mapping was ADF, developed by McDonnell Douglas in the 1990s. This format
is no longer maintained, had been designed for a single process architecture,
and had almost no metadata management. The CGNS steering committee
decided to keep ADF for compatibility purposes but to change the future
low-level storage to use HDF5.
The implementation of the internal CGNS tree structure fit perfectly with
the HDF5 tree structure. CGNS has large node contents, but most of the time
there are not a lot of nodes per level (in the range of 10 2 ). Each node is a
group, its metadata is stored as attributes, and its children are sub-groups.
Some nodes may also store data as a single dataset, with a datatype of integer
or floating-point values in simple or double precision, or plain characters. In
case of symbolic links, the mapping software keeps track of the link information
using its own attributes.
The migration to HDF5 enabled CGNS to change some already existing
capabilities such as symbolic links, which are now handled in a more portable
manner, and to implement new features such as the parallel access to data.
Parallel access to data [5] is applicable to both application or library use. The
default CGNS library, the Mid-Level Library (MLL), offers a set of functions
with parallel features. The actual use of parallel HDF5 is almost completely
hidden to the application writer.
 
Search WWH ::




Custom Search