[Back]


Diploma and Master Theses (authored and supervised):

M. Schrabauer:
"Lambda Architecture for Distributed Stream Processing in the Fog";
Supervisor: S. Schulte; Institute of Information Systems Engineering, Distributed Systems Group, 2021; final examination: 2021-03-09.



English abstract:
The digital transformation is leading to a constantly increasing volume of data. With the growth of big data, there is a rising demand for analyzing and making use of those large piles of data (referred to as batch processing). To do that, programming models, frameworks, platforms, and tools such as the Apache Hadoop ecosystem and the MapReduce programming model have been established. Such systems have been designed for batch processing and are therefore not suitable for (real-time) stream processing. With application scenarios like smart cities and autonomous driving emerging, there is a growing need to process continuous streams of data close to real-time. For this purpose, distributed stream processing frameworks such as Apache Storm or Apache Flink are used to analyze data streams. However, such frameworks usually operate in the cloud within a local cluster with low latency. For IoT applications, this centralized approach often leads to high latency, since data streams (e.g., sensor data) must be sent to the cloud first, in order to process it. To address this issue and to efficiently process IoT data on a large scale, the cloud alone is no longer sufficient. There is an increasing trend to push the processing of data closer to the edge of the network, where the data is generated and stored. In order to take advantage of both batch and stream processing, the lambda architecture design pattern has been introduced. This architectural style is based on three layers, which allow to efficiently process massive volumes of historical data (batch and serving layer) while simultaneously using stream processing to provide a real-time analysis of continuous data streams (speed layer). The goal of this work is to design and implement a solution approach, which makes use of the lambda architecture as well as fog computing to process data streams in real-time. The evaluation focuses on how well fog-based stream processing topologies perform compared to a traditional cloud approach. Common metrics in the field of data processing are used for a quantitative evaluation (latency, round-trip time of data packets). The evaluation of the solution approach shows that using distributed stream processing in the fog can be a very promising alternative compared to traditional data processing in the cloud. Overall, the results show a decrease in the round-trip times. Especially if the latency to the cloud is over 50 ms or the data packet size is quite large.

German abstract:
Der digitale Wandel führt zu einem stetig wachsenden Datenaufkommen. Mit dem Wachstum von "Big Data" steigt der Bedarf, diese großen Datenmengen zu analysieren und nutzbringend zu verwenden (bezeichnet als Stapelverarbeitung). Dazu haben sich Programmiermodelle, Frameworks, Plattformen und Tools wie das Apache Hadoop-Ökosystem und das MapReduce-Programmiermodell etabliert. Solche Systeme sind für die Stapelverarbeitung konzipiert und eignen sich daher nicht für die Verarbeitung von Datenströmen. Mit dem Aufkommen von Anwendungsszenarien wie Smart Cities und autonomen Fahren steigt der Bedarf, kontinuierliche Datenströme in Echtzeit zu verarbeiten. Zu diesem Zweck werden Frameworks zur Datenstromverarbeitung wie Apache Storm oder Apache Flink eingesetzt. Allerdings arbeiten solche Frameworks in der Regel in der Cloud innerhalb eines lokalen Clusters mit geringer Latenz. Für IoT Anwendungen führt dieser zentralisierte Ansatz oft zu hohen Latenzen, da Datenströme (z. B. Sensordaten) erst in die Cloud geschickt werden müssen, um sie zu verarbeiten. Um dieses Problem zu adressieren und IoT Daten effizient zu verarbeiten, reicht die Cloud allein nicht mehr aus. Es gibt einen zunehmenden Trend, die Verarbeitung von Daten näher an den Rand des Netzwerks zu verlagern, wo die Daten erzeugt und gespeichert werden. Um sowohl die Vorteile der Stapel- als auch der Datenstromverarbeitung zu nutzen, wurde die Lambda-Architektur eingeführt. Diese Architektur basiert auf drei Schichten, die es ermöglichen, große Mengen an historischen Daten effizient zu verarbeiten ("Batch-Schicht" und "Serving-Schicht") und gleichzeitig kontinuierliche Datenströmen in Echtzeit zu prozessieren ("Speed-Schicht"). Ziel dieser Arbeit ist es, einen Lösungsansatz zu entwerfen und zu implementieren, der sowohl die Lambda-Architektur als auch Fog-Computing nutzt, um Datenströme in Echtzeit zu verarbeiten. Die Evaluierung konzentriert sich darauf, wie gut Fog-basierte Datenstromverarbeitungs-Topologien im Vergleich zu einem traditionellen Cloud-Ansatz abschneiden. Für eine quantitative Bewertung werden gängige Metriken aus dem Bereich der Datenverarbeitung verwendet (Latenz, Round-Trip-Zeit von Datenpaketen). Die Evaluierung des Lösungsansatzes zeigt, dass der Einsatz von verteilter Datenstromverarbeitung in der Fog eine vielversprechende Alternative zur traditionellen Datenverarbeitung in der Cloud sein kann. Insgesamt zeigen die Ergebnisse eine Verringerung der Round-Trip-Zeiten. Insbesondere, wenn die Latenz zur Cloud über 50 ms liegt oder die Datenpaketgröße recht groß ist.

Keywords:
Lambda architecture / Distributed stream processing / Fog computing / Internet of Things / IoT


"Official" electronic version of the publication (accessed through its Digital Object Identifier - DOI)
http://dx.doi.org/10.34726/hss.2021.77101


Created from the Publication Database of the Vienna University of Technology.