skip to main content
research-article

Multi-objective Optimization of Mapping Dataflow Applications to MPSoCs Using a Hybrid Evaluation Combining Analytic Models and Measurements

Published: 31 December 2020 Publication History

Abstract

Dataflow modeling is well suited for a large variety of applications for modern multi-core architectures, e.g., from the signal processing and the control domain. Furthermore, Design Space Exploration (DSE) can be used to explore mappings of tasks to hardware resources (cores of an MPSoC) and their scheduling to obtain optimized trade-off solutions between throughput and resource costs. However, the throughput evaluation of an implementation candidate via compilation-in-the-loop or simulation-based approaches can be extremely time-consuming. Such a deficiency is very detrimental, because a typical DSE run needs to evaluate thousands of implementation candidates. As a remedy, we propose a hybrid-adaptive DSE where a max-plus algebra-based analytic throughput calculation method is used in the initial DSE phase to enable a fast progress of the search space exploration. However, as this analysis may be inaccurate as neglecting some real-world effects like cache and scheduling overhead, throughput measurements are taken later in the DSE. Moreover, we explore the trade-off between scheduling efficiency of implementation candidates—in favor of reducing concurrency—and exploiting concurrency to a large extent for parallel execution of the application. To find solutions of highest achievable throughput, it is shown that not only highly scheduling efficient implementation candidates but also highly parallel implementation candidates are essential when determining the initial population. In this realm, we contribute a method for diversity-based population initialization. For a representative set of benchmarks, it is shown that the combination of the two major contributions allows us to find much higher throughput multi-core solutions within a given exploration time compared to a state-of-the-art DSE approach.

References

