Skip to main content
QUICK REVIEW

[논문 리뷰] pLUTo: In-DRAM Lookup Tables to Enable Massively Parallel General-Purpose Computation.

João Dinis Ferreira, Gabriel Falcão|arXiv (Cornell University)|2021. 04. 15.
Parallel Computing and Optimization Techniques참고 문헌 56인용 수 22
한 줄 요약

pLUTo는 DRAM 서브어레이 내부에 대량의 병렬 검색표(LUT)를 통합하여 메모리 내에서 복잡한 연산을 효율적이고 에너지 절약적으로 실행할 수 있도록 하는 새로운 DRAM 아키텍처이다. LUT 저장 및 연산에 DRAM의 높은 면적 밀도를 활용함으로써, pLUTo는 CPU 대비 33배의 성능 향상과 110배의 에너지 절감을 달성하였으며, GPU 대비 8배의 성능 향상과 80배의 에너지 절감을 이룩하였다. 이는 최신 이진 신경망에 대한 성과이다.

ABSTRACT

Data movement between main memory and the processor is a significant contributor to the execution time and energy consumption of memory-intensive applications. This data movement bottleneck can be alleviated using Processing-in-Memory (PiM), which enables computation inside the memory chip. However, existing PiM architectures often lack support for complex operations, since supporting these operations increases design complexity, chip area, and power consumption. We introduce pLUTo (processing-in-memory with lookup table [LUT] operations), a new DRAM substrate that leverages the high area density of DRAM to enable the massively parallel storing and querying of lookup tables (LUTs). The use of LUTs enables the efficient execution of complex operations in-memory, which has been a long-standing challenge in the domain of PiM. When running a state-of-the-art binary neural network in a single DRAM subarray, pLUTo outperforms the baseline CPU and GPU implementations by $33 imes$ and $8 imes$, respectively, while simultaneously achieving energy savings of $110 imes$ and $80 imes$.

연구 동기 및 목표

  • 메모리 집약적 워크로드에서의 데이터 이동 병목 현상을 해결하기 위해 DRAM 내부에서 직접 연산을 수행할 수 있도록 하는 것.
  • 설계 복잡성과 면적 오버헤드로 인해 기존의 프로세싱-인-메모리(PiM) 아키텍처가 복잡한 연산을 지원하지 못하는 한계를 극복하는 것.
  • DRAM 내부에 고밀도의 대량 병렬 검색표(LUT)를 사용하여 메모리 내에서 복잡한 연산을 효율적으로 실행하는 것.
  • 일반적인 메모리 집약적 워크로드, 예를 들어 이진 신경망과 같은 워크로드에서 높은 성능 및 에너지 효율성 향상을 달성하는 것.

제안 방법

  • pLUTo는 기존의 메모리 셀 구조를 활용하여 DRAM 서브어레이 내부에 LUT를 직접 통합함으로써, DRAM의 높은 면적 밀도를 활용해 대량 병렬성을 확보한다.
  • 서브어레이 내 모든 메모리 셀에서 LUT를 동시에 쿼리할 수 있도록 하여, 콘텐츠 기반 검색을 통한 복잡한 연산의 동시에 실행을 가능하게 한다.
  • 함수를 DRAM에 저장된 LUT로 인코딩함으로써 임의의 함수 계산을 가능하게 하여, 복잡한 논리 유닛이 필요로 하는 것을 제거한다.
  • 기존의 DRAM 읽기/쓰기 경로와 타이밍을 활용하여 면적과 전력 오버헤드를 최소화하면서 표준 DRAM 동작과의 호환성을 유지한다.
  • 신경망의 비선형 활성화 함수와 같은 복잡한 연산을 사전에 저장된 LUT에 매핑하여 메모리 내에서 실행할 수 있도록 한다.
  • 평가를 위해 이진 신경망 워크로드를 사용하였으며, 단일 DRAM 서브어레이에서 LUT 기반 연산을 통해 높은 스루풋과 낮은 지연을 달성하였다.

실험 결과

연구 질문

  • RQ1복잡한 연산의 대량 병렬 메모리 내 연산을 가능하게 하기 위해 LUT를 DRAM에 효율적으로 통합할 수 있는가?
  • RQ2기존 CPU 및 GPU 실행 방식과 비교했을 때, DRAM에 LUT를 통합하는 것이 면적, 전력, 성능에 어떤 영향을 미치는가?
  • RQ3메모리 집약적 워크로드에서 데이터 이동을 줄이고 에너지 효율성을 향상시키기 위해 메모리 내 LUT 기반 연산이 얼마나 기여할 수 있는가?
  • RQ4기존 가속기와 비교했을 때, pLUTo는 실제 워크로드인 이진 신경망에서 높은 성능과 에너지 절감을 달성할 수 있는가?

주요 결과

  • pLUTo는 최신 이진 신경망을 실행할 때 기준 CPU 대비 33배의 성능 향상을 달성하였다.
  • 동일한 워크로드에서 CPU 대비 110배의 에너지 절감을 실현하였다.
  • GPU 대비 8배의 성능 향상과 80배의 에너지 절감을 달성하였다.
  • 성능 및 에너지 효율성 향상은 데이터 이동 제거와 DRAM 내에 통합된 LUT를 통한 대량 병렬성 활용 덕분이었다.
  • 아키텍처는 복잡한 논리 유닛 없이도 LUT를 활용해 메모리 내에서 복잡한 연산을 효율적으로 실행할 수 있음을 입증하였다.
  • 결과적으로 DRAM의 높은 면적 밀도를 활용해 대규모로 LUT를 저장하고 쿼리할 수 있음을 보여주며, 실용적인 메모리 내 연산을 가능하게 하였다.

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

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

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

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