Presentation
Efficient Code Generation for Data-Intensive Simulink Models via Redundancy Elimination
DescriptionSimulink has emerged as the fundamental infrastructure that supports modeling, simulation, verification, and code generation for embedded software development. To improve the performance of the code generated from Simulink models, state-of-the-art code generators employ various optimization techniques, such as expression folding, variable reuse, and parallelism. However, they overlook the presence of redundant calculations within data-intensive models widely used to perform substantial data processing in embedded scenarios, which can significantly undermine the efficiency and performance of the generated code.
This paper proposes Frodo, an efficient code generator for data-intensive Simulink models via redundancy elimination. Frodo first conducts model analysis to construct the dataflow graph and derive the I/O mapping of each block. Then, for each block within the dataflow graph, Frodo recursively determines its calculation range by leveraging the I/O mapping of its subsequent blocks. After that, Frodo generates concise code for optimizable blocks in accordance with the precise calculation range. We implemented and evaluated Frodo on benchmark Simulink models. Compared with the state-of-the-art code generators Simulink Embedded Coder, DFSynth, and HCG, the code generated by Frodo is 1.17x - 8.55x faster in terms of execution duration across different compilers and architectures, without incurring additional overhead of memory usage.
This paper proposes Frodo, an efficient code generator for data-intensive Simulink models via redundancy elimination. Frodo first conducts model analysis to construct the dataflow graph and derive the I/O mapping of each block. Then, for each block within the dataflow graph, Frodo recursively determines its calculation range by leveraging the I/O mapping of its subsequent blocks. After that, Frodo generates concise code for optimizable blocks in accordance with the precise calculation range. We implemented and evaluated Frodo on benchmark Simulink models. Compared with the state-of-the-art code generators Simulink Embedded Coder, DFSynth, and HCG, the code generated by Frodo is 1.17x - 8.55x faster in terms of execution duration across different compilers and architectures, without incurring additional overhead of memory usage.
Event Type
Research Manuscript
TimeWednesday, June 263:45pm - 4:00pm PDT
Location3001, 3rd Floor
Embedded Systems
Embedded Software