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に基づき、ハードウェアの最大限の利用を実現。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト