EN FR
EN FR
CORSE - 2016
Research Program
Application Domains
Bilateral Contracts and Grants with Industry
Bibliography
Research Program
Application Domains
Bilateral Contracts and Grants with Industry
Bibliography


Section: New Software and Platforms

QEMU plugins

We have collaborated with STMicroelectronics on extending the QEMU CPU emulator with a plugin system. These plugins allow users to observe and modify the machine code emitted by QEMUs binary translator.

We have leveraged this to start development on a number of tools for profiling and performance debugging.

  • cachesim: A QEMU plugin that feeds memory accesses observed during program execution into the DineroIV cache simulator. This allows estimating the number of a cache misses caused by each instruction of a program. Using this information we can also estimate the amount of memory bandwidth required by a program. This in turn can be used to diagnose if the applications performance is constrained by memory or CPU resources.

  • dep-rate: A QEMU plugin that uses a shadow memory to detects data dependencies between instructions and correlates them with cache misses reported by DineroIV to estimate the performance impact of these dependencies.

  • cpath: A QEMU plugin that estimates the optimal execution time of a program on an infinitely parallel CPU and compares it to that for a more realistic model of a CPU. This comparison is used to judge the amount of instruction level parallelism existing in a program.