openlake-project/openlake
OpenLake is a high performance storage engine for efficient LLM inference and GPU Training
解決する課題
OpenLakeは、GPUワークロード専用に設計された高性能分散ストレージエンジンです。低速なストレージI/Oのボトルネックを解決し、このボトルネックはトレーニングや推論中にGPUをアイドル状態にすることがよくあります。超低レイテンシと高スループットを提供することで、アクセラレータが完全に活用されることを保証します。
仕組み
Rustで構築され、Linuxの io_uring を活用することで、OpenLakeはストレージからGPUメモリまでのパスを最小化します。いくつかの主要なテクノロジーを採用しています:
- ゼロコピー: GPUDirect StorageとRDMAを使用して、ホストCPUやページキャッシュをバイパスし、NVMe/NICとGPUメモリ間でデータを直接移動させます。
- コアローカル非同期I/O: 物理コアごとにピン留めされたランタイムを実行し、コア間の競合を回避します。
- バースト対応RDMA: クレジットベースのフロー制御を実装し、受信側の過負荷を防ぎ、テールレイテンシを保護します。
- イレージャーコーディング: 耐久性があり容量効率の高いストレージのために、SIMDリードソロモンイレージャーコーディングを使用します。
- KVキャッシュオフロード: LLM推論エンジン(vLLMなど)が、GPUフリート全体でペタバイトスケールのKVキャッシュをオフロードおよび取得できるようにします。
対象者
LLM推論コストの最適化、モデルトレーニングの高速化、AIエージェント向けの大規模なコンテキストストレージの管理が必要なAIインフラエンジニアやML実践者を対象としています。
ハイライト
- 極限のパフォーマンス: 1ms以内で100万以上のIOPSを提供し、MLPerf Storage v3.0オブジェクトチェックポイントベンチマークでトップに立ちました。
- S3互換性: GPUフリート向けにS3互換のオブジェクトストアを提供します。
- KVキャッシュ管理: GPUノード間でプレフィックスをキャッシュすることにより、長く繰り返されるプロンプトの最初のトークンまでの時間(TTFT)を大幅に短縮します。
- ロスレス圧縮: コストを削減するためのBF16 KVキャッシュ用ロスレスGPUコーデックであるExANSを含んでいます。
- 幅広い有用性: VectorDB向けの高速インデックス構築と、RL/MLワークロード向けの超高速チェックポイントをサポートします。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト