Gemini 하이브리드 매핑으로 DRAM 캐시 지연 최소화
초록
Gemini는 3D 스택 DRAM 캐시에서 데이터 블록을 “리딩 블록”과 “팔로잉 블록”으로 구분하고, 전자는 정적(직접) 매핑, 후자는 동적(집합 연관) 매핑을 적용한다. 이를 통해 직접 매핑의 낮은 히트 지연과 집합 연관의 높은 히트율을 동시에 달성한다. 또한 블록 유형별 미스 페널티를 고려한 RV‑CLOCK 교체 정책과 유형 전환을 억제하는 우선순위 예약 메커니즘을 도입한다. 실험 결과 Gemini는 직접 매핑 대비 평균 1.22배, 집합 연관 대비 1.75배의 히트 지연 감소와 20% 수준의 IPC 향상을 보인다.
상세 분석
Gemini 논문은 기존 DRAM 캐시 설계가 직관적으로 “직접 매핑”과 “집합 연관 매핑” 중 하나만 선택해 성능 트레이드오프를 감수하는 점을 비판한다. 직접 매핑은 태그와 데이터를 한 번에 전송해 지연을 최소화하지만, 충돌로 인한 히트율 저하가 심각하고, 집합 연관 매핑은 충돌을 완화해 히트율을 높이지만 태그를 먼저 읽어야 하는 구조적 병목으로 히트 지연이 크게 늘어난다. Gemini는 이 두 구조의 장점을 블록 수준에서 혼합한다는 점이 핵심이다.
먼저 논문은 “리딩 블록(leading block)”과 “팔로잉 블록(following block)”이라는 두 종류의 블록을 정의한다. 리딩 블록은 해당 섹션이 비활성 상태에서 최초 접근될 때 태그 캐시 미스가 발생해 DRAM에서 전체 태그 배치를 가져오게 된다. 이 과정이 전체 섹션의 뒤따르는 접근에 대해 태그 캐시 히트를 보장하므로, 리딩 블록이 차지하는 태그 페치 비중이 89%에 달한다는 실험 결과를 제시한다. 반면 팔로잉 블록은 이미 태그가 SRAM에 존재하므로 데이터만 읽으면 되며, 히트 지연의 97%가 데이터 전송에만 의존한다.
이러한 관찰을 바탕으로 Gemini는 리딩 블록에 정적 직접 매핑을 적용한다. 즉, 리딩 블록은 사전에 지정된 DRAM 라인에 고정 매핑되어 태그와 데이터를 동시에 가져올 수 있어, 태그‑데이터 직렬화 비용을 사실상 제거한다. 반면 팔로잉 블록은 기존의 집합 연관 매핑을 유지해 충돌 회피와 높은 히트율을 보장한다.
다음으로 블록 유형별 미스 페널티 차이를 고려한 교체 정책인 RV‑CLOCK을 설계한다. 리딩 블록 미스는 평균 273 사이클로 팔로잉 블록 미스보다 1.3배 높은 비용을 초래한다. 따라서 RV‑CLOCK은 블록 유형에 따라 가중치를 부여해, 리딩 블록이 교체될 가능성을 낮추면서도 최근성(Recency) 정보를 유지한다.
또한 블록 유형 전환이 빈번히 일어날 경우 성능이 급격히 저하될 수 있다. 이를 방지하기 위해 Gemini는 “우선순위 예약 메커니즘”과 “고주파 변동 필터”를 도입한다. 이 메커니즘은 최근에 리딩 블록으로 식별된 주소에 대해 일정 기간 직접 매핑을 유지하도록 예약하고, 변동 필터는 짧은 시간 내에 유형이 바뀌는 블록을 식별해 동적 매핑으로 전환한다. 실험에서는 평균 블록 유형 전환 비율이 5% 이하임을 확인했으며, 이 메커니즘이 캐시 스러싱을 효과적으로 억제한다는 것을 보여준다.
전체 시스템 평가에서는 512 MB DRAM 캐시와 64 B 라인 크기를 기준으로, Gemini가 직접 매핑 대비 히트 지연을 평균 1.22배, 집합 연관 대비 1.75배 감소시켰다. 히트율은 기존 집합 연관 캐시와 거의 동일했으며, 향상된 IPC는 워크로드에 따라 최대 20%에 달했다. 특히, 태그 캐시를 활용한 기존 설계(예: 향상된 Loh‑Hill 캐시)와 비교했을 때, Gemini는 태그‑데이터 직렬화 비용을 크게 줄여 전체 메모리 서브시스템의 효율성을 높였다.
결론적으로 Gemini는 DRAM 캐시 설계에서 “데이터 블록의 접근 패턴 기반 유형 구분”이라는 새로운 차원을 도입함으로써, 직·간접 매핑의 장점을 조화롭게 결합한다. 이는 대규모 3D 스택 DRAM을 L3 캐시로 활용하려는 현대 시스템에 실용적인 성능 향상 방안을 제공한다.
댓글 및 학술 토론
Loading comments...
의견 남기기