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 实现最大吞吐量。