Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Automated generation of polyhedral process networks from affine nested-loop programs with dynamic loop bounds

Published: 06 December 2013 Publication History

Abstract

The Process Networks (PNs) is a suitable parallel model of computation (MoC) used to specify embedded streaming applications in a parallel form facilitating the efficient mapping onto embedded parallel execution platforms. Unfortunately, specifying an application using a parallel MoC is a very difficult and highly error-prone task. To overcome the associated difficulties, we have developed the pn compiler, which derives specific Polyhedral Process Networks (PPN) parallel specifications from sequential static affine nested loop programs (SANLPs). However, there are many applications, for example, multimedia applications (MPEG coders/decoders, smart cameras, etc.) that have adaptive and dynamic behavior which cannot be expressed as SANLPs. Therefore, in order to handle dynamic multimedia applications, in this article we address the important question whether we can relax some of the restrictions of the SANLPs while keeping the ability to perform compile-time analysis and to derive PPNs. Achieving this would significantly extend the range of applications that can be parallelized in an automated way.
The main contribution of this article is a first approach for automated translation of affine nested loop programs with dynamic loop bounds into input-output equivalent Polyhedral Process Networks. In addition, we present a method for analyzing the execution overhead introduced in the PPNs derived from programs with dynamic loop bounds. The presented automated translation approach has been evaluated by deriving a PPN parallel specification from a real-life application called Low Speed Obstacle Detection (LSOD) used in the smart cameras domain. By executing the derived PPN, we have obtained results which indicate that the approach we present in this article facilitates efficient parallel implementations of sequential nested loop programs with dynamic loop bounds. That is, our approach reveals the possible parallelism available in such applications, which allows for the utilization of multiple cores in an efficient way.

References

