openlake-project/openlake
OpenLake is a high performance storage engine for efficient LLM inference and GPU Training
OpenLake – Fast, Distributed Storage for LLM Inference & Training
What it is
- OpenLake is an open‑source storage engine written in Rust, built on Linux
io_uringand RDMA. It is designed to keep data movement between NVMe/SSD, network, and GPU memory ultra‑low‑latency, targeting the massive KV‑cache and checkpointing needs of large language model (LLM) workloads.
Why it matters
- LLM inference and training spend a lot of time waiting for small, random reads/writes (e.g., KV‑cache look‑ups, checkpoint shards). OpenLake promises million‑plus IOPS and sub‑millisecond latency, which translates into up to 8× higher throughput and 66× faster time‑to‑first‑token in the authors’ benchmarks.
Key capabilities
| Feature | What it does |
|---|---|
| KV‑Cache Offload | Stores petabyte‑scale key‑value cache on a distributed pool of GPU‑host nodes, letting many GPUs share the same cache and avoid repeated pre‑fill work. |
| VectorDB support | Fast index building and vector serving directly from the storage layer. |
| Ultra‑fast checkpointing | Low‑latency object store for RL and training checkpoints, reducing GPU idle time. |
| Model‑training I/O | Optimised for small‑file random reads/writes, cutting training‑time overhead. |
| Context storage | Persists massive conversation histories for retrieval‑augmented agents. |
| Zero‑copy GPUDirect | With RDMA or GPUDirect‑Storage, data can move straight from NVMe/ NIC to GPU memory without staging in host RAM. |
| Burst‑aware RDMA (PacedRDMA) | Credit‑based flow control prevents network congestion during request spikes, keeping tail latency low. |
| Erasure‑coded durability | SIMD Reed‑Solomon coding spreads data + parity across drives, offering fault tolerance with less overhead than full replication. |
Typical use‑cases
- Scaling KV‑cache for multi‑GPU inference servers (e.g., vLLM, DeepSpeed).
- Providing a high‑throughput object store for checkpoint files in large‑scale training pipelines.
- Back‑ending a VectorDB that needs sub‑millisecond vector look‑ups.
- Enabling agentic systems that store and retrieve huge conversation histories in real time.
Getting started
- Install the Python connector (for vLLM integration):
pip install openlake-vllm openlaked # starts a local OpenLake daemon - Run vLLM with the connector:
For multi‑node clusters, startexport PYTHONHASHSEED=0 vllm serve <model_name> \ --kv-transfer-config '{"kv_connector":"OpenLakeConnector","kv_connector_module_path":"openlake_client.openlake_connector","kv_role":"kv_both","kv_connector_extra_config":{"openlake_nodes":["127.0.0.1:9400"],"openlake_device":"local"}}'openlakedon each GPU host (optionally with an RDMA‑specific TOML config) and point vLLM to the list of node addresses. - Or use it as an S3‑compatible object store:
# Build from source (Ubuntu example) sudo apt-get install -y build-essential pkg-config clang cmake libhwloc-dev libudev-dev curl git awscli curl -sSf https://sh.rustup.rs | sh -s -- -y && . $HOME/.cargo/env git clone https://github.com/openlake-project/openlake.git && cd openlake cargo build --release --bin openlaked mkdir -p data/d0 data/d1 data/d2 data/d3 ./target/release/openlaked --config crates/openlake_server/configs/storage-tcp-local.toml # Talk to it with any S3 client export AWS_ACCESS_KEY_ID=openlakeadmin export AWS_SECRET_ACCESS_KEY=openlakeadmin export AWS_DEFAULT_REGION=us-east-1 aws --endpoint-url http://127.0.0.1:9000 s3 mb s3://demo aws --endpoint-url http://127.0.0.1:9000 s3 cp ./checkpoint.safetensors s3://demo/
Architecture snapshot
- Core runtime – One pinned
compioasync runtime per physical CPU core, using Linuxio_uringfor low‑overhead I/O. - Zero‑copy path – GPUDirect Storage + RDMA lets data travel directly from NVMe or NIC to GPU memory.
- Burst‑aware networking – PacedRDMA throttles senders during traffic spikes to protect latency.
- Durability – SIMD Reed‑Solomon erasure coding spreads data across drives, offering fault tolerance with minimal space overhead.
Community & support
- Discord community: https://discord.gg/TNXqVSnP6x
- Blog with performance results and deep‑dive posts: https://theopenlake.com/blog
- Documentation and configuration examples live under
docs/andcrates/openlake_server/configs/.
License
- Apache License 2.0 (permissive, commercial‑friendly).
OpenLake is positioned as the storage layer that keeps modern GPU farms fed, reducing idle time and cost for both inference and training of large language models.
Related
- Dispatch
- Project
- Project
- Project
- Dispatch