[논문 리뷰] Ithemal: Accurate, Portable and Fast Basic Block Throughput Estimation using Deep Neural Networks
Ithemal은 어셈블리 시퀀스로부터 기본 블록 처리량을 예측하기 위해 계층적 다중 스케일 LSTM을 사용하여, 수작업으로 작성된 모델(IACA LLVM-mca)보다 더 높은 정확도를 달성하면서도 여러 마이크로아키텍처에서 빠르고 이식성이 유지됩니다.
Predicting the number of clock cycles a processor takes to execute a block of assembly instructions in steady state (the throughput) is important for both compiler designers and performance engineers. Building an analytical model to do so is especially complicated in modern x86-64 Complex Instruction Set Computer (CISC) machines with sophisticated processor microarchitectures in that it is tedious, error prone, and must be performed from scratch for each processor generation. In this paper we present Ithemal, the first tool which learns to predict the throughput of a set of instructions. Ithemal uses a hierarchical LSTM--based approach to predict throughput based on the opcodes and operands of instructions in a basic block. We show that Ithemal is more accurate than state-of-the-art hand-written tools currently used in compiler backends and static machine code analyzers. In particular, our model has less than half the error of state-of-the-art analytical models (LLVM's llvm-mca and Intel's IACA). Ithemal is also able to predict these throughput values just as fast as the aforementioned tools, and is easily ported across a variety of processor microarchitectures with minimal developer effort.
연구 동기 및 목표
- 컴파일러 최적화 및 성능 공학에 대한 정확한 처리량 추정의 필요성을 자극합니다.
- 수작업으로 설계된 마이크로아키텍처 모델 없이 기본 블록 처리량을 예측하는 데이터 기반 접근 방식을 제안합니다.
- 지침적 임베딩 학습과 처리량 예측을 위한 계층적 다중 스케일 RNN 아키텍처를 개발합니다.
- Haswell, Ivy Bridge, 및 Skylake 마이크로아키텍처 간의 이식성을 시연합니다.
- 커뮤니티를 위한 오픈 소스 구현을 제공합니다.
제안 방법
- 입력을 어셈블리의 토큰화된 구조화 표현으로 표준화합니다.
- 토큰 레이어와 명령어 수준 LSTM을 사용하여 토큰과 명령어 수준 표현을 임베딩하고 명령어별 임베딩을 생성합니다.
- 계층적 RNN을 사용하여 명령어 임베딩을 기본 블록 임베딩으로 결합하고 최종 선형 계층을 통해 처리량을 예측합니다.
- 대상 CPU에서 실제 처리량 측정값이 포함된 대규모 레이블이 있는 기본 블록 데이터세트에서 모델을 엔드투엔드로 학습합니다.
- 다수의 마이크로아키텍처에서 정확도와 속도 측면에서 손으로 작성된 모델인 IACA와 llvm-mca와의 비교를 평가합니다.
- DAG-RNN 및 토큰 레벨 RNN 등 아키텍처 변형을 탐구하여 성능 이점을 평가합니다.
실험 결과
연구 질문
- RQ1데이터 기반 모델이 Assembly 시퀀스에서 기본 블록 처리량을 손으로 설계한 분석 모델보다 더 정확하게 예측하는 방법을 학습할 수 있는가?
- RQ2계층적 다중 스케일 RNN이 블록 내부 의존성과 마이크로아키텍처 효과를 더 잘 포착하는가?
- RQ3학습된 모델이 아키텍처별 재공학 없이도 서로 다른 x86-64 마이크로아키처 간에 이식 가능한가?
- RQ4예상 도구의 실시간 속도와 정확도 간의 균형을 유지하면서 기존 도구와 비슷한 속도를 달성할 수 있는가?
주요 결과
- Ithemal은 Haswell, Ivy Bridge 및 Skylake 전반에 걸쳐 IACA 및 llvm-mca보다 더 높은 예측 정확도를 달성합니다(평균 오차가 각각 Haswell/Ivy Bridge/Skylake에서 약 0.079–0.089).
- 모형은 기저값과의 Spearman 및 Pearson 상관관계가 베이스라인보다 강하게 나타나 최적화 도구의 순위 활용도를 향상시킵니다.
- 처리량 추정 속도는 LLVM-mca 및 IACA에 견줄 만큼 빠르며 경험적 측정보다 훨씬 빠르므로 도구에서 처리량 추정의 드롭인 대체를 가능하게 합니다.
- 이 접근법은 마이크로아키텍처 간 이식성이 있어 새 CPU에서 재학습해도 아키텍처 특정 재설계가 필요 없고 여전히 수작업 모델보다 우수합니다.
- 아키텍처 변형(DAG-RNN, 토큰 레벨 RNN)은 계층적 LSTM 아키텍처가 정확도와 모델링 노력 간의 최적 균형을 제공함을 시사합니다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.