Webinar Followup: Tutorial: Constructing a Simple Terminal VOL Connector

On February 25th, Dana Robinson of The HDF Group presented a tutorial that covered the basics needed to construct a simple terminal VOL connector. The main focus was mapping HDF5 API calls to alternative storage and setting up VOL fields and callbacks to support this. At the end of the tutorial, viewers should be able to get started writing their own terminal VOL connectors.

Here’s a little more information about what you can expect from this session:

What is a VOL?

  • Sits between public HDF5 API calls and storage-oriented code
  • Allows the creation of VOL connectors that perform arbitrary operations when storage-oriented calls (e.g., H5Dread) are called
  • Passthrough connectors perform operations (logging, caching, mirroring, etc.) and then invoke another VOL connector layered underneath
  • Terminal VOL connectors do not pass operations to other VOL connectors in a chain and are typically designed to map HDF5 file objects and metadata to storage
  • VOL connectors can be written by users and loaded as plugins
  • Non-storage HDF5 API calls do not go through the VOL (dataspace and property list calls, etc.)

Recommended pre-requisites:

  • Have basic HDF5 knowledge
  • Understand what the virtual object layer is (there will be a quick review)
  • Be able to read C code

Limitations of this session:

  • The tutorial VOL connector is designed for POSIX systems (i.e., no Windows yet)
  • Covers terminal VOL connectors only (i.e., no pass-through)
  • This is an introductory tutorial and sticks to the basics

There is a VOL Toolkit repository on Github. You can also view the slides for this presentation.


No Comments

Leave a Comment