sirius-db/sirius

GPU-native composable analytics engine

何を解決するか

Siriusは、CPUからGPUへのクエリ実行をオフロードすることで、データ分析の高速化を目的としたGPUネイティブSQLエンジンです。既存のSQLクエリやデータベースシステムの変更を必要とせず、大規模なデータ処理において顕著なパフォーマンス向上を実現します。

動作方法

Siriusは、標準のSubstraitクエリ形式を使用して、DuckDBなどの既存データベースに接続します。オプティマイザーフックを介してクエリをインターセプトし、NVIDIA CUDA-Xライブラリ(cuDFおよびRAPIDS Memory Manager(RMM))を使用してGPU上で実行します。

主な技術的特徴:

  • 透明な実行:クエリは自動的にGPUにルーティングされます。対応していない演算子がある場合、システムは静かにCPUにフォールバックします。
  • アウトオブコア処理:GPU、ホストメモリ、ディスクを階層化したメモリシステムでメモリを管理し、データの自動パーティショニングとスパッピングにより、GPUメモリを超えるデータセットを処理できます。
  • メモリピンニング:頻繁に使用されるテーブルをGPUまたはホストメモリに「ピン」することで、後続の実行でファイルI/Oやデコードをスキップできます。
  • ストレージサポート:ParquetファイルとDuckDBネイティブストレージの両方に対応しています。

対象ユーザー

DuckDBや他のSQLエンジンを使用し、大規模なデータセット(例:TPC-Hベンチマーク)を、ワークフローを変更せずに高パフォーマンスなGPU加速で処理したいデータエンジニアやアナリスト。

主な特長

  • シームレスな統合:クエリの再書き換えなしにDuckDBに拡張として接続可能。
  • 高パフォーマンス:特定のハードウェア(DGX Station)でDuckDB比最大5倍の加速を実現。
  • 階層化メモリ:GPU/ホスト/ディスクメモリ管理により、大規模データ処理を効率的に行う。
  • GPUネイティブ:NVIDIA CUDA-XおよびRAPIDSに基づき、ハードウェアの最大限の利用を実現。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト