Advertisement

Mapping Embedded Applications on MPSoCs: The MNEMEE Approach

  • Christos Baloukas
  • Lazaros Papadopoulos
  • Dimitrios Soudris
  • Sander Stuijk
  • Olivera Jovanovic
  • Florian Schmoll
  • Peter Marwedel
  • Daniel Cordes
  • Robert Pyka
  • Arindam Mallik
  • Stylianos Mamagkakis
  • François Capman
  • Séverin Collet
  • Nikolaos Mitas
  • Dimitrios Kritharidis
Conference paper
Part of the Lecture Notes in Electrical Engineering book series (LNEE, volume 105)

Abstract

As embedded systems are becoming the center of our digital life, system design becomes progressively harder. The integration of multiple features on devices with limited resources requires careful and exhaustive exploration of the design search space in order to efficiently map modern applications to an embedded multi-processor platform. The MNEMEE project addresses this challenge by offering a unique integrated tool flow that performs source-to-source transformations to automatically optimize the original source code and map it on the target platform. The optimizations aim at reducing the number of memory accesses and the required memory storage of both dynamically and statically allocated data. Furthermore, the MNEMEE tool flow parallelizes the application’s source code and performs optimal assignment of all data on the memory hierarchy of the target platform. Designers can use the whole flow or a part of it and integrate it into their own design flow. This work gives an overview of the MNEMEE tool flow. It also presents two industrial case studies that demonstrate how the techniques and tools developed in the MNEMEE project can be integrated into industrial design flows.

Keywords

Source Code Task Graph Memory Hierarchy Target Platform Scratchpad Memory 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Notes

Acknowledgments

This work was supported in part by the EC through FP7 IST project 216224, MNEMEE.

