Reducing Dynamic Dispatch Overhead (DDO) of SLDL-synthesized embedded software

System-Level Design Languages (SLDL) allow component-oriented specifications, e.g. for separating computation and communication. This separation allows for a flexible model composition, refinement and explorations. This flexibility, however, requires dynamic dispatch during execution that degrades the simulation performance. After synthesized to a target platform, the model re-composition is no longer required. Then, the involved Dynamic Dispatch Overhead (DDO) only limits performance without providing benefits. Thus, approaches are needed for software synthesis to analyze model connectivity and eliminate the DDO wherever possible. This paper introduces a static dispatch type analysis as part of the DDO-aware embedded C code synthesis from SLDL models. Our DDO-aware software (SW) synthesis emits faster, more readable static dispatch code whenever a static connectivity is determinable. By replacing virtual functions with direct function calls, the DDO can be totally eliminated allowing for aggressive inlining optimizations by the compiler. We demonstrate the benefits of the improved SW synthesis on a JPEG encoder, which runs up to 16% faster with DDO-reduction on an ARM9-based HW/SW platform. Our approach combines the flexibility benefits in specification modeling with efficient execution when synthesized to embedded targets.

[1]  Thorsten Grotker,et al.  System Design with SystemC , 2002 .

[2]  Luciano Lavagno,et al.  Task generation and compile-time scheduling for mixed data-control embedded software , 2000, Proceedings 37th Design Automation Conference.

[3]  Andreas Gerstlauer,et al.  Automatic generation of hardware dependent software for MPSoCs from abstract system specifications , 2008, 2008 Asia and South Pacific Design Automation Conference.

[4]  Laurie J. Hendren,et al.  A Study of Type Analysis for Speculative Method Inlining in a JIT Environment , 2005, CC.

[5]  F. Herrera,et al.  Systematic embedded software generation from SystemC , 2003, 2003 Design, Automation and Test in Europe Conference and Exhibition.

[6]  Konstantinos Konstantinides,et al.  Image and Video Compression Standards: Algorithms and Architectures , 1997 .

[7]  Alexander Chatzigeorgiou Performance and power evaluation of C++ object-oriented programming in embedded processors , 2003, Inf. Softw. Technol..

[8]  Laurie J. Hendren,et al.  Practical virtual method call resolution for Java , 2000, OOPSLA '00.

[9]  Roland Ducournau,et al.  Empirical assessment of object-oriented implementations with multiple inheritance and static typing , 2009, OOPSLA '09.

[10]  Wolfgang Rosenstiel,et al.  Target software generation: an approach for automatic mapping of SystemC specifications onto real-time operating systems , 2005, Des. Autom. Embed. Syst..

[11]  Ines Viskic,et al.  A Flexible, Syntax Independent Representation (SIR) for System Level Design Models , 2006, 9th EUROMICRO Conference on Digital System Design (DSD'06).

[12]  Daniel Gajski,et al.  Embedded software generation from system level design languages , 2004, ASP-DAC 2004: Asia and South Pacific Design Automation Conference 2004 (IEEE Cat. No.04EX753).

[13]  Heinrich Meyr,et al.  High-Level Software Synthesis for the Design of Communication Systems , 1993, IEEE J. Sel. Areas Commun..

[14]  Luciano Lavagno,et al.  Hardware-Software Co-Design of Embedded Systems , 1997 .

[15]  Andreas Gerstlauer,et al.  Automatic Layer-Based Generation of System-On-Chip Bus Communication Models , 2007, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[16]  Karel Driesen,et al.  The direct cost of virtual function calls in C++ , 1996, OOPSLA '96.

[17]  Luciano Lavagno,et al.  Hardware-software co-design of embedded systems: the POLIS approach , 1997 .

[18]  Ahmed Amine Jerraya,et al.  Automatic generation and targeting of application specific operating systems and embedded systems software , 2001, Proceedings Design, Automation and Test in Europe. Conference and Exhibition 2001.

[19]  Andreas Gerstlauer,et al.  System-on-Chip Environment: A SpecC-Based Framework for Heterogeneous MPSoC Design , 2008, EURASIP J. Embed. Syst..