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,達到最高吞吐量。