Refine
Keywords
- Parallelverarbeitung (1) (remove)
-
Erweiterung des Threadmodelles fur den Einsatz in verteilten und heterogenen Systemumgebungen
(2009)
- Für die klassischen distributed memory und shared memory Architekturen kann bei der Programmierung auf bewährte nachrichten- und threadbasierte Programmiermodelle zurückgegriffen werden. Die weite Verbreitung und Akzeptanz dieser Modelle ermöglicht den portablen Einsatz und die Migration von bestehenden Programmen auf andere gleichartige Computersysteme. In verteilten heterogenen Systemumgebungen, die aus einer Vielzahl von unterschiedlichen Computerknoten bestehen und über ein Netzwerk miteinander verbunden sind, wird meistens ein nachrichtenbasiertes Programmiermodell verwendet. Neben praktischen Problemen, wie der Sicherstellung der korrekten Datendarstellung beim Nachrichtenaustausch zwischen Knoten mit unterschiedlicher Prozessorarchitektur, ergeben sich weitere Fragestellungen, die eine Erstellung und Portierung von Programmen für solche Ausführungsumgebungen erschweren. So ist man beispielsweise bei der Verwendung einer MPI-Bibliothek meist an ein Netzwerk gebunden und kann oft Systeme mit unterschiedlichen Prozessorarchitekturen nicht gleichzeitig verwenden. Im ersten Teil der vorliegenden Arbeit wird das Modell einer hybriden Programmierumgebung vorgestellt. Durch die Verwendung von Konzepten aus den thread- und nachrichtenbasierten Programmiermodellen soll eine leichte Einarbeitung in das System und ein breites Einsatzgebiet ermöglicht werden. Im Anschluß an die Spezifikationen und Definitionen der Programmierumgebung und des Programmiermodelles wird die hierfür erstellte Prototypimplementierung beschrieben. Diese Prototypimplementierung erlaubt die Ausführung von Programmen in verteilten heterogenen Systemumgebungen und zeichnet sich durch eine hohe Modularität aus. Dies bedeutet, daß nahezu jede Komponente des Systems austauschbar ist und Funktionen bereitstellt, welche in der allgemeinen Spezifikation der Umgebung definiert werden. F"ur verschiedene Zielsetzungen des Anwenders, wie z.B. die Sicherheit der Datenübertragung oder eine hohe Fehlertoleranz der gesamten Kommunikation, lassen sich so unterschiedliche Komponenten in das Laufzeitsystem einbinden, ohne das Benutzerprogramm neu erstellen oder anpassen zu müssen. Die Benutzung und Einbindung von bereits existierenden, externen Implementierungen für solche Anforderungen ist ebenfalls möglich und reduziert den Entwicklungsaufwand neuer Komponenten des Laufzeitsystems. In der Arbeit wird das unter anderen anhand der TSpaces-Bibliothek von IBM als alternatives Speichersystem demonstriert. Die sich im zweiten Teil der Arbeit anschließenden Kapitel befassen sich mit mehreren Umsetzungen von numerischen Algorithmen für die erstellte Prototypimplementierung der beschriebenen Programmierumgebung. Die erzielten Ergebnisse zeigen, daß die im Vorfeld definierten Ziele erreicht werden können und die resultierenden Programme mit unterschiedlichen Systemkonfigurationen lauffähig sind.
