• DocumentCode
    2907850
  • 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
  • fYear
    2011
  • fDate
    7-9 Dec. 2011
  • Firstpage
    699
  • Lastpage
    706
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Parallel and Distributed Systems (ICPADS), 2011 IEEE 17th International Conference on
  • Conference_Location
    Tainan
  • ISSN
    1521-9097
  • Print_ISBN
    978-1-4577-1875-5
  • Type

    conf

  • DOI
    10.1109/ICPADS.2011.31
  • Filename
    6121343