A High-Level Programming Model to Ease Pipeline Parallelism Expression On Shared Memory Multicore Architectures - Archive ouverte HAL
Communication Dans Un Congrès Année : 2014

A High-Level Programming Model to Ease Pipeline Parallelism Expression On Shared Memory Multicore Architectures

Résumé

Pipeline execution pattern is a recurrent execution configuration in many application domains involving stream processing such as digital signal processing and data compression. Unfortunately, lowlevel parallel programming models exacerbate the difficulties of expressing pipeline parallelism and require verbose restructuring of the code and complex scheduling techniques to perform efficient execution on modern multicore architectures. High-level programming models are in high-demand as they reduce the burdens of programmers, ease parallelism expression and handle transparently tasks scheduling and communication. XPU[20] is a high-level programming model which aims to ease parallelism expression through exploiting meta-programming capabilities of standard C++. In this paper we focus on pipeline parallelism expression, we present the programming model which allows pipeline construction. We describe its internal design and the runtime implementation of the pipeline execution pattern and finally we show an example of image processing application implementing real-time adaptive edge detection algorithm. We reuse an existing sequential implementation to implement a pipelined version using both XPU and TBB. We compare the two versions in term of expressivity and performance. We note that XPU version performs about 20% faster than TBB on a 16-threads multicore platform and requires 80% less extra-code than TBB to express pipeline parallelism. Our experiments show that our programming model provides both programmability and execution efficiency.
Fichier non déposé

Dates et versions

hal-00989661 , version 1 (12-05-2014)

Identifiants

  • HAL Id : hal-00989661 , version 1

Citer

Nader Khammassi, Jean-Christophe Le Lann. A High-Level Programming Model to Ease Pipeline Parallelism Expression On Shared Memory Multicore Architectures. HPC 2014, Apr 2014, Tampa, FL, United States. pp.XX. ⟨hal-00989661⟩
194 Consultations
0 Téléchargements

Partager

More