Loading…
Thumbnail Image

Benchmarking dataflow systems for scalable machine learning

Boden, Christoph

The popularity of the world wide web and its ubiquitous global online services have led to unprecedented amounts of available data. Novel distributed data processing systems have been developed in order to scale out computations and analysis to such massive data set sizes. These "Big Data Analytics" systems are also popular choices to scale out the execution of machine learning algorithms. However, it remains an open question how efficient they perform at this task and how to adequately evaluate and benchmark these systems for scalable machine learning workloads in general. In this thesis, we present work on all crucial building blocks for a benchmark of distributed data processing systems for scalable machine learning including extensive experimental evaluations of distributed data flow systems. First, we introduce a representative set of distributed machine learning algorithms suitable for large scale distributed settings which have close resemblance to industry-relevant applications and provide generalizable insights into system performance. We specify data sets, workloads, experiments and metrics that address all relevant aspects of scalability, including the important aspect of model dimensionality. We provide results of a comprehensive experimental evaluation of popular distributed dataflow systems, which highlight shortcomings in these systems. Our results show, that while being able to robustly scale with increasing data set sizes, current state of the art data flow systems are surprisingly inefficient at coping with high dimensional data, which is a crucial requirement for large scale machine learning algorithms. Second, we propose methods and experiments to explore the trade-off space between the runtime for training a machine learning model and the model quality. We make the case for state of the art, single machine algorithms as baselines when evaluating distributed data processing systems for scalable machine learning workloads and present such an experimental evaluation for two popular and representative machine learning algorithms with distributed data flow systems and single machine libraries. Our results show, that even latest generation distributed data flow systems require substantial hardware resources to provide comparable prediction quality to a state of the art single machine library within the same time frame. This insight is a valuable addition for future systems papers as well as for scientists and practitioners considering distributed data processing systems for applying machine learning algorithms to their problem domain. Third, we present work on reducing the operational complexity of carrying out benchmark experiments. We introduce a framework for defining, executing, analyzing and sharing experiments on distributed data processing systems. On the one hand, this framework automatically orchestrates experiments, on the other hand, it introduces a unified and transparent way of specifying experiments, including the actual application code, system configuration, and experiment setup description enabling the sharing of end-to-end experiment artifacts. With this, our framework fosters reproducibility and portability of benchmark experiments and significantly reduces the "entry barrier" to running benchmarks of distributed data processing systems.
Die Popularität des World Wide Web und seiner allgegenwärtigen global verfügbaren Online-Dienste haben zu beispiellosen Mengen an verfügbaren Daten geführt. Im Lichte dieser Entwicklung wurden neuartige, verteilte Datenverarbeitungssysteme (sogenannte "Big Data Analytics''-Systeme) entwickelt, um Berechnungen und Analysen auf solch massive Datengrößen skalieren zu können. Diese Systeme sind ebenfalls beliebte Ausführungsumgebungen für das Skalieren von Algorithmen des maschinellen Lernens. Es ist jedoch eine offene Frage, wie effizient diese "Big Data Analytics''-Systeme bei der Ausführung von skalierbaren Verfahren des maschinellen Lernens sind und wie man solche Systeme adäquat evaluieren und benchmarken kann. In dieser Doktorarbeit stellen wir Arbeiten für alle essenziellen Bausteine einer solchen Evaluierung von verteilten Datenverarbeitungssystemen für skalierbare Methoden des Maschinellen Lernens, inklusive einer umfassenden experimentellen Evaluierung von verteilten Datenflusssystemen, vor. Zunächst stellen wir einen repräsentativen Satz verteilter maschineller Lernalgorithmen vor, welche für den Einsatz in massiv verteilten Umgebungen passend sind. Diese Lernalgorithmen besitzen substanzielle Ähnlichkeit zu einer breiten Palette von industrierelevanten Verfahren und bieten daher verallgemeinerbare Einblicke in die Systemleistung. Wir definieren Datensätze, Algorithmen, Experimente und Metriken, die alle relevanten Aspekte von Skalierbarkeit, einschließlich des wichtigen Aspekts der Modelldimensionalität abdecken. Wir präsentieren und diskutieren die Ergebnisse unserer umfassenden experimentellen Evaluierung gängiger verteilter Datenflusssysteme. Unsere Ergebnisse zeigen, dass die untersuchten aktuellen Datenflusssysteme zwar robust bzgl. der Anzahl der Rechner sowie der Datengröße skalieren können, jedoch bei der Skalierung der Modelldimensionalität substanzielle Schwächen aufweisen. Diese Ineffizienz überrascht, da die Bewältigung hochdimensionaler Daten eine Kernanforderung für das Ausführen skalierbarer maschineller Lernverfahren darstellt. Zweitens, schlagen wir Methoden und Experimente vor, um den zwischen Laufzeit des Trainings eines Modells des maschinellen Lernens und der Vorhersagequalität dieses Modells aufgespannten Raum zu erkunden. Wir argumentieren, dass effiziente, dem Stand der Technik entsprechende, Einzelmaschinenbibliotheken als Basis in vergleichenden Experimenten herangezogen werden sollen. Wir präsentieren Ergebnisse einer solchen Evaluierung für zwei populäre und repräsentative Algorithmen des maschinellen Lernens auf verteilten Datenflusssystemen und mit Einzelmaschinenbibliotheken. Die Ergebnisse unserer Experimente zeigen, dass selbst die neuesten verteilten Datenflusssysteme substanzielle Hardwareressourcen benötigen, um eine vergleichbare Vorhersagequalität zu Einzelmaschinenbibliotheken innerhalb vergleichbarer Trainingszeiträume zu erreichen. Dies ist eine wichtige Erkenntnis, welche für zukünftige Forschung und Entwicklung im Bereich der Datenverarbeitungssysteme zur Kenntnis genommen werden muss, aber auch eine relevante Information für Wissenschaftler und Anwender dieser Systeme, welche die Anwendung von verteilten Datenflusssystemen für Algorithmen des maschinellen Lernens in ihrer Domäne in Betracht ziehen. Drittens, präsentieren wir Arbeiten zur Reduzierung der operativen Komplexität bei der Durchführung von Benchmark-Experimenten. Wir stellen ein Framework für die Definition, Ausführung und Analyse von Experimenten auf verteilten Datenverarbeitungssystemen vor. Auf der einen Seite orchestriert unser Framework automatisch Experimente, auf der anderen Seite führt es eine einheitliche und transparente Art und Weise, Experimente zu spezifizieren, ein. Hierbei werden neben der eigentlichen Implementierung der Benchmarkalgorithmen auch sämtliche Parameter der Systemkonfiguration und die Beschreibung des Experimentaufbaus und der beteiligten Systeme und Komponenten inkludiert. Somit wird eine transparente Verfügbarmachung und das Teilen von kompletten "End-to-End'' Experimentartefakten ermöglicht. Hierdurch fördert unser Framework die Reproduzierbarkeit und Portabilität von Benchmark-Experimenten und reduziert die "Eintrittsbarriere" bzgl. der Durchführung von Benchmarks für verteilte Datenverarbeitungssysteme signifikant.