GPUネイティブなVeloxとcuDFで加速する大規模データ分析の実現
IBMとNVIDIAが協力し、GPUネイティブなデータ分析基盤の実現に向けた進展を発表した。GPUを活用したデータ処理は、CPUベースのシステムに比べて、メモリ帯域幅とスレッド数の優位性から、複雑な結合や集計、文字列処理などの計算集約型ワークロードで顕著な性能向上を実現している。この技術を実現する鍵となるのが、NVIDIAのcuDFと、オープンソースの実行エンジンVeloxの統合だ。 Veloxは、PrestoやApache Sparkなどの主流データフレームワークのクエリ計画を、GPUで実行可能なパイプラインに変換する中間層として機能する。特にPrestoでは、cuDFバックエンドにより、TableScan、HashJoin、HashAggregationといった主要演算子がGPU対応化され、エンドツーエンドのGPU実行が可能になった。実測では、スケールファクター1,000のTPC-Hベンチマークにおいて、Presto on GPU(NVIDIA GH200)が99.9秒で全21件のクエリを完了したのに対し、CPUベースのPresto C++では1,246秒と、約12倍の高速化が達成された。 さらに、複数GPU環境では、UCX(Unified Communication – X)ベースのExchange演算子を活用することで、GPU間のデータ移動を高速化。NVIDIA DGX A100(8GPU)環境では、NVLinkを活用したGPU間通信により、従来のHTTPベースの交換方式と比べて6倍以上の速度向上が確認された。 Apache Sparkでは、Apache GlutenとcuDFを連携させ、ハイブリッドCPU/GPU環境で特定の処理ステージ(例:TPC-DS Query 95の第二段階)をGPUにオフロードする仕組みを実装。CPUリソースを維持しつつ、計算負荷の高い処理をGPUで処理することで、全体の実行時間の短縮を実現。単一GPU環境でも、CPUとGPUの効果的な連携により、処理速度が顕著に改善された。 この取り組みはオープンソースとして進展しており、VeloxのGPU演算子の共有により、PrestoやSparkをはじめとする多くのデータ処理システムが、GPU加速を容易に活用できるようになる。IBMとNVIDIAの開発チームは、この技術のさらなる拡張とコミュニティへの貢献を呼びかけている。