Title data
Nagel, Raik:
Erweiterung des Threadmodelles fur den Einsatz in verteilten und heterogenen Systemumgebungen.
Bayreuth
,
2009
(
Doctoral thesis,
2009
, University of Bayreuth, Faculty of Mathematics, Physics and Computer Sciences)
|
|||||||||
Download (3MB)
|
Abstract
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.
Abstract in another language
For the classic distributed memory and shared memory programming it is possible to use the common message passing or multithreading concepts. The prevalence and acceptance of this kind of programming allows the portable use and the migration of existing programming code into similar computer environments. Message passing models are used basically for heterogeneous systems. These systems consist on many kinds of different computer nodes which are connected by a network. The preservation of the correct presentation of data encoding for the communication between nodes of different processor architectures is only one of many practical problems. There are some more issues which complicate the creation and the porting of programs for this kind of execution environment. Therefore the use of a MPI library is often only possible inside one network and mostly it is not possible to use systems with different processor architectures simultaneously. The first part of this work presents the model of a hybrid programming environment. The use of various message passing and multithreading concepts enables an easy orientation and allows the implementation of applications for a wide range of execution environments. This part includes the definitions and specifications of the programming environment and the programming model. Afterwards the developed prototype implementation is described. This prototype implementation allows the execution of parallel programs in distributed heterogeneous system environments and is characterized by a high modularity level. That means, that nearly each component of this prototype implementation can be replaced by another component and that it offers functions, which are defined in the basic specification of the programming environment. For different user requirements, for example a safe or fault-tolerant communication, it is possible to plug in different components into the prototype runtime system, without a reimplementation of the user application. It is also possible to integrate already existing and external 3rd party implementations for this kind of applications. Such strategy reduces the development effort of new components of the prototype environment. In this work the TSpaces library by IBM is taken as an alternative runtime component for transparent and distributed memory access. The following chapters in the second part of this work are dealing with several numerical algorithms for the prototype implementation of the described programming environment. The experimental results show that the predefined objectives can be achieved and the resulting programs are running at a wide range of possible system configurations.
Further data
Item Type: | Doctoral thesis (No information) |
---|---|
Additional notes (visible to public): | ccs: D.1.3; ccs: D.2.12 |
Keywords: | Verteilter Speicher; Parallelverarbeitung; Verteiltes System; Laufzeitsystem; Virtueller Speicher; verteilter gemeinsamer Speicher; Partikelsimulation; distributed shared memory; runtime environment; distributed computing |
DDC Subjects: | 000 Computer Science, information, general works > 004 Computer science |
Institutions of the University: | Faculties > Faculty of Mathematics, Physics und Computer Science > Department of Computer Science Faculties Faculties > Faculty of Mathematics, Physics und Computer Science |
Language: | German |
Originates at UBT: | Yes |
URN: | urn:nbn:de:bvb:703-opus-6236 |
Date Deposited: | 25 Apr 2014 10:08 |
Last Modified: | 25 Apr 2014 10:08 |
URI: | https://epub.uni-bayreuth.de/id/eprint/490 |