Performance implications of synchronization structure in parallel programming
Autor: | Valentín Cardeñoso-Payo, Arturo Gonzalez-Escribano, Arjan J. C. van Gemund |
---|---|
Rok vydání: | 2009 |
Předmět: |
Computer Networks and Communications
Data parallelism Computer science Distributed computing Task parallelism Parallel computing Structured programming Computer Graphics and Computer-Aided Design Inductive programming Theoretical Computer Science Procedural programming Artificial Intelligence Hardware and Architecture Parallel programming model Programming paradigm Reactive programming Implicit parallelism Programmer Software |
Zdroj: | Parallel Computing. 35:455-474 |
ISSN: | 0167-8191 |
DOI: | 10.1016/j.parco.2009.07.002 |
Popis: | The restricted synchronization structure of so-called structured parallel programming paradigms has an advantageous effect on programmer productivity, cost modeling, and scheduling complexity. However, imposing these restrictions can lead to a loss of parallelism, compared to using a programming approach that does not impose synchronization structure. In this paper we study the potential loss of parallelism when expressing parallel computations into a programming model which limits the computation graph (DAG) to series-parallel topology, which characterizes all well-known structured programming models. We present an analytical model that approximately captures this loss of parallelism in terms of simple parameters that are related to DAG topology and workload distribution. We validate the model using a wide range of synthetic and real-world parallel computations running on shared and distributed-memory machines. Although the loss of parallelism is theoretically unbounded, our measurements show that for all above applications the performance loss due to choosing a series-parallel structured model is invariably limited up to 10%. In all cases, the loss of parallelism is predictable provided the topology and workload variability of the DAG are known. |
Databáze: | OpenAIRE |
Externí odkaz: |