Skip to main content
QUICK REVIEW

[논문 리뷰] StreamBox-HBM: Stream Analytics on High Bandwidth Hybrid Memory

Hongyu Miao, Myeongjae Jeon|arXiv (Cornell University)|2019. 01. 04.
Advanced Database Systems and Queries참고 문헌 47인용 수 16
한 줄 요약

StreamBox-HBM는 HBM에 저장된 키 포인터 배열(KPAs)을 대상으로 순차적 액세스 정렬을 사용하여 하이브리드 HBM-DRAM 시스템에서 성능을 최적화하는 스트림 분석 엔진이다. HBM의 높은 대역폭을 활용하면서도 용량 사용을 최소화하기 위해 데이터 배치를 동적으로 관리한다. 64코어 인텔 노턴스 랜딩 시스템에서 초당 1억 1000만 건의 레코드와 238GB/s 메모리 대역폭을 달성하며, 기존 엔진 대비 최대 10배 빠른 성능을 보인다.

ABSTRACT

Stream analytics have an insatiable demand for memory and performance. Emerging hybrid memories combine commodity DDR4 DRAM with 3D-stacked High Bandwidth Memory (HBM) DRAM to meet such demands. However, achieving this promise is challenging because (1) HBM is capacity-limited and (2) HBM boosts performance best for sequential access and high parallelism workloads. At first glance, stream analytics appear a particularly poor match for HBM because they have high capacity demands and data grouping operations, their most demanding computations, use random access. This paper presents the design and implementation of StreamBox-HBM, a stream analytics engine that exploits hybrid memories to achieve scalable high performance. StreamBox-HBM performs data grouping with sequential access sorting algorithms in HBM, in contrast to random access hashing algorithms commonly used in DRAM. StreamBox-HBM solely uses HBM to store Key Pointer Array (KPA) data structures that contain only partial records (keys and pointers to full records) for grouping operations. It dynamically creates and manages prodigious data and pipeline parallelism, choosing when to allocate KPAs in HBM. It dynamically optimizes for both the high bandwidth and limited capacity of HBM, and the limited bandwidth and high capacity of standard DRAM. StreamBox-HBM achieves 110 million records per second and 238 GB/s memory bandwidth while effectively utilizing all 64 cores of Intel's Knights Landing, a commercial server with hybrid memory. It outperforms stream engines with sequential access algorithms without KPAs by 7x and stream engines with random access algorithms by an order of magnitude in throughput. To the best of our knowledge, StreamBox-HBM is the first stream engine optimized for hybrid memories.

연구 동기 및 목표

  • 제한된 HBM 용량과 높은 대역폭을 가진 하이브리드 메모리 시스템에서 스트림 분석의 고처리량과 저지연을 달성하는 데 도전한다.
  • HBM의 강점(순차적 액세스, 높은 대역폭)과 스트림 분석에서 그룹화 연산에 의존하는 랜덤 액세스 해싱 간의 불일치를 해결한다.
  • HBM와 DRAM 간의 데이터 배치를 런타임에서 동적으로 관리하고, HBM의 성능 특성에 맞게 세밀한 수준의 병렬성을 노출하는 런타임 시스템을 설계한다.
  • 순차적 알고리즘을 통해 HBM의 대역폭을 최대한 활용하면서 HBM 영역을 최소화함으로써 확장 가능하고 고성능의 스트림 처리를 가능하게 한다.
  • 소프트웨어 기반 데이터 관리가 하이브리드 메모리에서 스트림 분석 워크로드에 비해 하드웨어 투명성보다 더 효과적임을 입증한다.

제안 방법

  • 그룹화 연산을 위해 키와 레코드 포인터만 동적으로 추출하여 키 포인터 배열(KPAs)로 구성하고, 이를 HBM에만 저장하여 메모리 프로파일을 최소화한다.
  • KPAs에 대해 순차적 액세스 병렬 정렬, 병합 및 벡터화된 연산을 사용하여 HBM의 높은 대역폭과 낮은 지연을 활용해 그룹화된 데이터를 처리한다.
  • 순서가 뒤죽박질 수 있는 번들 처리를 통해 데이터 및 파이프라인 병렬성을 노출하고, 노턴스 랜딩의 64코어에 대해 동적으로 작업을 균형 조정한다.
  • 런타임 자원 사용량과 워크로드 특성에 기반해 완전한 레코드는 DRAM에 할당하고, KPA 메타데이터만 HBM에 할당하여 하이브리드 메모리 배치를 관리한다.
  • 스트리밍 윈도우를 번들로 나누어 작업 수준의 병렬성을 가능하게 하고, 처리량과 낮은 출력 지연을 모두 최적화한다.
  • 랜덤 액세스 해싱 기반 기존 기법과 대비해 순차적 액세스를 선호하는 넓은 SIMD 명령어 및 메모리 액세스 패턴을 활용한다.

실험 결과

연구 질문

  • RQ1HBM에서 순차적 액세스 알고리즘이 스트림 분석의 그룹화 연산에서 DRAM의 랜덤 액세스 해싱 알고리즘보다 성능이 뛰어나기만 할 수 있는가?
  • RQ2제한된 HBM 용량을 어떻게 효과적으로 관리하여 고처리량 스트림 처리에서 최고의 성능을 달성할 수 있는가?
  • RQ3HBM와 DRAM 간의 런타임 메커니즘이 워크로드와 자원 사용량을 고려해 응용 프로그램 인식 기반의 동적 데이터 배치를 가능하게 하여 대역폭과 용량을 최적화할 수 있는가?
  • RQ4소프트웨어 기반 데이터 관리가 하이브리드 메모리 시스템에서 스트림 분석 워크로드에 대해 하드웨어 투명한 메모리 관리보다 얼마나 더 효과적인가?
  • RQ5비록 HBM만을 사용하여 핵심 그룹화 데이터 구조를 유지하더라도 스트림 엔진이 1초 이내의 출력 지연과 수천만 건의 레코드를 초당 처리할 수 있는가?

주요 결과

  • StreamBox-HBM는 하이브리드 HBM-DRAM을 사용하는 64코어 인텔 노턴스 랜딩 시스템에서 초당 1억 1000만 건의 레코드와 238GB/s 메모리 대역폭을 달성한다.
  • KPAs 없이 순차적 액세스 알고리즘을 사용하는 엔진 대비 처리량에서 7배 향상된다.
  • DRAM에서 랜덤 액세스 해싱 알고리즘을 사용하는 엔진 대비 순차적 액세스 알고리즘을 사용한 엔진 대비 대역폭 향상에 10배 이상의 성능 향상을 보였다.
  • 시스템은 워크로드와 자원 사용량에 기반해 KPA의 HBM 및 DRAM에 대한 동적 배치를 관리하여 HBM 프로파일을 최소화하면서도 대역폭 활용도를 극대화한다.
  • HBM에 저장된 KPAs에서 순차적 정렬을 사용함으로써 HBM의 제한된 용량에도 불구하고 고성능을 달성했으며, 소프트웨어 최적화된 데이터 배치의 효과성을 입증한다.
  • StreamBox-HBM는 하이브리드 HBM-DRAM 메모리 시스템에 특별히 설계되고 최적화된 첫 번째 스트림 분석 엔진이다.

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

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

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

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