Skip to main content
QUICK REVIEW

[논문 리뷰] Improving Branch Prediction By Modeling Global History with Convolutional Neural Networks

Stephen J. Tarsa, Chit-Kwan Lin|arXiv (Cornell University)|2019. 06. 20.
Computational Physics and Python Applications참고 문헌 9인용 수 13
한 줄 요약

이 논문은 현대 CPU에서 예측이 어려운 분기(H2Ps)의 예측 정확도를 향상시키기 위해 컨볼루션 신경망(CNNs)을 보조 예측기로 사용하는 것을 제안한다. CNN을 사용해 글로벌 히스토리 모델링을 통해 분기 히스토리 시퀀스의 위치 변동에 내성을 가지게 하여, SPECint 2017의 H2Ps의 47%에서 평균 36.6%의 잘못 예측 감소를 달성한다. 이와 동시에 구현 가능한 2-bit 양자화된 CNN 설계는 H2Ps의 24%에서 평균 14.4%의 정확도 향상을 이룬다.

ABSTRACT

CPU branch prediction has hit a wall--existing techniques achieve near-perfect accuracy on 99% of static branches, and yet the mispredictions that remain hide major performance gains. In a companion report, we show that a primary source of mispredictions is a handful of systematically hard-to-predict branches (H2Ps), e.g. just 10 static instructions per SimPoint phase in SPECint 2017. The lost opportunity posed by these mispredictions is significant to the CPU: 14.0% in instructions-per-cycle (IPC) on Intel SkyLake and 37.4% IPC when the pipeline is scaled four-fold, on par with gains from process technology. However, up to 80% of this upside is unreachable by the best known branch predictors, even when afforded exponentially more resources. New approaches are needed, and machine learning (ML) provides a palette of powerful predictors. A growing body of work has shown that ML models are deployable within the microarchitecture to optimize hardware at runtime, and are one way to customize CPUs post-silicon by training to customer applications. We develop this scenario for branch prediction using convolutional neural networks (CNNs) to boost accuracy for H2Ps. Step-by-step, we (1) map CNNs to the global history data used by existing branch predictors; (2) show how CNNs improve H2P prediction in SPEC 2017; (3) adapt 2-bit CNN inference to the constraints of current branch prediction units; and (4) establish that CNN helper predictors are reusable across application executions on different inputs, enabling us to amortize offline training and deploy ML pattern matching to improve IPC.

연구 동기 및 목표

  • Intel SkyLake에서 14.0%의 IPC 손실을 유발하는 소수의 예측이 어려운 분기(H2Ps)로 인한 성능 저하 문제를 해결한다. 이는 확장 시 최대 37.4%까지 증가할 수 있다.
  • 기존 분기 예측기의 한계를 극복한다. 특히 반복 횟수가 변동될 경우 복잡한 패턴을 포착하지 못하는 문제를 해결한다.
  • 실제 분기 예측 유닛(BPU)의 좁은 면적과 지연 시간 제약 조건을 충족시키는 기계학습 기반 솔루션을 개발한다.
  • 훈련된 기계학습 모델을 다양한 입력과 실행 환경 간에 재사용할 수 있도록 하여 훈련 비용을 분산하고 사내 설계 후 맞춤화를 지원한다.
  • 변동 반복 제어 구조로 인해 발생하는 위치 변동에 대해 글로벌 히스토리 모델링이 내성적으로 잘 작동하는 CNN이 기존의 패턴 매칭 기법보다 뛰어난 성능을 보임을 입증한다.

