title: Methods for the adaptive provisioning of resources to iterative batch jobs
Creators: name: Scheinert, Dominik
Publisher: name: Technische Universität Berlin
Year: 2024
Subjects: subject: 000 Informatik, Informationswissenschaft, allgemeine Werke::000 Informatik, Wissen, Systeme::000 Informatik, Informationswissenschaft, allgemeine Werke
subject: 000 Informatik, Informationswissenschaft, allgemeine Werke::000 Informatik, Wissen, Systeme::003 Systeme
subject: 600 Technik, Medizin, angewandte Wissenschaften::620 Ingenieurwissenschaften::629 Andere Fachrichtungen der Ingenieurwissenschaften
subject: performance modeling
subject: resource management
subject: distributed data processing
subject: machine learning

description: In light of continuously growing amounts of data as well as the proliferation of machine learning use cases, batch processing of data remains an important procedure. Batch processing frameworks, such as distributed dataflow systems, enable parallel processing of large datasets across clusters of machines, alleviating the development of parallel programs while abstracting away parallelism and fault tolerance. However, the efficient and adaptive allocation of resources to a batch processing job in compliance with user-defined performance targets and optimization constraints is a non-trivial task, as a variety of factors influence a job execution, effectively hindering informed resource configuration decisions even in the presence of expert knowledge. This thesis addresses the inherent challenges of adaptive resource provisioning for batch processing jobs, focusing on novel performance modeling approaches that improve the reusability and exploitation of historical performance data. We present a set of components, each designed to overcome limitations typically encountered in adaptive resource management based on performance modeling. Our resource allocation component leverages auxiliary performance data to calibrate performance models for a target workload, effectively accelerating resource configuration profiling and improving performance prediction accuracy. Supplementary to this, our resource adjustment component monitors the execution of a job and continuously adjusts resource allocations using a holistic graph-based modeling approach. Finally, over time, detailed profiles of each resource are generated by our resource characterization component, providing a deeper insight into the resource capabilities that can be utilized by our other components. The methods have been implemented prototypically, evaluated in a private cluster environment as well as in public cloud environments using representative distributed dataflow jobs and comprehensive execution traces, and peer-reviewed for presentation at international conferences. Our work contributes to the field of adaptive resource management for batch processing jobs by introducing novel performance modeling techniques that quickly adjust to new execution contexts, thereby taking into account the dynamicity and fast-moving nature of modern data processing scenarios.
description: Angesichts des ständig wachsenden Datenvolumens sowie der Verbreitung von Lösungen des maschinellen Lernens bleibt die Batch-Verarbeitung von Daten ein wichtiges Verfahren. Batch-Verarbeitungsframeworks, wie verteilte Datenflusssysteme, ermöglichen die parallele Verarbeitung großer Datensätze über Cluster von Maschinen, erleichtern die Entwicklung paralleler Programme und abstrahieren Parallelität und Fehlertoleranz. Die effiziente und adaptive Zuweisung von Ressourcen zu einem Datenflussjob in Übereinstimmung mit benutzerdefinierten Performanzzielen und Optimierungsbedingungen ist jedoch eine schwierige Aufgabe, da eine Vielzahl von Faktoren die Ausführung eines Jobs beeinflusst und Ressourcenkonfigurationsentscheidungen selbst bei vorhandenem Expertenwissen erschwert. Diese Arbeit befasst sich mit den inhärenten Herausforderungen der adaptiven Ressourcenzuweisung für Datenflussjobs und konzentriert sich auf neue Leistungsmodellierungsansätze, welche die Wiederverwendbarkeit und Nutzung historischer Leistungsdaten verbessern. Wir präsentieren eine Reihe von Komponenten, die jeweils darauf ausgelegt sind, die typischen Einschränkungen im adaptiven Ressourcenmanagement basierend auf Leistungsmodellierung zu überwinden. Unsere Komponente zur initialen Ressourcenzuweisung nutzt zusätzliche Leistungsdaten, um Leistungsmodelle für eine Zielarbeitslast zu kalibrieren, was die Profilierung der Ressourcenkonfiguration effektiv beschleunigt und die Genauigkeit der Leistungsprognose verbessert. Ergänzend dazu überwacht unsere Komponente zur dynamischen Ressourcenanpassung die Ausführung eines Jobs und passt die Ressourcenzuweisungen kontinuierlich mithilfe eines ganzheitlichen, graphenbasierten Modellierungsansatzes an. Schließlich werden im Laufe der Zeit detaillierte Profile jeder Ressource von unserer Komponente zur Ressourcenkategorisierung erstellt, die tiefere Einblicke in die Ressourcenfähigkeiten bieten, welche von unseren anderen Komponenten genutzt werden können. Die Methoden wurden prototypisch umgesetzt, in einer privaten Cluster-Umgebung sowie in öffentlichen Cloud-Umgebungen mit repräsentativen verteilten Datenflussjobs und umfassenden Ausführungsverläufen evaluiert und auf internationalen Konferenzen präsentiert. Unsere Arbeit trägt zum Bereich des adaptiven Ressourcenmanagements für Datenflussjobs bei, indem sie neuartige Leistungsmodellierungstechniken einführt, die sich schnell an neue Ausführungskontexte anpassen, und damit die Dynamik und den schnellen Wandel moderner Datenverarbeitungsszenarien mitberücksichtigt.