🤖 AI Summary
Traditional architectural evaluation is hindered by slow simulation and high overhead from binary-level sampling. This paper introduces the first binary-agnostic, portable sampling framework based on LLVM IR, which leverages IR-level static analysis to generate lightweight executable fragments. These fragments enable rapid interval analysis and native validation across diverse instruction sets, simulators (e.g., gem5), and real hardware. The core innovation lies in elevating sampling abstraction to the LLVM IR level, thereby achieving compiler-level portability and cross-platform collaborative verification. Evaluated on SPEC CPU2017, NAS Parallel Benchmarks (NPB), and LSMS, our approach reduces interval analysis cost by 1–3 orders of magnitude, achieving up to 578× speedup over conventional methods. It incurs negligible single-threaded overhead while preserving both efficiency and accuracy.
📝 Abstract
Comprehensive architectural evaluation of full workloads is throttled by slow simulation and per-binary sampling pipelines. We present Nugget, a flexible framework for portable sampling across simulators and real hardware, ISAs, and libraries. Nugget operates at the LLVM IR level to perform binary-agnostic interval analysis, then emits lightweight, cross-platform executables--nuggets--that can be validated on real machines before driving simulation. Across SPEC CPU2017, NPB, and LSMS, Nugget cuts interval-analysis cost by orders of magnitude relative to functional simulation (up to ~578X on multithreaded NPB), keeps single-thread overhead low, and enables native-speed validation of selected samples. Case studies with gem5 show that nuggets support evaluation of system performance and model accuracy. Nugget makes sampling methodology research faster and more portable.