제안 방법

  • 지시어 포인터 값과 분기 방향을 포함한 글로벌 히스토리 데이터를 컨볼루션 처리에 적합한 2차원 텐서 표현으로 매핑한다.
  • 1층에 32개 필터, 2층에 16개 필터를 사용하는 이중 층 CNN을 설계하며, 7비트 IP 인코딩과 1비트 방향 비트를 사용해 분기 히스토리의 시간적 및 공간적 패턴을 모델링한다.
  • 복잡성을 줄이고, 테이블 룩업과 popcount 연산만으로도 효율적인 추론이 가능하도록 CNN을 2-bit 가중치(삼항 CNN)로 양자화한다.
  • CNN 추론 과정을 연속적인 테이블 룩업과 popcount 연산의 시퀀스로 변환하여 지연 시간을 최소화하고 BPU 자원 제약 조건에 맞춘다.
  • 다양한 벤치마크의 여러 입력에서의 런타임 트레이스를 기반으로 오프라인에서 CNN을 훈련한 후, k-폴드 교차 검증을 통해 새로운 워크로드에 대한 일반화 능력을 평가한다.
  • 기본 TAGE-SC-L 예측기와 보완하는 방식으로 CNN 보조 예측기를 통합하며, 최종 예측은 통계적 보정 기법을 통해 이루어진다.

실험 결과

연구 질문

  • RQ1컨볼루션 신경망은 예측이 어려운 분기(H2Ps)의 글로벌 분기 히스토리 데이터를 효과적으로 모델링하여 기존 예측기에서 실패하는 경우의 정확도를 향상시킬 수 있는가?
  • RQ2변동 반복 제어 구조로 인한 분기 히스토리 시퀀스의 위치 변동에 대해 CNN은 기존의 패턴 매칭 예측기보다 얼마나 잘 견디는가?
  • RQ3실제 분기 예측 유닛의 엄격한 면적과 지연 시간 제약 조건을 충족시키면서도 유의미한 정확도 향상을 유지할 수 있는 2-bit 양자화된 CNN을 설계할 수 있는가?
  • RQ4훈련된 CNN 보조 예측기는 동일 응용 프로그램의 다양한 입력 간에 일반화되는가? 이는 훈련 비용 분산과 실전 환경에서의 재사용 가능성을 의미한다.
  • RQ5CNN 보조 예측기의 성능 영향은 무엇인가? IPC 향상 측면에서 기존 예측기의 확장과 비교해 나머지 잘못 예측 가능성을 얼마나 차지하는가?

주요 결과

  • 전기정밀도 CNN 보조 예측기는 SPECint 2017의 H2Ps 중 47%에서 평균 36.6%의 잘못 예측 감소를 이끌어내어 체계적으로 예측이 어려운 분기의 정확도 향상이 뚜렷하게 입증되었다.
  • 2-bit 양자화된 CNN(TP-CNN)은 H2Ps의 24%에서 평균 14.4%의 정확도 향상을 이룩했으며, 전기정밀도 모델의 약 절반의 성능 향상을 달성하면서도 구현 가능성을 유지했다.
  • TAGE-SC-L을 64KB로 확장한 경우에도 H2Ps의 21%가 여전히 CNN 보조 예측기의 이점을 얻었으며, 평균 12.3%의 잘못 예측 감소를 기록했다. 이는 향상된 패턴 매칭이 단순 확장보다 근본적인 이점이 있음을 보여준다.
  • CNN 접근법은 동일 응용 프로그램의 다양한 입력 간에 일반화된다. 한 워크로드에서 훈련하고 다른 워크로드에서 테스트해도 일관된 성능 향상이 나타나, 재사용성과 훈련 비용 분산이 가능하다.
  • 전기정밀도 모델과 양자화된 모델 간의 성능 격차는 위치 패턴 매칭과 잠재적으로 오래된 데이터 처리 능력이 정확도에 매우 중요하다는 점을 시사하며, BPU 내부 설계에서의 추가 최적화 여지가 있음을 보여준다.
  • 단지 소수의 분기만을 대상으로 하여도 Intel SkyLake에서 최대 14.0%의 IPC 향상과 4배 확장된 파이프라인에서 최대 37.4%의 성능 향상을 달성함으로써, 마이크로아키텍처 설계에서 기계학습 기반 맞춤화의 잠재력이 뚜렷하게 드러났다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.