Bookshelf

The distribution of a big data system that runs on a single instance can be parallelized in two ways: First, by distributing its algorithm and dividing the tasks into multiple map operations, and then reduce the results. However, this approach demands adjustment of the algorithm, plus it is cost-inefficient due to frequent network calls between the nodes. The second method distributes the incoming stream of (text document) data on multiple instances without changing the main algorithm. However, because these data are highly connected and dependent on each other, randomly spreading the data on the instances leads to poor results.

This thesis aims to partition the data with respect to their dependency on each other to deliver "good enough" results. This work proposes a partitioning module based on a machine learning model, which learns the dependency between the data only by observing the inputs and outputs of the system. Therefore, the system itself is assumed as a "black box," which makes this partitioning module adaptive for different use cases. For the incoming stream, the trained model sends the data, one by one, to nodes based on their topic similarity. Each node runs the algorithm in complete isolation, and the gathered results are integrated into a single representation. The ultimate goal is to produce a single representation that does not deviate from the single instance result.

GraphJet, a graph-based recommendation system, is chosen as a case study to demonstrate the proposed partitioning technique. With the help of an evaluation suite and an assessment pipeline, various experiments are designed to compare the recommendation results of a single instance against the multi-partition model of GraphJet.

The experiments results indicate that the introduced method yields better results compared to a random partitioning method. Still, when comparing the multi-partition output with the output of a single instance, the metrics show differences between the users' generated recommendations. However, the findings of the experiments do not provide enough evidence to conclude that these differences between the recommendations necessarily mean that the multi-instance is delivering irrelevant items.

Die Verteilung eines Big-Data-Systems, das aus einer einzigen Instanz besteht, kann auf zwei Arten durchgeführt werden: Erstens durch die Verteilung seines Algorithmus und die Aufteilung der Aufgaben in mehrere Map-Operationen und anschließende Reduzierung

der Ergebnisse. Dieser Ansatz erfordert jedoch eine Anpassung des Algorithmus und ist aufgrund der häufigen Netzwerkaufrufe zwischen den Knoten kostenineffizient. Bei der zweiten Methode wird der eingehende Datenstrom (Textdokumente) auf mehrere Instanzen verteilt, ohne den Hauptalgorithmus zu ändern. Da diese Daten jedoch stark miteinander verbunden und voneinander abhängig sind, führt eine zufällige Verteilung der Daten auf die Instanzen zu schlechten Ergebnissen.

Ziel dieser Arbeit ist es, die Daten im Hinblick auf ihre Abhängigkeit voneinander zu partitionieren, um “ausreichend gute” Ergebnisse zu erzielen. In dieser Arbeit wird ein Partitionierungsmodul vorgeschlagen, das auf einem maschinellen Lernmodell basiert, das die Abhängigkeit zwischen den Daten nur durch Beobachtung der Ein- und Ausgaben des Systems lernt. Daher wird das System selbst als “Black Box” angenommen, was dieses Partitionierungsmodul für verschiedene Anwendungsfälle anpassungsfähig macht. Für den eingehenden Datenstrom sendet das trainierte Modell die Daten nacheinander an die Knoten auf der Grundlage ihrer thematischen Ähnlichkeit. Jeder Knoten führt den Algorithmus völlig isoliert aus, und die gesammelten Ergebnisse werden in eine einzige Darstellung integriert. Ziel ist es, eine einzige Darstellung zu erzeugen, die nicht vom Ergebnis der einzelnen Instanz abweicht.

GraphJet, ein graphbasiertes Empfehlungssystem, wurde als Fallstudie ausgewählt, um die vorgeschlagene Partitionierungstechnik zu demonstrieren. Mit Hilfe einer Evaluierungssuite und einer Bewertungspipeline werden verschiedene Experimente entworfen, um die Empfehlungsergebnisse einer einzelnen Instanz mit dem Multi-Partitionsmodell von GraphJet zu vergleichen.

Die Ergebnisse der Experimente zeigen, dass die vorgestellte Methode im Vergleich zu einer zufälligen Partitionierungsmethode bessere Ergebnisse liefert. Dennoch zeigen die Metriken beim Vergleich der Multi-Partition-Ausgabe mit der Ausgabe einer einzelnen Instanz Unterschiede zwischen den von den Benutzern generierten Empfehlungen. Die Ergebnisse der Experimente lassen jedoch nicht den Schluss zu, dass diese Unterschiede zwischen den Empfehlungen zwangsläufig bedeuten, dass die Multi-Instanz irrelevante Elemente liefert.

Titel Learning a Content-Based Partitioning Function for Scalable Document Stream Processing
Verfasst von Ramin Gharib
Serien-Detail Masterarbeit
Verlag Hasso-Plattner-Institut an der Universität Potsdam
Datum 04. Oktober 2021
Seitenzahl 73
HinzugefĂĽgt am 05. Oktober 2021
HinzugefĂĽgt von ramin.gharib
Buch-Verleih verfĂĽgbar
PDF-Download Fachgebiets-Angehörige+ ramin.gharib