Simulation

Simulation is an important tool for application designers to create new system platforms. It allows functional verification of a system but advanced simulation platforms also estimate nonfunctional properties like the runtime of the software. Due to the fact that the actual target hardware oftentimes is not yet decided upon or even not yet available, simulation is a solution to start the development of the code early and still have some information about the runtime. At our chair, we are experimenting with different kinds of methods to achieve a fast simulation while also determining the performance to a certain accuracy.

Mechanistic models base their runtime estimation on internal knowledge of the actual real hardware. On the other hand, there are statistical models that use information extracted from a piece of hardware when using it only as a black box. A lot of real world approaches to simulate hardware fast but accurate use a combination of these two models. Previous work at the chair includes overhead analysis introduced by performance modeling, but also hybrid methodologies where multiple models are combined to either increase the accuracy of the simulation or speed it up.

Some publications at our chair include:

  • Rachuj, Sebastian; Herglotz, Christian; Reichenbach, Marc; Kaup, André; Fey, Dietmar: A Hybrid Approach for Runtime Analysis Using a Cycle and Instruction Accurate Model, Architecture of Computing Systems – ARCS 2018
  • Rachuj, Sebastian; Reichenbach, Marc; Fey, Dietmar: A Generic Functional Simulation of Heterogeneous Systems, Architecture of Computing Systems – ARCS 2019
  • Rachuj, Sebastian; Fey, Dietmar; Reichenbach, Marc: Impact of Performance Estimation on Fast Processor Simulators, 12th EAI International Conference on Simulation Tools and Techniques – EAI SIMULtools 2020