Skip to main content
QUICK REVIEW

[논문 리뷰] MemPool: A Scalable Manycore Architecture With a Low-Latency Shared L1 Memory

Samuel Riedel, Matheus Cavalcante|arXiv (Cornell University)|2023. 03. 30.
Parallel Computing and Optimization Techniques참고 문헌 22인용 수 2
한 줄 요약

MemPool는 256개의 독립적으로 프ogram 가능한 Snitch 코어를 가진 확장 가능한 멀티코어 RISC-V 아키텍처로, 저지연성인 1 MiB 다중뱅크 L1 스크래치패드 메모리(SPM)를 공유하며, 180 GOPS/W 효율성에서 최대 229 GOPS 성능을 달성한다. 고계층 인터커넥트, 최적화된 명령어 경로, 고유의 DMA를 통해 전역 메모리 접근을 5 사이클 이내로 구현하고 스탠드바이를 최소화하여 대규모 환경에서 고성능과 프로그래머블성을 실현한다.

ABSTRACT

Shared L1 memory clusters are a common architectural pattern (e.g., in GPGPUs) for building efficient and flexible multi-processing-element (PE) engines. However, it is a common belief that these tightly-coupled clusters would not scale beyond a few tens of PEs. In this work, we tackle scaling shared L1 clusters to hundreds of PEs while supporting a flexible and productive programming model and maintaining high efficiency. We present MemPool, a manycore system with 256 RV32IMAXpulpimg "Snitch" cores featuring application-tunable functional units. We designed and implemented an efficient low-latency PE to L1-memory interconnect, an optimized instruction path to ensure each PE's independent execution, and a powerful DMA engine and system interconnect to stream data in and out. MemPool is easy to program, with all the cores sharing a global view of a large, multi-banked, L1 scratchpad memory, accessible within at most five cycles in the absence of conflicts. We provide multiple runtimes to program MemPool at different abstraction levels and illustrate its versatility with a wide set of applications. MemPool runs at 600 MHz (60 gate delays) in typical conditions (TT/0.80 V/25 °C) in 22 nm FDX technology and achieves a performance of up to 229 GOPS or 180 GOPS/W with less than 2% of execution stalls.

연구 동기 및 목표

  • 수십 코어를 넘는 공유 L1 메모리 클러스터의 확장성 문제를 해결하면서도 저지연성과 고효율성을 유지한다.
  • SIMT 및 다중 클러스터 설계의 한계를 극복하여 수백 개의 코어를 독립적이고 유연하게 프로그래밍 가능하게 하며 전역 메모리 접근을 가능하게 한다.
  • 일般的한 워크로드를 지원하면서 최소한의 아키텍처 복잡성과 높은 자원 활용도를 확보하는 확장 가능하고 에너지 효율적인 멀티코어 시스템을 설계한다.
  • 비정규적이고 데이터-병렬 워크로드를 위한 효율적인 데이터 이동 및 동기화를 구현하기 위해 고유의 DMA와 저지연성 인터커넥트를 활용한다.

제안 방법

  • 모든 256개 코어에서 비경쟁 상태일 경우 L1 SPM 액세스를 5 사이클 이내로 보장하는 고계층 저지연성 인터커넥트를 구현한다.
  • 각 코어에 독립적으로 명령어를 전달하는 캐시 기반 확장 가능한 명령어 경로를 설계하여 파ip라인 스탠드바이를 최소화한다.
  • 공유 L1 SPM로의 데이터 스트리밍을 효율적으로 수행하기 위해 분산 DMA 엔진을 통합하여 CPU 오버헤드를 감소시킨다.
  • 하이브리드 주소 지정 방식과 DSP 확장을 활용해 RISC-V 코어에서의 계산 처리량을 향상시킨다.
  • 메모리 지연에 대한 내성적 저항성을 높이기 위해 Snitch 코어를 최적화하여 인터커넥트 지연을 효과적으로 숨긴다.
  • 컴파일러 및 런타임 통합(예: OpenMP, Halide)을 통해 다양한 프로그래밍 추상화를 지원하여 높은 생산성을 확보한다.

실험 결과

연구 질문

  • RQ1256개의 독립적으로 프로그래밍 가능한 RISC-V 코어로 확장된 공유 L1 메모리 클러스터가 저지연성 액세스나 에너지 효율성을 희생시키지 않고도 작동할 수 있는가?
  • RQ2대규모 멀티코어 클러스터에서 5 사이클 이내의 액세스 지연을 유지하기 위해 저지연성 인터커넥트를 어떻게 설계할 수 있는가?
  • RQ3공유 메모리 멀티코어 시스템에서 고코어 수를 고려할 때 아키텍처적 스탠드바이와 메모리 액세스 오버헤드를 얼마나 줄일 수 있는가?
  • RQ4고유의 DMA 및 명령어 경로 설계가 확장 가능한 멀티코어 시스템에서 높은 자원 활용도와 낮은 오버헤드를 얼마나 효과적으로 지원할 수 있는가?
  • RQ5일반적인 비정규 워크로드가 최소한의 성능 손실로 이 시스템에서 효율적으로 프로그래밍되고 실행될 수 있는가?

주요 결과

  • MemPool는 22nm FDX 공정에서 최고 성능 229 GOPS, 에너지 효율성 180 GOPS/W를 달성한다.
  • 시스템은 600 MHz(60 게이트 딜레이)에서 동작하며 실행 스탠드바이 비율이 2%에 불과하여 높은 자원 활용도와 낮은 아키텍처 오버헤드를 입증한다.
  • 비경쟁 상태일 경우 공유 메모리 액세스 지연이 ≤5 사이클로 제한되어 모든 256개 코어 간 효율적인 데이터 공유가 가능하다.
  • 코어당 평균 IPC는 0.96에 도달하여 이론적 최대값 1.0에 근접하여 높은 명령어 수준 병렬성과 최소한의 파이프라인 스탠드바이를 입증한다.
  • 벤치마킹 결과 성능 손실의 주요 원인은 로드-스토어 아키텍처의 본질적 한계와 동기화 오버헤드이며, 아키텍처적 비효율성 때문이 아니라는 점을 확인했다.
  • Halide 및 OpenMP 툴체인 통합을 통해 히스토GRAM 등화, 레이 트레이싱, BFS와 같은 복잡한 커널을 높은 성능으로 간편하게 구현할 수 있었다.

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

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

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

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