Skip to main content
QUICK REVIEW

[논문 리뷰] Die-Stacked DRAM: Memory, Cache, or MemCache?

Mohammad Bakhshalipour, Hamidreza Zare|arXiv (Cornell University)|2018. 09. 24.
Parallel Computing and Optimization Techniques참고 문헌 36인용 수 6
한 줄 요약

이 논문은 메모리의 저비용 효율성과 캐시의 유연성을 조합함으로써, 핫 페이지를 고대역폭 주요 메모리로 사용하고 나머지 용량을 동적 데이터 액세스를 위한 하드웨어 관리 캐시로 사용하는 하이브리드 메모리 계층 구조인 MemCache를 제안한다. 대규모 데이터 워크로드에서 이전 최고 성능 설계 대비 시스템 성능을 28%에서 139% 향상시킨다.

ABSTRACT

Die-stacked DRAM is a promising solution for satisfying the ever-increasing memory bandwidth requirements of multi-core processors. Manufacturing technology has enabled stacking several gigabytes of DRAM modules on the active die, thereby providing orders of magnitude higher bandwidth as compared to the conventional DIMM-based DDR memories. Nevertheless, die-stacked DRAM, due to its limited capacity, cannot accommodate entire datasets of modern big-data applications. Therefore, prior proposals use it either as a sizable memory-side cache or as a part of the software-visible main memory. Cache designs can adapt themselves to the dynamic variations of applications but suffer from the tag storage/latency/bandwidth overhead. On the other hand, memory designs eliminate the need for tags, and hence, provide efficient access to data, but are unable to capture the dynamic behaviors of applications due to their static nature. In this work, we make a case for using the die-stacked DRAM partly as main memory and partly as a cache. We observe that in modern big-data applications there are many hot pages with a large number of accesses. Based on this observation, we propose to use a portion of the die-stacked DRAM as main memory to host hot pages, enabling serving a significant number of the accesses from the high-bandwidth DRAM without the overhead of tag-checking, and manage the rest of the DRAM as a cache, for capturing the dynamic behavior of applications. In this proposal, a software procedure pre-processes the application and determines hot pages, then asks the OS to map them to the memory portion of the die-stacked DRAM. The cache portion of the die-stacked DRAM is managed by hardware, caching data allocated in the off-chip memory.

연구 동기 및 목표

  • die-stacked DRAM의 고대역폭 특성을 활용하여 다중코어 프로세서의 메모리 대역폭 장벽을 해결한다.
  • 이전의 접근 방식이 die-stacked DRAM을 단지 캐시(태그 오버헤드) 또는 주요 메모리(정적 매핑)로만 사용하는 데서 비롯하는 한계를 극복한다.
  • 대규모 데이터 응용 프로그램에서의 핫 페이지 존재를 활용하여 지연 시간과 대역폭 오버헤드를 감소시킨다.
  • 워크로드 행동에 동적으로 적응할 수 있는 시스템을 설계하면서 하드웨어 및 소프트웨어 복잡성을 최소화한다.
  • 하나의 DRAM 장치에서 주요 메모리 액세스의 효율성과 캐시의 적응 가능성의 이점을 결합하여 성능을 향상시킨다.

제안 방법

  • 소프트웨어 사전 처리 및 운영체제 수준의 매핑을 통해 대규모 데이터 응용 프로그램에서 핫 페이지를 식별하고, die-stacked DRAM의 메모리 부분에 할당한다.
  • die-stacked DRAM의 전용 부분을 주요 메모리로 사용하여 자주 액세스되는 핫 페이지에 고대역폭 액세스를 제공하며, 태그 검사 없이 직접 액세스한다.
  • 남은 die-stacked DRAM 용량을 이방향 DRAM에 할당된 데이터를 위한 하드웨어 관리 캐시로 관리한다.
  • 기존 운영체제의 페이지 이동 지원을 활용하여 필요에 따라 핫 페이지를 이방향 DRAM과 die-stacked DRAM 간에 이동시킨다.
  • 태그 저장소 및 검사 과정을 회피함으로써 핫 데이터에 대한 저지연 액세스를 보장하면서도 캐시 구성 요소를 통해 동적 적응성을 유지한다.
  • 기존 메모리 관리 및 캐싱 기법과 통합되며, DICE, ATCache, Bear와 같은 많은 이전 최적화 기법과 수직적(orthogonal)이다.

실험 결과

연구 질문

  • RQ1die-stacked DRAM을 주요 메모리와 캐시의 하이브리드 방식으로 사용할 경우, 기존에 단지 캐시 또는 주요 메모리로만 사용하는 설계보다 성능이 뛰어나게 되는가?
  • RQ2대규모 데이터 워크로드에서 핫 페이지의 식별 및 분리가 메모리 액세스 효율성 향상에 얼마나 효과적인가?
  • RQ3자주 액세스되는 데이터에 대한 태그 오버헤드를 제거하면서도 동적 데이터에 대한 캐시 기능을 유지할 경우, 어떤 성능 향상이 달성되는가?
  • RQ4대역폭 활용도, 지연 시간, 전체 시스템 스루풋 측면에서 이전 최고 수준의 설계와 비교해 본다면, 제안된 방식은 어떻게 성능을 내는가?
  • RQ5소프트웨어 및 하드웨어 수정을 최소로 유지하면서도 상당한 성능 향상을 달성할 수 있는가?

주요 결과

  • 제안된 MemCache 설계는 평균 28%의 성능 향상을 보이며, 평가된 대규모 데이터 워크로드에서 이전 최고 성능 설계 대비 최대 139% 향상된 성능을 달성한다.
  • 성능 향상은 핫 페이지에 대한 태그 검사 오버헤드를 제거함으로써 발생하며, 이는 핫 페이지가 die-stacked DRAM의 고대역폭 메모리 부분에서 직접 제공되기 때문이다.
  • 하이브리드 접근 방식은 정적 효율성(핫 페이지에 대한 주요 메모리)과 동적 적응성(일시적 데이터에 대한 캐시)을 효과적으로 균형 잡는다.
  • 전체 DRAM 캐시 설계에서 태그 저장소 및 검사 과정과 관련된 높은 대역폭 및 지연 오버헤드를 피할 수 있다.
  • DICE, ATCache, Bear와 같은 기존 최적화 기법과 호환되며, 이를 결합할 수 있어 광범위한 적용 가능성을 보여준다.
  • die-stacked DRAM을 메모리와 캐시의 조합으로 사용하는 것이, 단지 하나의 기능으로만 사용하는 것보다 더 효과적임을 입증한다.

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

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

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

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