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
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 | |