JaMP - Implementierung eines OpenMP-Dialektes im DSM-System Jackal

BearbeiterIn:Matthias Bezold
Titel:JaMP - Implementierung eines OpenMP-Dialektes im DSM-System Jackal
Typ:Studienarbeit
Betreuer:Klemm, M.; Veldema, R.; Philippsen, M.
Status:abgeschlossen am 18. April 2005
Vorausetzungen:

Für Shared-Memory-Systeme existieren zahlreiche Compiler, die es dem Programmierer erlauben, ein sequentielles Programm mittels Compiler-Direktiven zu parallelisieren. Der Compiler unternimmt hierbei die nötigen Schritte, um einen als parallel ausführbar markierten Programmteil ohne weiteres Zutun des Programmiers auf mehrere parallelablaufende Threads aufzuteilen. Ein Beispiel hierfür ist der OpenMP-Standard.

Die automatische Parallelisierung beruht auf der Tatsache, dass alle Threads den gleichen Adressraum sehen und so auf einen gemeinsamen Speicherbereich zugreifen können. Das Jackal-System bietet mit seiner Implementierung eines DSMs (Distributed Shared Memory) für Java eine Umgebung, die als Basis für diese Art von automatischer Parallelisierung (auch im Cluster) dienen kann.

Thema:

Im Rahmen der Studienarbeit soll das Jackal-System um eine (partielle) OpenMP-Implementierung erweitert werden. Die von OpenMP geforderten Direktiven sind auf Verträglichkeit mit dem Java Memory Model (JMM) zu untersuchen und (soweit möglich) dem JMM entsprechend zu implementieren. Die wesentlichen Direktiven des Standards müssen auf das Jackal-System übertragen werden. Hierzu ist der existierende Java-Compiler in Jackal geeignet zu erweitern, so dass die Übersetzung der neuen Direktiven möglich wird.

Die Implementierung soll weiterhin Möglichkeiten zur automatischen Erzeugung von Threads zur Ausführung der parallelen Regionen (Schleifen, Abschnitte) bereitstellen sowie die Reduktion von parallel berechneten Zwischenergebnissen erlauben.

Abschließend soll untersucht werden, wie das dynamische Hinzufügen und Entfernen von Cluster-Knoten zum/vom ausgeführten Programm unterstützt werden kann.

watermark seal