skip to main content
10.1145/1289816.1289837acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
Article

HySim: a fast simulation framework for embedded software development

Published: 30 September 2007 Publication History

Abstract

Instruction Set Simulation (ISS) is widely used in system evaluation and software development for embedded processors. Despite the significant advancements in the ISS technology, it still suffers from low simulation speed compared to real hardware. Especially for embedded software developers simulation speed close to real time is important in order to efficiently develop complex software. In this paper a novel, retargetable, hybrid simulation framework (HySim) is presented which allows switching between native code execution and ISS-based simulation. To reach a certain state of an application as fast as possible, all platform-independent parts of the application are directly executed on the host, while the platform dependent code executes on the ISS. During the native code execution a performance estimation is conducted. A case study shows that speed-ups ranging from 7x to 72x can be achieved without compromising debugging accuracy. The performance estimation during native code execution shows an average error of 9.5%.

References

[1]
A. V. Aho, M. S. Lam, R. Sethi, and J. D. Ullman. Compilers: Principles, Techniques, and Tools (2nd Edition). Addison Wesley, August 2006.
[2]
G. Bronevetsky, D. Marques, K. Pingali, and P. Stodghill. Automated Application-Level Checkpointing of MPI Programs. In PPoPP '03: Principles and Practice of Parallel Programming, New York, NY, USA, 2003. ACM Press.
[3]
G. Bronevetsky, D. Marques, K. Pingali, and P. Stodghill. Collective Operations in Application-Level Fault-Tolerant MPI. In ICS '03: Proceedings of the 17th annual International Conference on Supercomputing, New York, NY, USA, 2003. ACM Press.
[4]
L. Gao, S. Kraemer, R. Leupers, G. Ascheid, and H. Meyr. A Fast and Generic Hybrid Simulation Approach Using C Virtual Machine. In CASES '07: Compilers, Architecture and Synthesis for Embedded Systems, New York, NY, USA, 2007. ACM Press.
[5]
IEEE Standards Committee 754. IEEE Standard for Binary Floating-Point Arithmetic, ANSI/IEEE Standard 754-1985. Institute of Electrical and Electronics Engineers, New York, 1985. Reprinted in ACM SIGPLAN Notices, 22(2):9--25, 1987.
[6]
A. A. Jerraya, A. Bouchhima, and F. Pétrot. Programming Models and HW-SW Interfaces Abstraction for Multi-Processor SoC. In DAC '06: Conference on Design Automation, New York, NY, USA, 2006. ACM Press.
[7]
Karuri, K., Al Faruque, M.A., Kraemer, S., Leupers, R., Ascheid, G. and Meyr, H. Fine-grained Application Source Code Profiling for ASIP Design. In 42nd Design Automation Conference, Anaheim, California, USA, June 2005.
[8]
T. Kempf, K. Karuri, S. Wallentowitz, G. Ascheid, R. Leupers, and H. Meyr. A SW Performance Estimation Framework for Early System-Level-Design using Fine-Grained Instrumentation. In DATE '06: Conference on Design, Automation and Test in Europe, 3001 Leuven, Belgium, Belgium, 2006. European Design and Automation Association.
[9]
B. W. Kernighan and D. Ritchie. The C Programming Language (2nd Edition). Prentice Hall PTR, March 1988.
[10]
A. Nohl, G. Braun, O. Schliebusch, R. Leupers, H. Meyr, and A. Hoffmann. A Universal Technique for Fast and Flexible Instruction-Set Architecture Simulation. In DAC '02: Conference on Design automation, New York, NY, USA, 2002. ACM Press.
[11]
M. Poncino and J. Zhu. DynamoSim: A Trace-based Dynamically Compiled Instruction Set Simulator. In ICCAD'04: Proceedings of the 2004 IEEE/ACM International conference on Computer-aided design, Washington, DC, USA, 2004. IEEE Computer Society.
[12]
W. Qin, J. D'Errico, and X. Zhu. A Multiprocessing Approach to Accelerate Retargetable and Portable Dynamic-compiled Instruction-set Simulation. In CODES+ISSS '06: Conference on Hardware/Software Codesign and System Synthesis, New York, NY, USA, 2006. ACM Press.
[13]
M. Reshadi, P. Mishra, and N. Dutt. Instruction Set Compiled Simulation: A Technique for Fast and Flexible Instruction Set Simulation. In DAC '03: Conference on Design Automation, New York, NY, USA, 2003. ACM Press.
[14]
J. Ringenberg, C. Pelosi, D. Oehmke, and T. Mudge. Intrinsic Checkpointing: A Methodology for Decreasing Simulation Time Through Binary Modification. Performance Analysis of Systems and Software, March 2005.
[15]
T. Sherwood, E. Perelman, G. Hamerly, and B. Calder. Automatically Characterizing Large Scale Program Behavior. In ASPLOS-X: Proceedings of the 10th international conference on Architectural Support for Programming Languages and Operating Systems, New York, NY, USA, 2002. ACM Press.
[16]
T. Sherwood, E. Perelman, G. Hamerly, S. Sair, and B. Calder. Discovering and Exploiting Program Phases. IEEE Micro, December 2003.
[17]
P. K. Szwed, D. Marques, R. M. Buels, S. A. McKee, and M. Schulz. SimSnap: Fast-Forwarding via Native Execution and Application-Level Checkpointing. interact, 00, 2004.
[18]
R. Wunderlich, T. Wenisch, B. Falsafi, and J. Hoe. SMARTS: Accelerating Microarchitecture Simulation via Rigorous Statistical Sampling. In 30th Annual International Symposium on Computer Architecture, June 2003.
[19]
J. J. Yi and D. J. Lilja. Simulation of Computer Architectures: Simulators, Benchmarks, Methodologies, and Recommendations. IEEE Trans. Comput., 55(3), 2006.
[20]
S. Yoo, I. Bacivarov, A. Bouchhima, Y. Paviot, and A. A. Jerraya. Building Fast and Accurate SW Simulation Models Based on Hardware Abstraction Layer and Simulation Environment Abstraction Layer. In DATE '03: Conference on Design, Automation and Test in Europe, Washington, DC, USA, 2003. IEEE Computer Society.

