Semi-automatic extraction and exploitation of hierarchical pipeline parallelism using profiling information

Georgios Tournavitis, Björn Franke

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

In recent years multi-core computer systems have left the realm of high-performance computing and virtually all of today's desktop computers and embedded computing systems are equipped with several processing cores. Still, no single parallel programming model has found widespread support and parallel programming remains an art for the majority of application programmers. In addition, there exists a plethora of sequential legacy applications for which automatic parallelization is the only hope to benefit from the increased processing power of modern multi-core systems. In the past automatic parallelization largely focused on data parallelism. In this paper we present a novel approach to extracting and exploiting pipeline parallelism from sequential applications. We use profiling to overcome the limitations of static data and control flow analysis enabling more aggressive parallelization. Our approach is orthogonal to existing automatic parallelization approaches and additional data parallelism may be exploited in the individual pipeline stages. The key contribution of this paper is a whole-program representation that supports profiling, parallelism extraction and exploitation. We demonstrate how this enhances conventional pipeline parallelization by incorporating support for multi-level loops and pipeline stage replication in a uniform and automatic way. We have evaluated our methodology on a set of multimedia and stream processing benchmarks and demonstrate speedups of up to 4.7 on a eight-core Intel Xeon machine.
Original languageEnglish
Title of host publicationProceedings of the 19th international conference on Parallel Architectures and Compilation Techniques (PACT '10)
Place of PublicationNew York, NY, USA
PublisherACM
Pages377-388
Number of pages12
ISBN (Print)978-1-4503-0178-7
DOIs
Publication statusPublished - 2010

Keywords

  • parallelization
  • pipeline parallelism
  • program dependence graph
  • streaming applications

Fingerprint Dive into the research topics of 'Semi-automatic extraction and exploitation of hierarchical pipeline parallelism using profiling information'. Together they form a unique fingerprint.

Cite this