A unified workflow orchestration and distributed KV cache sharing framework for multimodal inference.
As multimodal models rapidly evolve from text-only to image, audio, and video, inference systems face three core challenges: flexible workflow orchestration across heterogeneous components, low-latency data transfer between roles, and safe KV cache & weight sharing among multiple consumers. Omni-Flow addresses these through a three-layer abstraction:
- Control Flow — Exposes a Python DSL for composing heterogeneous computing units into a unified dataflow graph. It supports both static DAGs and dynamic conditional routing, and ships with built-in service discovery and a suite of load-balancing strategies, making it straightforward to wire up arbitrarily complex multimodal pipelines.
- Data Flow — Provides a distributed KV cache abstraction that transcends the conventional prefill/decode boundary. It unifies cache allocation across roles, delivers direct cross-role transmission over a three-tier paged storage hierarchy (GPU → CPU → SSD), and employs zero-copy channels to minimise end-to-end transfer latency.
- Compute Flow — Implements sophisticated multimodal prefix matching for KV reuse across multi-turn dialogues, and assumes full control of KV cache management and sampling logic through a unified SGLang interface. This lets diffusion models share the same LLM forward path and operate under identical parallel semantics without any bespoke adaptation.
📄 See the technical report: arxiv
Omni-Flow builds on top of the official SGLang image. Pull the recommended version before proceeding:
docker pull lmsysorg/sglang:v0.5.10.post1-cu130Note: Use
v0.5.10.post1(without-cu130) if your NVIDIA driver is older than 570 (CUDA < 13.0).
Start a container (adjust volume mounts and GPU flags as needed):
docker run -it --gpus all \
-v /path/to/omni-flow:/workspace/omni-flow \
lmsysorg/sglang:v0.5.10.post1-cu130 bashInside the container (or directly on the host if not using Docker), run:
cd /workspace/omni-flow
git submodule update --init
bash install.shThis will install the project in editable mode along with all required dependencies (including sglang-kernel).
Redis is used for distributed coordination. Choose one of the following options:
Option A — Local Redis (for development / single-node testing):
bash omni_flow/deploy/start_redis.shOption B — External Redis cluster (recommended for production):
If you already have a Redis cluster, set the connection info via environment variables before launching any service:
export REDIS_HOST=<your-redis-host>
export REDIS_PORT=<your-redis-port>
# export REDIS_PASSWORD=<your-redis-password> # if auth is enabledbash omni_flow/examples/deepseek_v2_llm_only/start.sh --foregroundOther launch options:
bash omni_flow/examples/deepseek_v2_llm_only/start.sh # daemon mode
bash omni_flow/examples/deepseek_v2_llm_only/start.sh --foreground # foreground debug
bash omni_flow/examples/deepseek_v2_llm_only/start.sh --stop # stop
bash omni_flow/examples/deepseek_v2_llm_only/start.sh --status # check statusbash omni_flow/examples/deepseek_v2_llm_only/request.sh| Model | Scenario | Example | Description |
|---|---|---|---|
| DeepSeek-V2 | LLM-only streaming inference | deepseek_v2_llm_only/ · README |
Single graph, single role, streaming token output |
| LongCat-Next | Full-modality conversation | longcat_next/ · README |
LLM + Vision Encoder + Audio Encoder + Image Decoder + Audio Decoder (5 roles) |
| HunyuanImage-3 | Image generation pipeline | hunyuan_image3_pipeline/e2e/ · README |
AR + Diffusion, LLM Backbone DiT, t2i/ti2i + CFG |
Omni-Flow uses Ray for distributed deployment, with resource topology declared via resource.yaml:
- Elastic scaling: modify
replicasto scale within a resource group - Layer co-location:
layer: 0determines PG shape;layer ≥ 1layers onto the same physical GPUs - KV Barrier synchronization: ensures accurate HBM evaluation timing in co-located deployments to prevent OOM
See SCHEMA_V2.md and launch/README.md for detailed configuration.
For collaboration or hiring inquiries, please contact: xiaobin14@meituan.com.
@misc{omni-flow2026,
title = {Omni-Flow: A Unified Workflow Orchestration and Distributed KV Cache Sharing Framework for Multimodal Inference},
author = {Bin Xiao and Jingfu Dong and Changran Wang and Yitian Chen and Xiaoyu Zhao and Yuqi Peng and Jianping Lin and Yuchen Xie},
year = {2026},
eprint = {2606.31093},
archivePrefix = {arXiv},
primaryClass = {cs.DC}
}