Le Hierarchical Data Format a vu le jour au NCSA dans les années 1980 comme moyen de transférer des données scientifiques entre différentes plateformes informatiques dans un fichier auto-descriptif. Mais à la fin des années 1990, HDF4 avait ses limites : des fichiers plafonnés à 2 Go, un modèle de données aux classes incohérentes et pas de véritable E/S parallèle.
En septembre 1998, le NCSA a publié la bêta de HDF5 : une nouvelle version expérimentale dotée d'un espace d'adressage 64 bits, d'un modèle objet plus simple articulé autour des jeux de données, des espaces, des types, des groupes et des fichiers, et d'E/S parallèles efficaces via MPI-IO. Le code source était librement disponible, et la bibliothèque faisait environ un tiers de la taille de HDF4.
HDF5 a conservé l'idée fondatrice de HDF — un fichier portable et auto-descriptif où les métadonnées voyagent avec les données — et aujourd'hui le HDF Group le maintient sous une licence de type BSD comme une suite de stockage haute performance fonctionnant du portable aux systèmes massivement parallèles, avec plus de 700 projets GitHub dans des domaines allant de l'astronomie et des sciences de la Terre à la génomique et à la finance.
Refondre le format, conserver l'idée auto-descriptive
Les fichiers auto-descriptifs signifiaient que les données portaient leur propre signification à travers les plateformes et les équipes.
L'adressage 64 bits et les E/S parallèles correspondaient à l'informatique de la grande science qui arrivait.
La licence open source a levé tous les obstacles à l'adoption.
Un modèle objet plus simple a rendu le format plus facile à implémenter et à étendre.
Quand l'ancien format atteint ses limites, refondez le modèle plutôt que de le rapiécer : un modèle objet plus propre allié à un code ouvert, voilà ce qui a permis à un seul format de servir des décennies de données.
Suites
HDF5 est devenu un incontournable du calcul scientifique et de l'industrie, de l'astronomie et des sciences de la Terre à la génomique et à la finance, maintenu sous une licence de type BSD avec un vaste écosystème de bibliothèques et d'outils ; le format continue d'évoluer pour les systèmes exascale et les charges de travail d'apprentissage automatique.
VÉRIFIEZ LES SOURCES
Les sources
- The HDF5 Library & File Format The HDF Group · hdfgroup.org
- HDF5 - Hierarchical Data Format Beta Announcement LWN.net · lwn.net ·