Cited By

View all

Index Terms

  1. HySim: a fast simulation framework for embedded software development

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    CODES+ISSS '07: Proceedings of the 5th IEEE/ACM international conference on Hardware/software codesign and system synthesis
    September 2007
    284 pages
    ISBN:9781595938244
    DOI:10.1145/1289816
    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]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 30 September 2007

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. HySim
    2. ISS
    3. hybrid simulation
    4. simulation

    Qualifiers

    • Article

    Conference

    ESWEEK07
    ESWEEK07: Third Embedded Systems Week
    September 30 - October 3, 2007
    Salzburg, Austria

    Acceptance Rates

    Overall Acceptance Rate 280 of 864 submissions, 32%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)4
    • Downloads (Last 6 weeks)1
    Reflects downloads up to 20 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Architecture Description LanguagesHandbook of Computer Architecture10.1007/978-981-97-9314-3_18(807-839)Online publication date: 21-Dec-2024
    • (2022)Virtual Platform Acceleration through Userspace Host Execution2022 IEEE 35th International System-on-Chip Conference (SOCC)10.1109/SOCC56010.2022.9908079(1-6)Online publication date: 5-Sep-2022
    • (2022)Architecture Description LanguagesHandbook of Computer Architecture10.1007/978-981-15-6401-7_18-1(1-34)Online publication date: 25-Dec-2022
    • (2019)InvadeSIM-A Simulation Framework for Invasive Parallel Programs and ArchitecturesModeling and Simulation of Invasive Applications and Architectures10.1007/978-981-13-8387-8_3(41-76)Online publication date: 31-May-2019
    • (2018)OHEX: OS-aware hybridization techniques for accelerating MPSoC full-system simulation2018 Design, Automation & Test in Europe Conference & Exhibition (DATE)10.23919/DATE.2018.8342020(281-284)Online publication date: Mar-2018
    • (2017)Code-transparent Discrete Event Simulation for Time-accurate Wireless PrototypingProceedings of the 2017 ACM SIGSIM Conference on Principles of Advanced Discrete Simulation10.1145/3064911.3064913(161-172)Online publication date: 16-May-2017
    • (2017)HybridVerifier: A Cross-Platform Verification Framework for Instruction Set SimulatorsIEEE Embedded Systems Letters10.1109/LES.2016.26269809:2(25-28)Online publication date: Jun-2017
    • (2016)Processor Modeling and Design ToolsElectronic Design Automation for IC System Design, Verification, and Testing10.1201/b19569-11(121-140)Online publication date: 14-Apr-2016
    • (2014)Framework-Based Debugging for Embedded SystemsHandbook of Research on Embedded Systems Design10.4018/978-1-4666-6194-3.ch018(424-454)Online publication date: 2014
    • (2014)Virtual Platforms for Model-Based Design of Dependable Cyber-Physical System SoftwareProceedings of the 2014 17th Euromicro Conference on Digital System Design10.1109/DSD.2014.107(246-253)Online publication date: 27-Aug-2014
    • Show More Cited By

    View Options

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media