Das Hierarchical Data Format entstand in den 1980er-Jahren am NCSA als Möglichkeit, wissenschaftliche Daten in einer selbstbeschreibenden Datei zwischen verschiedenen Rechnerplattformen zu übertragen. Doch Ende der 1990er-Jahre stieß HDF4 an Grenzen: Dateien waren auf 2 GB begrenzt, das Datenmodell wies inkonsistente Klassen auf, und es gab keine echte parallele E/A.

Im September 1998 veröffentlichte das NCSA die HDF5-Beta: eine neue experimentelle Version mit einem 64-Bit-Adressraum, einem einfacheren Objektmodell aus Datensätzen, Räumen, Typen, Gruppen und Dateien sowie effektiver paralleler E/A über MPI-IO. Der Quellcode war frei verfügbar, und die Bibliothek war etwa ein Drittel so groß wie HDF4.

HDF5 behielt die prägende Idee von HDF bei – eine portable, selbstbeschreibende Datei, in der die Metadaten mit den Daten mitwandern –, und heute pflegt die HDF Group es unter einer BSD-artigen Lizenz als leistungsfähige Speicher-Suite, die vom Laptop bis zu massiv parallelen Systemen reicht, mit über 700 GitHub-Projekten in Bereichen von Astronomie und Geowissenschaften bis Genomik und Finanzwesen.

Das Format neu gestalten, die selbstbeschreibende Idee bewahren

Selbstbeschreibende Dateien bedeuteten, dass Daten ihre eigene Bedeutung über Plattformen und Teams hinweg mit sich trugen.

64-Bit-Adressierung und parallele E/A passten zu der aufkommenden Großforschung.

Die Open-Source-Lizenz beseitigte jede Hürde für die Übernahme.

Ein einfacheres Objektmodell machte das Format leichter zu implementieren und zu erweitern.

Wenn das alte Format an seine Grenzen stößt, sollte man das Modell neu gestalten statt es zu flicken: Ein saubereres Objektmodell plus offener Code war es, was ein Format über Jahrzehnte von Daten hinweg dienen ließ.

HDF5 wurde zu einem festen Bestandteil des wissenschaftlichen Rechnens und der Industrie, von Astronomie und Geowissenschaften bis Genomik und Finanzwesen, gepflegt unter einer BSD-artigen Lizenz mit einem großen Ökosystem aus Bibliotheken und Werkzeugen; das Format entwickelt sich für Exascale-Systeme und Machine-Learning-Workloads weiter.

DEN BELEGEN FOLGEN

Die Quellen

  1. The HDF5 Library & File Format The HDF Group · hdfgroup.org
  2. HDF5 - Hierarchical Data Format Beta Announcement LWN.net · lwn.net ·