State-of-the-art modeling tools for the computer architecture community. The QFlex project targets quick, accurate, and flexible simulation of multi-node computer systems.
Computer architects have traditionally relied on software simulation to measure the performance metrics (e.g., instructions per cycle) of a proposed design. However, modern simulation requirements are challenging the conventional modeling tools that have traditionally served the architecture community. First, the constant emergence of new devices calls for a vertical open-source simulation stack, allowing to expose these devices to interface with existing microarchitectural simulators. Second, multi-node computer systems have become the norm. Hence, architecture simulators must include a much more detailed network model. Third, the increasing complexity of computer systems across all layers of the stack, makes it very difficult to ensure fast simulation turnaround times. For instance, detailed software simulators are often six or more orders of magnitude slower than their hardware counterparts. Slow simulation has barred researchers from attempting complete benchmarks and input sets of realistic system sizes.
The QFlex project targets quick, accurate, and flexible simulation of multi-node computer systems proceeding along four fronts:
- QEMU is a popular open-source full-system machine emulator that allows functional emulation of unmodified operating systems and applications.
- Flexus is a powerful and flexible simulation framework that allows detailed cycle-accurate simulation.
- NS-3 is a popular, detailed, and flexible network simulation stack.
- SMARTS applies rigorous statistical sampling theory to reduce the simulation turnaround time by several orders of magnitude, while achieving high accuracy and confidence estimates.
QFlex enables full-system microarchitectural simulation of multicores running unmodified applications and is based on QEMU. We currently support 64-bit ARM binaries in trace mode. In this first release, we also make a full CloudSuite workload image available for those who want to get a head start. More workload images will follow soon. You can download QFlex from our GitHub repo. As QFlex is a work in progress, we encourage users to use GitHub issues actively.