Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

A Model-Driven Design Framework for Massively Parallel Embedded Systems

Published: 01 November 2011 Publication History

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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[10]
Björklund, D. and Lilius, J. 2002. From UML behavioral descriptions to efficient synthesizable VHDL. In Proceedings of the 20th IEEE Norchip Conference.
[11]
Borland. 2007. Operational QVT language. http://www.eclipse.org/m2m/qvto/doc.
[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.
[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.
[14]
Calvez, J.-P. 1993. Embedded Real-Time Systems. A Specification and Design Methodology. Willey, New York.
[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.
[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.
[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.
[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.
[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.
[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).
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[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--.
[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.
[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.
[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).
[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.
[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.
[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.
[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.
[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.
[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.
[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.
[39]
Khronos Group. 2009. OpenCL -- The open standard for parallel programming of heterogeneous systems. http://www.khronos.org/opencl.
[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.
[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.
[42]
Le Beux, S., Marquet, P., and Dekeyser, J.-L. 2008. Model driven engineering benefits for high level synthesis. INRIA Res. rep. 6615, inria.
[43]
Lee, E. A. 2001. Overview of the Ptolemy Project. University of California, Berkeley.
[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.
[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.
[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.
[47]
Message Passing Interface Forum. 2009. MPI documents. http://www.mpi-forum.org/docs/docs.html.
[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.
[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.
[50]
No Magic. 2007. MagicDraw. http://www.magicdraw.com/.
[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.
[52]
Object Management Group Inc. 2006. Final adopted OMG SysML specification. http://www.omg.org/cgi-bin/doc?ptc/06-0504.
[53]
Object Management Group. 2007a. A UML profile for MARTE. http://www.omgmarte.org.
[54]
Object Management Group Inc. 2007b. MOF Query/Views/Transformations. http://www.omg.org/docs/ptc/07-07-07.pdf. OMG paper.
[55]
OpenMP Architecture Review Board. 2009. The OpenMP API specification for parallel programming. http://openmp.org.
[56]
Papyrus. 2007. Papyrus UML web site. http://www.papyrusuml.org/.
[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.
[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.
[59]
Pimentel, A. D. 2008. The Artemis workbench for system-level performance evaluation of embedded systems. Int. J. Embed. Syst. 3, 3, 181--196.
[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.
[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.
[62]
Sangiovanni-Vincentelli, A. 2007. Quo vadis, SLD? Reasoning about the trends and challenges of system level design. Proc. IEEE 95, 3, 467--506.
[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.
[64]
Schmidt, D. C. 2006. Model-Driven engineering. IEEE Comput. 39, 2, 41--47.
[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.
[66]
Stanford Streaming Supercomputer Project. 2009. Merrimac - Brook page. http://merrimac.stanford.edu/brook.
[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.
[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.
[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.
[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.
[71]
Thomas, D. and Moorby, P. 1998. The Verilog Hardware Description Language 4th Ed. Kluwer Academic Publishers.
[72]
Tilera Corporation. 2009. TILE64 processor family. http://www.tilera.com/products/processors.php.
[73]
Wilde, D. K. 1994. The ALPHA language. Tech. rep. 827, IRISA, France.
[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.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Embedded Computing Systems
ACM Transactions on Embedded Computing Systems  Volume 10, Issue 4
November 2011
297 pages
ISSN:1539-9087
EISSN:1558-3465
DOI:10.1145/2043662
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: 01 November 2011
Accepted: 01 November 2009
Revised: 01 September 2009
Received: 01 December 2008
Published in TECS Volume 10, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Embedded system design
  2. MARTE standard profile
  3. model driven engineering
  4. parallel programming
  5. repetitive structure modeling
  6. system-on-chip

Qualifiers

  • Research-article
  • Research
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2024)Usability and Adoption of Graphical Tools for Data-Driven DevelopmentProceedings of Mensch und Computer 202410.1145/3670653.3670658(231-241)Online publication date: 1-Sep-2024
  • (2024)Extending Jupyter with Multi-Paradigm EditorsProceedings of the ACM on Human-Computer Interaction10.1145/36602478:EICS(1-22)Online publication date: 17-Jun-2024
  • (2024)A Hierarchical Design Tool for SystemC AMSModel-Driven Engineering and Software Development10.1007/978-3-031-66339-0_1(3-28)Online publication date: 6-Sep-2024
  • (2023)Design of High Efficiency FIR Filters by Using Booth Multiplier and Data-Driven Clock Gating and Multibit Flip-FlopsAdvances in Cognitive Science and Communications10.1007/978-981-19-8086-2_30(319-326)Online publication date: 10-Mar-2023
  • (2022)A Comprehensive Exploration of Languages for Parallel ComputingACM Computing Surveys10.1145/348500855:2(1-39)Online publication date: 18-Jan-2022
  • (2022)Model-driven design space exploration for multi-robot systems in simulationSoftware and Systems Modeling (SoSyM)10.1007/s10270-022-01041-w22:5(1665-1688)Online publication date: 8-Oct-2022
  • (2021)Transferring a model-based development methodology to the automotive industry2021 22nd IEEE International Conference on Industrial Technology (ICIT)10.1109/ICIT46573.2021.9453680(762-767)Online publication date: 10-Mar-2021
  • (2021)News Media Communication Based On Real-Time Image Processor and Machine LearningMicroprocessors and Microsystems10.1016/j.micpro.2021.104090(104090)Online publication date: Feb-2021
  • (2021)A Framework for Fixed Priority Periodic Scheduling Synthesis from Synchronous Data-Flow GraphsEmbedded Computer Systems: Architectures, Modeling, and Simulation10.1007/978-3-031-04580-6_17(259-271)Online publication date: 4-Jul-2021
  • (2021)Model-Based Virtual Prototyping of CPS: Application to Bio-Medical DevicesModel-Driven Engineering and Software Development10.1007/978-3-030-67445-8_4(74-96)Online publication date: 2-Feb-2021
  • Show More Cited By

View Options

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