최신 세대 SPEC CPU 벤치마크인 SPEC CPU2026은 컴퓨터 아키텍처 연구에서 표준 벤치마크 스위트가 될 예정이며, 새로운 설계는 종종 SimPoint와 같은 도구를 사용한 샘플링 시뮬레이션을 통해 평가됩니다. 기존의 이 스위트에 대한 특성화 작업들은 전체 실행 평균(whole-run averages)에 초점을 맞추고 있어, 실행 중 행동이 어떻게 변화하는지 또는 샘플링이 이를 얼마나 잘 포착하는지에 대해서는 밝히지 못했습니다. 우리는 프로그램, 단계, 그리고 샘플이라는 세 가지 수준에서 CPU2026을 특성화합니다. 프로그램 수준에서는 네 개의 모든 스위트에 대해 전체 실행 측정 지표(whole-run metrics)와 상향식 병목 클래스(top-down bottleneck classes)를 보고하고, 작업 부하 크기, 컴파일러 버전, 그리고 x86, Arm, RISC-V의 세 가지 다른 명령어 집합 아키텍처(ISA)를 가진 플랫폼 전반에 걸쳐 이들이 어떻게 변화하는지 검토합니다. 특히 주목할 점은 컴파일러 버전만 변경해도 개별 벤치마크의 IPC(Instructions Per Cycle)가 절반이 되거나 거의 두 배가 될 수 있다는 것입니다.
단계 수준에서는 모든 90개의 SPECrate 입력에 대해 10ms마다 하드웨어 카운터(hardware counters)를 추적하고, 시간 변화 행동의 반복적인 패턴을 식별하며, 이 입력들을 안정형(steady), 다중 단계형(multi-phase), 그리고 버스트형(bursty) 세 그룹으로 나눕니다. 입력 중 절반 이상이 시간 변화 행동을 보이며, 단일 입력 내에서도 IPC가 한 자릿수 이상 변동할 수 있습니다.
샘플 수준에서는 SimPoint를 선택할 수 있는 모든 간격에 대한 하드웨어 측정값과 비교하여 검증합니다. SimPoint는 안정형 입력에서는 정확하지만, 다른 유형의 입력에서는 오차가 43%에 달하며, 무작위 시드(random seed)만 변경해도 하나의 입력에 대한 오차 범위가 58 퍼센트 포인트까지 퍼집니다. 클러스터링은 유지하되 각 대표값을 측정된 CPI(Cycles Per Instruction)로 선택하면 모든 입력의 변동성이 2.6% 이내로 들어오므로, 오차는 클러스터링 자체가 아닌 대표값 선택에서 발생한다는 것을 알 수 있습니다.
결론적으로, 우리는 CPU2026에 대한 샘플링 전략에 대한 실용적인 권장 사항을 제시하며, 이는 연구자들에게 스위트에 대한 더 깊은 이해를 제공하고, 샘플링된 결과의 정확성을 유지하기 위해 추가 시뮬레이션 노력이 필요한 지점을 보여줍니다.