[1]
Tobias Blickle, Jürgen Teich, and Lothar Thiele. 1998. System-level synthesis using evolutionary algorithms. Design Autom. Embed. Syst. 3, 1 (1998), 23--58.
[2]
Jean Cochet-Terrasson, Guy Cohen, Stéphane Gaubert, Michael McGettrick, and Jean-Pierre Quadrat. 1998. Numerical computation of spectral elements in max-plus algebra. IFAC Proc. Vol. 13, 18 (July 1998), 667--674.
[3]
Ali Dasdan, Sandy S. Irani, and Rajesh K. Gupta. 1999. Efficient algorithms for optimum cycle mean and optimum cost to time ratio problems. In Proceedings of the Design Automation Conference (DAC’99). IEEE, 37--42.
[4]
Robert de Groote, Jan Kuper, Hajo Broersma, and Gerard J. M. Smit. 2012. Max-plus algebraic throughput analysis of synchronous dataflow graphs. In Proceedings of Euromicro Conference on Software Engineering and Advanced Applications. 29--38.
[5]
Kalyanmoy Deb, Amrit Pratap, Sameer Agarwal, and T. Meyarivan. 2002. A fast and elitist multiobjective genetic algorithm: NSGA-II. Trans. Evolution. Comput. 6, 2 (Apr. 2002), 182--197.
[6]
Joachim Falk, Joachim Keinert, Christian Haubelt, Jürgen Teich, and Shruvas Bhattacharyya. 2008. A generalized static data flow clustering algorithm for MPSoC scheduling of multimedia applications. In Proceedings of the ACM International Conference on Embedded Software. 189--198.
[7]
Joachim Falk, Tobias Schwarzer, Michael Glaß, Jürgen Teich, and Christian Haubelt. 2015. Quasi-static scheduling of data flow graphs in the presence of limited channel capacities. In Proc. of the IEEE/ACM Symposium on Embedded Systems for Real-Time Multimedia (ESTIMEDIA’15). 10.
[8]
Joachim Falk, Christian Zebelein, Joachim Keinert, Christian Haubelt, Jürgen Teich, and Shuvra S. Bhattacharyya. 2011. Analysis of SystemC actor networks for efficient synthesis. ACM Trans. Embed. Comput. Syst. 10, 2, Article 18 (Jan. 2011), 18:1--18:34.
[9]
Michael R. Garey and David S. Johnson. 1990. Computers and Intractability; A Guide to the Theory of NP-Completeness. W. H. Freeman 8 Co.
[10]
Marc Geilen. 2011. Synchronous dataflow scenarios. ACM Trans. Embed. Comput. Syst. 10, 2, Article 16 (Jan. 2011), 31 pages.
[11]
Marc Geilen, Joachim Falk, Christian Haubelt, Twan Basten, Bart Theelen, and Sander Stuijk. 2017. Performance analysis of weakly-consistent scenario-aware dataflow graphs. J. Signal Process. Syst. 87, 1 (Apr. 2017), 157--175.
[12]
Marc Geilen and Sander Stuijk. 2010. Worst-case performance analysis of synchronous dataflow scenarios. In Proceedings of the 8th IEEE/ACM/IFIP International Conference on Hardware/Software Codesign and System Synthesis (CODES/ISSS’10). ACM, New York, NY, 125--134.
[13]
A. H. Ghamarian, M. C. W. Geilen, S. Stuijk, T. Basten, B. D. Theelen, M. R. Mousavi, A. J. M. Moonen, and M. J. G. Bekooij. 2006. Throughput analysis of synchronous data flow graphs. In Proceedings of the International Conference on Application of Concurrency to System Design (ACSD’06). 25--36.
[14]
Z. J. Jia, A. Núñez, T. Bautista, and A. D. Pimentel. 2014. A two-phase design space exploration strategy for system-level real-time application mapping onto MPSoC. Microprocess. Microsyst. 38, 1 (2014), 9--21.
[15]
Yaochu Jin, M. Olhofer, and B. Sendhoff. 2001. Managing approximate models in evolutionary aerodynamic design optimization. In Proceedings of the IEEE Congress on Evolutionary Computation, Vol. 1. 592--599.
[16]
Joachim Keinert, Martin Streubūhr, Thomas Schlichter, Joachim Falk, Jens Gladigau, Christian Haubelt, Jūrgen Teich, and Michael Meredith. 2009. SystemCoDesigner: An automatic ESL synthesis approach by design space exploration and behavioral synthesis for streaming applications. ACM Trans. Design Autom. Electron. Syst. 14, 1, Article 1 (Jan. 2009), 23 pages.
[17]
Torsten Kempf, Malte Doerper, R. Leupers, G. Ascheid, H. Meyr, Tim Kogel, and Bart Vanthournout. 2005. A modular simulation framework for spatial and temporal task mapping onto multi-processor SoC platforms. In Proceedings of the Conference on Design, Automation and Test in Europe—Volume 2 (DATE’05). IEEE Computer Society, Washington, DC, 876--881.
[18]
Vida Kianzad and Shuvra S. Bhattacharyya. 2006. Efficient techniques for clustering and scheduling onto embedded multiprocessors. IEEE Trans. Parallel Distrib. Syst. 17, 7 (July 2006), 667--680.
[19]
Marco Laumanns, Lothar Thiele, Kalyanmoy Deb, and Eckart Zitzler. 2002. Combining convergence and diversity in evolutionary multiobjective optimization. Evolution. Comput. 10, 3 (2002), 263--282.
[20]
Edward A. Lee and David G. Messerschmitt. 1987. Synchronous data flow. Proc. IEEE 75, 9 (Sept. 1987), 1235--1245.
[21]
Martin Letras, Joachim Falk, Tobias Schwarzer, and Jürgen Teich. 2019. On the analytic evaluation of schedules via max-plus algebra for dse of multi-core architectures. In Proceedings of the 22nd International Workshop on Software and Compilers for Embedded Systems (SCOPES’19). ACM, New York, NY, 63--71.
[22]
Martin Letras, Joachim Falk, Stefan Wildermann, and Jürgen Teich. 2017. Automatic conversion of simulink models to SysteMoC actor networks. In Proceedings of the 20th International Workshop on Software and Compilers for Embedded Systems (SCOPES’17). ACM, New York, NY, 81--84.
[23]
M. Lukasiewycz, M. Glass, C. Haubelt, and J. Teich. 2007. SAT-decoding in evolutionary algorithms for discrete constrained optimization problems. In Proceedings of the IEEE Congress on Evolutionary Computation. 935--942.
[24]
Martin Lukasiewycz, Michael Glaß, Felix Reimann, and Jürgen Teich. 2011. Opt4J: A modular framework for meta-heuristic optimization. In Proceedings of the Annual Conference on Genetic and Evolutionary Computation (GECCO’11). ACM, New York, NY, 1723--1730.
[25]
Heikki Maaranen, Kaisa Miettinen, and Antti Penttinen. 2006. On initial populations of a genetic algorithm for continuous optimization problems. J. Global Optim. 37, 3 (July 2006), 405.
[26]
Giovanni Mariani, Gianluca Palermo, Vittorio Zaccaria, and Cristina Silvano. 2013. Design-space exploration and runtime resource management for multicores. ACM Trans. Embed. Comput. Syst. 13, 2, Article 20 (Sept. 2013), 27 pages.
[27]
Malgorzata Michalska, Simone Casale-Brunet, Endri Bezati, and Marco Mattavelli. 2018. High-precision performance estimation for the design space exploration of dynamic dataflow programs. IEEE Trans. Multi-Scale Comput. Syst. 4, 2 (Apr. 2018), 127--140.
[28]
S. Mohanty, V. K. Prasanna, S. Neema, and J. Davis. 2002. Rapid design space exploration of heterogeneous embedded systems using symbolic search and multi-granular simulation. In Proceedings of the Joint Conference on Languages, Compilers and Tools for Embedded Systems: Software and Compilers for Embedded Systems (LCTES/SCOPES’02). Association for Computing Machinery, New York, NY, 18--27.
[29]
OpenDSE. 2020. Open design space exploration framework. Retrieved from http://opendse.sf.net/.
[30]
Andrew J. Page, Thomas M. Keane, and Thomas J. Naughton. 2010. Multi-heuristic dynamic task allocation using genetic algorithms in a heterogeneous distributed system. J. Parallel Distrib. Comput. 70, 7 (July 2010), 758--766.
[31]
Edoardo Paone, N. Vahabi, Vittorio Zaccaria, Cristina Silvano, Diego Melpignano, Germain Haugou, and Thierry Lepley. 2013. Improving simulation speed and accuracy for many-core embedded platforms with ensemble models. In Proceedings of the Design, Automation and Test in Europe (DATE’13). 671--676.
[32]
Andy D. Pimentel. 2017. Exploring exploration: A tutorial introduction to embedded systems design space exploration. IEEE Design Test 34, 1 (Feb. 2017), 77--90.
[33]
Andy D. Pimentel, Cagkan Erbas, and Simon Polstra. 2006. A systematic approach to exploring embedded system architectures at multiple abstraction levels. IEEE Trans. Comput. 55, 2 (Feb. 2006), 99--112.
[34]
R. Piscitelli and A. D. Pimentel. 2012. Design space pruning through hybrid analysis in system-level design space exploration. In Proceedings of the Design, Automation Test in Europe Conference Exhibition (DATE’12). 781--786.
[35]
R. Piscitelli and A. D. Pimentel. 2012. Interleaving methods for hybrid system-level MPSoC design space exploration. In Proceedings of the International Conference on Embedded Computer Systems (SAMOS’12). 7--14.
[36]
Shahryar Rahnamayan, Hamid R. Tizhoosh, and Magdy M. A. Salama. 2007. A novel population initialization method for accelerating evolutionary algorithms. Comput. Math. Appl. 53, 10 (2007), 1605--1614.
[37]
Rafael Rosales, Michael Glaß, Jürgen Teich, Bo Wang, Yang Xu, and Ralph Hasholzner. 2014. MAESTRO—Holistic actor-oriented modeling of nonfunctional properties and firmware behavior for MPSoCs. ACM Trans. Design Autom. Electron. Syst. 19, 3 (2014), 23:1--23:26.
[38]
Jürgen Schnerr, Oliver Bringmann, Alexander Viehl, and Wolfgang Rosenstiel. 2008. High-performance timing simulation of embedded software. In Proceedings of the 45th ACM/IEEE Design Automation Conference (DAC’08). 290--295.
[39]
Tobias Schwarzer, Joachim Falk, Michael Glaß, Jürgen Teich, Christian Zebelein, and Christian Haubelt. 2015. Throughput-optimizing compilation of dataflow applications for multi-cores using quasi-static scheduling. In Proceedings of the International Workshop on Software and Compilers for Embedded Systems (SCOPES’15). ACM, 68--75.
[40]
Tobias Schwarzer, Joachim Falk, Simone Müller, Martin Letras, Christian Heidorn, Stefan Wildermann, and Jürgen Teich. 2019. Compilation of dataflow applications for multi-cores using adaptive multi-objective optimization. ACM Trans. Design Autom. Electron. Syst. 24, 3, Article 29 (Mar. 2019), 23 pages.
[41]
Franz-Josef Streit, Martin Letras, Stefan Wildermann, Benjamin Hackenberg, Joachim Falk, Andreas Becher, and Jürgen Teich. 2018. Model-based design automation of hardware/software co-designs for Xilinx Zynq PSoCs. In Proceedings of the International Conference on ReConFigurable Computing and FPGAs (ReConFig’18). IEEE, 1--8.
[42]
Sander Stuijk, Marc Geilen, and Twan Basten. 2006. SDF3: SDF for free. In Proceedings of the International Conference on Application of Concurrency to System Design (ACSD’06). IEEE, 276--278.
[43]
Jürgen Teich. 2012. Hardware/software codesign: The past, the present, and predicting the future. Proc. IEEE 100, Special Centennial Issue (May 2012), 1411--1430.
[44]
Mark Thompson and Andy D. Pimentel. 2013. Exploiting domain knowledge in system-level MPSoC design space exploration. J. Syst. Architect. 59, 7 (2013), 351--360.
[45]
Stavros Tripakis, Dai Bui, Marc Geilen, Bert Rodiers, and Edward A. Lee. 2013. Compositionality in synchronous data flow: Modular code generation from hierarchical SDF graphs. ACM Trans. Embed. Comput. Syst. 12, 3 (2013), 83.
[46]
Peter van Stralen and Andy D. Pimentel. 2010. Scenario-based design space exploration of MPSoCs. In Proceedings of the IEEE International Conference on Computer Design. 305--312.

