Please use this identifier to cite or link to this item: http://doi.org/10.25358/openscience-1196
Authors: Gad, Ramy Mohamed Aly
Title: Enhancing application checkpointing and migration in HPC
Online publication date: 20-Nov-2018
Language: english
Abstract: It is predicted that the number of nodes and cores per node will rapidly increase with the upcoming era of exascale supercomputers. Such growing number of hardware components causes a decrease in the Mean Time Between Failures(MTBF). Furthermore, in order to efficiently exploit such exascale systems and fully utilize all available resources of a node, multiple applications could share execution on one node and compete for the resources available on this node, for instance, computing cores and accelerators. However, applications competing for the same resources, result in resource overload. Application checkpointing and migration are promising solutions to improve fault tolerance and to balance workloads between computing nodes, while avoiding resources overload. In this thesis, we address part of the challenges related to performing application checkpointing and migration in HPC. We consider the problem of checkpointing for load balancing between different resources on a heterogeneous node. This problem is affiliated with context switching between the host and the accelerator memory spaces. We present a tool collection (ConSerner) (Context Serializer) that automatically identifies, gathers, and serializes the context of a kernel and migrates it to an accelerator's memory, where an accelerator kernel is executed with this data. We consider the problem of reducing checkpoint size and migration time in a virtualized HPC environment. We notice that not all data objects within a virtual machine (VM) image are required for a successful checkpoint or a migration from a source to a destination node. Therefore, discarding these data objects that are not required from the virtual machine image before migration/checkpointing significantly decreases the migration time and the checkpoint storage size. In this thesis, we propose a novel approach for the acceleration of VM migration and the reduction of VM checkpoint storage size. We take advantage of the fact that freed memory regions within the guest system are not recognised by the hypervisor. Therefore, we fill them with zeros, so that zero-page detection and compression can work more efficiently. We demonstrate that our approach can boost the migration time by up to 10%, when it is applied alone, and by up to 60%, when it is combined with compression. We also show that our approach reduces the checkpoint size of our tested applications by up to 9%, without compression, and by up to 94% with compression. Furthermore, for checkpointing, we consider the problem of scalability and the problem of checkpoint size reduction. A study on a wide range of HPC applications is performed. For each application, we show the deduplication potential of its checkpoints for different deduplication configurations. Since not all applications provide built-in checkpointing, we use DMTCP for system Level checkpointing. Using this type of checkpointing, we show that there is a high potential for saving data sent to disk and for increasing checkpointing performance and scalability.
Es wird angenommen, dass die Anzahl an Clusterknoten und deren Rechenkernen rapide steigen muss, um Hochleistungsrechner der Exascale-Kategorie bauen zu können. Durch die wachsende Anzahl von Komponenten verkürzt sich die durchschnittliche Zeit zwischen dem Auftreten von Fehlern (engl.: Mean Time Between Failure, kurz: MTBF). Um alle Ressourcen eines solchen Exascalesystems effizient auszunutzen, können mehrere Anwendungen gleichzeitig auf einem Knoten ausgeführt werden. Dabei konkurrieren diese Anwendungen um verfügbare Ressourcen wie Rechenkerne oder Beschleunigerkarten. Bei Anwendungen mit gleichem Ressourcenbedarf kann dies zu Engpässen führen. Das Speichern aktueller Programmzustände, das sogenannte Checkpointing, und das Migrieren von Applikationen sind vielversprechende Möglichkeiten, um die Fehlertoleranz zu verbessern und die Rechenlast zwischen den einzelnen Rechenknoten zu balancieren, um somit Überlastungen zu vermeiden. In dieser Arbeit werden einige der Herausforderungen betrachtet, die bei der Durchführung von Sicherungen und Migrationen in großen Hochleistungsrechnern entstehen. Wir analysieren Checkpoiting als Mechanismus zur Lastbalancierung zwischen Ressourcen heterogener Rechenknoten. Die Herausforderung hierbei ergibt sich durch den notwendigen Kontextwechsel zwischen dem Hauptspeicher des Hostsystems und dem Speicherbereich des Beschleunigers. Dafür wird das selbst entwickelte Werkzeug "ConSerner" vorgestellt. Dieses Werkzeug identifiziert und serialisert automatisch die Speicherbereiche eines Kernelkontextes und migriert diese dann in den Speicherbereich eines Beschleunigers, wo dann diese Daten verarbeitet werden. Des Weiteren analysieren wir, wie sich die Checkpointgröße und die Migrationszeit in einem virtualisierten Hochleistungsrechner verringert werden kann. Wir haben herausgefunden, dass nicht alle Objekte eines Abbildes einer virtuellen Maschine (VM) benötigt werden, um einen Checkpoint zu erstellen und diesen zu einem Zielknoten zu migrieren. Das Entfernen dieser nicht benötigten Daten reduziert die Checkpointgröße und die Migrationszeit erheblich. In dieser Arbeit wird ein neuer Ansatz vorgestellt, um die Migration von VMs zu beschleunigen. Dabei wird ausgenutzt, dass wieder freigegebene Speicherbereiche innerhalb des Gastsystems vom Hypervisor nicht erkannt und somit nicht bei einem Transfer verworfen werden. Durch das Auffüllen dieser Bereiche mit Nullen kann eine effizientere Komprimierung der Daten erreicht werden. Allein dieser Ansatz kann die Migrationszeit um bis zu 10% und die Checkpointgröße um bis zu 9% reduzieren. Durch zusätzliche Komprimierung kann die Migrationszeit sogar um bis zu 60% und die Checkpointgröße um bis zu 94% reduziert werden. Für das Checkpointing betrachten wir das Problem der Skalierbarkeit und der Reduktion des Speicherplatzverbrauchs. In dieser Untersuchungen wurden viele echte HPC-Anwendungen betrachtet, die unterschiedliche Speicherlayouts aufweisen. Für jedes Programm wird das Deduplizierungspotential bei unterschiedlichen Deduplizierungskonfigurationen gezeigt. Da nicht alle Programme eigene Checkpointmechanismen bereitstellen, wurde das System-Level-Checkpointing-Werkzeug DMTCP verwendet. Für diese Art der Zustandssicherung zeigen wir, dass sie ein hohes Deduplizierungspotential hat, wodurch die gespeicherte Datenmenge reduziert und die Systemleistung und die Skalierbarkeit erhöht werden kann.
DDC: 004 Informatik
004 Data processing
Institution: Johannes Gutenberg-Universität Mainz
Department: FB 08 Physik, Mathematik u. Informatik
Place: Mainz
DOI: http://doi.org/10.25358/openscience-1196
Version: Original work
Publication type: Dissertation
License: in Copyright
Information on rights of use: https://rightsstatements.org/vocab/InC/1.0/
Extent: v, 125 Seiten
Appears in collections:JGU-Publikationen

Files in This Item:
File SizeFormat 
100002384.pdf2.19 MBAdobe PDFView/Open