하드웨어/소프트웨어 공동 설계를 통한 인터프리터의 간접 분기 예측 개선
요약
본 논문은 인터프리터가 가진 큰 간접 분기 예측 문제를 해결하기 위해 하드웨어와 소프트웨어를 공동 설계한 방안을 제시합니다. 제안된 하드웨어 룩어헤드 엔진은 바이트코드 메타데이터를 활용하여 파이프라인보다 앞서 디스패치 타겟을 공급하며, 이를 통해 IPC 속도를 향상시켰습니다.
핵심 포인트
- 하드웨어/소프트웨어 공동 설계를 통한 간접 분기 예측 개선
- 룩어헤드 엔진은 온칩 스토리지 1.3 KB로 구현 가능
- CPython 코드 변경만으로 성능 향상 달성 (IPC 3.2% 증가)
- ITTAGE 대비 바이트코드 점프 MPKI를 73.7% 감소시킴
인터프리터는 큰 간접 분기(indirect-branch) 흔적을 가지므로, 정확한 예측을 위해 큰 예측기 용량을 요구합니다. 본 논문에서는 하드웨어/소프트웨어 공동 설계를 제안하며, 이 설계에서 하드웨어 룩어헤드 엔진(lookahead engine)이 소프트웨어가 제공하는 바이트코드 메타데이터와 함께 파이프라인보다 앞서 실행되어 인터프리터 디스패치 타겟을 프론트엔드에 공급합니다. 이 엔진은 온칩 스토리지로 단지 1.3 KB만 필요하며, CPython 코드 약 50줄의 변경만으로 구현 가능합니다. 15가지 CPython 서버 워크로드에서, 이 엔진이 추가된 14 KB ITTAGE는 16 KB ITTAGE 기준 대비 바이트코드 점프 MPKI를 73.7% 감소시켜, 3.2%의 조화 평균(harmonic-mean) IPC 속도 향상을 달성했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv cs.AR의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기