openlake-project/openlake

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

解决的问题

OpenLake 是一款专为 GPU 工作负载设计的高性能分布式存储引擎。它解决了存储 I/O 缓慢的瓶颈问题,该瓶颈通常会导致 GPU 在训练和推理期间处于空闲状态。通过提供超低延迟和高吞吐量,它确保加速器得到充分利用。

工作原理

OpenLake 使用 Rust 构建并利用 Linux io_uring,将存储到 GPU 内存的路径降至最短。它采用了以下几项关键技术:

  • 零拷贝: 使用 GPUDirect Storage 和 RDMA 在 NVMe/网卡和 GPU 内存之间直接移动数据,绕过主机 CPU 和页缓存。
  • 核心本地异步 I/O: 每个物理核心运行一个固定(pinned)的运行时,以避免跨核心争用。
  • 突发感知 RDMA: 实现基于信用的流控制,以防止接收端过载并保护尾延迟。
  • 纠删码: 使用 SIMD Reed Solomon 纠删码实现持久且具有容量效率的存储。
  • KV 缓存卸载: 允许 LLM 推理引擎(如 vLLM)在 GPU 集群中以 PB 级规模卸载和检索 KV 缓存。

适用人群

它面向需要优化 LLM 推理成本、加速模型训练以及管理 AI 智能体海量上下文存储的 AI 基础设施工程师和机器学习从业者。

核心亮点

  • 极致性能: 在 1ms 内提供超过百万的 IOPS,并在 MLPerf Storage v3.0 对象检查点基准测试中名列前茅。
  • S3 兼容性: 为 GPU 集群提供兼容 S3 的对象存储。
  • KV 缓存管理: 通过在 GPU 节点间缓存前缀,显著减少长提示和重复提示的首字时间(TTFT)。
  • 无损压缩: 包含 ExANS,这是一种用于 BF16 KV 缓存的无损 GPU 编解码器,旨在降低成本。
  • 广泛实用性: 支持为向量数据库(VectorDBs)快速构建索引,以及为强化学习/机器学习(RL/ML)工作负载提供超快检查点功能。

相关

  • 项目
  • 项目
  • 项目
  • 项目