Chat with your data: Unternehmensdaten als Basis für einen eigenen KI-Assistenten nutzen.
Zum Angebot 

Evaluation von Data Science Workflow Engines für Kubernetes

Bachelor Thesis von David Schmidt, 30.06.2018

In dieser Bachelor-Thesis werden aktuelle Workflow Engines für Data-Science-Prozesse auf der Kubernetes-Plattform evaluiert.

Dafür werden ausgewählte Engines und Frameworks aus den Bereichen Wissenschaft, Big Data und Kubernetes ausgewählt und ihr Funktionsumfang verglichen. Anhand der gegebenen Anforderungen sind Argo und Pachyderm die vielversprechendsten Lösungen und werden deshalb für eine genauere Analyse ausgewählt. Die beiden Tools werden anschließend auf Basis der Metriken ‚Ressourcenausnutzung‘, ‚Laufzeit‘ und ‚Durchsatz‘ evaluiert und ihre Umsetzung und Funktionalität miteinander verglichen. Getestet wird anhand eines typischen experimentellen Workflows aus dem Bereich des Deep Learning, bei dem zunächst ein Modell trainiert wird und mit diesem Modell anschließend Schlussfolgerungen auf Testdaten getroffen werden.

Beide Tools haben bei dieser experimentellen Untersuchung ihre grundsätzliche Einsatzfähigkeit für Data-Science-Prozesse unter Beweis gestellt. Bei der Untersuchung hat sich Argo als das bessere Tool sowohl in der Laufzeit als auch der Handhabung erwiesen. Eine eindeutige Empfehlung lässt sich am Ende aber nicht aussprechen, da die Wahl sehr anwendungsabhängig getroffen werden muss. Argo bietet ein robustes System für die Verkettung von Batch Jobs mit vielfältigen Gestaltungsmöglichkeiten. Pachyderm hingegen bietet Vorteile, wenn lang laufende Data Pipelines benötigt werden, in denen Ergebnisse wiederverwendet werden können.

1. Einführung

In diesem Kapitel wird dem Leser ein kurzer Überblick über das Unternehmen und den aktuellen Stand der Technik gegeben. Anschließend werden die Aufgaben und Ziele der Arbeit definiert.

1.1. Unternehmen

Diese Arbeit ist in Kooperation mit dem Unternehmen inovex GmbH in Karlsruhe entstanden. inovex ist ein IT-Projekthaus mit dem Leistungsschwerpunkt „Digitale Transformation“, welches mehrere Standorte in Deutschland besitzt und bundesweit in Projekten vertreten ist. Die Tätigkeitsfelder sind sehr vielfältig und reichen von App-Entwicklung über Robotics bis hin zu Cloud-Infrastrukturen und Hosting.

Betreut und unterstützt wurde diese Arbeit von Stefan Igel und Hans-Peter Zorn der  Line of Business (LoB) Data Management & Analytics (DMA). Die LoB DMA ist sowohl für klassische Business-Intelligence-Themen, als auch aktuelle Trends im Big-Data- und Data-Analytics-Umfeld verantwortlich. In den Projekten entsteht immer häufiger der Bedarf an leistungsfähigen Technologien, die sich horizontal skalieren lassen. Dafür kommen Cloud-Infrastrukturen, verschiedene Tools und Technologien zum Einsatz, welche koordiniert, verwaltet und gesteuert werden müssen, um optimale Ergebnisse produzieren zu können. Aus diesem Grund ist diese Arbeit entstanden, welche aktuelle Workflow Engines prüfen und ausgewählte Tools analysieren soll.

1.2. Einführung und Stand der Technik

Wir leben in einer datengetriebenen Zeit, in welcher der Informationsgewinn aus riesigen Datenmengen vermehrt in den Vordergrund rückt. Die gewonnenen Informationen werden nicht nur für Statistiken, Unternehmens- oder Produktentscheidungen verwendet, sondern auch in wissenschaftlichen Forschungsprojekten, von Natur- und Klimaforschung bis hin zu Medizin-/Gesundheitswesen. Zum Beispiel werden in der Genforschung innerhalb kurzer Zeit Terabyte an Daten generiert, welche gespeichert und verarbeitet werden sollen. Ein möglicher Verarbeitungsschritt kann aus technischer Sicht die Kommunikation mit einem Webservice, die Ausführung von Skripten zur Datenbereinigung, das Training eines Modells, etc. sein.

Der gesamte Verarbeitungsprozess muss nicht nur skalierbar und erweiterbar sein, sondern auch von Wissenschaftler:innen verwendet werden können, die keinen informationstechnischen Hintergrund haben, da die Natur ihrer Arbeit einen anderen Fokus hat. Um den Prozess entsprechend umsetzen zu können sind mehrere Faktoren vorteilhaft. Die Prozesse sollten reproduzierbar, kollaborativ verwendbar und sowohl Sprach-, als auch Infrastruktur agnostisch sein. Um diese Funktionen bieten zu können, eignen sich vor allem Workflow Engines, welche durch Koordinatoren, User Interfaces, Ausführungseinheiten und Metadatenspeicher dem/der Anwender:in ein umfassendes System zur Verfügung stellen.

Die Workflows bieten (1) systematische Möglichkeiten, Analysen über diverse Datensets zu fahren, (2) den definierten Ablauf festzuhalten, um ihn zu analysieren, zu validieren und bei Bedarf wiederholen zu können, (3) eine High-level Sprache, um Workflows deklarativ aus vornedefinierten Bausteinen zu generieren (oder alternativ eine Graphical User Interface (GUI)) und (4) die Möglichkeit, skalierbare und spezielle (Cloud-)Infrastrukturen für die Berechnung anzusprechen.

Aus diesen Gründen ermöglichen Workflow Engines umfangreiche Analysen und Verarbeitungsketten, die sich auch speziell in wissenschaftlichen Bereichen sehr gut verwenden lassen.[14] Die Generalität der Workflow Engines ermöglicht es aber auch, bekannte Verarbeitungsprozesse aus der Bild- und Datenverarbeitung oder des Machine Learnings in die Definitionen zu packen und damit die lang-laufenden und rechenintensiven Prozesse zu kapseln und zu automatisieren.

Der Bedarf an Workflow Systemen (Definitionen und Engines) wird immer größer, da zunehmend umfangreiche Berechnungen in vielen Projekten durchgeführt werden, die zu weitreichenden Entscheidungen genutzt werden können. Deshalb ist einerseits die Reproduzierbarkeit und Nachvollziehbarkeit eines Resultats ein immer wichtigeres Kriterium. Andererseits bietet eine genau spezifizierte und im besten Fall versionierte Form eines Workflows die Möglichkeit, Verarbeitungsketten einzusehen, zu überprüfen und immer wieder durchführen zu können. Des Weiteren bieten viele Engines Cluster-Unterstützung an, können also auch optimal mit sehr großen Datenmengen oder rechenintensiven Workloads umgehen, unabhängig von der eigenen Arbeits-Hardware des Wissenschaftlers/Anwenders.[22]

[…]

Wie können wir Sie unterstützen?

Christian Meder

Chief Technology Officer