An improvement of OpenMP pipeline parallelism with the BatchQueue algorithm

Thomas Preud'homme, Julien Sopena, Gaël Thomas, Bertil Folliot

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

In the context of multicore programming, pipeline parallelism is a solution to easily transform a sequential program into a parallel one without requiring a whole rewriting of the code. The OpenMP stream-computing extension presented by Pop and Cohen proposes an extension of OpenMP to handle pipeline parallelism. However, their communication algorithm relies on Multiple-producer-Multiple- Consumer queues, while pipelined applications mostly deal with linear chains of communication, i.e., with only a single producer and a single consumer. To improve the performance of the OpenMP streamextension, we propose to add a more specialized Single- Producer-Single-Consumer communication algorithm called BatchQueue and to select it for one-to-one communication. Our evaluation shows that BatchQueue is then able to improve the throughput up to a factor 2 on an 8-core machine both for example application and real applications. Our study shows therefore that using specialized and efficient communication algorithms can have a significant impact on the overall performance of pipelined applications.

Original languageEnglish
Title of host publicationProceedings of the 2012 IEEE 18th International Conference on Parallel and Distributed Systems, ICPADS 2012
Pages348-355
Number of pages8
DOIs
Publication statusPublished - 1 Dec 2012
Externally publishedYes
Event18th IEEE International Conference on Parallel and Distributed Systems, ICPADS 2012 - Singapore, Singapore
Duration: 17 Dec 201219 Dec 2012

Publication series

NameProceedings of the International Conference on Parallel and Distributed Systems - ICPADS
ISSN (Print)1521-9097

Conference

Conference18th IEEE International Conference on Parallel and Distributed Systems, ICPADS 2012
Country/TerritorySingapore
CitySingapore
Period17/12/1219/12/12

Fingerprint

Dive into the research topics of 'An improvement of OpenMP pipeline parallelism with the BatchQueue algorithm'. Together they form a unique fingerprint.

Cite this