Concepedia

TLDR

Modern architecture research depends on detailed pipeline simulation, which can take weeks or months for industry benchmarks, so researchers often simulate only small program portions to evaluate results. The paper proposes Basic Block Distribution Analysis to automatically identify representative small simulation portions of a program. The method uses basic‑block frequency profiles to uniquely identify execution phases. We demonstrate that basic‑block frequency periodicity mirrors detailed simulation periodicity across metrics such as IPC and cache miss rate, and that fast profiling tools enable practical identification of simulation points.

Abstract

Modern architecture research relies heavily on detailed pipeline simulation. Simulating the full execution of an industry standard benchmark can take weeks to months to complete. To overcome this problem researchers choose a very small portion of a program's execution to evaluate their results, rather than simulating the entire program. In this paper we propose Basic Block Distribution Analysis as an automated approach for finding these small portions of the program to simulate that are representative of the entire program's execution. This approach is based upon using profiles of a program's code structure (basic blocks) to uniquely identify different phases of execution in the program. We show that the periodicity of the basic block frequency profile reflects the periodicity of detailed simulation across several different architectural metrics (e.g., IPC, branch miss rate, cache miss rate, value misprediction, address misprediction, and reorder buffer occupancy). Since basic block frequencies can be collected using very fast profiling tools, our approach provides a practical technique for finding the periodicity and simulation points in applications.

References

YearCitations

Page 1