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ワークロード向けの超高速チェックポイントをサポートします。

関連

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