Skip to main content
QUICK REVIEW

[논문 리뷰] Tearing Down the Memory Wall

Zaid Qureshi, Vikram Sharma Mailthody|arXiv (Cornell University)|2020. 08. 24.
Topic Modeling참고 문헌 26인용 수 6
한 줄 요약

논문은 Erudite라는 새로운 컴퓨터 아키텍처를 제안한다. 이 아키텍처는 고밀도 플래시 메모리와 프로그래머블 네어-데이터 가속기들을 통합함으로써 메모리와 연산 추상화를 재정의하여, 대규모 병렬 처리와 세밀한 데이터 액세스를 가능하게 한다. CPU에서 GPU 유사 가속기로 메모리 요청을 이관함으로써 Erudite는 확장 가능한 메모리 대역폭과 용량을 달성하며, AI 및 데이터 분석 워크로드에 제약을 주는 메모리 장벽을 극복한다.

ABSTRACT

We present a vision for the Erudite architecture that redefines the compute and memory abstractions such that memory bandwidth and capacity become first-class citizens along with compute throughput. In this architecture, we envision coupling a high-density, massively parallel memory technology like Flash with programmable near-data accelerators, like the streaming multiprocessors in modern GPUs. Each accelerator has a local pool of storage-class memory that it can access at high throughput by initiating very large numbers of overlapping requests that help to tolerate long access latency. The accelerators can also communicate with each other and remote memory through a high-throughput low-latency interconnect. As a result, systems based on the Erudite architecture scale compute and memory bandwidth at the same rate, tearing down the notorious memory wall that has plagued computer architecture for generations. In this paper, we present the motivation, rationale, design, benefit, and research challenges for Erudite.

연구 동기 및 목표

  • AI 및 데이터 분석 워크로드에 특화된 현대 시스템에서 연산 처리 능력과 메모리 대역폭 간의 성능 격차를 해소한다.
  • 소프트웨어 오버헤드와 요청 병렬성의 한계로 인해 세밀한 데이터 전송이 저해되는 CPU 중심의 메모리 액세스 방식의 한계를 극복한다.
  • 프로그래머블 가속기를 통해 CPU에서 데이터 요청을 이관함으로써 비버니시브 메모리(예: 플래시)에 고성능, 저지연 액세스를 가능하게 한다.
  • 플래시 메모리와 스트리밍 멀티프로세서, 고성능 인터커넥트를 결합함으로써 확장 가능한 메모리 용량과 대역폭을 달성한다.
  • I/O 증폭을 최소화하고 현대 워크로드에서 흔한 데이터 기반의 희소 액세스 패턴을 지원하는 평탄하고 효율적인 메모리 추상화를 제공한다.

제안 방법

  • 세밀한 액세스를 가능하게 하기 위해 바이트 주소 가능 인터페이스를 통해 액세스 가능한 고밀도 플래시 메모리를 주 메모리 계층으로 통합한다.
  • 대규모 겹침 메모리 요청을 처리할 수 있도록 로컬 스토리지 풀을 갖춘 프로그래머블 네어-데이터 가속기(예: GPU 스타일의 스트리밍 멀티프로세서)를 구현한다.
  • 가속기 간 및 원격 메모리 간 통신을 가능하게 하기 위해 고대역폭, 저지연 인터커넥트(예: NVLink, PCIe Gen5, CCIX, Gen-Z)를 사용한다.
  • CPU를 메모리 액세스 경로에서 분리하여 가속기가 직접 NVMe 스타일의 요청을 플래시 스토리지에 보낼 수 있도록 하여 소프트웨어 오버헤드를 감소시킨다.
  • 가속기와 메모리 간의 데이터 배치 및 스케줄링을 최적화하여 지연을 최소화하고 대역폭 활용도를 극대화한다.
  • 장기적인 플래시 액세스 지연을 견딜 수 있도록 겹침 요청을 활용함으로써, 고지연 스토리지임에도 불구하고 높은 효과적 대역폭을 달성한다.

실험 결과

연구 질문

  • RQ1AI 및 데이터 분석 워크로드의 연산 처리 능력 증가에 대응해 확장 가능한 메모리 대역폭과 용량을 달성하기 위해 현대 시스템은 어떻게 해야 하는가?
  • RQ2가속기의 세밀하고 고용량 데이터 액세스에서 CPU를 버퍼로 제거하기 위해 어떤 아키텍처적 변화가 필요한가?
  • RQ3플래시 메모리와 프로그래머블 가속기를 활용한 네어-데이터 처리가 희소하고 데이터 기반의 액세스 패턴을 지원하는 실용적이고 고대역폭 메모리 시스템을 가능하게 할 수 있는가?
  • RQ4수백만 건의 동시 메모리 요청을 저오버헤드로 지원하기 위해 어떤 인터커넥트 및 프로토콜 개선이 필요한가?
  • RQ5메모리 대역폭과 용량을 연산 처리 능력과 동등한 1등 자원으로 간주하기 위해 메모리 시스템은 어떻게 재구성되어야 하는가?

주요 결과

  • 최근 4년간 현대 GPU의 연산 처리 능력은 30배 증가했지만, 메모리 대역폭과 용량은 각각 2.1배와 2.5배만 증가하여 메모리 장벽이 더욱 심화됨을 보여준다.
  • 현재 시스템에서 사용하는 굵은 액세스 패턴(예: 4KB–MB)은 희소하거나 데이터 기반 액세스 패턴일 경우 상당한 I/O 증폭을 유발하여 대역폭 낭비를 초래한다.
  • 16GBps 대역폭을 유지하면서 512바이트 전송과 64μs SSD 지연을 감안할 경우, 2,000건의 동시 요청을 유지해야 하며, 이는 CPU 기반 요청 생성 방식으로는 병렬성의 한계로 인해 달성 불가능하다.
  • GPU 스레드가 직접 NVMe 요청을 시작할 수 있도록 하면 연산 병렬성과 메모리 병렬성을 일치시켜 CPU를 버퍼로 제거할 수 있다.
  • 현재 SSD는 16KB 액세스 정밀도를 사용하므로, 소수의 데이터 조각(예: 128–512B)만 필요한 경우에도 대역폭 낭비가 발생하며, 특히 그래프 및 데이터베이스 워크로드에서 문제가 된다.
  • 부분 플래시 액세스 기법(예: 8KB) 역시 여전히 비효율적이며, 진정으로 높은 대역폭을 최대화하고 I/O 증폭을 줄이기 위해서는 128B 정밀도의 진정한 랜덤 액세스가 필요하다.

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

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

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

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