オープンソースの分散SQLエンジン「Presto」がNVIDIA GPU上で稼働することで、大規模データセットに対する対話的クエリの処理性能が大幅に向上している。NVIDIA GB200 NVL72上でのベンチマークでは、マルチノードCPUクラスタに対して最大8倍のレイテンシ低減が確認された。この差を生む主要因は、NVIDIAのGPU間通信技術NVLinkやGPUDirect Storageによるデータ転送の最適化にある。

GPUワーカー8基搭載DGX B200、10ノード分のCPU処理を単一ボックスで代替

NVIDIA DGX B200は1台の筐体に8基のGPUを搭載し、各GPUがPrestoのワーカープロセスを実行する。これらのGPU間は第5世代NVLinkで接続され、双方向1,800 GB/sの帯域幅を持つ。TPC-Hベンチマークから派生した22種の分析クエリを用いた計測では、スケールファクター1Kのデータセットに対し、8ノードのIntel Xeon 6642Yサーバーで構成されたCPUクラスタの実行時間を、単一DGX B200が下回る結果となった。スケールファクター3KではCPU側が10ノード構成でも、GPU単一ノードとの差は縮まらない。演算密度の高い分析ワークロードでは、CPU台数を増やすよりもGPU内部の並列処理と高速なチップ間通信を活かす方がレイテンシ低減に直結することを示している。

GB200 NVL72がもたらすGPU間通信の高速化とクエリ性能の相関

GB200 NVL72は複数ノードをNVLinkで密結合したラック単位のGPUシステムで、DGX B200よりも大規模なGPU間協調処理が可能になる。今回の検証では、GPUワーカー数を増やすことでTPC-Hクエリの実行時間が段階的に短縮され、アクティブなGPU数に応じたレイテンシ低下が観測された。GPU間のデータ交換にはUcxExchangeが用いられ、ワーカー間の不要なデータコピーを回避している。これにより、複数GPUにまたがる大規模な分散クエリでも、通信遅延がボトルネックになりにくい構造が成立している。分析ツールの応答性能がGPU数に比例して改善されるため、データサイズ拡大に対して柔軟に対応できる設計と言える。

cuDFによるクエリ実行とクエリ書き換えの実践ノウハウ

GPU加速Prestoの実行基盤を担うのは、NVIDIA cuDFライブラリによるクエリ実行エンジンである。cuDFはGPU上でデータフレーム操作を高速処理する機能を提供し、SQLの各オペレーションをGPUカーネルとして実行する。さらに検証では、GPUのメモリ階層やスレッド割り当てを考慮したクエリの書き換えが適用され、特定のクエリパターンで追加の性能向上が確認された。これらのチューニングは、単にハードウェア性能に依存するのではなく、GPUリソースを効率的に利用するためのソフトウェア設計の重要性を示している。オープンソースのVeloxやcuDFを用いたビルドがGitHubで公開されており、実装レベルの再現性も担保されている。