Cited By

View all
  • (2024)Multi-objective preference-free exact design space exploration of static DSP on multicore platforms2024 Forum on Specification & Design Languages (FDL)10.1109/FDL63219.2024.10673877(1-9)Online publication date: 4-Sep-2024
  • (2024)Exploring Multi-Reader Buffers and Channel Placement During Dataflow Network Mapping to Heterogeneous Many-Core SystemsIEEE Access10.1109/ACCESS.2024.337507912(39748-39769)Online publication date: 2024
  • (2022)Estimating Stream Application Performance in Early-Stage System Design2022 56th Asilomar Conference on Signals, Systems, and Computers10.1109/IEEECONF56349.2022.10051859(816-823)Online publication date: 31-Oct-2022

Index Terms

  1. Multi-objective Optimization of Mapping Dataflow Applications to MPSoCs Using a Hybrid Evaluation Combining Analytic Models and Measurements

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Design Automation of Electronic Systems
    ACM Transactions on Design Automation of Electronic Systems  Volume 26, Issue 3
    May 2021
    171 pages
    ISSN:1084-4309
    EISSN:1557-7309
    DOI:10.1145/3444754
    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 the author(s) 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: 31 December 2020
    Accepted: 01 October 2020
    Revised: 01 October 2020
    Received: 01 April 2020
    Published in TODAES Volume 26, Issue 3

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Dataflow
    2. MPSoC
    3. clustering
    4. design space exploration
    5. max-plus algebra

    Qualifiers

    • Research-article
    • Research
    • Refereed

    Funding Sources

    • Embedded System Initiative (ESI) Application Center
    • Bavarian Ministry of Economic Affairs (Bayerisches Staatsministerium für Wirtschaft, Landesentwicklung und Energie)

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)14
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 19 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Multi-objective preference-free exact design space exploration of static DSP on multicore platforms2024 Forum on Specification & Design Languages (FDL)10.1109/FDL63219.2024.10673877(1-9)Online publication date: 4-Sep-2024
    • (2024)Exploring Multi-Reader Buffers and Channel Placement During Dataflow Network Mapping to Heterogeneous Many-Core SystemsIEEE Access10.1109/ACCESS.2024.337507912(39748-39769)Online publication date: 2024
    • (2022)Estimating Stream Application Performance in Early-Stage System Design2022 56th Asilomar Conference on Signals, Systems, and Computers10.1109/IEEECONF56349.2022.10051859(816-823)Online publication date: 31-Oct-2022

    View Options

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    HTML Format

    View this article in HTML Format.

    HTML Format

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media