Accelerating Sampling and Aggregation Operations in GNN Frameworks with GPU Initiated Direct Storage Accesses

要約

グラフ ニューラル ネットワーク (GNN) は、グラフ構造のデータから学習し、さまざまなアプリケーション ドメインで高度な推論タスクを実行するための強力なツールとして登場しています。
GNN は中程度のサイズのグラフでは効果的であることが示されていますが、効率的なデータ アクセスおよびデータ移動方法が不足しているため、大規模なグラフで GNN をトレーニングすることは依然として大きな課題です。
GNN をトレーニングするための既存のフレームワークは、グラフのサンプリングと特徴の集約に CPU を使用しますが、モデルの重みのトレーニングと更新は GPU で実行されます。
ただし、詳細なプロファイリングでは、CPU が GNN モデルのトレーニング スループットを飽和させるのに必要なスループットを達成できず、高価な GPU リソースが大幅に活用されていないことが示されています。
さらに、グラフとその埋め込みが CPU メモリに収まらない場合、オペレーティング システムによって発生するオーバーヘッド (ページ フォールトの処理など) が実行のクリティカル パスに発生します。
これらの問題に対処するために、CPU メモリ、ストレージ、ハイブリッド GPU メモリなどのすべてのハードウェア リソースを効率的に利用しながら、大規模なグラフに対する GPU 指向の GNN トレーニングを可能にする、GPU Initiated Direct Storage Access (GIDS) データローダーを提案します。
データ配置戦略。
GPU スレッドがストレージから特徴ベクトルを直接フェッチできるようにすることで、GIDS データローダーは、GPU 指向の GNN トレーニングのメモリ容量の問題を解決します。
さらに、GIDS データローダーは GPU 並列処理を利用してストレージの遅延を許容し、高価なページフォールトのオーバーヘッドを排除します。
そうすることで、局所性を活用し、GNN トレーニングの有効帯域幅を増やすための新しい最適化を設計できるようになります。
テラバイト規模の GNN データセットで単一の GPU を使用した評価では、現在の最先端の DGL データローダーと比較して、GIDS データローダーが DGL GNN トレーニング パイプライン全体を最大 392 倍高速化することがわかりました。

要約(オリジナル)

Graph Neural Networks (GNNs) are emerging as a powerful tool for learning from graph-structured data and performing sophisticated inference tasks in various application domains. Although GNNs have been shown to be effective on modest-sized graphs, training them on large-scale graphs remains a significant challenge due to lack of efficient data access and data movement methods. Existing frameworks for training GNNs use CPUs for graph sampling and feature aggregation, while the training and updating of model weights are executed on GPUs. However, our in-depth profiling shows the CPUs cannot achieve the throughput required to saturate GNN model training throughput, causing gross under-utilization of expensive GPU resources. Furthermore, when the graph and its embeddings do not fit in the CPU memory, the overhead introduced by the operating system, say for handling page-faults, comes in the critical path of execution. To address these issues, we propose the GPU Initiated Direct Storage Access (GIDS) dataloader, to enable GPU-oriented GNN training for large-scale graphs while efficiently utilizing all hardware resources, such as CPU memory, storage, and GPU memory with a hybrid data placement strategy. By enabling GPU threads to fetch feature vectors directly from storage, GIDS dataloader solves the memory capacity problem for GPU-oriented GNN training. Moreover, GIDS dataloader leverages GPU parallelism to tolerate storage latency and eliminates expensive page-fault overhead. Doing so enables us to design novel optimizations for exploiting locality and increasing effective bandwidth for GNN training. Our evaluation using a single GPU on terabyte-scale GNN datasets shows that GIDS dataloader accelerates the overall DGL GNN training pipeline by up to 392X when compared to the current, state-of-the-art DGL dataloader.

arxiv情報

著者 Jeongmin Brian Park,Vikram Sharma Mailthody,Zaid Qureshi,Wen-mei Hwu
発行日 2023-06-28 17:22:15+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, Google

カテゴリー: cs.AI, cs.AR, cs.DC, cs.LG パーマリンク