BMFT-Verbundprojekt REFLEX
(Nr. 01 IN 111 D/2)



Prof. W.Rehm
K.Baensch
L.Grabowsky
T.Radke


Teilthema:
Portierung des SESAME-Simulators auf einen Höchstleistungsparallelrechner

Vollständiger Abschlußbericht als postscript (76 Seiten). Siehe auch Poster-Beiträge Supercomputing '95

Im Verbundprojekt REFLEX - Simulation eines Hand-Auge-Systems in reflexiver neuronaler Architektur - wurde zur Simulation von neuronalen Netzen die Simulationsumgebung SESAME - Software Environment for the Simulation of Adaptive Modular Systems vom Verbundpartner GMD-Birlinghofen (01IN111A/4) entwickelt. SESAME ist ein in C++ für UNIX-Workstations geschriebenes Softwarepaket.
Entsprechend dem Bedarf nach Beschleunigung der zunehmend komplexer werdenden Simulationen, die bei den Projektpartnern durchgeführt werden mußten, bestand die Hauptaufgabe in der Portierung des SESAME-Simulators auf einen parallelen Universalrechner, wobei als Basis ein MIMD-Rechner mit dualem Konzept - Workstation-Frontend mit angekoppeltem MIMD-Backend ausgewählt wurde.
SESAME, für eine Uniprozessormaschine entworfen, besitzt im Kern eine zentrale (scriptgesteuerte) Ablaufkontrolle, die es beizubehalten galt, um einen vollständigen Neuentwurf zu umgehen. A priori mußte die Gesamtkontrolle im wesentlichen auf dem Workstation-Frontend verbleiben. Weiterhin galt es, geeignete Schnittstellen zum Backend zu entwickeln, die die Kooperation mit den auf den Parallelrechner ausgelagerten Teilmodulen realisieren.
Als eine wesentliche Aufgabe stellte sich die Entwicklung eines geeigneten Parallelrechner-Laufzeitsystems heraus, welches die dynamische Plazierung von parallelen Teilmoduln ermöglicht.
Weiterhin ist evident, daß für entsprechende Teilmodule erst geeignete Parallelisierungen gefunden werden mußten.
Im Ergebnis steht eine Erweiterung des seriellen SESAME zur parallelen Version ParSESAME, die auf Parallelrechnern des oben beschriebenen Typs eine gute bis sehr gute Skalierfähigkeit aufweist.

  figure38

Abbildung 1:   Prinzip von ParSESAME

Bei Benutzung paralleler Module wird das ursprüngliche SESAME-Modul durch ein nach außen hin funktionsgleiches Proxy-Modul ersetzt. Dies realisiert zum einen die Verbindung zu anderen SESAME-Moduln sowie die Kommunikation mit dem eigentlichen Parallelprogramm. Action functions eines parallelen Moduls werden vom Proxy-Modul als Remote Procedure Calls kodiert und mit einer spezifischen Funktionsnummer an das Parallelprogramm weitergereicht (siehe Abb. 1).

ParSESAME wurde zunächst auf einen Parallelrechner Parsytec MC3 mit 32 Knoten portiert. Zur Unterstützung der Implementation wurde eine C++ -Bibliothek mit parallelen Modulen für PARIX (Parallel Extensions to UNIX) erstellt.
Weiterhin erfolgte die Implementation eines Virtual-Processor-Konzeptes auf der Basis des MC3. Als weitere Ausbaustufe erfolgte die Portierung auf einen Rechner vom Typ Parsytec GCel mit 192 Prozessoren bzw. auf Parsytec GC PowerPlus-128. Die Abbildungen 2 und 3 zeigen den Speedup für die beiden letztgenannten Maschinen bei der Simulation eines Back-Propagation-Netzwerkes.
Das Projekt wurde Ende Februar 1995 erfolgreich abgeschlossen.

  figure47
Abbildung 2:   Speedup für einen parallelen Backpropagation-Modul (GCel)

  figure52
Abbildung 3:   Speedup für einen parallelen Backpropagation-Modul (GCPP)


SESAME wurde weiterhin an der TU Chemnitz-Zwickau auf Linux portiert und steht auf dem ftp-Server der TU Chemnitz per anonymous ftp zur Verfügung.

ftp-Server: ftp.tu-chemnitz.de
Verzeichnis: /pub/Local/informatik/sesame


Zurück zur Homepage Rechnerarchitektur

Andreas Munke 14.6.96