🤖 AI Summary
SimPoint sampling suffers from limited representational power and large performance prediction errors for array-intensive, indirect-memory-access applications (e.g., 523.xalancbmk_r), as it relies solely on basic block vectors (BBVs) and fails to capture data movement behavior. To address this, we propose an enhanced sampling method that integrates memory access vectors (MAVs) into the SimPoint framework—introducing, for the first time, microarchitecture-agnostic modeling of memory access patterns. By jointly characterizing program phases using MAVs and BBVs and applying SimPoint clustering, phase representativeness is significantly improved. Evaluation on a 192-core SoC platform demonstrates that our method increases performance prediction accuracy for 523.xalancbmk_r from 80% to 98%, while substantially reducing simulation error. This work establishes a new paradigm for high-fidelity CPU performance simulation.
📝 Abstract
Accurate performance projection of large-scale benchmarks is essential for CPU architects to evaluate and optimize future processor designs. SimPoint sampling, which uses Basic Block Vectors (BBVs), is a widely adopted technique to reduce simulation time by selecting representative program phases. However, BBVs often fail to capture the behavior of applications with extensive array-indirect memory accesses, leading to inaccurate projections. In particular, the 523.xalancbmk_r benchmark exhibits complex data movement patterns that challenge traditional SimPoint methods. To address this, we propose enhancing SimPoint's BBV methodology by incorporating Memory Access Vectors (MAV), a microarchitecture independent technique that tracks functional memory access patterns. This combined approach significantly improves the projection accuracy of 523.xalancbmk_r on a 192-core system-on-chip, increasing it from 80% to 98%.