skip to main content
research-article

A Model-Driven Design Framework for Massively Parallel Embedded Systems

Published:01 November 2011Publication History
Skip Abstract Section

Abstract

Modern embedded systems integrate more and more complex functionalities. At the same time, the semiconductor technology advances enable to increase the amount of hardware resources on a chip for the execution. Massively parallel embedded systems specifically deal with the optimized usage of such hardware resources to efficiently execute their functionalities. The design of these systems mainly relies on the following challenging issues: first, how to deal with the parallelism in order to increase the performance; second, how to abstract their implementation details in order to manage their complexity; third, how to refine these abstract representations in order to produce efficient implementations.

This article presents the Gaspard design framework for massively parallel embedded systems as a solution to the preceding issues. Gaspard uses the repetitive Model of Computation (MoC), which offers a powerful expression of the regular parallelism available in both system functionality and architecture. Embedded systems are designed at a high abstraction level with the MARTE (Modeling and Analysis of Real-time and Embedded systems) standard profile, in which our repetitive MoC is described by the so-called Repetitive Structure Modeling (RSM) package. Based on the Model-Driven Engineering (MDE) paradigm, MARTE models are refined towards lower abstraction levels, which make possible the design space exploration. By combining all these capabilities, Gaspard allows the designers to automatically generate code for formal verification, simulation and hardware synthesis from high-level specifications of high-performance embedded systems. Its effectiveness is demonstrated with the design of an embedded system for a multimedia application.

