Scalable-Grain Pipeline Parallelization Method For Multi-Core Systems

Peng Liu,Chunming Huang,Jun Guo,Yang Geng,Weidong Wang,Mei Yang
DOI: https://doi.org/10.1007/978-3-642-40820-5_23
2013-01-01
Abstract:How to parallelize the great amount of legacy sequential programs is the most difficult challenge faced by multi-core designers. The existing parallelization methods at the compile time due to the obscured data dependences in C are not suitable for exploring the parallelism of streaming applications. In this paper, a software pipeline for multilayer loop method is proposed for streaming applications to exploit the coarse-grained pipeline parallelism hidden in multi-layer loops. The proposed method consists of three major steps: 1) transform the task dependence graph of a streaming application to resolve intricate dependence, 2) schedule tasks to multiprocessor system-on-chip with the objective of minimizing the maximal execution time of all pipeline stages, and 3) adjust the granularity of pipeline stages to balance the workload among all stages. The efficiency of the method is validated by case studies of typical streaming applications on multi-core embedded system.
What problem does this paper attempt to address?