Entwicklung effizienter gemischt paralleler Anwendungen
Die Ausnutzung von gemischter Parallelität durch parallele Tasks führt im Vergleich mit reiner Datenparallelität und reiner Taskparallelität häufig zu effizienteren und flexibleren parallelen Implementierungen. In der vorliegenden Dissertation wird mit dem CM-task Programmiermodell eine Erweiterung...
Main Author: | |
---|---|
Other Authors: | |
Format: | Doctoral Thesis |
Language: | German |
Published: |
2010
|
Subjects: | |
Online Access: | http://nbn-resolving.de/urn:nbn:de:bsz:ch1-201001042 https://monarch.qucosa.de/id/qucosa%3A18304 https://monarch.qucosa.de/api/qucosa%3A18304/attachment/ATT-0/ https://monarch.qucosa.de/api/qucosa%3A18304/attachment/ATT-1/ |
Summary: | Die Ausnutzung von gemischter Parallelität durch parallele Tasks führt im Vergleich mit reiner Datenparallelität und reiner Taskparallelität häufig zu effizienteren und flexibleren parallelen Implementierungen. In der vorliegenden Dissertation wird mit dem CM-task Programmiermodell eine Erweiterung des Standardmodells der parallelen Tasks vorgestellt. Damit wird die Modellierung von Kommunikationsoperationen zwischen zeitgleich ausgeführten parallelen Tasks unterstützt, was zur besseren Strukturierung von parallelen Anwendungen mit einem regelmäßigen Datenaustausch zwischen verschiedenen Programmteilen beiträgt.
Für das CM-task Programmiermodell wird das zugehörige Schedulingproblem definiert und ein entsprechender Schedulingalgorithmus vorgestellt. Die Anwendungsentwicklung im CM-task Programmiermodell wird durch das CM-task Compilerframework unterstützt, das eine gegebene plattformunabhängige Spezifiktion eines parallelen Algorithmus schrittweise in ein plattformspezifisches Koordinationsprogramm übersetzt. Das Koordinationsprogramm enthält Programmcode zum Anlegen und Verwalten der benötigten Prozessorgruppen, zum Ausführen der vom Anwender bereitgestellten CM-tasks auf diesen Prozessorgruppen sowie zur Realisierung der benötigten Datenumverteilungsoperationen zwischen den Prozessorgruppen. Der Aufbau und die Schnittstellen des CM-task Compilerframeworks werden in der vorliegenden Dissertation detailliert beschrieben. Anhand verschiedener Anwendungen aus dem wissenschaftlichen Rechnens wird die Einsetzbarkeit des CM-task Programmiermodells und des CM-task Compilerframeworks demonstriert. === Mixed parallel programming models based on parallel tasks often lead to
more efficient and more flexible implementations compared to pure
data and pure task parallelism.
In this thesis, the CM-task programming model is proposed which extends
standard parallel tasks such that communication phases between
concurrently executed parallel tasks can be modeled thus allowing a better
structuring of parallel applications that require a frequent data
exchange between different program parts.
Based on the CM-task programming model the CM-task scheduling problem
is defined and a scheduling algorithm is proposed.
The development of parallel applications within the CM-task programming
model is supported by the CM-task compiler framework, which
transforms a given platform independent specification of a parallel algorithm into a
platform specific coordination program.
The coordination program is responsible for the creation and the
management of the required processor groups, the execution of the
user provided CM-tasks on these processor groups and for the
implementation
of the data re-distribution operations between these processor groups.
The architecture and the interfaces of the CM-task compiler framework
are explained in detail.
The applicability of the CM-task programming model and the CM-task
compiler framework are demonstrated for several scientific applications. |
---|