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: