This page is under construction.

Information on the Virtual Object Layer, a new feature in HDF5-1.12, can be found below.

Description

The Virtual Object Layer (VOL) is an abstraction layer within the HDF5 library that enables different methods for accessing data and objects that conform to the HDF5 data model. 

The VOL intercepts all HDF5 API calls that potentially modify data on disk and forwards those calls to a plugin "object driver". The data on disk can be a different format than the HDF5 format:

The plugins can actually store the objects in variety of ways. A plugin could, for example, have objects be distributed remotely over different platforms, provide a raw mapping of the model to the file system, or even store the data in other file formats (like native netCDF or HDF4 format). The user still gets the same data model where access is done to a single HDF5 “container”; however the plugin object driver translates from what the user sees to how the data is actually stored. Having this abstraction layer maintains the object model of HDF5 and allows better usage of new object storage file systems that are targeted for Exascale systems.

Documentation

The following documentation is available for the VOL feature:

HDF5 Library APIs

FunctionDescription
H5VL_CLOSECloses a VOL connector identifier
H5VL_GET_CONNECTOR_IDRetrieves the identifier for a registered VOL connector
H5VL_GET_CONNECTOR_NAME

Retrieves the connector name for the VOL associated with the object or file identifier

H5VL_IS_CONNECTOR_REGISTEREDTests whether a VOL class has been registered or not
H5VL_REGISTER_CONNECTORRegisters a new VOL connector
H5VL_REGISTER_CONNECTOR_BY_NAMERegisters a new VOL connector by name
H5VL_REGISTER_CONNECTOR_BY_VALUERegisters a new VOL connector by connector value
H5VL_UNREGISTER_CONNECTORRemoves a VOL connector identifier from the library