HN 日本語サマリー

← 一覧へ戻る
AI・機械学習

Rust製DBがゲーミングGPUのRTコアで空間クエリを実行し、H100を凌駕

Made a Rust DB run spatial queries on gaming GPU RT cores, beating an H100 (sedona.apache.org)

7 pointsby dr-jia-yu0 コメント

要約

SedonaDB 0.4では、Rustベースのシングルノード空間データベースにGPUアクセラレーションを導入し、ゲーミングGPUのレイトレーシングコアを使って空間結合を高速化しました。これにより、AWS H100よりも高速な性能を発揮することが示され、特に重い空間結合で最大5.93倍の速度向上を達成しました。この新機能は、RayBoosterという拡張機能によって実現され、VLDB 2026に研究論文が採択されました。

全文翻訳

SedonaDB 0.4: GPUアクセラレーションによる空間結合 SedonaDB 0.4では、このRustデータベースに、1,500ドルのゲーミングGPUのレイトレーシングコアで空間結合を実行させ、H100を凌駕しました。 Apache SedonaコミュニティはSedonaDB 0.4.0をリリースし、187の課題を解決し、15人の貢献者から26の新機能を追加しました。SedonaDBは、空間データを第一級オブジェクトとして扱う初のオープンソースのシングルノード分析データベースであり、単一のマシンで実行される小規模から中規模のデータセット向けの分散Sedonaエンジンの対抗馬です。これは、SedonaDB 0.4の新機能に深く踏み込む一連の投稿の第1弾です。今後の投稿では、Python DataFrame API、R dplyrインターフェース、地理サポート、GeoParquet書き込みサポート、N次元ラスタおよびZarrなど、さらに多くのリリース内容を取り上げます。詳細については、0.4.0リリースブログ投稿をご覧ください。今回は、私たちが最も興奮している機能、GPUアクセラレーションによる空間結合から始めます。 GPUアクセラレーションによる空間結合 ゲーミングGPUには、ビデオゲームのライティング用に設計された専用のレイトレーシングコアが搭載されていますが、データベースクエリ中はアイドル状態です。空間結合は交差するジオメトリを見つけることに関係しており、これはレイトレーシングのプリミティブに自然にマッピングされます。私たちは、レイトレーシングコアのアクセラレーションをSedonaDBにもたらすRayBoosterという拡張機能を構築しました。付随する研究論文「RayBooster: A Ray Tracing Engine to Accelerate SedonaDB」はVLDB 2026(業界トラック)に採択され、オハイオ州立大学と共同で開発されました。 仕組み:4つのコンポーネント 1. GPUフレンドリーなストレージレイアウト。ストリーム指向のWKB形式の代わりに、RayBoosterはオフセット、頂点、タイプを分離する配列の構造(Structure of Arrays)を使用し、任意のジオメトリへのO(1)ランダムアクセスを可能にします。 2. 単一のモノリシックインデックス。何百万もの小さなインデックスツリーを構築するのではなく、Zスタッキングを使用します。これは、各ジオメトリのIDをレイトレーシングシーンの未使用のZ軸にエンコードし、バッチ全体に対して1つのグローバルBVHを構築します。 3. ユニバーサル述語エンジン。RelateEngineはRTコアでDE-9IMマトリックス(位相記述子)を計算し、500以上のカーネルバリアントをハードコーディングするのではなく、任意のジオメトリ/述語の組み合わせを解決する1つのコードパスを提供します。 4. メモリを意識した実行。スケジューリングおよびスピリングレイヤーは、不規則な実際のワークロードにおいて、結合がGPUメモリ予算内に収まるように維持し、メモリ不足エラーを防ぎます。 パフォーマンス SpatialBenchでのテスト:重い結合で最大5.93倍の高速化、AWS Q11クロスゾーントリップ結合で59.02%のコスト削減を達成しました。 * CPUでの7.51秒 → コンシューマ向けRTX 3090で1.61秒 – 4.66倍の高速化 * 10倍スケール:53.34秒が7秒未満に短縮 * 大規模な重い結合:GPUモデル全体で4.93倍から9.68倍の高速化 * コンシューマ向けRTX 3090対H100:一部のクエリではゲーミングカードがH100を実際に凌駕しました(Q10で1.26秒対1.77秒)。H100にはRTコアがないにもかかわらずです。 使用方法 NVIDIA GPUを搭載したマシンでは、公式Dockerイメージをプルし、以下の単一コマンドで機能を有効にします。 ```sql ctx.sql("SET gpu.enable = true") ``` GPUアクセラレーションガイドでは、NVIDIA GPUマシンでDockerイメージを起動する方法と、サポートされる計算能力がリストされています。 引用 Liang Geng, Rubao Lee, Dewey Dunnington, Feng Zhang, Jia Yu, and Xiaodong Zhang. "RayBooster: A Ray Tracing Engine to Accelerate SedonaDB." PVLDB, 2026 (Industry Track).