2023
Bachelorarbeit, RWTH Aachen University, 2023
Veröffentlicht auf dem Publikationsserver der RWTH Aachen University
Genehmigende Fakultät
Fak01
Hauptberichter/Gutachter
; ;
Tag der mündlichen Prüfung/Habilitation
2023-04-03
Online
DOI: 10.18154/RWTH-2023-03557
URL: https://publications.rwth-aachen.de/record/955544/files/955544.pdf
Einrichtungen
Inhaltliche Beschreibung (Schlagwörter)
Apache Spark (frei) ; Big Data (frei) ; HiBench (frei) ; High-Performance Computing (frei) ; POP Methodology (frei) ; Performance Analysis (frei)
Thematische Einordnung (Klassifikation)
DDC: 004
Kurzfassung
Heutige Anwendungsprogramme müssen immer größeren Datenmengen gerecht werden und diese in einem akzeptablen Zeitrahmen mit limitierten Ressourcen verarbeiten können. Um diesen Ansprüchen nachzukommen, werden vielfach Frameworks wie Apache Hadoop oder Apache Spark verwendet, mit deren Hilfe eine Anwendung verteilt in einem Cluster-Netzwerk parallel ausgeführt werden kann. Ein häufiges Problem solcher Frameworks ist, dass sowohl die Konfiguration der Anwendung als auch die Art der Anwendung und die Struktur ihrer Daten einen großen, schwer einzuschätzenden Einfluss auf die Performance der Anwendung hat. Zudem scheint sich der Trend abzuzeichnen, dass sich die ursprünglich größtenteils unabhängigen Disziplinen des Hochleistungsrechnens (HPC) und dem Rechnen mit Massendaten (Big Data) langsam annähern und immer mehr überlagern. Dadurch gewinnt die Anwendung von Apache Spark auf HPC-Systemen an Relevanz und infolgedessen auch die Untersuchung der Performance von Spark-Applikationen auf ebendiesen Systemen. In dieser Arbeit wird die POP-Methodik, die ursprünglich für die Performanceanalyse von HPC-Anwendungen entwickelt wurde, auf Big-Data-Applikationen in Apache Spark angewandt. Kern der POP-Methodik ist es, einzelnen, die Performance beeinflussenden Aspekten einen Score zuzuordnen, mit dessen Hilfe ein umfassender und direkter Überblick über potenzielle Performance-Probleme einer Anwendung erlangt werden kann. Ziel dieser Arbeit ist die Untersuchung ausgewählter Spark-Benchmarks der HiBench-Benchmark-Suite, um mit den daraus gewonnenen Ergebnissen POP-Metriken für Spark-Applikationen abzuleiten. Zusätzlich zu den im HPC-Kontext verwendeten POP-Metriken werden weitere, Spark-spezifische Metriken vorgeschlagen, mit deren Hilfe die Bandbreite erkennbarer Probleme deutlich erweitert und eine präzisere Bestimmung ebendieser Probleme ermöglicht wird. Diese Arbeit kommt zu dem Ergebnis, dass sich die POP-Methodik grundsätzlich erfolgreich auf Spark-Applikationen anwenden lässt, wenngleich in bestimmten Fällen gewisse Einschränkungen oder Annahmen notwendig sind. Auch wenn sich die Metriken durch die in dieser Arbeit durchgeführten Experimente nicht zweifelsfrei in ihrer Korrektheit und Vollständigkeit verifizieren lassen, scheint die hier vorgestellte Methodik geeignet zu sein, eine große Anzahl verschiedener Performance-Probleme zu erkennen. Dennoch sind weitere Untersuchungen notwendig, um einige der vorgenommenen Einschränkungen bzw. Annahmen zu eliminieren und sowohl einzelne Metriken als auch die Methodik insgesamt weiter zu verbessern und zu validieren.Today’s software applications need to cope with ever increasing amounts of data while processing the data in a reasonable amount of time with limited resources. Specialized frameworks such as Apache Hadoop or Apache Spark are often used to meet those requirements, making it possible to run an application in a distributed and parallel manner on multiple compute nodes in a cluster network. A common issue with these frameworks is that both the configuration of an applications as well as the kind of application and the structure of its data are strongly influencing the application’s performance. In addition to that, there seems to be a current trend of convergence of the originally largely independent disciplines of high-performance computing (HPC) and big data, whose applications increasingly overlap. As a result, the application of Apache Spark on HPC systems is gaining relevance and, consequently, also the study of performance of Spark applications on these systems. In this thesis, the POP methodology, originally developed for analyzing the performance of HPC applications, is applied to Spark big data applications. The core principle of the methodology is to assign a score to individual performance-influencing aspects, which can be used to obtain a comprehensive and direct overview of potential performance bottlenecks of an application. The aim of this thesis is to evaluate selected Spark benchmarks from the HiBench benchmark suite and to use the obtained results to derive POP metrics for Spark applications. Beyond the POP metrics that are used in the HPC context, additional Spark-specific metrics are proposed in order to significantly extend the range of identifiable problems and to allow for a more precise determination of these problems. This thesis comes to the conclusion that, in principle, the POP methodology can be successfully applied to Spark applications, although in some cases certain limitations or assumptions are necessary. Even though it is not possible to verify the correctness and completeness of the proposed metrics beyond any doubt by means of the conducted experiments, the methodology presented in this thesis seems to be suitable for identifying a large number of different performance problems. Yet, further investigations are required in order to eliminate some of the limitations and assumptions made, and to improve and validate both individual metrics as well as the methodology as a whole.
OpenAccess: PDF
(additional files)
Dokumenttyp
Bachelor Thesis
Format
online, print
Sprache
English
Interne Identnummern
RWTH-2023-03557
Datensatz-ID: 955544
Beteiligte Länder
Germany