[1]
Arulampalam, S. and Maskell, S. 2002. A tutorial of partical filter for on-line non-linear/non-Gaussian Bayesian tracking. IEEE Trans. Sig. Process. 68--73.
[2]
Benabderrahmane, M.-W., Pouchet, L.-N., Cohen, A., and Bastoul, C. 2010. The polyhedral model is more widely applicable than you think. In Proceedings of ETAPS CC'10.
[3]
Castrillon, J., et al. 2010. Trace-based KPN composability analysis for mapping simultaneous applications to MPsoc platforms. In Proceedings of DATE'10.
[4]
Collard, J.-F., Barthou, D., and Feautrier, P. 1995. Fuzzy array dataflow analysis. In Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming. ACM Press, 92--101.
[5]
de Kock, E. 2002. Multiprocessor mapping of process networks: A JPEG decoding case study. In Proceedings of the 15th International Symposium on System Synthesis (ISSS'02), 68--73.
[6]
Dwivedi, B., et al. 2004. Automatic synthesis of system on chip multiprocessor architectures for process networks. In Proceedings of the CODES+ISSS.
[7]
Farago, T. 2009. A framework for heterogeneous desktop parallel computing. M.S. thesis, LERC, LIACS.
[8]
Feautrier, P. 1988. Parametric integer programming. RAIRO Recherche Opérationnelle 22, 3, 243--268.
[9]
Feautrier, P. 1991. Dataflow analysis of scalar and array references. Para. Prog. 20, 1, 23--53.
[10]
Feautrier, P. 1996. Automatic parallelization in the polytope model. In The Data Parallel Programming Model. Lecture Notes in Computer Science, vol. 1132, 79--103.
[11]
Geigl, M., Griebl, M., and Lengauer, C. 1999. Termination detection in parallel loop nests with while loops. Paral. Comput. 25, 12, 1489--1510.
[12]
Goossens K., et al. 2003. Guaranteeing the quality of services in networks on chip. In Networks on Chip. Kluwer Publishers, 61--82.
[13]
Griebl, M. and Lengauer, C. 1996. The loop parallelizer loopo. In Proceedings of the 6th Workshop on Compilers for Parallel Computers, vol. 21. Forschungszentrum, 311--320.
[14]
Haid, W., et al. 2009. Efficient execution of Kahn process networks on multi-processor systems using protothreads and windowed FIFOS. In Proceedings of ESTIMedia. IEEE, 35--44.
[15]
Kahn, G. 1974. The Semantics of a simple language for parallel programming. In Proceedings of the IFIP Congress 74. North-Holland Publishing Co.
[16]
Knobe, K. and Sarkar, V. 1998. Array SSA form and its use in Parallelization. In Proceedings of the ACM Symposium on Principles of Programming Languages (PoPL). CA, 107--120.
[17]
Martin, G. 2006. Overview of the MPSoC design challenge. In Proceedings of DAC.
[18]
Mihal, A. and Keutzer, K. 2003. Mapping concurrent applications onto architectural platforms. In Networks on Chips, A. Jantsch and H. Tenhunen, Eds., Kluwer Academic Publishers, 39--59.
[19]
Nadezhkin, D. and Stefanov, T. 2010. Identifying communication models in process networks derived from weakly dynamic programs. In Proceedings of SAMOS X. 372--379.
[20]
Nikolov, H., Stefanov, T., and Deprettere, E. F. 2008. Systematic and automated multiprocessor system design, programming, and implementation. IEEE Trans. CAD 27, 3, 542--555.
[21]
Raman, E., Ottoni, G., Raman, A., Bridges, M. J., and August, D. I. 2008. Parallel-stage decoupled software pipelining. In Proceedings of the 6th CGO, 114--123.
[22]
Stefanov, T. 2004. Converting weakly dynamic programs to equivalent process network specifications. Ph.D. thesis. Leiden University, The Netherlands, ISBN: 90-9018629-8.
[23]
Stefanov T., et al. 2004. System design using Kahn process networks: The Compaan/Laura approach. In Proceedings of DATE. 340--345.
[24]
Turjan, A. 2007. Compiling nested loop programs to process networks. Ph.D. thesis. Leiden University, The Netherlands.
[25]
Turjan, A., Kienhuis, B., and Deprettere, E. 2002. Realizations of the extended linearization model in the Compaan tool chain. In Proceedings of the 2nd Samos Workshop.
[26]
Turjan, A., Kienhuis, B., and Deprettere, E. 2004. Translating affine nested-loop programs to process networks. In Proceedings of CASES'04, DC.
[27]
Verdoolaege, S., Nikolov, H., and Stefanov, T. 2007. PN: A tool for improved derivation of process networks. EURASIP J. Embed. Syst. 2007, 1, 19--19.

Cited By

View all
  • (2021)On the Impact of Affine Loop Transformations in Qubit AllocationACM Transactions on Quantum Computing10.1145/34654092:3(1-40)Online publication date: 30-Sep-2021
  • (2019)Polyhedral Compilation for Multi-dimensional Stream ProcessingACM Transactions on Architecture and Code Optimization10.1145/333099916:3(1-26)Online publication date: 18-Jul-2019
  • (2019)Modeling Nested for Loops with Explicit Parallelism in Synchronous DataFlow GraphsEmbedded Computer Systems: Architectures, Modeling, and Simulation10.1007/978-3-030-27562-4_19(269-280)Online publication date: 7-Jul-2019

Index Terms

  1. Automated generation of polyhedral process networks from affine nested-loop programs with dynamic loop bounds

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Embedded Computing Systems
    ACM Transactions on Embedded Computing Systems  Volume 13, Issue 1s
    Special Section on ESTIMedia'10
    November 2013
    354 pages
    ISSN:1539-9087
    EISSN:1558-3465
    DOI:10.1145/2536747
    Issue’s Table of Contents
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Journal Family

    Publication History

    Published: 06 December 2013
    Accepted: 01 June 2012
    Revised: 01 February 2012
    Received: 01 August 2011
    Published in TECS Volume 13, Issue 1s

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Models of Computation
    2. compiler techniques for MPSoCs
    3. parallel programing
    4. polyhedral process networks

    Qualifiers

    • Research-article
    • Research
    • Refereed

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)3
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 12 Nov 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2021)On the Impact of Affine Loop Transformations in Qubit AllocationACM Transactions on Quantum Computing10.1145/34654092:3(1-40)Online publication date: 30-Sep-2021
    • (2019)Polyhedral Compilation for Multi-dimensional Stream ProcessingACM Transactions on Architecture and Code Optimization10.1145/333099916:3(1-26)Online publication date: 18-Jul-2019
    • (2019)Modeling Nested for Loops with Explicit Parallelism in Synchronous DataFlow GraphsEmbedded Computer Systems: Architectures, Modeling, and Simulation10.1007/978-3-030-27562-4_19(269-280)Online publication date: 7-Jul-2019

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media