Parallele Anwendungen im Bereich des Ilochleistungsrechnens erfordern neben der Implementierung geeigneter numerischer Algorithmen die effiziente Nutzung der in einem Parallelrechner bereitgestellten Kommunikationsstruktur und die Integration dynamischer Last-balancierung, falls verwendete Algorithmen unvorhersehbares und damit statisch schlecht auffeilbares Lastaufkommen besitzen. Die Verflechtung dieser teilweise plattformabhängigen Programmteile, die bei Benutzung üblicher Programmiermodelle notwendigerweise entsteht, führt zu unflexibler Software, die nur schwer Weiterentwicklung, Wartung und Anpassung an neue Plattformen erlaubt.Zur Lösung dieses Problems stellt die vorliegende Arbeit ein Programmiermodell für die Klasse der feldbasierten iterativen Anwendungen vor, das es erlaubt, die eigentlichen Berechnungen des Programms von der notwendigen Kommunikation und Synchronisation zwischen den parallel ablaufenden Prozessen zu trennen. Dadurch wird eine unabhängig arbeitende Lastbalancierung ermöglicht. Obwohl das Modell dem Programmierer gemeinsamen Speicher zur Verfügung stellt, kann es mit Message Passing implementiert werden. Grundlage dabei ist, daß die Spezifikation a priori bekannter Abhängigkeiten von Anweisungen, deren Zugriffsverhalten auf gemeinsame Daten explizit anzugeben ist, die automatisierte Berechnung dev zwischen den Anweisungen zur Konsistenzhaltung durchzuführenden Kommunikation erlaubt. Vermieden wird dadurch der Zeitverlust, der bei einer üblichen Realisierung von verteilt gemeinsamem Speicher entsteht, in der erst auf Anforderung ein Abgleich zur Konsistenzsicherung ausgeführt wird.Die Praxistauglichkeit des Programmiermodells wird durch den erfolgreichen Einsatz in einer Industrieanwendung, einer Software zur Simulation von Fahrzeugkollisionen gezeigt. Diese Simulationen werden von der Autoniobilindustrie neben physikalischen Kollisionsversuchen heutzutage deshalb verstärkt eingesetzt, da bei gleicher Entwicklungszeit weitaus mehr Kon-struktionsalternativen erprobt werden können und damit die Sicherheit von Kahrzeuginsas-sen bei Verkehrsunfällen gesteigert werden kann. Der hohe RechenleisUingsbedarf macht allerdings Parallelisierung zwingend erforderlich. Ein diese Arbeit begleitendes Projekt untersuchte die Skalierungsprobleme, die in der bei der BMW AG benutzten Simulationssoftware PAM-CRASHT auftreten. Der Einsatz des oben beschriebenen Programmiermodells zur Einführung von Lastbalancierung kann diese Probleme reduzieren, wie Verbesserungen in der Laufzeit; praxisrelevanter Siniulaiionsläufe belegen.
Author(s): Wcidcndorfer J.
Year: 2003
Language: German
Pages: 219