Skip to main content
QUICK REVIEW

[論文レビュー] StreamBox-HBM: Stream Analytics on High Bandwidth Hybrid Memory

Hongyu Miao, Myeongjae Jeon|arXiv (Cornell University)|Jan 4, 2019
Advanced Database Systems and Queries参考文献 47被引用数 16
ひとこと要約

StreamBox-HBM は、HBM に格納されたキー・ポインタ配列 (KPAs) に対して順序アクセスのソートを用いることで、ハイブリッド HBM-DRAM システム上で性能を最適化するストリーム分析エンジンである。HBM の高帯域幅を最大限に活用しながら、容量使用量を最小限に抑えるために、動的データ配置管理を実施する。64コアの Intel Knights Landing プラットフォーム上で、1秒間に1億1000万件のレコード処理と238 GB/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) を構築することで、メモリフットプリントを最小限に抑える。
  • KPAs に対して順序アクセスの並列ソート、マージ、およびベクトル化された演算を実施し、HBM の高帯域幅と低レイテンシーを活用してグループ化データの処理を最適化する。
  • 順不同のバンドル処理を実装することで、データ並列性とパイプライン並列性を露呈し、Knights Landing の64コア上で動的かつバランスの取れたワークロード分散を実現する。
  • 実行時リソース使用状況とワークロード特性に基づき、完全なレコードは DRAM に、KPAs のメタデータのみを HBM に割り当てることで、ハイブリッドメモリ配置を管理する。
  • ストリーミングウィンドウをバンドルに分割することで、タスクレベルの並列性を実現し、スループットと低出力遅延の両方を最適化する。
  • 従来の DRAM 上でのハッシュベースのグループ化とは対照的に、広いベクトル命令と順序アクセスに有利なメモリアクセスパターンを活用する。

実験結果

リサーチクエスチョン

  • RQ1HBM 上で順序アクセスアルゴリズムを用いることで、DRAM 上のランダムアクセスハッシュアルゴリズムを上回る性能が、ストリーム分析のグループ化処理で達成可能か?
  • RQ2限られた HBM 容量を効果的に管理することで、高スループットのストリーミング処理におけるパフォーマンスを最大化できるか?
  • RQ3HBM と DRAM 間での動的かつアプリケーションに適応したデータ配置管理を実現するランタイムメカニズムは、帯域幅と容量の両方の最適化にどのように寄与するか?
  • RQ4ストリーム分析ワークロードにおいて、ソフトウェア駆動型データ管理が、ハイブリッドメモリシステムのハードウェア透過なメモリ管理を上回る程度はどの程度か?
  • RQ5HBM のみを用いて、重要なグループ化データ構造を保持することで、サブ秒未塔の出力遅延と数千万件/秒のレコード処理を達成できるストリームエンジンは可能か?

主な発見

  • StreamBox-HBM は、ハイブリッド HBM-DRAM を搭載した64コアの Intel Knights Landing システム上で、1秒間に1億1000万件のレコード処理と238 GB/s のメモリ帯域幅を達成した。
  • KPAs を使用しない順序アクセスアルゴリズムを用いるストリームエンジンと比較して、スループットで7倍の向上を達成した。
  • DRAM 上でランダムアクセスハッシュアルゴリズムを用いるエンジンと比較して、1桁の性能向上を達成した。
  • システムは、ワークロードとリソース使用状況に基づいて、KPAs の HBM と DRAM への動的配置管理を実施し、HBM フットプリントを最小限に抑えながら帯域幅の利用効率を最大化した。
  • HBM 上で KPAs を用いた順序ソートの活用により、HBM の限られた容量をもかかわらず高い性能を実現した。これは、ソフトウェア最適化によるデータ配置の有効性を示している。
  • StreamBox-HBM は、ハイブリッド HBM-DRAM メモリシステムに特化して設計・最適化された、初めてのストリーム分析エンジンである。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。