TU Darmstadt / ULB / TUprints

Scalable Data Analytics and Machine Learning on the Cloud

Salama, Abdallah (2021)
Scalable Data Analytics and Machine Learning on the Cloud.
Technische Universität Darmstadt
doi: 10.26083/tuprints-00017625
Ph.D. Thesis, Primary publication, Publisher's Version

[img]
Preview
Text
Abdallah_Salama_PhD_Thesis_TUDA.pdf
Copyright Information: CC BY-SA 4.0 International - Creative Commons, Attribution ShareAlike.

Download (5MB) | Preview
Item Type: Ph.D. Thesis
Type of entry: Primary publication
Title: Scalable Data Analytics and Machine Learning on the Cloud
Language: English
Referees: Binnig, Prof. Dr. Carsten ; Scherp, Prof. Dr. Ansgar
Date: 2021
Place of Publication: Darmstadt
Collation: 138 Seiten
Date of oral examination: 15 February 2021
DOI: 10.26083/tuprints-00017625
Abstract:

In recent years, cloud computing has become an alternative to on-premise solutions for enterprises to host their IT-stack. The main idea behind cloud computing is to offer remote, bundled IT resources, especially data storage and computing power, without the need for active management by the user. Due to the economy of scale, cloud computing not only often comes with much lower costs than on-premise solutions but also provides users with the ability to scale-up and -down their resources based on their needs. A major building block of enterprise applications today are database management systems (DBMSs), which are used to store and query data about customers, orders, etc. However, at the time of starting this research work in 2013, bringing the DBMSs to the cloud for online analytical processing (OLAP) and online transactional processing (OLTP) workloads was an open issue that needed to be tackled. The main reason was that the DBMS architecture, which was designed in the 1980s, was not able to optimally support the new challenges, such as elasticity and fault-tolerance that were arising when moving DBMSs to the cloud. In the first part of this thesis, we present XDB, which is a new parallel database architecture to support scalable data analytics in the cloud. XDB hence not only implements a new partitioning scheme that supports elastic scalability, but it also implements a fine-grained fault-tolerance cost model that minimizes the total runtime of a query in case of failures. In addition to classical database workloads, deep learning workloads get more and more important in the cloud. Deep learning (DL) on deep neural networks (DNNs) has proven that it can solve complex problems such as image understanding and pattern recognition. However, training DL models can take a considerable amount of time. To speed-up the training process, several modern machine learning frameworks support distributed DL. However, users of these frameworks need manually to define the distribution strategy (i.e. number of workers and parameter servers), which is a long and complex process. This user intensive involvement makes these machine learning frameworks not ready for the cloud yet. In the second part of this thesis, we present XAI as a middleware for scalable machine learning, which runs on top of existing machine learning frameworks. In XAI, we wanted to provide scalable support for artificial intelligence (AI) in the cloud similar to what we did in the first part for DBMS. XAI implements a new approach to automate the distributed deployment of a deep training job, which can optimally choose the number of parameter servers and workers to achieve scalable training in the cloud. In this case, the user of machine learning frameworks no longer spends considerable time to manually set the training and the distribution strategy of the DL job.

Alternative Abstract:
Alternative AbstractLanguage

In den letzten Jahren hat sich Cloud Computing für Unternehmen zu einer Alternative zu On-Premise-Lösungen entwickelt, um ihren IT-Stack zu hosten. Die Hauptidee hinter Cloud Computing ist es, remote gebündelte IT-Ressourcen, insbesondere Datenspeicher und Rechenleistung, anzubieten, ohne dass eine aktive Verwaltung durch den Benutzer erforderlich ist. Aufgrund von Skaleneffekten sind die Kosten für Cloud Computing oft deutlich geringer als bei On-Premise-Lösungen, und die Benutzer können ihre Ressourcen je nach Bedarf vergrößern oder verkleinern. Ein wichtiger Baustein von Unternehmensanwendungen sind heutzutage Datenbankmanagementsysteme (DBMS), die zum Speichern und Abfragen von Daten über Kunden, Aufträge usw. verwendet werden. Zum Zeitpunkt des Beginns dieser Forschungsarbeit im Jahr 2013 war es jedoch ein offenes Problem, die DBMS für Online-Analytical-Processing- (OLAP) und Online-Transactional-Processing- (OLTP) Arbeitslasten in die Cloud zu bringen, das gelöst werden musste. Der Hauptgrund war, dass die DBMS-Architektur, die in den 1980er Jahren entworfen wurde, nicht in der Lage war, die neuen Herausforderungen, wie Elastizität und Fehlertoleranz, die bei der Verlagerung von DBMS in die Cloud auftraten, optimal zu unterstützen. Im ersten Teil dieser Arbeit stellen wir XDB vor, eine neue parallele Datenbankarchitektur zur Unterstützung skalierbarer Datenanalysen in der Cloud. XDB implementiert daher nicht nur ein neues Partitionierungsschema, das elastische Skalierbarkeit unterstützt, sondern auch ein feinkörniges Fehlertoleranz-Kostenmodell, das die Gesamtlaufzeit einer Abfrage im Falle von Ausfällen minimiert. Zusätzlich zu den klassischen Datenbank-Workloads werden Deep Learning-Workloads in der Cloud immer wichtiger. Deep Learning (DL) auf tiefen neuronalen Netzen (DNNs) hat bewiesen, dass es komplexe Probleme wie Bildverständnis und Mustererkennung lösen kann. Das Training von DL-Modellen kann jedoch sehr viel Zeit in Anspruch nehmen. Um den Trainingsprozess zu beschleunigen, unterstützen mehrere moderne Frameworks für maschinelles Lernen verteilte DL. Allerdings müssen die Benutzer dieser Frameworks die Verteilungsstrategie (d. h. die Anzahl der Worker und Parameterserver) manuell festlegen, was ein langer und komplexer Prozess ist. Diese benutzerintensive Beteiligung macht diese Machine-Learning-Frameworks noch nicht bereit für die Cloud. Im zweiten Teil dieser Arbeit stellen wir XAI als eine Middleware für skalierbares maschinelles Lernen vor, die auf bestehenden maschinellen Lern-Frameworks aufgesetzt wird. Mit XAI wollten wir skalierbare Unterstützung für künstliche Intelligenz (KI) in der Cloud bereitstellen, ähnlich wie wir es im ersten Teil für DBMS getan haben. XAI implementiert einen neuen Ansatz zur Automatisierung des verteilten Einsatzes eines Deep Training-Jobs, der die Anzahl der Parameterserver und Worker optimal auswählen kann, um ein skalierbares Training in der Cloud zu erreichen. In diesem Fall verbringt der Benutzer von Frameworks für maschinelles Lernen nicht mehr viel Zeit damit, das Training und die Verteilungsstrategie des DL-Jobs manuell einzustellen.

German
Status: Publisher's Version
URN: urn:nbn:de:tuda-tuprints-176251
Classification DDC: 000 Generalities, computers, information > 004 Computer science
600 Technology, medicine, applied sciences > 620 Engineering and machine engineering
Divisions: 20 Department of Computer Science > Data Management (2022 umbenannt in Data and AI Systems)
Date Deposited: 30 Mar 2021 13:27
Last Modified: 30 Mar 2021 13:27
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/17625
PPN: 477696783
Export:
Actions (login required)
View Item View Item