FAQ
© 2015 Staats- und Universitätsbibliothek
Hamburg, Carl von Ossietzky

Öffnungszeiten heute09.00 bis 24.00 Uhr alle Öffnungszeiten

Eingang zum Volltext in OPUS

Hinweis zum Urheberrecht

Dissertation zugänglich unter
URN: urn:nbn:de:gbv:18-73028
URL: http://ediss.sub.uni-hamburg.de/volltexte/2015/7302/


Dynamically Adaptable I/O Semantics for High Performance Computing

Dynamisch anpassbare E/A-Semantiken für das Hochleistungsrechnen

Kuhn, Michael

pdf-Format:
 Dokument 1.pdf (4.628 KB) 


Basisklassifikation: 54.25
Institut: Informatik
DDC-Sachgruppe: Informatik
Dokumentart: Dissertation
Hauptberichter: Ludwig, Thomas (Prof. Dr.)
Sprache: Englisch
Tag der mündlichen Prüfung: 08.04.2015
Erstellungsjahr: 2014
Publikationsdatum: 27.04.2015
Kurzfassung auf Englisch: File systems as well as libraries for input/output (I/O) offer interfaces that are used to interact with them, albeit on different levels of abstraction. While an interface's syntax simply describes the available operations, its semantics determines how these operations behave and which assumptions developers can make about them. There are several different interface standards in existence, some of them dating back decades and having been designed for local file systems; one such representative is POSIX.

Many parallel distributed file systems implement a POSIX-compliant interface to improve portability. Its strict semantics is often relaxed to reach maximum performance which can lead to subtly different behavior on different file systems. This, in turn, can cause application misbehavior that is hard to track down. All currently available interfaces follow a fixed approach regarding semantics, making them only suitable for a subset of use cases and workloads. While the interfaces do not allow application developers to influence the I/O semantics, applications could benefit greatly from the possibility of being able to adapt them to their requirements.

The work presented in this thesis includes the design of a novel I/O interface called JULEA. It offers support for dynamically adaptable semantics and is suited specifically for HPC applications. The introduced concept allows applications to adapt the file system behavior to their exact I/O requirements instead of the other way around. The general goal is an interface that allows developers to specify what operations should do and how they should behave - leaving the actual realization and possible optimizations to the underlying file system. Due to the unique requirements of the proposed interface, a prototypical file system is designed and developed from scratch.

The new I/O interface and file system prototype are evaluated using both synthetic benchmarks and real-world applications. This ensures covering both specific optimizations made possible by the file system's additional knowledge as well as the applicability for existing software. Overall, JULEA provides data and metadata performance comparable to that of other established parallel distributed file systems. However, in contrast to the existing solutions, its flexible semantics allows it to cover a wider range of use cases in an efficient way.

The results demonstrate that there is need for I/O interfaces that can adapt to the requirements of applications. Even though POSIX facilitates portability, it does not seem to be suited for contemporary HPC demands. JULEA presents a first approach of how application-provided semantical information can be used to dynamically adapt the file system's behavior to the applications' I/O requirements.
Kurzfassung auf Deutsch: Dateisysteme und Bibliotheken für Ein-/Ausgabe (E/A) stellen Schnittstellen für den Zugriff auf unterschiedlichen Abstraktionsebenen bereit. Während die Syntax einer Schnittstelle lediglich deren Operationen festlegt, beschreibt ihre Semantik das Verhalten der Operationen. Es existieren mehrere Standards für E/A-Schnittstellen, die teilweise mehrere Jahrzehnte alt sind und für lokale Dateisysteme entwickelt wurden; ein solcher Vertreter ist POSIX.

Viele parallele verteilte Dateisysteme implementieren eine POSIX-konforme Schnittstelle, um die Portabilität zu erhöhen. Ihre strikte Semantik wird oft relaxiert, um die maximal mögliche Leistung erreichen zu können, was aber zu subtil unterschiedlichem Verhalten führen kann. Dies kann wiederum zu schwer nachzuvollziehenden Fehlverhalten der Anwendungen führen. Alle momentan verfügbaren Schnittstellen verfolgen einen statischen Semantikansatz, wodurch sie nur für bestimmte Anwendungsfälle geeignet sind. Während die Schnittstellen keine Möglichkeit für Anwendungsentwickler bieten, die Semantik zu beeinflussen, wäre ein solcher Ansatz hilfreich für Anwendungen, um die Dateisysteme an ihre Anforderungen anpassen zu können.

Die vorliegende Dissertation beschäftigt sich mit dem Entwurf und der Entwicklung einer neuartigen E/A-Schnittstelle namens JULEA. Sie erlaubt es, die Semantik dynamisch anzupassen und ist speziell für HPC-Anwendungen optimiert. Das entwickelte Konzept erlaubt es Anwendungen, das Verhalten des Dateisystems an die eigenen E/A-Bedürfnisse anzupassen. Das Ziel ist eine Schnittstelle, die es Entwicklern gestattet zu spezifizieren, was Operationen tun sollen und wie sie sich verhalten sollen; die eigentliche Umsetzung und mögliche Optimierungen werden dabei dem Dateisystem überlassen. Aufgrund der einzigartigen Anforderungen der Schnittstelle wird außerdem ein prototypisches Dateisystem entworfen und entwickelt.

Das Dateisystem und die Schnittstelle werden mit Hilfe von synthetischen Benchmarks und praxisnahen Anwendungen evaluiert. Dadurch wird sichergestellt, dass sowohl spezifische Optimierungen als auch die Tauglichkeit für existierende Software überprüft werden. JULEA erreicht eine vergleichbare Daten- und Metadatenleistung wie etablierte parallele verteilte Dateisysteme, kann durch seine flexible Architektur aber einen größeren Teil von Anwendungsfällen effizient abdecken.

Die Resultate zeigen, dass E/A-Schnittstellen benötigt werden, die sich an die Anforderungen von Anwendungen anpassen. Obwohl der POSIX-Standard Vorteile bezüglich der Portabilität von Anwendungen bietet, ist seine Semantik nicht mehr für heutige HPC-Anforderungen geeignet. JULEA stellt einen ersten Ansatz dar, der es erlaubt, das Dateisystemverhalten an die Anwendungsanforderungen anzupassen.

Zugriffsstatistik

keine Statistikdaten vorhanden
Legende