A Scalable, Massively-Parallel Runtime System with Predictable Performance
Zusammenfassung der Projektergebnisse
Am Fachgebiet CIT wurde mit Nephele und der Erweiterung Nephele Streaming für das Projekt Stratosphere eine massiv-parallele, fehlertolerante, verteilte Ausführungsumgebung zur skalierbaren Datenanalyse entwickelt, die sowohl zur Batch- als auch zur Datenstromverarbeitung verwendet werden kann. Das System basiert auf dem Datenfluss-Paradigma, so dass datenparallele Operatoren Daten auf verteilten Worker-prozessen transformieren und diese Transformationen mit Benutzerdefinierten Funktionen spezifiziert werden. Die Datenflusslaufzeit Nephele bildet dabei die Basis des Gesamtsystems Stratosphere. Weitere Teile des Projekts, etwa die deklarativen Programmierabstraktionen und automatische Planoptimierungen, bauen auf dieser Schicht auf. Nephele wurde ebenfalls als technischer Kern des aus Stratosphere hervorgegangenen Open Source Systems Apache Flink adoptiert und wird seitdem von einer aktiven Nutzerbasis kontinuierlich weiterentwickelt. Neben der Datenflusslaufzeit von Stratosphere/Flink wurden am Fachgebiet CIT Mechanismen entwickelt, um die Ausführung der Datenflusslaufzeit in Cloud- und Clusterumgebungen zu optimieren. Zu den Optimierungen für den Einsatz in der Cloud zählt beispielsweise ein Mechanismus zur Inferenz der zugrundeliegenden Netzwerktopologie, über die reservierte virtuelle Maschinen physisch verbunden sind. Passend dazu wurde ein Ansatz zur optimierten Platzierung von Operatoren in für moderne Datencenter typischen Netzwerktopologien entwickelt. Weiterhin werden Benutzer des Systems von mehreren am Fachgebiet entwickelten Mechanismen aktiv in der Auswahl der Ressourcen zur Ausführung ihrer Analyseprogramme unterstützt: neben Ansätzen zur Erkennung von Engpässen und zur Indikation des Fortschritts verteilter Datenflüsse wurde ein System zur automatischen Reservierung von Ressourcen für von Benutzern gegebenen Sollzeitpunkten entwickelt, das basierend auf vorangegangen Ausführungen das Skalierungsverhalten von Datenflussprogrammen modelliert. Außerdem wurden Mechanismen entwickelt, die zur Laufzeit die Einhaltung vorgegebener Performanceanforderungen überwachen und Reservierungen gegebenenfalls adaptiv anpassen, beispielweise abzielend auf bestimmte Ressourcenauslastungen bei der Batch-analyse oder vorgegebene Latenzgrenzen bei der Analyse von Datenströmen. Ebenfalls adaptiv wird die Verteilung von Daten sowie die Ausführungsreihenfolge von Programmen gesteuert. Die Daten und Worker-prozesse werden für wiederholt ausgeführte Analyseprogramme so platziert, dass die Eingabedaten möglichst lokal gelesen werden können. Die Ausführungsreihenfolge wird so gewählt, dass genau die nebenläufigen Programme sich Ressourcen teilen, die in der Vergangenheit in Kombination zu einer hohen Gesamtauslastung und geringen Interferenzen geführt haben. Neben diesen Ansätzen zur effizienten adaptiven Verwendung der vorhandenen Ressourcen wurden auch Methoden zur Erhöhung der Fehlertoleranz entwickelt. Beispielsweise wurde mit dem Ansatz Record Skipping ein Mechanismus umgesetzt, der die Ausführung toleranter gegen fehlerhafte Eingabedaten macht. Abschließend wurde speziell die Anwendungsdomäne Maschinelles Lernen untersucht. Einerseits wurde die Datenflusslaufzeit dahingehend erweitert durch zyklische Datenflussgraphen nativ iterative Programme zu unterstützen, andererseits wurden gezielt Methoden entwickelt, den sich kontinuierlich ändernden verteilten Zustand solcher Anwendungen des Maschinellen Lernens effizient zu verwalten.
Projektbezogene Publikationen (Auswahl)
- Detecting Bottlenecks in Parallel DAG-based Data Flow Programs. Proceedings of Many-Task Computing on Grids and Supercomputers (MTAGS). IEEE. 2010
Dominic Battré, Matthias Hovestadt, Björn Lohrmann, Alexander Stanik, Daniel Warneke
(Siehe online unter https://doi.org/10.1109/MTAGS.2010.5699429) - Massively Parallel Data Analysis with PACTs on Nephele. VLDB Endowment. VLDB. 2010
Alexander Alexandrov, Dominic Battré, Stephan Ewen, Max Heimel, Fabian Hueske, Odej Kao, Volker Markl, Erik Nijkamp, Daniel Warneke
(Siehe online unter https://doi.org/10.14778/1920841.1921056) - Evaluation of Network Topology Inference in Opaque Compute Clouds Through End-to-End Measurements. 4th IEEE International Conference on Cloud Computing (IEEE CLOUD). IEEE. 2011
Dominic Battré, Natalia Frejnik, Siddhant Goel, Odej Kao, Daniel Warneke
(Siehe online unter https://doi.org/10.1109/CLOUD.2011.30) - Inferring Network Topologies in Infrastructure as a Service Clouds. 11th International Symposium on Cluster, Cloud, and Grid computing (CCGrid). IEEE. 2011
Dominic Battré, Natalia Frejnik, Siddhant Goel, Odej Kao, Daniel Warneke
(Siehe online unter https://doi.org/10.1109/CCGrid.2011.79) - Massively-Parallel Stream Processing under QoS Constraints with Nephele. 21st International Symposium on High-Performance Parallel and Distributed Computing (HPDC). ACM. 2012
Björn Lohrmann, Daniel Warneke, Odej Kao
(Siehe online unter https://doi.org/10.1145/2287076.2287117) - Ephemeral Materialization Points in Stratosphere Data Management on the Cloud. Advances in Parallel Computing. IOS Press. 2013
Mareike Höger, Odej Kao, Philipp Richter, Daniel Warneke
(Siehe online unter https://doi.org/10.3233/978-1-61499-322-3-163) - Memorization of Materialization Points. 2013 IEEE 16th International Conference on Computational Science and Engineering. IEEE. 2013
Mareike Höger and Odej Kao
(Siehe online unter https://doi.org/10.1109/CSE.2013.186) - The Stratosphere Platform for Big Data Analytics. The VLDB Journal. Springer. 2014
Alexander Alexandrov, Rico Bergmann, Stephan Ewen, Johann-Christoph Freytag, Fabian Hueske, Arvid Heise, Odej Kao, Marcus Leich, Ulf Leser, Volker Markl, Felix Naumann, Mathias Peters, Astrid Rheinländer, Matthias J. Sax, Sebastian Schelter, Mareike Höger, Kostas Tzoumas, Daniel Warneke
(Siehe online unter https://doi.org/10.1007/s00778-014-0357-y) - Implicit Parallelism through Deep Language Embedding. 2015 ACM SIGMOD International Conference on Management of Data. ACM. 2015
Alexander Alexandrov, Andreas Kunft, Asterios Katsifodimos, Felix Schüler, Lauritz Thamsen, Odej Kao, Tobias Herb, Volker Markl
(Siehe online unter https://doi.org/10.1145/2723372.2750543) - Network-Aware Resource Management for Scalable Data Analytics Frameworks. 2015 IEEE International Conference on Big Data (Big Data). IEEE. 2015
Thomas Renner, Lauritz Thamsen, Odej Kao
(Siehe online unter https://doi.org/10.1109/BigData.2015.7364083) - Record Skipping in Parallel Data Processing Systems. 2016 International Conference on Cloud and Autonomic Computing (ICCAC). IEEE. 2016
Mareike Höger and Odej Kao
(Siehe online unter https://doi.org/10.1109/ICCAC.2016.15) - Weak Consistency and Stochastic Environments: Harmonization of Replicated Machine Learning Models. 2nd Workshop on the Principles and Practice of Consistency for Distributed Data. ACM. 2016
Tobias Herb, Christoph Alt, Tim Jungnickel
(Siehe online unter https://doi.org/10.1145/2911151.2911161) - Ellis: Dynamically Scaling Distributed Dataflows to Meet Runtime Targets. 9th IEEE International Conference on Cloud Computing Technology and Science (CloudCom). IEEE. 2017
Lauritz Thamsen, Ilya Verbitskiy, Jossekin Beilharz, Thomas Renner, Andreas Polze, and Odej Kao
(Siehe online unter https://doi.org/10.1109/CloudCom.2017.37) - SMiPE: Estimating the Progress of Recurring Iterative Distributed Dataflows. 18th International Conference on Parallel and Distributed Computing, Applications and Technologies (PDCAT). IEEE. 2017
Jannis Koch, Lauritz Thamsen, Florian Schmidt, and Odej Kao
(Siehe online unter https://doi.org/10.1109/PDCAT.2017.00034)