[論文レビュー] EMOGI: Efficient Memory-access for Out-of-memory Graph-traversal In GPUs
EMOGIは、GPUメモリに収まらないグラフに対するGPUベースのグラフ走査において、直接的なキャッシュラインサイズのメモリアクセスメカニズムを提案する。UVMのページフォールトオーバーヘッドを回避するため、外部メモリ要求をコalescingおよびアラインメントすることで実現される。EMOGIは、PCIe帯域幅の効率的利用とI/Oアンプリフィケーションの最小化により、最適化されたUVM実装と比較して2.60×の高速化を達成する。
Modern analytics and recommendation systems are increasingly based on graph data that capture the relations between entities being analyzed. Practical graphs come in huge sizes, offer massive parallelism, and are stored in sparse-matrix formats such as CSR. To exploit the massive parallelism, developers are increasingly interested in using GPUs for graph traversal. However, due to their sizes, graphs often do not fit into the GPU memory. Prior works have either used input data pre-processing/partitioning or UVM to migrate chunks of data from the host memory to the GPU memory. However, the large, multi-dimensional, and sparse nature of graph data presents a major challenge to these schemes and results in significant amplification of data movement and reduced effective data throughput. In this work, we propose EMOGI, an alternative approach to traverse graphs that do not fit in GPU memory using direct cacheline-sized access to data stored in host memory. This paper addresses the open question of whether a sufficiently large number of overlapping cacheline-sized accesses can be sustained to 1) tolerate the long latency to host memory, 2) fully utilize the available bandwidth, and 3) achieve favorable execution performance. We analyze the data access patterns of several graph traversal applications in GPU over PCIe using an FPGA to understand the cause of poor external bandwidth utilization. By carefully coalescing and aligning external memory requests, we show that we can minimize the number of PCIe transactions and nearly fully utilize the PCIe bandwidth even with direct cache-line accesses to the host memory. EMOGI achieves 2.92$ imes$ speedup on average compared to the optimized UVM implementations in various graph traversal applications. We also show that EMOGI scales better than a UVM-based solution when the system uses higher bandwidth interconnects such as PCIe 4.0.
研究の動機と目的
- GPUメモリ容量を超えるグラフが存在する場合のGPUベースのグラフ走査における性能ボトルネックを解消すること。
- 不規則でスパースなグラフワークロードにおいて、統合仮想メモリ(UVM)がなぜ性能を発揮できないかを調査すること。その理由は、I/Oリードアンプリフィケーションと帯域幅の低効率利用に起因する。
- ホストメモリへの細粒度のキャッシュラインサイズのメモリアクセスが、長時間のレイテンシに耐えうる高帯域幅を維持できるかどうかを検討すること。
- UVMや事前処理に依存せずに、PCIeトランザクションを最小限に抑え、有効なメモリスループットを最大化するシステムを設計すること。
- 直接メモリアクセスがUVMベースのアプローチを上回り、PCIe 4.0のような高帯域幅インタコネクトとより良好にスケーリングすることを実証すること。
提案手法
- FPGAを用いてPCIe経由のGPUメモリアクセスパターンを分析し、UVMベースのグラフ走査における非効率性を同定する。
- UVMのページ単位の移行に依存せず、ホストメモリへの直接的なキャッシュラインサイズのアクセスを実装する。
- PCIeトランザクション数を削減し、データ転送効率を向上させるために、メモリ要求をコalescingおよびアラインメントする。
- レイテンシを最小限に抑え、利用可能なPCIe帯域幅を最大限に活用するようにメモリアクセスパターンを最適化する。
- 明示的なメモリ管理やグラフの事前処理を必要とせず、主要なグラフ走査カーネル(例:BFS、SSSP)に最適化されたアクセスパターンを統合する。
- 複数のグラフワークロードおよびインタコネクトを対象に性能を評価し、最適化されたUVMおよび先行の最先端手法と比較する。
実験結果
リサーチクエスチョン
- RQ1ホストメモリへの直接的なキャッシュラインサイズのメモリアクセスは、GPUグラフ走査において長時間のレイテンシに耐えうる高帯域幅を維持できるか?
- RQ2不規則でスパースなグラフワークロードにおいて、UVMは透明なメモリ管理を提供しているにもかかわらず、なぜ外部メモリ帯域幅の利用効率が低いのか?
- RQ3メモリ要求のコalescingおよびアラインメントによって、PCIeトランザクション数をどの程度削減でき、有効スループットを向上させられるか?
- RQ4PCIe 4.0のようなより高い帯域幅を有するインタコネクトにおいて、EMOGIの性能はUVMベースのソリューションと比較してどの程度スケーリングするか?
- RQ5事前処理、再配置、ハードウェア変更を一切行わず、EMOGIがUVMベースのシステムを上回ることができるか?
主な発見
- EMOGIは、さまざまなグラフ走査ワークロードにおいて、最適化されたUVM実装と比較して平均2.60×の高速化を達成する。
- 性能向上の背景には、細粒度のアクセスにより不要な4KBページ全体ではなく必要なバイトのみをフェッチすることで、I/Oリードアンプリフィケーションを排除したことにある。
- 要求のコalescingおよびアラインメントによりトランザクション数を最小限に抑え、EMOGIはPCIe帯域幅をほぼ完全に活用する。
- ページフォールト処理のオーバーヘッドに依存しないため、PCIe 4.0のようなより高い帯域幅のインタコネクトと併用した場合、EMOGIはほぼ線形にスケーリングする。
- このアプローチは、既存のUVM最適化技術(例:プリフェッチ、メモリヒント、グラフ再配置)と直交しており、それらと組み合わせることでさらなる性能向上が可能である。
- この手法はライブラリとして導入可能であり、アプリケーションレベルの変更なしに透明に性能向上を実現できる。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。