Euclid Pipeline Powered by Luigi
Ausgangslage
Euclid ist ein Forschungs-Satellit der European Space Agency (ESA), der im Jahr 2020 zur Erforschung von dunkler Materie und dunkler Energie ins All geschickt werden soll. Dabei fallen riesige Datenmengen an, welche in verschiedenen Europäischen Rechenzentren verarbeitet werden. An der FHNW arbeiten wir seit mehreren Jahren an der Infrastruktur, die fürs Managen der Verarbeitungspipelines sowie fürs Verteilen der Verarbeitungsjobs zuständig ist. In den letzten Jahren ist mit Luigi (https://github.com/spotify/luigi) ein schlankes Workflow Management System entwickelt worden und weiter aktiv entwickelt wird, welches u.a. durch dessen Verwendung beim Musik-Streaming-Dienst Spotify bekannt geworden ist. Dieses könnte sich auch für den Einsatz in Euclid eignen. Unter anderem könnte sich dessen Verwendung auch aus Software Stability und Maintenance Überlegungen als grosser Gewinn für Euclid erweisen.
Ziel der Arbeit
Design und Implementierung eines auf Luigi basierenden Pipeline Workflow Management Systems für Euclid.
Problemstellung
Folgende Arbeiten sollen durchgeführt werden (nur 1. – 4. falls als P5 ausgewählt):
– Entwicklung einer Komponente, welche die in Euclid verwendeten Pipeline-Spezifikationen in eine für Luigi verständliche Form bringen.
– Unterstützung der in Euclid erforderliche Datenfluss Patterns (sequentiell, parallel, hierarchisch, …)
– Konzept zur Integration des auf Luigi basierten Workflow Management Systems mit den in Euclid vorgesehenen Computing Infrastrukturen mit geeigneten Prototypen als Proof-of-Concept.
– Erstellen eines auf Luigi basierenden Prototypen, welcher erlaubt, Euclid-Pipelines zum Ausführen zu bringen.
– Evaluation von Workflow Management Systemen, welche fürs Pipeline Processing im High Performance Computing Bereich geeignet sind.
– Erarbeitung eines Konzept zum Verarbeiten von zyklischen Workflow Graphen. Dazu soll wiederum ein Proof-of-Concept in Form eines Prototypen umgesetzt werden.
Raumsonde Euclid, künstlerische Darstellung