런타임 적응형 프리패치와 STTRAM L1 캐시 에너지·지연 최적화
초록
**
본 논문은 짧은 보존 시간(retention time)을 갖는 STTRAM L1 캐시에서 프리패치 기법을 연구한다. ‘만료된 미사용 프리패치(expired‑unused‑prefetches)’라는 새로운 메트릭을 도입해 최적 보존 시간과 프리패치 거리(distance)를 런타임에 자동 조정하는 PART와 RPC 알고리즘을 제안한다. 실험 결과, 기존 STTRAM 캐시 대비 평균 에너지와 지연을 각각 22.24 %·24.59 % 절감했으며, 최신 Near‑Side Prefetch Throttling(NST)과 결합했을 때는 추가로 3.5 %·3.59 % 개선하고 하드웨어 오버헤드를 54.55 % 감소시켰다.
**
상세 분석
**
STTRAM은 비휘발성·저누설·고집적도·CMOS 호환성이라는 장점을 가지고 있어 차세대 L1 캐시 후보로 주목받지만, 기본 보존 시간이 수년 수준이라 쓰기 지연과 에너지 소모가 큰 단점이 있다. 연구진은 보존 시간을 애플리케이션 요구에 맞게 25 µs~1 ms 사이로 동적으로 조절하면 쓰기 에너지와 지연을 크게 낮출 수 있음을 기존 연구에서 확인했다. 여기서 본 논문은 “프리패치”라는 또 다른 성능 향상 수단을 STTRAM 캐시와 결합했을 때 발생하는 새로운 현상을 집중 분석한다.
짧은 보존 시간에서는 캐시 블록이 만료(expiration)되기 전에 실제 사용이 이루어지지 않을 경우 ‘만료된 미사용 프리패치’가 발생한다. 이러한 블록은 기존 프리패치 정책에서는 재로드되지 않아 추가적인 miss penalty을 초래한다. 저자들은 이 현상을 정량화하기 위해 “expired_unused_prefetches”라는 메트릭을 정의하고, 이를 통해 (1) 현재 보존 시간이 과도하게 짧아 프리패치가 무용지물로 전락했는지, (2) 프리패치 거리 설정이 적절한지 판단한다.
PART(Prefetch‑Aware Retention time Tuning) 알고리즘은 런타임 샘플링 단계에서 전체 프리패치 비율(allPF)과 만료된 미사용 프리패치 비율(expiredPF)를 측정한다. allPF가 0.1 % 이하이면 프리패치가 메모리 트래픽에 거의 기여하지 않으므로 기존 miss‑rate 기반 보존 시간 선택 방식으로 전환한다. 반대로 allPF가 충분히 크면 expiredPF가 기준(0.02 %)보다 낮은 보존 시간을 차례대로 테스트하면서, “만료된 미사용 프리패치가 급증하지 않는 가장 짧은 보존 시간”을 선택한다.
RPC(Retention time‑based Prefetch Control)는 PART에서 얻은 최적 보존 시간에 대응하는 프리패치 거리 매핑을 수행한다. 즉, 보존 시간이 짧아질수록 프리패치 거리를 축소해 만료 전에 재사용될 가능성을 높이고, 반대로 보존 시간이 길면 거리 를 늘려 메모리 대역폭 낭비를 방지한다.
실험은 SPEC CPU 2017 벤치마크 21종을 대상으로 4‑way 32 KB L1 캐시, stride‑prefetcher(d=16)와 다양한 보존 시간(25 µs~1 ms)에서 수행되었다. 결과는 다음과 같다.
- 평균적으로 전체 프리패치된 블록 중 10.85 %가 만료 후 재사용 가능했으며, 일부 워크로드(leela)에서는 29.66 %에 달했다.
- 보존 시간이 짧아질수록 재사용 가능한 만료 블록 비율이 상승해, 25 µs에서는 8.69 %까지 증가하였다.
- PART+RPC 적용 시 에너지 절감 22.24 %, 평균 지연 감소 24.59 %를 달성했다.
- 최신 Near‑Side Prefetch Throttling(NST)과 결합했을 때는 추가 에너지·지연 감소가 각각 3.50 %·3.59 %이며, 하드웨어 오버헤드가 54.55 % 감소했다.
핵심 인사이트는 “만료된 미사용 프리패치”가 보존 시간과 프리패치 거리 사이의 상호작용을 정확히 포착한다는 점이다. 기존의 miss‑rate 기반 튜닝은 프리패치가 활성화된 상황에서 오히려 잘못된 보존 시간을 선택할 위험이 있었지만, 본 메트릭은 프리패치 효율성을 직접 측정함으로써 보다 신뢰성 있는 결정이 가능하게 한다. 또한, PART와 RPC는 복잡한 하드웨어 구조 없이 간단한 카운터와 임계값 비교만으로 구현 가능하므로 실용성도 높다.
**
댓글 및 학술 토론
Loading comments...
의견 남기기