openlake-project/openlake

OpenLake is a high performance storage engine for efficient LLM inference and GPU Training

What it solves

OpenLake 旨在消除 AI 基礎設施中的瓶頸,透過縮短資料從儲存裝置搬移至 GPU 記憶體的時間。它解決了主機 CPU、頁面快取以及多個使用者空間複製所帶來的開銷,這些因素通常會拖慢訓練與推論叢集的效能。

How it works

OpenLake 是以 Rust 與 io_uring 建置的分散式物件儲存,採用 thread-per-core 架構。它運用了多項高效能技術:

  • Zero-copy data movement:使用 GPUDirect Storage 與 RDMA,直接將資料從網路介面卡 (NIC) 傳入 GPU VRAM,繞過主機記憶體與核心。
  • Bypassing the kernel:HTTP 前端與儲存引擎在同一執行緒上運行,避免請求跨核心傳遞。
  • Efficient storage:使用 SIMD Reed Solomon 離散編碼,在維持高吞吐的同時降低儲存成本。
  • Congestion control:實作 PacedRDMA,一種基於信用的機制,用以處理請求突發並最小化尾端延遲。

Who it’s for

此專案適合開發者與工程師,特別是負責建置 AI 基礎設施、管理高吞吐量 GPU 工作負載(訓練與推論)的使用者。

Highlights

  • High Performance:提供超過百萬 IOPS,且延遲低於 1 毫秒。
  • S3 Compatibility:可使用任何標準 S3 客戶端進行互動。
  • Rust-based:以 Rust 語言打造,確保安全與記憶體效能。
  • Hardware Acceleration:利用 GPUDirect Storage 與 RDMA,達到最高吞吐量。