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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
MNEMEE Project (IST-216224)–http://www.mnemee.org/
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–602
Young M (1989) The technical writer’s handbook. University Science, Mill Valley, CA
Cordes D, Marwedel P, Mallik A (2010) Automatic parallelization of embedded software using hierarchical task graphs and integer linear programming, CODES+ISSS’2010, October 2010
Girkar M, Polychronopoulos CD (1994) The hierarchical task graph as a universal intermediate representation. Int J Parallel Program 22(5):519–551
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), ACM
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–341
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–782
Lee E, Messerschmitt D (1987) Static scheduling of synchronous data flow programs for digital signal processing. IEEE Trans Comput 36(1):24–35
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–45
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–555
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–922
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, 2007
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–885
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–508
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 409
MSC8144 Reference Manual, http://www.freescale.com/files/dsp/doc/ref_manual/MSC8144RM.pdf
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 2006
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 2006
OMAP-L137 Low-power applications processor, sprs563c, November 2009
Pyka R, Klein F, Marwedel P, Mamagkakis S (2010) Versatile system-level memory-aware platform description approach for embedded MPSoCs, LCTES 2010, April 2010
Acknowledgments
This work was supported in part by the EC through FP7 IST project 216224, MNEMEE.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media B.V.
About this paper
Cite this paper
Baloukas, C. et al. (2011). Mapping Embedded Applications on MPSoCs: The MNEMEE Approach. In: Voros, N., Mukherjee, A., Sklavos, N., Masselos, K., Huebner, M. (eds) VLSI 2010 Annual Symposium. Lecture Notes in Electrical Engineering, vol 105. Springer, Dordrecht. https://doi.org/10.1007/978-94-007-1488-5_10
Download citation
DOI: https://doi.org/10.1007/978-94-007-1488-5_10
Published:
Publisher Name: Springer, Dordrecht
Print ISBN: 978-94-007-1487-8
Online ISBN: 978-94-007-1488-5
eBook Packages: EngineeringEngineering (R0)