References

  1. Alanen, M., Lilius, J., Porres, I., Truscan, D., Oliver, I., and Sandstrom, K. 2006. Design method support for domain specific SoC design. In Proceedings of the 4th Workshop on Model-Based Development of Computer-Based Systems and 3rd International Workshop on Model-Based Methodologies for Pervasive and Embedded Software (MBD-MOMPES’06). IEEE Computer Society, Los Alamitos, CA, 25--32. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Amagbegnon, P., Besnard, L., and Guernic, P. L. 1995. Implementation of the data-flow synchronous language signal. In Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI’95). ACM Press, New York, 163--173. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Bakshi, A., Prasanna, V. K., and Ledeczi, A. 2001. Milan: A model based integrated simulation framework for design of embedded systems. SIGPLAN Not. 36, 8, 82--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Balarin, F., Watanabe, Y., Hsieh, H., Lavagno, L., Passerone, C., and Sangiovanni-Vincentelli, A. L. 2003. Metropolis: An integrated electronic system design environment. IEEE Comput. 36, 4, 45--52. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Bastoul, C. 2004. Code generation in the polyhedral model is easier than you think. In Proceedings of the 13th IEEE International Conference on Parallel Architecture and Compilation Techniques (PACT’04). 7--16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Ben Atitallah, A., Kadionik, P., Ghozzi, F., Nouel, P., Masmoudi, N., and Levi, H. 2006. Hw/sw codesign of the h. 263 video coder. In Proceedings of the Canadian Conference on Electrical and Computer Engineering (CCECE’06). 783--787.Google ScholarGoogle Scholar
  7. Ben Atitallah, R., Niar, S., Meftali, S., and Dekeyser, J.-L. 2007a. An MPSoC performance estimation framework using transaction level modeling. In Proceedings of the 13th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications. 525--533. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Ben Atitallah, R., Piel, E., Niar, S., Marquet, P., and Dekeyser, J.-L. 2007b. Multilevel MPSoC simulation using an MDE approach. In Proceedings of the IEEE International SoC Conference (SoCC’07). 197--200.Google ScholarGoogle Scholar
  9. Benveniste, A., Caspi, P., Edwards, S., Halbwachs, N., Guernic, P. L., and de Simone, R. 2003. Synchronous languages twelve years later. Proc. IEEE 91, 64--83.Google ScholarGoogle ScholarCross RefCross Ref
  10. Björklund, D. and Lilius, J. 2002. From UML behavioral descriptions to efficient synthesizable VHDL. In Proceedings of the 20th IEEE Norchip Conference.Google ScholarGoogle Scholar
  11. Borland. 2007. Operational QVT language. http://www.eclipse.org/m2m/qvto/doc.Google ScholarGoogle Scholar
  12. Boulet, P. 2008. Formal semantics of Array-OL, a domain specific language for intensive multidimensional signal processing. INRIA Res. rep. RR-6467, INRIA. March.Google ScholarGoogle Scholar
  13. Boulet, P., Marquet, P., Piel, E., and Taillard, J. 2007. Repetitive allocation modeling with MARTE. In Proceedings of the Forum on Specification and Design Languages (FDL’07). 280--285.Google ScholarGoogle Scholar
  14. Calvez, J.-P. 1993. Embedded Real-Time Systems. A Specification and Design Methodology. Willey, New York. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Chevalier, J., de Nanclas, M., Filion, L., Benny, O., Rondonneau, M., Bois, G., and Aboulhamid, E. 2006. A systemc refinement methodology for embedded software. Des. Test Comput. IEEE 23, 2, 148--158. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Chou, P., Ortega, R., and Borriello, G. 1995. The chinook hardware/software co-synthesis system. In Proceedings of the IEEE International Symposium on System Synthesis. Vol. 0. IEEE Computer Society, Los Alamitos, CA, 22--27. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Cote, G., Erol, B., Gallant, M., and Kossentini, F. 1998. H.263+: video coding at low bit rates. IEEE Trans. Circ. Syst. Video Technol. 8, 7, 849--866. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Coyle, F. P. and Thornton, M. A. 2005. From UML to HDL: A model driven architectural approach to hardware-software co-design. In Proceedings of the Information Systems: New Generations Conference (ISNG). 88--93.Google ScholarGoogle Scholar
  19. Cuccuru, A., Dekeyser, J.-L., Marquet, P., and Boulet, P. 2005. Towards UML 2 extensions for compact modeling of regular complex topologies. In Proceedings of the ACM/IEEE 8th International Conference on Model Driven Engineering Languages and Systems (MoDELS/UML’05). 445--459. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Dekeyser, J.-L., Gamatié, A., Etien, A., Atitallah, R. B., and Boulet, P. 2008. Using the UML profile for MARTE to MPSoC co-design. In Proceedings of the 1st International Conference on Embedded Systems & Critical Applications (ICESCA’’08).Google ScholarGoogle Scholar
  21. Demeure, A. and Del Gallo, Y. 1998. An array approach for signal processing design. In Proceedings of Sophia-Antipolis Conference on Micro-Electronics (SAME’98). System-on-Chip Session.Google ScholarGoogle Scholar
  22. do Nascimento, F. A. M., Oliveira, M. F. S., and Wagner, F. R. 2007. Modes: Embedded systems design methodology and tools based on mde. In Proceedings of the 4th International Workshop on Model-Based Methodologies for Pervasive and Embedded Software (MOMPES’07). IEEE Computer Society, Los Alamitos, CA, 67--76. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Dömer, R., Gerstlauer, A., Peng, J., Shin, D., Cai, L., Yu, H., Abdi, S., and Gajski, D. D. 2008. System-on-Chip environment: A SpecC-based framework for heterogeneous MPSoC design. EURASIP J. Embed. Syst. 2008, 1--13. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Gajski, D., Vahid, F., Narayan, S., and Gong, J. 1998. Specsyn: An environment supporting the specify-explorerefine paradigm for hardware/software system design. IEEE Trans. VLSI Syst. 6, 1, 84--100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Gamatié, A., Rutten, E., Yu, H., Boulet, P., and Dekeyser, J.-L. 2008. Synchronous modeling and analysis of data intensive applications. EURASIP J. Embed. Syst. Article ID 561863, 22 pages.Google ScholarGoogle Scholar
  26. Glitia, C. and Boulet, P. 2008. High level loop transformations for systematic signal processing embedded applications. In Proceedings of the International Symposium on Systems, Architectures, MOdeling, and Simulation (SAMOSVIII). 187--196. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Glitia, C., Dumont, P., and Boulet, P. 2009. Array-OL with delays, a domain specific specification language for multidimensional intensive signal processing. Multidimen. Syst. Signal Proces. J. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Grandpierre, T. and Sorel, Y. 2003. From algorithm and architecture specifications to automatic generation of distributed real-time executives: A seamless flow of graphs transformations. In Proceedings of the Formal Methods and Models for Codesign Conference (MEMOCODE’03). IEEE Computer Society, Los Alamitos, CA, 123--. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Ha, S. 2007. Model-Based programming environment of embedded software for MPSoC. In Proceedings of the Asia and South Pacific Design Automation Conference (ASP-DAC’07). IEEE Computer Society, Los Alamitos, CA, 330--335. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. Ha, S., Kim, S., Lee, C., Yi, Y., Kwon, S., and Joo, Y.-P. 2007. PeaCE: A hardware-software codesign environment for multimedia embedded systems. ACM Trans. Des. Autom. Electron. Syst. 12, 3, 1--25. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Hasegawa, T. 2004. An introduction to the UML for SoC forum in Japan. In Proceedings of the 1st UML for SoC Workshop at DAC (UML-SoC’04).Google ScholarGoogle Scholar
  32. IEEE. 1994. Std 1076-1993 IEEE Standard VHDL Language, Reference Manual - Description. http://standards.ieee.org/reading/ieee/std_public/description/dasc/1076-1993_desc.html.Google ScholarGoogle Scholar
  33. International Telecommunication Union (ITU). 2005. Recommendation H.263, video coding for low bit rate communication. http://www.itu.int/rec/T-REC-H.263-200501-I/en.Google ScholarGoogle Scholar
  34. Ismail, T. B., Abid, M., and Jerraya, A. 1994. COSMOS: A codesign approach for communicating systems. In Proceedings of the 3rd International Workshop on Hardware/Software Co-Design (CODES’94). IEEE Computer Society Press, Los Alamitos, CA, 17--24. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. Jang, S., Kim, S., Lee, J., Choi, G., and Ra, J. 2000. Hardware-Software co-implementation of a H.263 video codec. IEEE Trans. Consum. Electron. 46, 1, 191--200. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Kahn, G. 1974. The semantics of a simple language for parallel programming. In Proceedings of the IFIP Congress on Information Processing. J. L. Rosenfeld Ed., IFIP, 471--475.Google ScholarGoogle Scholar
  37. Kangas, T., Kukkala, P., Orsila, H., Salminen, E., Hännikäinen, M., Hämäläinen, T. D., Riihimäki, J., and Kuusilinna, K. 2006. UML-Based multiprocessor SoC design framework. ACM Trans. Embed. Comput. Syst. 5, 2, 281--320. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Keinert, J., Streubühr, M., Schlichter, T., Falk, J., Gladigau, J., Haubelt, C., Teich, J., and Meredith, M. 2009. SystemCoDesigner---An automatic ESL synthesis approach by design space exploration and behavioral synthesis for streaming applications. ACM Trans. Des. Autom. Electron. Syst. 14, 1, 1--23. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Khronos Group. 2009. OpenCL -- The open standard for parallel programming of heterogeneous systems. http://www.khronos.org/opencl.Google ScholarGoogle Scholar
  40. Lanusse, P., Gérard, S., and Terrier, F. 1998. Real-Time modeling with UML : The ACCORD approach. In Proceedings of the International Workshop on UML: Beyond the Notation. 319--335. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Le Beux, S., Marquet, P., and Dekeyser, J.-L. 2007. A design flow to map parallel applications onto FPGAs. In Proceedings of the 17th IEEE International Conference on Field Programmable Logic and Applications (FPL’07). 605--608.Google ScholarGoogle Scholar
  42. Le Beux, S., Marquet, P., and Dekeyser, J.-L. 2008. Model driven engineering benefits for high level synthesis. INRIA Res. rep. 6615, inria.Google ScholarGoogle Scholar
  43. Lee, E. A. 2001. Overview of the Ptolemy Project. University of California, Berkeley.Google ScholarGoogle Scholar
  44. Lee, E. A. and Messerschmitt, D. G. 1987. Static scheduling of synchronous data flow programs for digital signal processing. IEEE Trans. Comput. 36, 24--35. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. Martin, G., Lavagno, L., and Louis-Guerin, J. 2001. Embedded UML: A merger of real-time UML and co-design. In Proceedings of the 9th International Symposium on Hardware/Software Codesign (CODES’01). 23--28. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. Martin, G. and Salefski, B. 1998. Methodology and technology for design of communications and multimedia products via system-level ip integration. In Proceedings of DATE’98 Designers’ Forum. IEEE Computer Society, Los Alamitos, CA, 11--18.Google ScholarGoogle Scholar
  47. Message Passing Interface Forum. 2009. MPI documents. http://www.mpi-forum.org/docs/docs.html.Google ScholarGoogle Scholar
  48. Nguyen, K. D., Sun, Z., Thiagarajan, P. S., and Wong, W.-F. 2004. Model-Driven SoC design via executable UML to SystemC. In Proceedings of the 25th IEEE International Real-Time Systems Symposium (RTSS’04). IEEE Computer Society, Los Alamitos, CA, 459--468. Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Nguyen, T., Zakhor, A., and Yelick, K. 2000. Performance analysis of an H.263 video encoder for VIRAM. In Proceedings of the International Conference on Image Processing. 98--101.Google ScholarGoogle Scholar
  50. No Magic. 2007. MagicDraw. http://www.magicdraw.com/.Google ScholarGoogle Scholar
  51. Object Management Group Inc. 2005. (UML) Profile for schedulability, performance, and time version 1.1. http://www.omg.org/technology/documents/formal/schedulability.htm.Google ScholarGoogle Scholar
  52. Object Management Group Inc. 2006. Final adopted OMG SysML specification. http://www.omg.org/cgi-bin/doc?ptc/06-0504.Google ScholarGoogle Scholar
  53. Object Management Group. 2007a. A UML profile for MARTE. http://www.omgmarte.org.Google ScholarGoogle Scholar
  54. Object Management Group Inc. 2007b. MOF Query/Views/Transformations. http://www.omg.org/docs/ptc/07-07-07.pdf. OMG paper.Google ScholarGoogle Scholar
  55. OpenMP Architecture Review Board. 2009. The OpenMP API specification for parallel programming. http://openmp.org.Google ScholarGoogle Scholar
  56. Papyrus. 2007. Papyrus UML web site. http://www.papyrusuml.org/.Google ScholarGoogle Scholar
  57. Piel, E., Ben Atitallah, R., Marquet, P., Meftali, S., Niar, S., Etien, A., Dekeyser, J.-L., and Boulet, P. 2008a. Gaspard2: From MARTE to SystemC simulation. In Proceedings of the Workshop on Modeling and Analyzis of Real-Time and Embedded Systems (with the MARTE UML profile at DATE’08). 23--28.Google ScholarGoogle Scholar
  58. Piel, E., Marquet, P., and Dekeyser, J.-L. 2008b. Generative and Transformational Techniques in Software Engineering II: Revised Papers. Springer-Verlag, Chapter Model transformations for the compilation of multi-processor systems-on-chip, 459--473. Google ScholarGoogle ScholarDigital LibraryDigital Library
  59. Pimentel, A. D. 2008. The Artemis workbench for system-level performance evaluation of embedded systems. Int. J. Embed. Syst. 3, 3, 181--196.Google ScholarGoogle ScholarCross RefCross Ref
  60. Riccobene, E., Scandurra, P., Rosti, A., and Bocchio, S. 2005. A UML 2.0 profile for SystemC: Toward high-level SoC design. In Proceedings of the 5th ACM International Conference on Embedded Software (EMSOFT’05). ACM, New York, 138--141. Google ScholarGoogle ScholarDigital LibraryDigital Library
  61. Riccobene, E., Scandurra, P., Rosti, A., and Bocchio, S. 2006. A model-driven design environment for embedded systems. In Proceedings of the 43rd Annual Conference on Design Automation (DAC’06). ACM, New York, 915--918. Google ScholarGoogle ScholarDigital LibraryDigital Library
  62. Sangiovanni-Vincentelli, A. 2007. Quo vadis, SLD? Reasoning about the trends and challenges of system level design. Proc. IEEE 95, 3, 467--506.Google ScholarGoogle ScholarCross RefCross Ref
  63. Sangiovanni-Vincentelli, A. and Martin, G. 2001. Platform-Based design and software design methodology for embedded systems. IEEE Des. Test Comput. 18, 6, 23--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  64. Schmidt, D. C. 2006. Model-Driven engineering. IEEE Comput. 39, 2, 41--47. Google ScholarGoogle ScholarDigital LibraryDigital Library
  65. Selic, B. 1998. Using uml for modeling complex real-time systems. In Proceedings of the ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems (LCTES’98). Springer, 250--260. Google ScholarGoogle ScholarDigital LibraryDigital Library
  66. Stanford Streaming Supercomputer Project. 2009. Merrimac - Brook page. http://merrimac.stanford.edu/brook.Google ScholarGoogle Scholar
  67. Taha, S., Radermacher, A., Gerard, S., and Dekeyser, J.-L. 2007. An open framework for detailed hardware modeling. In Proceedings of the 2nd IEEE International Symposium on Industrial Embedded Systems. 118--125.Google ScholarGoogle Scholar
  68. Taillard, J., Guyomarc’h, F., and Dekeyser, J.-L. 2008a. A graphical framework for high performance computing using an MDE approach. In Proceedings of the 16th Euromicro International Conference on Parallel, Distributed and Network-Based Processing. 165--173. Google ScholarGoogle ScholarDigital LibraryDigital Library
  69. Taillard, J., Guyomarc’h, F., and Dekeyser, J.-L. 2008b. OpenMP code generation based on an model driven engineering approach. In Proceedings of the High Performance Computing & Simulation Conference (HPCS’’08). 165--173.Google ScholarGoogle Scholar
  70. Thies, W., Karczmarek, M., and Amarasinghe, S. 2002. StreamIt: A language for streaming applications. In Proceedings of the 11th International Conference on Compiler Construction (CC’02) (at ETAPS’02). Lecture Notes in Computer Science, vol. 2304/2002. Springer, 49--84. Google ScholarGoogle ScholarDigital LibraryDigital Library
  71. Thomas, D. and Moorby, P. 1998. The Verilog Hardware Description Language 4th Ed. Kluwer Academic Publishers. Google ScholarGoogle ScholarDigital LibraryDigital Library
  72. Tilera Corporation. 2009. TILE64 processor family. http://www.tilera.com/products/processors.php.Google ScholarGoogle Scholar
  73. Wilde, D. K. 1994. The ALPHA language. Tech. rep. 827, IRISA, France.Google ScholarGoogle Scholar
  74. Yu, H., Gamatié, A., Rutten, E., and Dekeyser, J.-L. 2008. Embedded Systems Specification and Design Languages, Selected Papers from FDL 2007. Springer, Chapter Model transformations from a data parallel formalism towards synchronous languages, 183--198.Google ScholarGoogle Scholar

Index Terms

  1. A Model-Driven Design Framework for Massively Parallel Embedded Systems

                    Recommendations

                    Comments

                    Login options

                    Check if you have access through your login credentials or your institution to get full access on this article.

                    Sign in

                    Full Access

                    PDF Format

                    View or Download as a PDF file.

                    PDF

                    eReader

                    View online with eReader.

                    eReader
                    About Cookies On This Site

                    We use cookies to ensure that we give you the best experience on our website.

                    Learn more

                    Got it!