Publication | Closed Access
Basic block distribution analysis to find periodic behavior and simulation points in applications
310
Citations
8
References
2002
Year
Unknown Venue
Numerical AnalysisEngineeringComputer ArchitectureSoftware EngineeringSimulationStructural OptimizationComputational MechanicsDetailed Pipeline SimulationSoftware AnalysisNumerical SimulationSimulation PointsModeling And SimulationParallel ComputingProfiling ToolsPerformance PredictionPeriodic BehaviorProfiling ToolComputer EngineeringDynamic AnalysisComputer SciencePerformance Analysis ToolStatic Program AnalysisSoftware DesignProgram AnalysisSoftware TestingParallel ProgrammingSystem Performance AnalysisStructural MechanicsSystem SoftwareDetailed SimulationMultiscale Modeling
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.
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.
| Year | Citations | |
|---|---|---|
Page 1
Page 1