Skip to main content
QUICK REVIEW

[論文レビュー] PIUMA: Programmable Integrated Unified Memory Architecture

Sriram Aananthakrishnan, Nesreen K. Ahmed|arXiv (Cornell University)|Oct 13, 2020
Graph Theory and Algorithms参考文献 10被引用数 14
ひとこと要約

PIUMAは、多数の単純で高並列なコア、細粒度の8バイトメモリアクセス、および強力なオフロードエンジンを備えた、グラフ最適化アーキテクチャである。このアーキテクチャは、スパースで不規則なグラフワークロードにおける従来のプロセッサの非効率を克服する。SpMSpVワークロードにおいて、16ノードのPIUMAは、スケールアップで4スケットXeonサーバーと比較して最大1,387倍の高速化を達成しており、効率的なスケーリングと低遅延のリモートメモリアクセスにより、従来のマルチノードシステムをはるかに上回る性能を発揮する。

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 gatherオフロード操作を専用エンジンで実装し、データ移動を最小限に抑え、計算とデータ転送を重ね合わせる。
  • スパース行列のインデックス(非ゼロ行エントリ)のみをキャッシュし、メモリトラフィックを削減する。一方、ベクタアクセスは8バイト粒度でキャッシュしない。
  • 収集したベクタ要素をスクラッチパッドメモリに格納することで、ロード命令を削減し、効率的な乗算加算演算を可能にする。
  • 不規則なメモリアクセスパターンに対処し、コアのアイドル時間を削減する強力なオフロードエンジンを統合し、全体的なメモリ/コンピューティングの重なりを向上させる。

実験結果

リサーチクエスチョン

  • RQ1細粒度のメモリアクセスとマススケーリングによるマルチスレッディングを備えたプロセッサアーキテクチャは、従来プロセッサと比較して、不規則でスパースなグラフワークロードにおいて顕著なパフォーマンス向上を達成できるか?
  • RQ2グローバルに共有されたアドレス空間と統合型メモリアーキテクチャは、複数ノードにまたがるグラフアナリティクスにおけるスケーリングをどのように向上させるか?
  • RQ3メモリ集約的で不規則なワークロード(例:グラフ走査やスパース行列演算)において、大容量キャッシュラインやプリフェッチを回避することで、パフォーマンスにどのような影響を与えるか?
  • RQ4オフロードエンジンとスクラッチパッドベースのデータ収集は、メモリ帯域幅の圧力をどれほど軽減し、コンピューティング効率を向上させられるか?
  • RQ5共同最適化されたハードウェア・ソフトウェアスタックは、大規模なグラフアナリティクスにおいてDARPA HIVEプログラムの1,000倍のパフォーマンス・パーウォット目標を達成できるか?

主な発見

  • 1つのPIUMAノードは、多様なグラフワークロードにおいて4スケットXeonサーバーと比較して6.9倍から93倍の高速化を達成しており、特に計算負荷が低く不規則性の高いアプリケーション(例:ランダムウォーク)では279倍の高速化を達成した。
  • 16ノードのPIUMAシステムは、16ノードのXeon構成と比較して111倍から1,387倍の高速化を達成しており、従来システムと比較して顕著なスケーリング性能と性能ギャップの拡大を示している。
  • キャッシュしない8バイトメモリアクセスの採用により、帯域幅の飽和を防ぎ、スパースベクタアクセスのキャッシュ化によって生じるパフォーマンス劣化を回避している。
  • DMA gatherオフロード操作により、ロード命令の削減とデータ移動の最小化が実現され、SpMVワークロードでは47%のパフォーマンス向上が得られ、Xeonと比較して合計で29倍の高速化を達成した。
  • 不要なプリフェッチや重複データ転送による帯域幅の無駄を回避し、95%を超えるメモリ帯域幅利用率を達成した。
  • PIUMAのアーキテクチャ設計により、計算とメモリアクセスの効率的な重なりが実現され、他のスレッドが停止していてもスレッドが進行を継続できるため、リソース利用効率が顕著に向上した。

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

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

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

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