Verkürzung von Entwurfszeiten durch Matlab-basiertes HPC R. Fink, S. Pawletta
Übersicht aktuelle Situation im ingenieurtechnischen Bereich Multi-SCEs als Konzept zur Verkürzung von Entwurfszeiten Realisierung einer Multi-SCE Anwendungsbeispiel: Optimierung der Übergangskompensation
Aktuelle Situation Komplexität von Entwurfsaufgaben steigt ständig gleichzeitiger Anstieg von Rechenleistung schafft Ausgleich Probleme: ständige Aktualisierung der Hardware auf neuesten Stand bestimmte Entwurfsprobleme lassen sich selbst mit aktuellster Hardware nicht in praktikabler Zeit lösen mögliche Lösung: High Performance Computing (HPC) parallele Verarbeitung rechenintensiver Programme
Aktuelle Situation verbreitete Werkzeuge für Analyse und Entwurf technischer Systeme: Wissenschaftlich-technische Entwicklungsumgebungen (SCEs) Vorteile: schnelle Entwicklung von Prototypen durch interpretative Funktionsweise umfangreiche Zusatzsoftware (Toolboxen) für Modellierung, Simulation, Optimierung,... Ziel: Verbindung der Konzepte Parallelverarbeitung und SCE Lösungsansatz: Multi-SCE-Konzept
Multi-SCE auf Basis von Matlab Test von The MathWorks brachten keine positiven Ergebnisse mit parallelem Matlab, daher keine herstellerseitige HPC-Funktionalität seit 1994 verschiedene Implementierungen von Dritten Prinzip Multi-SCE-Ansatz: Kommunikation Matlab Matlab Matlab alle Matlab-Instanzen arbeiten gleichzeitig an der Lösung eines Problems
Multi-SCE - relevante Anwendungen Voraussetzung für Parallelisierungsgewinn: grobgranuläre Strukturen Rechenaufwand hoch, Kommunikationsaufwand gering Prinzip grobgranulärer Probleme: Master Parameter senden Slave 1 Slave 2 Slave n Berechnungen durchführen Berechnungen durchführen Berechnungen durchführen Ergebnisse empfangen Master Anwendungen: Monte-Carlo-Studien, Parameterstudien, Optimierungen,...
Realisierung einer Multi-SCE-Plattform Topologie: 8 Knoten, verbunden im LAN Hardware: Intel-kompatible PCs Netzwerk: 1 Gbit/s Software: Betriebssystem: SuSE Linux 8.0 Parallel Virtual Machine 3.4 (PVM) Distributed and Parallel Toolbox (DP-Toolbox) Matlab 6.5 (Release 13)
PVM: Realisierung einer Multi-SCE freie Software zur Parallelverarbeitung von C- und Fortran-Programmen Message-Passing-System Prozesse kommunizieren durch Nachrichtenaustausch DP-Toolbox: Array-Passing-System für Matlab auf Basis von PVM Entwicklung: 1993-1999 Universität Rostock, 2002-2003 Hochschule Wismar Softwarehierarchie: DPHIGH TB DPLOW TB Libpvm Matlab Interface C/Fortran Interface
Anwendungsbeispiel Übergangskompensation Matlab-Applikation der IAV GmbH, serielle Laufzeit: 77 Minuten Problem aus regelungstechnischer Sicht: Optimierung von Reglerparametern Problem aus programmiertechnischer Sicht: nächsten Arbeitspunkt auswählen Optimierung der Parameter im aktuellen Arbeitspunkt Simulation Lösungsansatz für paralleles Programm: Verteilung der Arbeitspunkte an die Slaves grobgranuläre Struktur
Lösung A - statische Auftragsverteilung Auftrag = Optimierung eines bestimmten Arbeitspunktes Prinzip der statischen Auftragsverteilung: Slave A Auftrag 1 Auftrag 2 Auftrag 3 Auftrag 4 Auftrag 5 Slave B Vorteile: relativ einfache Implementierung, geringer Kommunikationsaufwand Nachteil: ungleichmäßige Auslastung der Rechenkapazität (Laufzeit der Aufträge variiert)
Lösung B - dynamische Auftragsverteilung Prinzip der dynamischen Auftragsverteilung: Slave A Anfrage Auftrag 1 Slave B Auftrag Auftrag 2 Auftrag 3 Auftrag 4 Auftrag 5 Vorteile: sehr gleichmäßige Auslastung der Rechenkapazität maximaler Parallelitätsgewinn Nachteile: aufwendige Implementierung, höherer Kommunikationsaufwand
Anwendungsbeispiel - Ergebnisse 80 statisch dynamisch Laufzeit in Minuten 60 40 20 0 1 2 3 4 5 6 7 8 Anzahl Prozessoren 8 7 6 statisch dynamisch ideal Speedup 5 4 3 2 1 1 2 3 4 5 6 7 8 Anzahl Prozessoren
Fazit erhebliche Verkürzung von Programmlaufzeiten durch parallele Verarbeitung Einsatz von HPC im ingeniertechnischen Bereich ist sinnvoll und effektiv einfache und schnelle Implementierung paralleler Programme durch Matlab-Interface keine teure Spezialhardware oder -software nötig
Ende der Präsentation