6 research outputs found
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 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
Combined Scheduling and Mapping for Scalable Computing with Parallel Tasks
Recent and future parallel clusters and supercomputers use symmetric multiprocessors (SMPs) and multi-core processors as basic nodes, providing a huge amount of parallel resources. These systems often have hierarchically structured interconnection networks combining computing resources at different levels, starting with the interconnect within multi-core processors up to the interconnection network combining nodes of the cluster or supercomputer. The challenge for the programmer is that these computing resources should be utilized efficiently by exploiting the available degree of parallelism of the application program and by structuring the application in a way which is sensitive to the heterogeneous interconnect. In this article, we pursue a parallel programming method using parallel tasks to structure parallel implementations. A parallel task can be executed by multiple processors or cores and, for each activation of a parallel task, the actual number of executing cores can be adapted to the specific execution situation. In particular, we propose a new combined scheduling and mapping technique for parallel tasks with dependencies that takes the hierarchical structure of modern multi-core clusters into account. An experimental evaluation shows that the presented programming approach can lead to a significantly higher performance compared to standard data parallel implementations
Scheduling, Layer-Based Scheduling Algorithms for Multiprocessor-Tasks with Precedence Constraints
Transformation ereignisgesteuerter Prozeßketten in Workflowbeschreibungen im XPDL-Format
Aufgrund des stetig zunehmenden Kostendrucks geht ein Trend in Richtung der rechnergestützten Abarbeitung von betrieblichen Geschäftsprozessen und behördlichen Verwaltungsvorgängen in Form von Workflows. Liegen die abzuarbeitenden Vorgänge bereits als Geschäftsprozeßmodell vor, kann durch eine Transformation in ein Workflowmodell eine komplette Neumodellierung vermieden werden. Dieser Bericht beschreibt ein Übersetzungswerkzeug, das eine derartige Transformation halbautomatisch durchführen kann. Als Ausgangspunkt dienen Geschäftsprozeßmodelle basierend auf ereignisgesteuerten Prozeßketten, die über mehrere Transformationsschritte in eine im XPDL Format kodierte Workflowbeschreibung überführt wird. Die einzelnen Transformationsschritte werden an einem konkreten Anwendungsfall aus dem Bereich des E-Governments verdeutlicht und die Bedienung des Werkzeugs, die über eine graphische Benutzeroberfläche erfolgt, erläutert
Combining Measures for Temporal and Spatial Locality
Numerical software for sequential or parallel machines with memory hierarchies can benefit from locality optimizations which are usually achieved by program restructuring or program transformations. The choice of the program version that achieves the best performance is usually complex as many dependencies have to be taken into account. Thus program-based locality measures have been introduced to give programmers a guideline if a performance gain can be expected from a program restructuring. The novel contribution of this paper is the extension of these locality measures to support spatial locality. These extended measures are applied to two applications from scientific computing and the obtained prediction is compared to benchmark results
Transformation ereignisgesteuerter Prozeßketten in Workflowbeschreibungen im XPDL-Format
Aufgrund des stetig zunehmenden Kostendrucks geht ein Trend in Richtung der rechnergestützten Abarbeitung von betrieblichen Geschäftsprozessen und behördlichen Verwaltungsvorgängen in Form von Workflows. Liegen die abzuarbeitenden Vorgänge bereits als Geschäftsprozeßmodell vor, kann durch eine Transformation in ein Workflowmodell eine komplette Neumodellierung vermieden werden. Dieser Bericht beschreibt ein Übersetzungswerkzeug, das eine derartige Transformation halbautomatisch durchführen kann. Als Ausgangspunkt dienen Geschäftsprozeßmodelle basierend auf ereignisgesteuerten Prozeßketten, die über mehrere Transformationsschritte in eine im XPDL Format kodierte Workflowbeschreibung überführt wird. Die einzelnen Transformationsschritte werden an einem konkreten Anwendungsfall aus dem Bereich des E-Governments verdeutlicht und die Bedienung des Werkzeugs, die über eine graphische Benutzeroberfläche erfolgt, erläutert