Von Stunden zu Minuten: Messdatenanalyse auf dem HPC-Cluster
Wie wir die Analyse von MF4-Messdaten vom Arbeitsplatzrechner auf den HPC-Cluster verlagert haben und warum Datenbereitstellung und Integritätsprüfung wichtiger waren als reine Rechenleistung.
Die Entwicklung von E-Motoren und Invertern erzeugt große Mengen an Messdaten. Prüfstände zeichnen MF4-Dateien (ASAM MDF) mit Hunderten von Signalen und hohen Abtastraten auf, die Ingenieure mit MATLAB-Skripten auswerten. Lange lief diese Auswertung auf den eigenen Arbeitsplatzrechnern, sodass eine große Analyse einen Rechner stundenlang blockieren konnte.
Das Problem
Die Analyse selbst war solide. Der Engpass war der Ort, an dem sie lief:
- Große Messkampagnen brauchten auf einem einzelnen Rechner Stunden.
- Ingenieure warteten auf Ergebnisse oder starteten Läufe über Nacht und hofften, dass nichts abbrach.
- Jeder hatte eine etwas andere lokale Umgebung, daher waren Ergebnisse schwer reproduzierbar.
Ein HPC-Cluster und zentraler NAS-Speicher waren bereits vorhanden. Ziel von AMD2Matlab war es, beides nutzbar zu machen, ohne dass Ingenieure zu Cluster-Experten werden müssen.
Der Ansatz
1. Einmal konvertieren, in ein Format für große Daten. Ein automatisierter Extraktionsschritt wandelt ASAM-MDF-Dateien in MAT v7.3 um, das HDF5-basierte MATLAB-Format, das große Dateien und teilweises Laden unterstützt. Der Analysecode muss MF4 nicht mehr selbst parsen.
2. Kompilierte MATLAB-Jobs, orchestriert auf dem Cluster. Die bestehenden Analyseskripte werden kompiliert und als parametrierte Jobs über JGen, das Job-Werkzeug des Clusters, gestartet. Ingenieure schreiben weiter MATLAB; der Cluster führt es parallel aus.
3. Datentransport als zentrales Designproblem behandeln. Selten war das Rechnen langsam, sondern das Bewegen von Gigabytes. Eingangsdaten werden vom NAS auf die Rechenknoten bereitgestellt, dort verarbeitet, und nur die Ergebnisse (MAT-Dateien, PNG- und JPG-Plots) werden zurückgeschrieben.
4. Erst beweisen, dann ausrollen. Ein Proof of Concept und ein formaler Abnahmetest verglichen Cluster- mit Arbeitsplatzergebnissen, einschließlich SHA256-Prüfsummen der übertragenen Daten. Geschwindigkeit ist wertlos, wenn die Zahlen abweichen könnten.
Das Ergebnis
- Die Verarbeitungszeit sank von Stunden auf Minuten.
- Arbeitsplatzrechner bleiben frei für interaktive Arbeit, während der Cluster die Last trägt.
- Läufe sind reproduzierbar, weil jeder Job denselben kompilierten Code und dieselbe Umgebung nutzt.
Was ich gelernt habe
- I/O ist die eigentliche Architektur. Wo Daten liegen und wie oft sie bewegt werden, bestimmte die Leistung weit mehr als die Anzahl der Kerne.
- Den gewohnten Workflow erhalten. Die Akzeptanz kam daher, dass Ingenieure ihren MATLAB-Code behalten konnten, nicht von einem neuen Tool.
- Integrität ausdrücklich prüfen. Prüfsummen und direkte Vergleiche machten den Umstieg vertrauenswürdig.
- Früh abstimmen. HPC-, Speicher- und Analyseteams sowie externe Partner waren beteiligt; frühe Einigung auf Schnittstellen vermied Nacharbeit.