Title :
Automatic Extraction of Pipeline Parallelism for Embedded Software Using Linear Programming
Author :
Cordes, Daniel ; Heinig, Andreas ; Marwedel, Peter ; Mallik, Arindam
Author_Institution :
Tech. Univ. Dortmund, Dortmund, Germany
Abstract :
The complexity and performance requirements of embedded software are continuously increasing, making Multiprocessor System-on-Chip (MPSoC) architectures more and more important in the domain of embedded and cyber-physical systems. Using multiple cores in a single system reduces problems concerning energy consumption, heat dissipation, and increases performance. Nevertheless, these benefits do not come for free. Porting existing, mostly sequential, applications to MPSoCs requires extracting efficient parallelism to utilize all available cores. Many embedded applications, like network services and multimedia tasks for voice-, image- and video processing, are operating on data streams and thus have a streaming-based structure. Despite the abundance of parallelism in streaming applications, it is a non-trivial task to split and efficiently map sequential applications to MPSoCs. Therefore, we present an algorithm which automatically extracts pipeline parallelism from sequential ANSI-C applications. The presented tool employs an integer linear programming (ILP) based approach enriched with an adequate cost model to automatically control the granularity of the parallelization. By applying our tool to real-life applications, it can be shown that our approach is able to speed up applications by a factor of up to 3.9x on a four-core MPSoC architecture, compared to a sequential execution.
Keywords :
embedded systems; linear programming; pipeline processing; system-on-chip; ILP based approach; MPSoC architectures; cyber-physical systems; data streams; embedded software complexity; embedded software performance requirements; energy consumption; heat dissipation; image processing; integer linear programming; multimedia tasks; multiple cores; multiprocessor system-on-chip architectures; network services; pipeline parallelism automatic extraction; sequential ANSI-C applications; streaming applications; streaming-based structure; video processing; voice processing; Equations; Indexes; Mathematical model; Pipeline processing; Pipelines; Streaming media; Automatic Parallelization; Cyber-Physical Systems; Embedded Software; MPSoC; Pipeline Parallelism; Program Dependence Graph;
Conference_Titel :
Parallel and Distributed Systems (ICPADS), 2011 IEEE 17th International Conference on
Conference_Location :
Tainan
Print_ISBN :
978-1-4577-1875-5
DOI :
10.1109/ICPADS.2011.31