Skip to main content
QUICK REVIEW

[논문 리뷰] A Modern Primer on Processing in Memory

Onur Mutlu, Saugata Ghose|arXiv (Cornell University)|2020. 12. 05.
Parallel Computing and Optimization Techniques인용 수 27
한 줄 요약

이 논문은 현대 컴퓨팅 시스템에서 데이터 이동으로 인한 성능, 에너지, 확장성의 한계를 해결하기 위해 프로세싱 인 메모리(PIM)를 제안한다. 3D 스택드 메모리와 아날로그 DRAM 특성을 활용함으로써 PIM은 메모리 내부 또는 근처에서 계산을 수행할 수 있게 하여, 두 가지 접근 방식인 메모리 내에서의 처리(PUM)와 메모리 근처에서의 처리(PNM)를 통해 데이터 집약적 워크로드에서 뛰어난 성능 및 에너지 효율성을 달성한다.

ABSTRACT

This paper discusses recent research that aims to enable computation close to data, an approach we broadly call processing-in-memory (PIM). PIM places computation mechanisms in or near where the data is stored (i.e., inside memory chips or modules, in the logic layer of 3D-stacked memory, in the memory controllers, in storage devices or chips), so that data movement between the computation units and memory/storage units is reduced or eliminated. While the general idea of PIM is not new, we discuss motivating trends in applications as well as memory circuits and technology that greatly exacerbate the need for enabling it in modern computing systems. We examine at least two promising new approaches to designing PIM systems to accelerate important data-intensive applications: (1) processing-using-memory, which exploits fundamental analog operational principles of memory chips to perform massively-parallel operations in-situ in memory, (2) processing-near-memory, which exploits different logic and memory integration technologies (e.g., 3D-stacked memory technology) to place computation logic close to memory circuitry, and thereby enable high-bandwidth, low-energy, and low-latency access to data. In both approaches, we describe and tackle relevant cross-layer research, design, and adoption challenges in devices, architecture, systems, compilers, programming models, and applications. Our focus is on the development of PIM designs that can be adopted in real computing platforms at low cost. We conclude by discussing work on solving key challenges to the practical adoption of PIM. We believe that the shift from a processor-centric to a memory-centric mindset (and infrastructure) remains the largest adoption challenge for PIM, which, once overcome, can unleash a fundamentally energy-efficient, high-performance, and sustainable new way of designing, using, and programming computing systems.

연구 동기 및 목표

  • 현대 컴퓨팅 시스템에서 프로세서와 주 메모리 간의 데이터 이동으로 인한 증가하는 성능, 에너지, 확장성의 한계를 해결한다.
  • 데이터 집약적 워크로드, 에너지 제약, 메모리 기술의 스케일링 한계와 같은 핵심 트렌드를 식별하여, 계산을 메모리 근처 또는 내부로 옮겨야 하는 필요성을 규명한다.
  • DRAM의 아날로그 특성을 활용하는 DRAM의 아날로그 특성을 활용하는 PUM과 3D 스택드 메모리의 논리층을 이용하는 PNM을 포함한 두 가지 실용적인 PIM 접근 방식을 제안하고 평가한다.
  • 장치, 아키텍처, 시스템, 프로그래밍 모델의 다층적 과제를 해결하여 향후 플랫폼에서 PIM의 실질적 도입을 가능하게 한다.
  • 연구 및 구현을 가속화하기 위해 기초 자원—벤치마크, 시뮬레이션 도구, 프로그래밍 추상화—을 제공한다.

제안 방법

  • DRAM 셀의 아날로그 동작 특성을 활용하여 최소한의 하드웨어 변경으로도 대량의 병렬 메모리 내 연산(예: 데이터 복사, 초기화, 비트단위 연산)을 수행할 수 있는 Processing Using Memory(PUM)를 도입한다.
  • RowClone, Ambit, SIMDRAM, Gather-Scatter DRAM, 그리고 내부 DRAM 보안 원리와 같은 PUM 기법을 통해 높은 성능과 에너지 효율성을 달성한다.
  • 3D 스택드 메모리의 논리층을 활용하여 CPU에서의 계산을 오프로드하고 데이터 이동과 지연을 줄이는 Processing Near Memory(PNM)를 제안한다.
  • 응용 프로그램 수준(예: 그래프 처리용 Tesseract), 기능 수준(예: 모바일 및 GPU 워크로드용), 명령어 수준(예: PIM 기반 명령어) 등 다양한 추상화 수준에서 PNM을 구현한다.
  • PIM 최적화 워크로드를 위한 메모리 일관성, 가상 메모리 지원, 런타임 스케줄링, 데이터 구조 설계와 같은 시스템 수준 과제를 해결한다.
  • PIM의 이점을 추정하고 향후 연구 및 하드웨어 프로토타이핑을 안내하기 위해 시뮬레이션 인fra 및 벤치마크를 개발하고 검증한다.

실험 결과

연구 질문

  • RQ1Processing Using Memory(PUM)는 DRAM의 내재된 아날로그 특성을 어떻게 활용하여 최소한의 하드웨어 변경으로도 성능 및 에너지 효율성을 확보할 수 있는가?
  • RQ23D 스택드 메모리 아키텍처에서의 Processing Near Memory(PNM)는 다양한 워크로드에서 데이터 이동을 얼마나 줄이고 성능 및 에너지 효율성을 향상시킬 수 있는가?
  • RQ3실제 컴퓨팅 플랫폼에서 PIM의 실질적 도입을 가능하게 하기 위해 해결해야 할 시스템 수준의 과제—예: 메모리 일관성, 가상 메모리 지원, 런타임 스케줄링—은 무엇인가?
  • RQ4프로그래밍 모델과 코드 생성 도구는 어떻게 PIM 하드웨어의 복잡성을 추상화하고 응용 프로그램 개발자가 투명하고 효율적으로 사용할 수 있도록 도울 수 있는가?
  • RQ5대규모 스케일에서 PIM 시스템을 정확하게 평가하고 개발을 안내하기 위해 필요한 벤치마크와 시뮬레이션 프레임워크는 무엇인가?

주요 결과

  • RowClone 및 Ambit와 같은 PUM 기법은 DRAM의 아날로그 행동을 활용하여 메모리 복사 및 초기화와 같은 대량 데이터 연산에서 최대 100배의 속도 향상과 90%의 에너지 절감을 달성한다.
  • 3D 스택드 메모리 논리층을 활용한 Processing Near Memory(PNM)는 그래프 처리(Tesseract)에서 최대 4.5배의 속도 향상과 60%의 에너지 절감을 이끌어내며, 게놈 분석 및 타임시리즈 워크로드에서도 뚜렷한 성능 향상을 보였다.
  • 모바일 워크로드 및 GPU 응용 프로그램을 위한 기능 수준의 PNM 가속화는 소프트웨어 변경을 최소화하면서도 최대 2.5배의 성능 향상을 보였다.
  • PIM 기반 명령어(PEI)를 활용한 명령어 수준의 PNM은 소스 코드 변경 없이 기존 코드를 투명하게 가속화할 수 있으며, GPU 워크로드에서 최대 2.1배의 속도 향상을 달성했다.
  • 도메인 특화 벤치마크 및 시뮬레이션 인fra의 개발은 PIM의 이점과 오버헤드를 정확하게 추정하고, 향후 연구 및 하드웨어 설계를 촉진하는 데 기여했다.
  • 실제 PIM 하드웨어 프로토타입과 런타임 지원(예: 스케줄링 및 데이터 매핑)은 생산 시스템에서 PIM의 검증 및 도입을 가속화하기 위해 필수적이다.

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

연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.

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

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