next up previous
Next: Untersuchungen über Verfahren zur Up: Rechnerarchitektur Previous: Rechnerarchitektur

Untersuchungen zur Parallelisierung und Ausführung von Programmen in verschiedenen parallelen Speicherarchitekturen (Till Bubeck)

Im Einzelnen wird an einem Verfahren gearbeitet, daß automatisch sequentielle C-Programme parallelisiert und auf unterschiedlichsten Rechnerarchitekturen in bestmöglicher Art zur Ausführung bringt. Ausgehend von einer konventionellen C-Beschreibung wird das Programm hinsichtlich Datenabhängigkeiten untersucht und in ein zweites C-Programm überführt. Dieses ist um explizite Anweisungen zur parallelen Ausführung angereichert und muß nun auf den einzelnen Rechnerarchitekturen möglichst effizient ausgeführt werden. Zu diesem Zweck wurde eine weitgehend architekturunabhängige Laufzeitumgebung geschaffen, die sowohl auf Maschinen mit gemeinsamem, als auch mit getrenntem Hauptspeicher arbeitet. Sie nutzt die auf der augenblicklichen Architektur verfügbaren Möglichkeiten und schafft damit eine weitere Abstraktionsebene über der eigentlichen Hardware.

Um die Skalierbarkeit der entworfenen Programme und der zugrundeliegenden Hardware bestimmen zu können, wurde ein Analysewerkzeug entworfen und implementiert. Dieses erlaubt eine Auswertung eines bereits abgeschlossenen Programmlaufes und liefert Daten über Auslastung der einzelnen Prozessoren, wie auch die Gesamtlaufzeit des Programmes. Es benötigt ein vom Laufzeitsystem automatisch erstelltes Protokoll eines Programmlaufes, sowie Daten über die ausführende Maschine. Durch Verändern der maschinenspezifischen Daten ist eine Simulation des Programmlaufes für andere Rechnerarchitekturen möglich. Dies ermöglicht den Entwurf von Algorithmen, die auf einer möglichst breiten Basis von Maschinen effizient arbeiten. Diese Arbeiten im Teilprojekt C6 des Sonderforschungsbereichts 382 ,,Verfahren und Algorithmen zur Simulation physikalischer Prozesse auf Höchstleistungsrechnern`` durchgeführt.



Steffen Wieschalla
Fri Apr 25 18:56:55 MET DST 1997