Der Lehrstuhl für Betriebssysteme (Univ.-Prof. Dr. habil. Th. Bemmerl) vergibt folgende Studienarbeit aus dem Bereich der Parallelverarbeitung:
Implementierung von MPI-Prozesstopologien mit Hilfe von XML-codierten Systembeschreibungen
Hintergrund
Ein wichtiges Problem bei parallelen Anwendungen ist die Frage des Datenaustausches zwischen den Prozessen aus denen die Anwendung besteht. Das Message Passing Interface (MPI) ist eine Schnittstelle zum Datenaustausch, die im Bereich des Hochleistungsrechnens weite Verbreitung gefunden hat.
Viele MPI-Implementierungen gehen dabei von einem homogenen Zielsystem aus, was bedeutet, dass alle zur Verfügung stehenden Prozessoren als gleichberechtigt, und alle Verbindungen zwischen diesen als gleich leistungsstark angesehen werden.
In solchen Systemen ist es nicht weiter wichtig, auf welchen dieser gleichartigen Netwerkknoten die parallelen Prozesse zur Ausführung kommen.
In heterogenen Systemen hingegen hat es allerdings einen großen Einfluss auf die Ausführungszeit einer Anwendung, wo die Prozesse platziert werden. Kommunizieren etwa zwei Prozesse miteinander besonders stark, kann die Laufzeit stark variieren, je nachdem, ob die beiden Prozesse über eine leistungsstarke oder eine leistungsschwache Verbindung miteinander kommunizieren. Es ist also wichtig, dass das Kommunikationsverhalten einer parallelen Anwendung und die Verteilung der Prozesse in einem heterogenen System zueinander passen.
Um das Kommunikationsverhalten einer Anwendung zu beschreiben, ist im MPI-Standard der Mechanismus der Prozesstopologien vorgesehen. Hierbei kann ein Programmierer in Form eines Graphen angeben, welche Prozesse besonders stark untereinander Daten austauschen. Die MPI-Implementierung kann dann diese Informationen benutzen, um die Verteilung der Prozesse auf die zugrunde liegende Hardware anzupassen. Jedoch wird dieser Mechanismus von den meisten MPI-Implementierungen nur unzureichend umgesetzt.
Ziele der Arbeit
Ausgangspunkt der Arbeit ist eine kleine Softwarebibliothek, die zusätzlich zu jeder beliebigen MPI-Implementierung verwendet werden kann.
Mit dieser Bibliothek ist es bereits möglich, die Heterogenität hierarchischer Systemumgebungen in XML so zu beschreiben, dass diese bei der Prozessverteilung innerhalb einer MPI-Anwendung berücksichtigt werden kann.
Diese Beschreibungssprache soll nun in einem ersten Schritt dahingehend erweitert werden, dass sich auch allgemeine heterogene Systeme mit Hilfe von Graphen beschreiben lassen.
In einem zweiten Schritt soll dann diese Hardwarebeschreibung im Rahmen des MPI-Prozesstopologie-Mechanismus zur Umsetzung einer optimalen Abbildung der Prozesse auf die Prozessoren genutzt werden.
Aufgabenstellung
- Erweiterung der XML-codierten Systembeschreibungssprache
- Einlesen und Erzeugen der entsprechenden Graphen-basierten Hardware-Repräsentation
- Integration dieser Repräsentation in den MPI-Topologiemechanismus
Das bieten wir
- ein sehr angenehmes Arbeitsumfeld
- eine gut ausgestattete Rechner-Infrastruktur
- eine persönliche und engagierte Betreuung
Dein Profil
- abgeschlossenes Vordiplom der Elektro- und Informationstechnik oder der Technischen Informatik
- ein paar grundlegende Programmiererfahrungen in C/C++ (zum Beispiel erworben im Praktikum Informatik 2)
- Fähigkeit zum selbständigen und kreativen Arbeiten
Status
Dieses Thema ist leider bereits vergeben.
Bei Interesse ist jedoch die Vergabe einer themenverwandten Studienarbeit möglich!
Betreuer
Dr.-Ing. Carsten Clauß
Lehrstuhl für Betriebssysteme (LfBS), RWTH Aachen
Kopernikusstraße 16, D-52056 Aachen
Tel.: +49 241 80 27609, Fax: +49 241 80 22 339
E-Mail: carsten@lfbs.rwth-aachen.de
|