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.