Skip to main content
QUICK REVIEW

[논문 리뷰] PIUMA: Programmable Integrated Unified Memory Architecture

Sriram Aananthakrishnan, Nesreen K. Ahmed|arXiv (Cornell University)|2020. 10. 13.
Graph Theory and Algorithms참고 문헌 10인용 수 14
한 줄 요약

PIUMA는 흩어진 비정규적인 그래프 워크로드에서 전통적인 프로세서의 비효율성을 극복하기 위해 고안된 새로운 그래프 최적화 아키텍처로, 간단한 코어를 다량 탑재하고 고도로 스레드화된 구조, 세밀한 8바이트 메모리 액세스, 강력한 오프로드 엔진을 특징으로 한다. SpMSpV 워크로드에서 스케일링 시 4-소켓 Xeon 서버 대비 최대 1,387배의 성능 향상을 달성하며, 효율적인 확장성과 저지연 리모트 메모리 액세스 덕분에 16노드 성능이 기존 다중노드 시스템을 크게 초월한다.

ABSTRACT

High performance large scale graph analytics are essential to timely analyze relationships in big data sets. Conventional processor architectures suffer from inefficient resource usage and bad scaling on those workloads. To enable efficient and scalable graph analysis, Intel developed the Programmable Integrated Unified Memory Architecture (PIUMA) as a part of the DARPA Hierarchical Identify Verify Exploit (HIVE) program. PIUMA consists of many multi-threaded cores, fine-grained memory and network accesses, a globally shared address space, powerful offload engines and a tightly integrated optical interconnection network. By utilizing co-packaged optical silicon photonics and extending the on-chip mesh protocol directly to the optical fabric, all PIUMA chips in a system are glued together in a large virtual die which allows for extremely low socket-to-socket latencies even as the system scales to thousands of sockets. Performance estimations project that a PIUMA node will outperform a conventional compute node by one to two orders of magnitude. Furthermore, PIUMA continues to scale across multiple nodes, which is a challenge in conventional multi-node setups. This paper presents the PIUMA architecture, and documents our experience in designing and building a prototype chip and its bring-up process. We summarize the methodology for our co-design of the architecture together with the software stack using simulation tools and FPGA emulation. These tools provided early performance estimations of realistic applications and allowed us to implement many optimizations across the hardware, compilers, libraries and applications. We built the PIUMA chip as a 316mm2 7nm FinFET CMOS die and constructed a 16-node system. PIUMA silicon has successfully powered on demonstrating key aspects of the architecture, some of which will be incorporated into future Intel products.

연구 동기 및 목표

  • 대규모 그래프 분석 워크로드에서 전통적인 프로세서의 낮은 성능과 확장성 한계를 해결한다.
  • 그래프 알고리즘에서 발생하는 비정규적이고 흩어진 메모리 액세스 패턴으로 인한 캐시 활용도 저하와 메모리 대역폭 제약을 극복한다.
  • 대규모 스레드 수와 효율적인 리모트 메모리 액세스를 지원하는 확장성 있고 통합된 메모리 아키텍처를 설계한다.
  • 하드웨어-소프트웨어 공동 설계와 전용 오프로드 엔진을 통해 현재 고성능 프로세서보다 뛰어난 성능 향상을 달성한다.
  • DARPA HIVE 프로그램의 목표인 대규모 그래프 문제에 대해 1,000×의 성능-와트 향상을 달성한다.

제안 방법

  • 큰 캐시 라인으로 인한 낭비된 대역폭을 줄이기 위해 세밀한 8바이트 메모리 및 네트워크 액세스를 지원하는 글로벌로 공유되는 주소 공간을 활용한다.
  • 메모리 지연을 극복하기 위해 다량의 순서 유지, 단일 명령 실행, 다중 스레드 코어(노드당 16,000개 이상 스레드)를 사용한다.
  • 필수 벡터 요소만 가져오는 DMA 수거 오프로드 작업을 위해 전용 오프로드 엔진을 구현하여 데이터 이동을 최소화하고 계산과 데이터 전송을 겹치게 한다.
  • 메모리 트래픽을 줄이기 위해 흩어진 행렬 인덱스(비영 요소 행 항목)만 캐시하고, 벡터 액세스는 8바이트 정밀도로 캐시하지 않는다.
  • 수집된 벡터 요소를 저장하기 위해 스크래치패드 메모리를 사용하여 로드 명령어 수를 줄이고 효율적인 곱하기-더하기 연산을 가능하게 한다.
  • 비정규적인 메모리 액세스 패턴을 처리하고 코어의 유휴 시간을 줄이기 위해 강력한 오프로드 엔진을 통합하여 메모리/계산 겹침을 향상시킨다.

실험 결과

연구 질문

  • RQ1세밀한 메모리 액세스와 다량 스레딩을 갖춘 프로세서 아키텍처가 기존 프로세서에 비해 비정규적이고 흩어진 그래프 워크로드에서 성능을 크게 향상시킬 수 있는가?
  • RQ2글로벌로 공유되는 주소 공간과 통합된 메모리 아키텍처는 그래프 분석에서 다수의 노드 간 확장성 향상에 어떻게 기여하는가?
  • RQ3메모리 집약적이고 비정규적인 워크로드(예: 그래프 탐색, 흩어진 행렬 연산)에서 큰 캐시 라인과 프리패칭을 피할 경우 성능에 어떤 영향을 미치는가?
  • RQ4오프로드 엔진과 스크래치패드 기반 데이터 수거 방식이 얼마나 메모리 대역폭 압박을 줄이고 계산 효율성을 향상시킬 수 있는가?
  • RQ5공동 설계된 하드웨어-소프트웨어 스택이 대규모 그래프 분석에서 DARPA HIVE 프로그램의 1,000× 성능-와트 목표를 달성할 수 있는가?

주요 결과

  • PIUMA 단일 노드는 다양한 그래프 워크로드에서 4-소켓 Xeon 서버 대비 6.9×에서 93×의 성능 향상을 기록하며, 특히 낮은 계산량과 높은 비정규성 특성을 지닌 응용 분야(예: 랜덤 워크)에서 최대 279×의 성능 향상을 달성한다.
  • 16노드 PIUMA 시스템은 16노드 Xeon 구성 대비 111×에서 1,387×의 성능 향상을 기록하여 강력한 확장성과 기존 시스템과의 성능 격차 확대를 입증한다.
  • 캐시되지 않은 8바이트 메모리 액세스 사용으로 대역폭 포화를 방지하고, 흩어진 벡터 액세스에 대한 캐싱으로 인한 성능 저하를 피할 수 있다.
  • DMA 수거 오프로드 작업은 로드 명령어 수를 줄이고 데이터 이동을 최소화하여 성능을 47% 향상시키며, SpMV에서 Xeon 대비 총 29×의 성능 향상을 기여한다.
  • 무의미한 프리패칭이나 중복 데이터 전송으로 낭비되는 대역폭 없이, 95% 이상의 메모리 대역폭 활용도를 달성한다.
  • PIUMA의 아키텍처 설계 덕분에 계산과 메모리 액세스가 효율적으로 겹쳐지며, 일부 스레드가 정지되어도 다른 스레드가 계속 진행되어 자원 활용도가 크게 향상된다.

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

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

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

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