Full-system instrumentation with QFlex
(ASPLOS 2020 Tutorial)

ASPLOS 2020 meeting in Lausanne is canceled because of COVID-19 outbreak (info), therefore this tutorial will no longer take place.

Time: Monday morning, March 16th
Venue: Room 3, SwissTech Convention Center, Lausanne (link)


    In this tutorial, we will present QFlex, a toolchain for full-system instrumentation. The QFlex toolchain enhances QEMU with an API to allow the instrumentation of ARM-based systems. We build upon the QFlex API to add sampling-based full-system cycle-accurate simulation and FPGA-accelerated instrumentation. QFlex targets a wide range of users, from hardware designers to software developers. Hardware designers can leverage the sampling-based cycle-accurate simulation infrastructure while software developers can use QFlex as an advanced full-system instrumentation tool.

    In this tutorial, we will introduce the QFlex toolchain and present several use cases targeting the ASPLOS community.


    This tutorial is targeted to users who want to instrument code with low overhead. QFlex can be used to profile unmodified workloads and/or architectural innovations.

    Program (tentative)

    • Overview of the QFlex Toolchain
    • Introduction to the QFlex API
    • Introduction to the QFlex trace-based simulation infrastructure, with a case study
    • Introduction to the QFlex cycle-accurate simulation infrastructure, with a case study
    • Introduction to QFlex FPGA-accelerated emulation infrastructure, with a case study