Estimating Stream Application Performance in Early-Stage System Design
Gareth Callanan, Flavius Gruian · 2022
When designing a hardware architecture, a designer needs to be confident that their design will meet performance requirements before moving on to the next stage in the design process. The mapping between application and architecture can have a large impact on the system performance. In this work we target early-stage system design of hardware architectures required to run a streaming application. Our aim is to improve a designer's insight and visibility into the system. We present an approach where a designer chooses a representative application described as a dataflow algorithm as well as a mapping between the application and architecture. The designer then simulates the execution of this application on a model of the system architecture. Using the performance figures from the simulation, the designer can decide to either modify their mapping, adjust their architecture or move to the next stage in the design process. This paper focuses on the simulation part of our approach. We first unroll the execution of the application into a trace. We have created a simulation engine that takes this trace and the mapping, simulates its performance on a lightweight SystemC model of the hardware architecture and produces metrics as an output. Validation on a real platform shows that our simulated results are accurate to within 10%.