CPU simulators are vital for computer architecture research, primarily for estimating performance under different programs. This poses challenges for fast and accurate simulation of modern CPUs, especially in multi-core systems. Modern CPU peformance simulators such as GEM5 adopt the cycle-accurate and event-driven approach, which is timeconsuming to simulate the extensive microarchitectural behavior of a real benchmark running on out-of-order CPUs. Recently, machine leaning based approach has been proposed to improve simulation speed, but they are currently limited to estimating the cycles of basic blocks rather than the complete benchmark program. This paper introduces a novel ML-based CPU simulator named CAPSim, which uses an attention-based neural network performance predictor and instruction trace sampling method annotated with context. The attention mechanism effectively captures long-range influence within the instruction trace, emphasizing critical context information. This allows the model to improve performance prediction accuracy by focusing on important code instruction. CAPSim can predict the execution time of unseen benchmarks at a significantly fast speed compared with an accurate O3 simulator built with gem5. Our evaluation on a commercial Intel Xeon CPU demonstrates that CAPSim achieves a 2.2 - 8.3x speedup compared to using gem5 built simulator, which is superior to the cutting-edge deep learning approach
- 논문 ID: 2510.10484
- 제목: CAPSim: A Fast CPU Performance Simulator Using Attention-based Predictor
- 저자: Buqing Xu, Jianfeng Zhu, Yichi Zhang, Qinyi Cai, Guanhua Li, Shaojun Wei, Leibo Liu
- 분류: cs.PF (성능)
- 발표 시간: 2025년 10월 12일
- 기관: 칭화대학교 집적회로학원
- 논문 링크: https://arxiv.org/abs/2510.10484v1
CPU 시뮬레이터는 컴퓨터 아키텍처 연구에 필수적이며, 주로 다양한 프로그램의 성능을 평가하는 데 사용됩니다. GEM5와 같은 현대 CPU 성능 시뮬레이터는 사이클 정확도 및 이벤트 기반 방식을 채택하지만, 비순차 CPU에서 실제 벤치마크의 복잡한 마이크로아키텍처 동작을 시뮬레이션할 때 시간이 오래 걸립니다. 본 논문은 문맥 주석이 달린 명령어 추적 샘플링 방법을 채택하는 주의 기반 신경망 성능 예측기를 기반으로 하는 새로운 ML 기반 CPU 시뮬레이터인 CAPSim을 제안합니다. 주의 메커니즘은 명령어 추적에서 장거리 영향을 효과적으로 포착하여 중요한 문맥 정보를 강조합니다. 실험 결과 CAPSim은 gem5 기반 O3 시뮬레이터에 비해 2.2-8.3배의 가속을 달성했습니다.
- 전통 시뮬레이터의 속도 병목:현대 사이클 수준 시뮬레이터(예: gem5)는 완전한 벤치마크 프로그램을 시뮬레이션할 때 속도가 느린데, 주요 원인은 다음과 같습니다:
- 사이클 정확 시뮬레이션은 본질적으로 직렬 프로세스이며 병렬화하기 어려움
- 현대 비순차 CPU 시뮬레이션에는 모든 마이크로아키텍처 세부사항을 모델링해야 하므로 계산 오버헤드가 큼
- 기존 ML 방법의 한계: 기존 머신러닝 방법(예: Ithemal, Granite 등)은 기본 블록 처리량 예측에만 제한되어 완전한 프로그램의 성능 예측을 처리할 수 없습니다.
- 정확도와 속도의 균형: 예측 정확도를 보장하면서 동시에 시뮬레이션 속도를 크게 향상시켜야 합니다.
- CPU 시뮬레이터는 컴퓨터 아키텍처 연구의 핵심 도구입니다.
- CPU 마이크로아키텍처의 복잡성 증가와 다중 코어 시스템의 확산으로 전통 시뮬레이션 방법이 심각한 효율성 문제에 직면하고 있습니다.
- 빠르고 정확한 성능 예측은 소프트웨어-하드웨어 협설계 및 최적화에 필수적입니다.
- 주의 기반 CPU 성능 예측 방법 제안: 주의 메커니즘을 명령어 수준 성능 예측에 처음 적용하여 명령어 간 장거리 의존성을 포착하고, 예측 능력을 기본 블록 수준에서 완전한 프로그램 수준으로 확장합니다.
- 완전한 CAPSim 시뮬레이터 프레임워크 설계: 빠른 기능 시뮬레이터와 세분화된 코드 블록 성능 예측기를 통합하여 속도와 정확도의 균형을 달성합니다.
- 가속화된 훈련 방법 개발: 클러스터링 및 샘플링 기술을 통해 훈련 데이터 세트를 계산 집약적, 메모리 집약적, 제어 집약적 등의 범주로 분할하여 훈련 시간을 크게 단축하고 과적합을 방지합니다.
- 현저한 성능 향상 달성: SPEC2017 벤치마크에서 최대 8.3배 가속을 달성하고, 평균 4.9배 가속을 달성하면서 수용 가능한 예측 정확도를 유지합니다.
입력: 명령어 추적 시퀀스 및 CPU 문맥 정보(레지스터 상태)
출력: 코드 세그먼트의 실행 시간 예측
목표: 예측 정확도를 보장하면서 완전한 벤치마크 프로그램의 성능 평가 속도를 대폭 향상시킵니다.
CAPSim은 다음 구성 요소를 포함하는 엔드-투-엔드 아키텍처를 채택합니다:
- AtomicSimple CPU 시뮬레이터: 명령어 추적을 빠르게 생성합니다.
- 명령어 시퀀스 슬라이서: 긴 명령어 시퀀스를 처리 가능한 코드 세그먼트로 분할합니다.
- 샘플러: 훈련 데이터 양을 줄이고 훈련 프로세스를 가속화합니다.
- 주의 기반 성능 예측기: 핵심 예측 모듈입니다.
논문은 총 실행 시간을 다음과 같이 모델링합니다:
Ttotal=∑n=1Nti⋅αi
여기서 ti는 i번째 명령어의 이상적 실행 시간이고, αi는 영향 계수입니다. 벡터 표현 및 주의 메커니즘을 도입하면 최종 형식은 다음과 같습니다:
Ttotal=∑i=1MMLP(Attention(contextM×E,TET,TET))
정규화 변환 계층:
원본 어셈블리 명령어를 정규화된 토큰 시퀀스로 변환하며, 네 가지 세그먼트를 포함합니다:
<OPCODE>: 작업 코드<DSTS>: 대상 피연산자<SRCS>: 소스 피연산자<MEM>: 메모리 액세스 정보
문맥 정보 구성:
표 I에 표시된 다양한 레지스터를 포함하는 CPU 상태 정보로 문맥 행렬을 구성합니다:
| 레지스터 유형 | 수량 | 비트폭 | 설명 |
|---|
| 범용 레지스터(GPR) | 32 | 64 | 주요 저장 레지스터 |
| 벡터 스칼라 레지스터(VSR) | 64 | 128 | 부동소수점 연산 레지스터 |
| 조건 레지스터(CR) | 1 | 32 | 연산 결과 반영 |
| 프로그램 카운터(CIA/NIA) | 2 | 64 | 명령어 주소 |
다층 주의 네트워크:
- 명령어 인코더: 각 명령어에 자기 주의 메커니즘을 적용합니다.
- 블록 인코더: 명령어 시퀀스 간의 의존성을 처리합니다.
- MLP 계층: 최종 실행 시간 예측을 출력합니다.
- 장거리 의존성 모델링: LSTM 등의 시퀀스 모델과 비교하여 주의 메커니즘은 명령어 간의 장거리 의존성을 더 잘 포착합니다.
- 문맥 인식 예측: CPU 레지스터 상태를 문맥 정보로 도입하여 예측 정확도를 향상시킵니다.
- 계층적 주의 설계: 명령어 수준 및 블록 수준의 이중 주의 메커니즘으로 명령어 내 토큰 관계와 명령어 간 의존성을 모두 고려합니다.
- 병렬 처리: 긴 명령어 시퀀스를 작은 세그먼트로 분할하여 GPU 병렬 처리를 지원하고 추론 속도를 크게 향상시킵니다.
- 벤치마크 스위트: SPEC2017, 24개의 벤치마크 프로그램 포함
- 명령어 세트 아키텍처: Power ISA
- 간격 크기: 5,000,000개 명령어, 워밍업 크기 1,000,000개 명령어
- 코드 세그먼트 길이: 100-200개 명령어
- 총 체크포인트 수: 623개
- 속도 지표: gem5 시뮬레이터에 대한 상대 가속비
- 정확도 지표: 평균 절대 백분율 오차(MAPE)
- 전통 방법: gem5 O3 슈퍼스칼라 프로세서 시뮬레이터
- ML 기준선: LSTM 기반 Ithemal 모델
- 제거 실험: 문맥 정보를 포함하지 않는 CAPSim 변형
- 하드웨어 플랫폼: NVIDIA GeForce RTX 4090 (24GB), Intel Xeon CPU E5-2623 v4
- 모델 매개변수: 임베딩 벡터 차원 128, 주의 헤드 수 4, 인코더 계층 수 4
- 훈련 설정: SGD 최적화기, 학습률 0.001, 모멘텀 0.9
- 샘플링 매개변수: 임계값 200, 샘플링 계수 0.02
속도 향상:
- 최고 가속비: 8.3배(510.parest 벤치마크)
- 평균 가속비: 4.9배
- 가속 효과는 체크포인트 수량과 양의 상관관계를 보이며, GPU 병렬화 장점을 반영합니다.
정확도 성능:
- LSTM 기준선 대비 9.5%-21.2% 향상, 평균 15.8% 향상
- 문맥 정보 도입 후 1.3%-9.6% 정확도 향상, 평균 6.2% 향상
- 혼합 훈련 세트에서 평균 MAPE는 12.0%입니다.
- 주의 메커니즘 vs LSTM: 주의 메커니즘은 긴 코드 세그먼트 처리 시 LSTM보다 현저히 우수합니다.
- 문맥 정보의 영향: 문맥 정보는 예측 정확도 향상에 중요한 역할을 합니다.
- 분류 훈련 효과: 분류 훈련은 혼합 훈련 대비 0.5% 정확도 향상을 달성합니다.
벤치마크 간 교차 검증:
- 6×6 교차 검증 실험, 36개의 훈련-테스트 조합
- 훈련 세트 정확도 91.3%, 전체 평균 정확도 88.3%
- 미지의 벤치마크에 대한 모델의 우수한 일반화 능력을 입증합니다.
아키텍처 매개변수 간 교차 테스트:
다양한 마이크로아키텍처 매개변수 구성에서의 정확도 성능:
| 매개변수 구성 | FetchWidth | IssueWidth | CommitWidth | ROBEntry | 오류 |
|---|
| 기준 구성 | 8 | 8 | 8 | 192 | 12.0% |
| 변형 1 | 4 | 8 | 8 | 192 | 12.2% |
| 변형 2 | 8 | 4 | 8 | 192 | 12.9% |
- 병렬화 효과 현저함: GPU 병렬 처리는 CPU 직렬 시뮬레이션에 비해 명백한 장점이 있습니다.
- 장거리 의존성 중요: 주의 메커니즘은 명령어 간 복잡한 의존성을 효과적으로 포착합니다.
- 문맥 정보 핵심: CPU 상태 정보는 정확한 실행 시간 예측에 필수적입니다.
- 분류 훈련 효과: 프로그램 특성에 따른 분류 훈련은 모델의 일반화 능력을 향상시킵니다.
- 사이클 수준 시뮬레이터: gem5, SimpleScalar, Sniper 등으로 정확도는 높지만 속도가 느립니다.
- 기본 블록 수준 도구: llvm-mca, uiCA, IACA 등으로 속도는 빠르지만 기능이 제한됩니다.
- 회귀 모델: 선형/비선형 회귀를 사용하여 CPI 및 전력 소비 예측
- 심층 학습 방법:
- Ithemal: 기본 블록 처리량 예측을 위한 LSTM
- Difftune: llvm-mca 매개변수 최적화
- Granite: 기본 블록 성능 예측을 위한 그래프 신경망
- 통계 샘플링: SMARTS 주기적 샘플링
- 목표 샘플링: 프로그램 동작 기반 SimPoint 샘플링
본 논문의 기존 연구 대비 주요 장점:
- 처음으로 완전한 프로그램 수준 성능 예측 구현(기본 블록 수준만 아님)
- 간단한 컴파일러 도구가 아닌 사이클 수준 시뮬레이터를 기준 진실로 사용
- 주의 메커니즘이 장거리 의존성을 더 잘 모델링합니다.
- 기술 타당성: 주의 기반 방법은 완전한 프로그램의 CPU 성능을 효과적으로 예측할 수 있습니다.
- 성능 장점: 전통 gem5 시뮬레이터 대비 현저한 가속(2.2-8.3배)
- 정확도 보장: 속도를 대폭 향상시키면서 수용 가능한 예측 정확도를 유지합니다.
- 일반화 능력: 모델은 미지의 벤치마크 및 다양한 아키텍처 매개변수에 대해 우수한 적응성을 보입니다.
- 정확도 트레이드오프: 속도가 대폭 향상되었지만, 예측 정확도는 전문 사이클 수준 시뮬레이터에 비해 여전히 차이가 있습니다(평균 12% 오류).
- 아키텍처 의존성: 현재 구현은 Power ISA 기반이며, 다른 명령어 세트로의 확장에는 재적응이 필요합니다.
- 훈련 데이터 요구사항: 훈련을 위해 많은 양의 주석 데이터가 필요하므로 초기 비용이 높습니다.
- 복잡한 시나리오 처리: 극도로 복잡한 프로그램 동작 및 마이크로아키텍처 특성의 경우 예측 능력이 제한될 수 있습니다.
- 다중 아키텍처 지원: x86, ARM 등 주류 명령어 세트 아키텍처로 확장
- 정확도 향상: 더 고급 주의 메커니즘 및 문맥 모델링 방법 탐색
- 다중 코어 지원: 다중 코어 및 이기종 시스템의 성능 예측으로 확장
- 온라인 학습: 런타임 자적응 학습 및 모델 업데이트 지원
기술 혁신성:
- Transformer 주의 메커니즘을 CPU 성능 예측 분야에 처음 적용
- 문맥 정보와 명령어 시퀀스 모델링을 창의적으로 결합
- 완전한 엔드-투-엔드 예측 프레임워크 설계
실험 충분성:
- 표준 SPEC2017 벤치마크에서 포괄적인 평가 수행
- 상세한 제거 실험 및 일반화 능력 테스트 포함
- 여러 기준선 방법과의 비교
결과 설득력:
- 현저한 속도 향상(최대 8.3배 가속)
- 기존 ML 방법 대비 정확도 향상
- 우수한 벤치마크 간 일반화 능력
작성 명확성:
- 문제 동기 설명이 명확함
- 방법 설명이 상세하고 수학 공식 포함
- 실험 설정 및 결과 표시가 완전함
방법 한계:
- 예측 정확도에 개선 여지 있음(평균 12% 오류)
- Power ISA에서만 검증되었으며, 다중 아키텍처 검증 부족
- 극도로 복잡한 시나리오에 대한 처리 능력이 충분히 검증되지 않음
실험 설정 결함:
- 하드웨어 플랫폼 비교가 공정하지 않을 수 있음(GPU vs CPU)
- 더 많은 최신 ML 방법과의 비교 부족
- 다양한 유형의 프로그램에 대한 예측 효과 차이 분석 부족
분석 부족:
- 주의 메커니즘의 해석 가능성 분석이 충분하지 않음
- 오류 사례 분석이 적음
- 계산 리소스 소비 분석이 충분하지 않음
분야에 대한 기여:
- CPU 성능 예측을 위한 새로운 기술 경로 제공
- 컴퓨터 아키텍처 분야에서 ML 응용 추진
- 빠른 아키텍처 설계 공간 탐색을 위한 도구 제공
실용적 가치:
- 대규모 벤치마크 테스트 평가 효율성 현저히 향상
- 컴파일러 최적화 및 하드웨어 설계에 빠른 피드백 제공
- 컴퓨터 아키텍처 연구의 시간 비용 절감
재현 가능성:
- 방법 설명이 상대적으로 상세함
- 표준 벤치마크 테스트 스위트 사용
- 그러나 일부 구현 세부사항 및 코드는 공개되지 않음
- 아키텍처 설계 공간 탐색: 다양한 설계 매개변수의 성능 영향을 빠르게 평가
- 컴파일러 최적화: 코드 최적화에 빠른 성능 피드백 제공
- 벤치마크 테스트 가속화: 표준 벤치마크 테스트 실행 시간을 대폭 단축
- 교육 및 연구: 아키텍처 과정 및 연구를 위한 효율적인 시뮬레이션 도구 제공
논문은 61개의 관련 문헌을 인용하며, 주요 내용은 다음과 같습니다:
고전 시뮬레이터:
- gem5: The gem5 simulator (Binkert et al.)
- SimpleScalar, Sniper, Zesto 등 전통 시뮬레이터
머신러닝 방법:
- Ithemal: Accurate, portable and fast basic block throughput estimation (Mendis et al.)
- Granite: A graph neural network model for basic block throughput estimation (Sýkora et al.)
주의 메커니즘:
- Attention is all you need (Vaswani et al.)
- Transformer 관련 연구
벤치마크 테스트:
- SPEC CPU2017 벤치마크 테스트 스위트
전체 평가: 이것은 CPU 성능 예측 분야에서 혁신성과 실용적 가치를 갖춘 논문입니다. 저자들은 주의 메커니즘을 CPU 성능 예측에 성공적으로 도입하여 기본 블록 수준에서 완전한 프로그램 수준 예측으로의 돌파구를 달성했으며, 현저한 속도 향상을 이루었습니다. 예측 정확도 및 방법 일반화 측면에서 개선 여지가 있지만, 이 연구는 컴퓨터 아키텍처 연구에 가치 있는 도구와 아이디어를 제공하며 좋은 응용 전망을 가지고 있습니다.