Skip to main content
QUICK REVIEW

[논문 리뷰] SMASH: Sparse Matrix Atomic Scratchpad Hashing

Kaustubh Shivdikar|arXiv (Cornell University)|2021. 01. 01.
Parallel Computing and Optimization Techniques참고 문헌 98인용 수 5
한 줄 요약

SMASH는 PIUMA 아키텍처를 위한 새로운 SpGEMM 커널을 도입하여 원자적 해싱, 토큰화, 메모리 분할 기법을 활용해 기준 구현 대비 9.4배의 성능 향상을 달성한다. PIUMA의 분산 글로벌 주소 공간, DMA 엔진, 다중 스레드 코어를 활용함으로써 SMASH V3는 DRAM 대역폭 활용도를 95.9%까지 끌어올리고, 동적 워크로드 밸런싱 및 부분 곱의 메모리 내 해시테이블 병합을 통해 거의 100%의 코어 활용도를 달성한다.

ABSTRACT

Sparse matrices, more specifically SpGEMM kernels, are commonly found in a wide range of applications, spanning graph-based path-finding to machine learning algorithms (e.g., neural networks). A particular challenge in implementing SpGEMM kernels has been the pressure placed on DRAM memory. One approach to tackle this problem is to use an inner product method for the SpGEMM kernel implementation. While the inner product produces fewer intermediate results, it can end up saturating the memory bandwidth, given the high number of redundant fetches of the input matrix elements. Using an outer product-based SpGEMM kernel can reduce redundant fetches, but at the cost of increased overhead due to extra computation and memory accesses for producing/managing partial products. In this thesis, we introduce a novel SpGEMM kernel implementation based on the row-wise product approach. We leverage atomic instructions to merge intermediate partial products as they are generated. The use of atomic instructions eliminates the need to create partial product matrices. To evaluate our row-wise product approach, we map an optimized SpGEMM kernel to a custom accelerator designed to accelerate graph-based applications. The targeted accelerator is an experimental system named PIUMA, being developed by Intel. PIUMA provides several attractive features, including fast context switching, user-configurable caches, globally addressable memory, non-coherent caches, and asynchronous pipelines. We tailor our SpGEMM kernel to exploit many of the features of the PIUMA fabric. This thesis compares our SpGEMM implementation against prior solutions, all mapped to the PIUMA framework. We briefly describe some of the PIUMA architecture features and then delve into the details of our optimized SpGEMM kernel. Our SpGEMM kernel can achieve 9.4x speedup as compared to competing approaches.

연구 동기 및 목표

  • 불규칙한 메모리 액세스와 워크로드 불균형으로 인해 일반 목적 아키텍처에서 SpGEMM에 발생하는 성능 저하 문제를 해결한다.
  • PIUMA 아키텍처의 고유한 기능인 DGAS, DMA 엔진, 다중 스레드 코어를 활용해 SpGEMM 커널 매핑을 최적화한다.
  • 행 기반 SpGEMM 접근 방식에서 발생하는 부분 곱 행렬의 중복 DRAM 액세스를 제거한다.
  • 스레드 간 동적 워크로드 밸런싱을 통해 코어 활용도를 극대화하고 유휴 사이클을 최소화함으로써 높은 하드웨어 활용도를 달성한다.
  • 메모리 내 해시테이블 기반 병합 기법을 통해 임시 저장소 제한 문제를 해결하고 데이터 재사용성을 향상시키는지 탐색한다.

제안 방법

  • 부분 곱을 중간 행렬 저장 없이 글로벌 해시테이블에 직접 저장하기 위해 원자적 해싱을 사용하는 SMASH V1을 구현하여 중복 DRAM 읽기 액세스를 방지한다.
  • 각 행의 예상 FLOPs를 기반으로 동적으로 워크를 할당함으로써 워크로드를 균형 잡는 토큰화 기법을 도입한 SMASH V2를 도입한다. 이는 스레드 활용도를 향상시킨다.
  • 메모리 분할 및 프로듀서-컨슈머 모델을 적용하여 메모리 액세스 오버헤드를 줄이고 데이터 국소성을 향상시킨다.
  • PIUMA의 DMA 엔진을 활용해 컴퓨팅 코어에서 데이터 이동 작업을 이관함으로써 MTC를 계산에만 집중시켜 지시어 사이클 오버헤드를 감소시킨다.
  • 부분 곱을 온칩 SPAD가 아닌 DRAM에 저장하여 온칩 메모리 압박을 줄이고 더 큰 규모의 희소 행렬 연산을 가능하게 한다.
  • 고순서 및 저순서 비트 해싱을 조합하여 충돌 해결을 수행하고, 동적 로드 밸런싱을 통해 핫스팟 문제를 완화한다.

실험 결과

연구 질문

  • RQ1도메인 특화 가속기에서 DRAM 대역폭을 거의 포화 상태로 유지하기 위해 SpGEMM 커널을 어떻게 최적화할 수 있는가?
  • RQ2불규칙한 SpGEMM 워크로드에서 다중 스레드 코어 활용도 향상에 기여하는 동적 워크로드 밸런싱의 역할은 무엇인가?
  • RQ3메모리 내 해시테이블 기반 병합이 중간 부분 곱 행렬이 필요 없게 하고 중복 메모리 액세스를 줄일 수 있는가?
  • RQ4DGAS, DMA 엔진, 네트워크 기반 지시어와 같은 아키텍처적 기능이 PIUMA에서 SpGEMM 성능에 미치는 영향은 무엇인가?
  • RQ5부분 곱을 위한 DRAM에 저장된 해시테이블과 온칩 스크래치패드 사용 간의 성능 트레이드오���은 무엇인가?

주요 결과

  • SMASH V3는 동적 로드 밸런싱, 메모리 분할, 효율적 DMA 사용을 결합함으로써 SMASH V1 대비 9.4배의 성능 향상을 달성했다.
  • SMASH V3는 입력 데이터와 부분 곱 간의 공유 액세스에도 불구하고 가용 DRAM 대역폭의 95.9%를 활용하여 메모리 서브시스템을 거의 포화 상태로 유지했다.
  • SMASH V3에서는 V1 대비 지시어 처리량이 155% 증가하여 더 높은 계산 효율성과 유휴 사이클 감소를 나타냈다.
  • 프로듀서-컨슈머 모델을 통한 효과적인 워크로드 밸런싱 덕분에 SMASH V3에서는 스레드 활용도가 거의 100%에 도달했으며, 이는 균형 잡히지 않은 V1보다 뚜렷이 뛰어난 성능을 보였다.
  • 메모리 내 해시테이블 사용 덕분에 부분 곱이 즉시 병합되었고, 중간 저장소가 필요 없어지면서 메모리 프로필과 액세스 오버헤드가 감소했다.
  • 해싱 충돌로 인한 핫스팟 위험은 있었지만, 대역폭 포화와 로드 밸런싱로 인한 성능 향상이 충돌 해결 오버헤드를 상쇄하여 전체적으로 유의미한 성능 향상을 이끌어냈다.

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

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

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

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