References

  1. 1.
    MNEMEE Project (IST-216224)–http://www.mnemee.org/
  2. 2.
    Baloukas C, Risco-Martin JL, Atienza D, Poucet C, Papadopoulos L, Mamagkakis S, Soudris D, Ignacio Hidalgo J, Catthoor F, Lanchares J (2009) Optimization methodology of dynamic data structures based on genetic algorithms for multimedia embedded systems. J Syst Softw 82(4):590–602CrossRefGoogle Scholar
  3. 3.
    Young M (1989) The technical writer’s handbook. University Science, Mill Valley, CAGoogle Scholar
  4. 4.
    Cordes D, Marwedel P, Mallik A (2010) Automatic parallelization of embedded software using hierarchical task graphs and integer linear programming, CODES+ISSS’2010, October 2010Google Scholar
  5. 5.
    Girkar M, Polychronopoulos CD (1994) The hierarchical task graph as a universal intermediate representation. Int J Parallel Program 22(5):519–551CrossRefGoogle Scholar
  6. 6.
    Iosifidis Y, Mallik A, Mamagkakis S, De Greef E, Bartzas A, Soudris D, Catthoor F (2010) A framework for automatic parallelization, static and dynamic memory optimization in MPSoC platforms. In the design automation conference, DAC 10, Proceedings (June 2010), ACMGoogle Scholar
  7. 7.
    Moreira O, Mol J-D, Belooij M, van Meerbergen J (2005) Multiprocessor resource allocation for hard-real-time streaming with a dynamic job-mix. In: 11th real time and embedded technology and applications symposium, RTAS 05, Proceedings (March 2005), IEEE, pp 332–341Google Scholar
  8. 8.
    Stuijk S, Basten T, Geilen M, Corporaal H (2007) Multiprocessor resource allocation for throughput-constrained synchronous dataflow graphs. In: 44th design automation conference, DAC 07, Proceedings (June 2007), ACM, p 777–782Google Scholar
  9. 9.
    Lee E, Messerschmitt D (1987) Static scheduling of synchronous data flow programs for digital signal processing. IEEE Trans Comput 36(1):24–35zbMATHCrossRefGoogle Scholar
  10. 10.
    Gheorghita S, Palkovic M, Hamers J, van de Cappelle A, Mamagkakis S, Basten T, Eeckhout L, Corporaal H, Catthoor F, van de Putte F, Bosschere KD (2009) Systemscenario-based design of dynamic embedded systems. ACM Trans Des Autom Electron Syst 14(1):1–45CrossRefGoogle Scholar
  11. 11.
    Stuijk S, Geilen MCW, Basten T (2010) A predictable multiprocessor design flow for streaming applications with dynamic behaviour. In: digital system design, 13th euromicro conference, DSD 10 Proceedings (September 2010), IEEE, pp 548–555Google Scholar
  12. 12.
    Shojaei H, Ghamarian A, Basten T, Geilen M, Stuijk S, Hoes R (2009) A parameterized compositional multi-dimensional multiple-choice knapsack heuristic for CMP run-time management. In: 46th design automation conference, DAC 09, Proceedings (June 2009), ACM, pp 917–922Google Scholar
  13. 13.
    Thiele L, Bacivarov I, Haid W, Huang K (2007) Mapping applications to tiled multiprocessor embedded systems. In: application of concurrency to system design, ACSD 07, Proceedings (July 2007), IEEE, 2007Google Scholar
  14. 14.
    Thiele L, Chakraborty S, Gries M, Künzli S (2002) A framework for evaluating design tradeoffs in packet processing architectures. In: 39th annual design automation conference, DAC 02, Proceedings (June 2002), ACM, pp 880–885Google Scholar
  15. 15.
    Bleuler S, Laumanns M, Thiele L, Zitzler E (2003) PISA—A platform and programming language independent interface for search algorithms. In: Fonseca CM, Fleming PJ, Zitzler E, Deb K, Thiele L (eds) Evolutionary multi-criterion optimization (EMO 2003), vol 2632/2003 of LNCS. Springer, Heidelberg, pp 494–508CrossRefGoogle Scholar
  16. 16.
    Steinke S, Wehmeyer L, Lee B, Marwedel P (2002) Assigning program and data objects to scratchpad for energy reduction. In: design, automation and test in europe, DATE 02, Proceedings, IEEE, 2002 p 409Google Scholar
  17. 17.
  18. 18.
    The 600 bits/s, 1200 bits/s and 2400 bits/s NATO interoperable narrow band voice coder, NATO standard STANAG No. 4591 edition Y (amendment W) Ratification Draft 1, Jan 2006Google Scholar
  19. 19.
    Guilmin G, Capman F, Ravera B, Chartier F (2006) New NATO STANAG narrow band voice coder at 600 bits/s. Proceedings of IEEE international conference on acoustics, speech, and signal processing, Toulouse, May 2006Google Scholar
  20. 20.
    OMAP-L137 Low-power applications processor, sprs563c, November 2009Google Scholar
  21. 21.
    Pyka R, Klein F, Marwedel P, Mamagkakis S (2010) Versatile system-level memory-aware platform description approach for embedded MPSoCs, LCTES 2010, April 2010Google Scholar

Copyright information

© Springer Science+Business Media B.V. 2011

Authors and Affiliations

  • Christos Baloukas
    • 1
  • Lazaros Papadopoulos
    • 1
  • Dimitrios Soudris
    • 1
  • Sander Stuijk
    • 2
  • Olivera Jovanovic
    • 3
  • Florian Schmoll
    • 3
  • Peter Marwedel
    • 3
  • Daniel Cordes
    • 4
  • Robert Pyka
    • 4
  • Arindam Mallik
    • 5
  • Stylianos Mamagkakis
    • 5
  • François Capman
    • 6
  • Séverin Collet
    • 6
  • Nikolaos Mitas
    • 7
  • Dimitrios Kritharidis
    • 7
  1. 1.Institute of Communications and Computer Systems (ICCS)AthensGreece
  2. 2.Eindhoven University of TechnologyEindhovenThe Netherlands
  3. 3.Design Automation for Embedded Systems GroupTU-DortmundGermany
  4. 4.Informatik Centrum Dortmund e.VDortmundGermany
  5. 5.IMEC vzwLeuvenBelgium
  6. 6.Thales Communications FranceColombesFrance
  7. 7.Intracom TelecomAthensGreece

Personalised recommendations