Coupling storage systems for efficient management of self-describing data formats
Creators: name: Duwe, Kira Isabel
Publisher: name: Universitäts- und Landesbibliothek Sachsen-Anhalt
Year: 2023
Subjects: subject: Datenspeicher
subject: Datenstrukturen
subject: High-performance computing (HPC) systems
subject: 005.741

description: In times of continuously growing data sizes, performing insightful analysis is increasingly difficult. Therefore, it is vital to sift through the data volumes most efficiently. However, the hardware hierarchy of high-performance computing (HPC) systems complicates the data analysis. Another factor increasing the complexity is the software stack on top. The stack splits into several mostly isolated layers. While this allows exchanging them, the isolation leads to performance and management issues, e.g., howand where to optimize the data access. To make filtering raw data easier, I/O libraries such as HDF5 (Hierarchical Data Format), and ADIOS2 (Adaptable IO System), and the according self-describing data formats are used. The goal is to provide self-explanatory data that can be exchanged between researchers easily through annotating the data, e.g. with information about the experiment. However, queries on this metadata are difficult as it is currently stored inside the corresponding data formats on data servers. Therefore, the starting point of this thesis is to dissect the HDF5 and ADIOS2’s BP file formats into file metadata, such as variables and attributes, and the data. Splitting the formats enables novel and highly efficient data management techniques without redundancy. By also replacing the file system underneath with the storage framework JULEA, dedicated backends like key-value, relational databases and object stores can be used to manage the different data categories. This approach is kept transparent to the application layer by implementing the separation inside the I/O library. Besides designing and implementing two custom storage engines, a novel data analysis interface (DAI) for JULEA has been developed. The DAI combines the possibility to pre-compute post-processing operations, e.g. computing the mean, with the option to tag specific features to reduce data access during analysis. The evaluation showed that the format dissection alone is not always beneficial when using a slow backend. However, when bringing the format dissection, the file metadata management in a relational database and the DAI together, the performance can compete with the native ADIOS2 engines when writing data even if the backend itself is not changed. In combination they can also outperforms the native engines by up to a factor of 60,000 when the custom metadata is queried. In conclusion, the proposed approach provides sufficient performance for the I/O typically performed in a large simulation while offering significant improvements for the post-processing. All this can be achieved without changing the application code because of the default pre-computation of statistics like the mean, thereby preserving the efforts that went into the development.
description: In Zeiten ständig wachsender Datenmengen wird es immer schwieriger, aufschlussreiche Analysen durchzuführen. Daher ist wichtig, die Datenmengen möglichst effizient zu durchforsten. Die Hardware-Hierarchie von High-Performance-Computing-Systemen (HPC) erschwert jedoch die Datenanalyse. Ein weiterer Faktor, der die Komplexität erhöht, ist der darüber liegende Software-Stack. Der Stack teilt sich in mehrere meist isolierte Schichten auf. Dies ermöglicht zwar den Austausch von Daten, aber die Isolierung führt zu Leistungs- und Verwaltungsproblemen, z. B. bei der Frage, wie und wo der Datenzugriff optimiert werden kann. Um die Filterung von Rohdaten zu erleichtern, werden E/A-Bibliotheken wie HDF5 (Hierarchical Data Format) und ADIOS2 (Adaptable IO System) sowie die entsprechenden selbstbeschreibenden Datenformate verwendet. Ziel ist es, selbsterklärende Daten zur Verfügung zu stellen, die durch Annotation der Daten, z.B. mit Informationen über das Experiment, leicht zwischen Forschern ausgetauscht werden können. Die Abfrage dieser Metadaten ist jedoch schwierig, da sie derzeit innerhalb der entsprechenden Datenformate auf Datenservern gespeichert sind. Daher ist der Ausgangspunkt dieser Arbeit die Zerlegung der HDF5- und der ADIOS2 Dateiformate (BP3, BP4, BP5) in Dateimetadaten, wie Variablen und Attribute, und die Daten. Die Aufspaltung der Formate ermöglicht neue und effiziente Datenverwaltungstechniken. Indem das darunter liegende Dateisystem durch das Speicherframework JULEA ersetzt wird, können dedizierte Backends wie Key-Value-Stores, relationale Datenbanken und Objektspeicher für die Verwaltung der verschiedenen Datenkategorien verwendet werden. Dieser Ansatz wird für die Anwendungsschicht transparent gehalten, indem die Trennung innerhalb der I/O-Bibliothek implementiert wird. Neben dem Entwurf und der Implementierung von zwei Speicher-Engines wurde eine neuartige Datenanalyse-Schnittstelle (DAI) für JULEA entwickelt. Das DAI kombiniert die Möglichkeit, Post-Processing-Operationen, z.B. die Berechnung des Mittelwerts, vorzuberechnen, mit der Option, bestimmte Merkmale zu markieren, um den Datenzugriff während der Analyse zu reduzieren. Die Evaluation hat gezeigt, dass die Formatzerlegung allein nicht immer von Vorteil ist, wenn ein langsames Backend verwendet wird. Wenn jedoch die Formatzerlegung, die Verwaltung von Dateimetadaten in einer relationalen Datenbank und das DAI zusammengebrachtwerden, kann die Leistung beim Schreiben von Daten mit den nativen ADIOS2-Engines konkurrieren, selbst wenn das Backend selbst nicht geändert wird. In Kombination können sie auch die nativen Engines um einen Faktor von bis zu 60.000 übertreffen, wenn die benutzerdefinierten Metadaten abgefragt werden. Zusammenfassend lässt sich sagen, dass der vorgeschlagene Ansatz eine ausreichende Leistung für die E/A bietet, die typischerweise in einer großen Simulation durchgeführt wird, und gleichzeitig signifikante Verbesserungen für das Post-Processing bietet. All dies kann erreicht werden, ohne dass der Anwendungscode geändert werden muss, da Statistiken wie der Mittelwert standardmäßig vorberechnet werden, wodurch die Ressourcen, die in die Entwicklung geflossen sind, erhalten bleiben.