Eine Systemumgebung zur Erstellung paralleler C++ Programme und deren Ausführung in heterogenen verteilten Systemen

DSpace Repositorium (Manakin basiert)


Dateien:

Zitierfähiger Link (URI): http://nbn-resolving.de/urn:nbn:de:bsz:21-opus-5233
http://hdl.handle.net/10900/48363
Dokumentart: Dissertation
Erscheinungsdatum: 2002
Sprache: Deutsch
Fakultät: 7 Mathematisch-Naturwissenschaftliche Fakultät
Fachbereich: Sonstige - Informations- und Kognitionswissenschaften
Gutachter: Küchlin, Wolfgang
Tag der mündl. Prüfung: 2002-05-22
DDC-Klassifikation: 004 - Informatik
Schlagworte: Parallelverarbeitung , Verteiltes System , Heterogenität
Freie Schlagwörter: Parallele Boolesche Erfüllbarkeitsprüfung , Parallele Programmierung
Parallel Programming, Distributed Systems, Heterogeneity, Parallel Boolean Satisfiability Checking
Lizenz: http://tobias-lib.uni-tuebingen.de/doku/lic_mit_pod.php?la=de http://tobias-lib.uni-tuebingen.de/doku/lic_mit_pod.php?la=en
Gedruckte Kopie bestellen: Print-on-Demand
Zur Langanzeige

Inhaltszusammenfassung:

Diese Arbeit behandelt die Realisierung und die Anwendung der Systemumgebung DOTS (Distributed Object-Oriented Threads System) zur Erstellung paralleler C++ Programme. DOTS verwirklicht insbesondere spezielle Anforderungen zur Parallelisierung von Algorithmen aus dem Bereich des symbolischen Rechnens. Die effiziente Parallelisierung der sich typischerweise rasch fortentwickelnden sequentiellen Verfahren des symbolischen Rechnens wird durch das von DOTS realisierte parallele Programmiermodell des strikten Multithreading im besonderem Maße unterstützt. Die hohe Abstraktionsebene dieses Modells gewährleistet die weitgehende Übernahme der sequentiellen Entwicklungsmethodik und ermöglicht somit die schnelle und einfache Erstellung paralleler Programme ausgehend von einer sequentiellen Codebasis. Das Programmiermodell ist durch eine kompakte Programmierschnittstelle mit vollständig orthogonal verwendbaren Primitiven verwirklicht. Die Behandlung des oftmals anzutreffenden hohen Grads an Nichtdeterminismus der parallelisierten Programme wird durch die Integration spezieller Primitive in das Programmiermodell des strikten Multithreading von DOTS berücksichtigt. DOTS wurde zur Erstellung paralleler C++ Programme entwickelt, die in heterogenen verteilten Systemen ausgeführt werden können. Die Laufzeitumgebung von DOTS integriert ein breites Spektrum von Rechnerarchitekturen und Betriebssystemen (Microsoft Windows PCs, Unix Workstations, Realzeitsysteme und IBM Mainframe Cluster) in eine homogene Umgebung zur Ausführung verteilter paralleler C++ Programme. Als Anwendungsbeispiel aus dem Bereich des symbolischen Rechnens wird die Parallelisierung eines dynamisch lernenden Verfahrens zur booleschen Erfüllbarkeitsprüfung ausführlich vorgestellt. Außerdem werden parallele Verfahren zur Faktorisierung und zur Volumenvisualisierung behandelt.

Abstract:

This thesis deals with the realization and the application of the system environment DOTS (Distributed Object-Oriented Threads System) which has been designed for the development of parallel C++ programs. DOTS particularly addresses the specific requirements for the parallelization of algorithms from the realm of symbolic computation. The efficient parallelization of the typically rapidly evolving sequential methods from symbolic computation is especially supported by the strict multithreading parallel programming model realized by DOTS. The high level of abstraction of this model ensures the adoption of sequential development methodology and thus permits the fast and easy creation of parallel programs starting from a sequential code base. The programming model is realized by a compact programming interface of completely orthogonal primitives. For treating the frequently occurring high degree of non-determinism of the resulting parallel programs special constructs are integrated in the strict multithreading model of DOTS. DOTS has been designed to create parallel C++ programs that can be executed in heterogeneous distributed systems. The run-time system of DOTS integrates a wide range of computer architectures and operating systems (Microsoft Windows PCs, Unix Workstations, real-time systems and IBM Mainframe Clusters) into a homogeneous environment for executing distributed parallel C++ programs. As example application from the realm of symbolic computation the parallelization of a dynamically learning boolean satisfiability checking algorithm is presented in detail. Additionally, parallel applications for integer factorization and volume rendering are discussed.

Das Dokument erscheint in: