title: Optimizing Checkpoint/Restart and Input/Output for Large Scale Applications
Creators: name: Jami, Masoud
Publisher: name: Humboldt-Universität zu Berlin
Year: 2024
Subjects: subject: Checkpoint/Restart
subject: Input/Output
subject: HPC
subject: IOSIG
subject: Verteilte Anwendung
subject: Checkpoint/Restart
subject: Input/Output
subject: HPC
subject: IOSIG
subject: Distributed Application
subject: 004 Informatik
subject: ST 150
subject: ST 233

description: Im Bereich von Exascale Computing und HPC sind Fehler nicht gelegentlich. Sondern treten sie regelmäßig während der Laufzeit von Anwendungen auf. Die Bewältigung dieser Herausforderungen ist wichtig, um die Zuverlässigkeit der Supercomputing-Anwendung zu verbessern. Checkpoint/Restart ist eine Technik, die in HPC verwendet wird, um die Ausfallsicherheit bei Ausfällen zu verbessern. Dabei wird der Status einer Anwendung regelmäßig auf der Festplatte gespeichert, sodass die Anwendung bei einem Ausfall vom letzten Checkpoint aus neu gestartet werden kann. Checkpointing kann jedoch zeitaufwändig sein insbesondere hinsichtlich I/O. Daher ist die Optimierung des C/R-Prozesses wichtig, um seine Auswirkungen auf die Anwendungsleistung zu reduzieren und die Job-Resilienz zu verbessern. Der erste Teil dieser Arbeit erforscht und entwickelt innovative Techniken im Bereich des C/R-Managements im HPC-Kontext. Dazu gehört die Entwicklung eines neuartigen C/R-Ansatzes, die Entwicklung eines Modells für mehrstufiges C/R, und die Optimierung der gemeinsamen Nutzung von Burst-Puffer für C/R in Supercomputern. C/R-Prozeduren erzeugen umfangreiche I/O-Operationen. Daher ist eine Optimierung der I/O-Prozesse zwingend erforderlich. Um den C/R-Prozess zu optimieren, ist es auch wichtig, das I/O-Verhalten einer Anwendung zu verstehen, einschließlich der Menge an Daten, die geschrieben werden müssen, wie oft Checkpoints genommen werden sollten und wo die Checkpoints gespeichert werden sollen. Daher untersuchen und stellen wir im zweiten Teil Innovationen von Ansätzen für I/O-Modellierung und -Management. Dazu gehört die Entwicklung eines Plugins für GCC, das das optimale Speichergerät für die I/O von Anwendungen basierend auf ihrem durch Pragma-Vorstellungen definierten Verhalten auswählt, und die Entwicklung eines Modells zur Schätzung der I/O-Kosten Anwendungen unter Linux unter Berücksichtigung von Seitenverwaltung und Prozessdrosselung.
description: In the context of exascale computing and HPC, failures are not occasional but rather inherent, occurring during the runtime of applications. Addressing these challenges is essential to enhance the resilience and reliability of supercomputing operations. Checkpoint/Restart (C/R) is a technique used in HPC to improve job resilience in the case of failures. This involves periodically saving the state of an application to disk, so that if the application fails, it can be restarted from the last checkpoint. However, checkpointing can be time-consuming and significantly impact application performance, particularly regarding its I/O operations. Therefore, optimizing C/R is crucial for reducing its impact on application performance and improving job resilience. The first part of this work develops novel techniques in C/R management within the context of HPC. This includes developing a novel C/R approach by combining XOR and partner C/R mechanisms, developing a model for multilevel C/R in large computational resources, and optimising the shared usage of burst buffers for C/R in supercomputers. C/R procedures generate substantial I/O operations, emerging as a bottleneck for HPC applications. Hence, the need for optimization in I/O processes becomes imperative to overcome this bottleneck. To optimize the C/R process, it is also important to understand the I/O behavior of an application, including how much data needs to be written, how frequently checkpoints should be taken, and where to store the checkpoints to minimize I/O bottlenecks. Hence, in the second part, we investigate and introduce innovative techniques and approaches for I/O modeling and management. This includes developing a plugin for GNU C Compiler (GCC) that selects the optimal storage device for the I/O of applications based on their behavior that is defined by Pragma notions, and developing a model to estimate I/O cost of applications under Linux considering page management and process throttling.