Detailansicht

Containerized data-intensive applications on scientific clusters
Manfred Cerny-Käfer
Art der Arbeit
Masterarbeit
Universität
Universität Wien
Fakultät
Fakultät für Informatik
Studiumsbezeichnung bzw. Universitätlehrgang (ULG)
Masterstudium Scientific Computing
Betreuer*in
Siegfried Benkner
Mitbetreuer*in
Yuriy Kaniovskyi
Volltext herunterladen
Volltext in Browser öffnen
Alle Rechte vorbehalten / All rights reserved
DOI
10.25365/thesis.50356
URN
urn:nbn:at:at-ubw:1-17981.37315.726066-8
Link zu u:search
(Print-Exemplar eventuell in Bibliothek verfügbar)

Abstracts

Abstract
(Deutsch)
Container-Virtualisierung bietet effektive Isolation für Software-Installationen und die Ausführungsumgebung zur Laufzeit mit geringem Performance-Overhead im Vergleich zu virtuellen Maschinen. Traditionelle Umgebungen im High-Performance-Computing, die von verschiedenen wissenschaftlichen Gruppen genutzt werden, benötigen oft Unterstützung für mehrere Frameworks und Software-Stacks, was erheblichen Wartungsaufwand verursacht. Die Verwendung von Container-Virtualisierung ermöglicht den schnellen Einsatz neuer Software-Stacks, während eine unerwünschte Beeinflussung anderer Installationen oder Software-Container vermieden wird. Für bestimmte Zwecke, wie die Durchführung wissenschaftlicher Berechnungen unter Verwendung von MPI oder die Verarbeitung riesiger Datenmengen mit Frameworks wie Apache Spark oder Apache Hadoop, sind viele verschiedene Frameworks mit spezifischen Anwendungsbereichen entstanden. Um vorhandene Ressourcen optimal auszunützen, ist es oft erwünscht, mehrere Frameworks, manchmal auch simultan, im selben Cluster zu betreiben. Die Verwendung geeigneter Cluster- und Ressourcenmanager ermöglicht die gemeinsame Nutzung eines Clusters durch mehrere Applikation und den Zugriff auf verteilt gespeicherte Daten, ohne große Datenmengen aufwendig zwischen verschiedenen Clustern kopieren zu müssen. Die dadurch ermöglichte dynamische Partitionierung eines Clusters kann helfen, hohe Auslastung der Ressourcen und effizienten Zugriff auf verteilte Daten zu erreichen. Die Kombination von Ressourcenmanagern mit Container-Virtualisierung ermöglicht potentiell die effektive Auslastung der Ressourcen eines Clusters bei gleichzeitiger Reduktion des Wartungsaufwands. In dieser Arbeit werden native und Container-basierte Installationen von Apache Spark in Kombination mit verschiedenen Cluster- und Ressourcenmanagern bezüglich ihrer individuellen Vor- und Nachteile, dem Installations- und Konfigurationsaufwand und etwaiger Schwierigkeiten sowie der Benutzerfreundlichkeit aus der Sicht des Anwenders verglichen. Mittels verschiedener Benchmarks wird das Laufzeitverhalten ausgewählter Kombinationen ermittelt. Basierend auf den Erfahrungen aus den Experimenten beschreiben wir die Varianten mit dem besten Laufzeitverhalten, die für breiteren Einsatz im High-Performance-Computing geeignet scheinen und schließen mit einer Diskussion der aufgetretenen Probleme und möglicher Lösungsansätze.
Abstract
(Englisch)
Container virtualization provides effective isolation for software installations and tasks with very low performance overhead compared to virtual machines. Traditional HPC-oriented environments used by different scientific groups often need to support several frameworks and software stacks which creates considerable maintenance effort. The use of container virtualization enables fast deployment of new software stacks while avoiding any unwanted side effects affecting other software containers or natively installed software. Many diverse frameworks have emerged for specific purposes like running scientific computations using MPI or processing of huge amounts of data with frameworks like Apache Spark and Apache Hadoop. For optimal resource utilization it is often desirable to run multiple frameworks in the same cluster, sometimes even simultaneously. The use of appropriate cluster and resource managers enables sharing of the cluster which allows sharing access to distributed datasets avoiding the need to replicate large datasets across different clusters. Hence, dynamic partitioning of the cluster can help to achieve high utilization and efficient data sharing. Combining resource managers with container virtualization potentially enables effective resource utilization of a compute cluster environment while reducing the maintenance effort. In this work, native and containerized installations of Apache Spark in combination with diverse resource and cluster managers are set up and compared with regard to individual advantages and drawbacks, setup effort and difficulties and the usability from the end user perspective. Using different benchmarks, the runtime performance of selected setup combinations is compared to each other. Based on the experience, we describe which setups delivered the best runtime performance indicating eligibility for broader adoption in HPC and conclude with a discussion of encountered problems and lessons learned from the experiments.

Schlagwörter

Schlagwörter
(Englisch)
Docker Mesos Spark Hadoop Spark-Bench data-intensive big data HPC
Schlagwörter
(Deutsch)
Docker Mesos Spark Hadoop Spark-Bench datenintensiv big data HPC
Autor*innen
Manfred Cerny-Käfer
Haupttitel (Englisch)
Containerized data-intensive applications on scientific clusters
Paralleltitel (Deutsch)
Container-basierte datenintensive Anwendungen auf HPC Infrastrukturen
Publikationsjahr
2017
Umfangsangabe
xiv, 95 Seiten : Illustrationen, Diagramme
Sprache
Englisch
Beurteiler*in
Siegfried Benkner
Klassifikationen
54 Informatik > 54.25 Parallele Datenverarbeitung ,
54 Informatik > 54.61 Datenverarbeitungsmanagement
AC Nummer
AC15295774
Utheses ID
44523
Studienkennzahl
UA | 066 | 940 | |
Universität Wien, Universitätsbibliothek, 1010 Wien, Universitätsring 1