github.devotd.
NewInference & serving

ovg-project/kvcached v0.1.6 — Elastic KV cache for shared GPUs

ovg-project/kvcached v0.1.6 is a KV cache daemon that allocates GPU memory elastically to support LLM serving and training in shared environments.

Repositoryovg-project/kvcached ↗

Virtualized Elastic KV Cache for Dynamic GPU Sharing and Beyond

stars
★ 1.8K
Forks
216
Language
Python
License
Apache-2.0
Latest release
v0.1.6
Read original source ↗View on GitHub ↗

ovg-project/kvcached is a KV cache daemon that supports LLM serving and training in shared GPU environments. The latest release published on GitHub is v0.1.6. The provided materials do not specifically list what changed in this version. The core of the project is the way it separates GPU virtual addresses from actual physical memory allocation. It reserves the virtual region first, then attaches physical GPU memory when it is actually used, allocating the KV cache elastically.

This design aims to address the KV cache memory bottleneck when multiple models share a GPU. Memory can be allocated and reclaimed according to traffic, which can be used to bring models up or down. As of v0.1.6, vLLM is supported from v0.17.0 onward and has been verified up to v0.30.0, and SGLang is supported from v0.5.11 onward and has been verified up to v0.5.20. It also includes automatic prefix caching, pipeline parallelism, idle model sleep, and memory cap control. It supports Python 3.10 through 3.13 and is released under the Apache-2.0 license.

The README does not present figures for memory savings or performance improvements in the body and instead refers to an external blog post. As a result, the features and supported engine ranges can be confirmed, but the size of the benefit obtained in actual operations is difficult to judge from the provided materials alone. It provides a concrete implementation as a memory management method for shared GPUs, but the effect of adoption is still at a stage that requires separate verification.