Fluxon 是一套面向世界模型与其他 AI-native 场景训推系统的高性能分布式通信与缓存基座,用同一套 Rust 实现的存传一体底座统一提供 KV/RPCMQFS 三类接口,重点解决三类问题:推理侧 KVCachelatent cache 的跨进程、跨节点复用,异构资源池之间的解耦弹性消息传输,以及面向 AI 数据、模型文件的远端访问、S3 转发、缓存加速和跨集群大规模数据搬迁。随着 GPU 性能越来越强,CPU 和 IO 链路的性能瓶颈和资源浪费被逐渐放大,越来越需要沉淀出更高效的基础设施来负责这部分高性能工作,并且复用到不同的业务场景中。Fluxon 的做法是先用 Rust 收束底层“存”和“传”的复杂度,再向上提供面向场景的 KV/RPCMQFS 接口。

底座能力

  • 全链路 Rust:把连接处理、协议编解码、状态机推进、共享内存管理和观测采集收进 Rust 热路径
  • 存传一体:优先走跨进程共享内存快路径,把“存”和“传”放进同一套数据面统一优化
  • 跨节点高性能传输:集群内优先使用 RDMA,并支持 TCP 自动兜底切换,以及通过界面动态启停和切换网卡
  • 自动跨节点中继:支持跨节点、跨子集群的自动 relay / 中继转发,收敛复杂网络拓扑带来的接入成本
  • 全局内存分配与治理:统一管控全局内存分配、对象生命周期、容量边界和回收策略,避免资源碎片化与失控膨胀
  • 统一角色模型:masterowner_clientexternal_client 分层协作,把控制面和数据面组织成可扩展的树状拓扑,也把业务服务进程从数据面资源治理和底层通信链路里解耦出来
  • 统一对象接口:由系统统一组织多字段对象,平衡接口灵活性、使用简单性和底层优化空间
  • 张量原生零拷贝交接路径:更适合高频张量对象在缓存与传输路径中的复用
  • 统一观测:基于 Prometheus 协议和 Greptime 收束 metric / trace / log,并内置完善的 GUI,用于观测集群成员状态、log 信息、关键指标和拓扑结构
  • 三类接口复用:KV/RPCMQFS 共用缓存、传输、租约、容量治理和观测能力

更多使用说明见 用户文档

接口能力

Fluxon KV/RPC 接口

面向世界模型推理缓存、状态共享、服务间调用和张量对象复用。在多视角潜在空间预测、状态外推和前缀缓存复用场景下,Fluxon KV/RPC 提供的是更通用的 AI 数据面,而不只是面向单一 KVCache 的专项能力。

  • 本地缓存副本与最终一致性读路径:优先命中本地快路径,后台异步同步元数据
  • 批量回收与热点治理:通过 batch_delete 异步推进失效清理,并结合 TinyLFU 更高效地复用热点对象
  • 同时管控 AI Workload 中的 L2L3:让全局数据对象可索引、可定位、可复用,减少多级缓存重复驻留带来的冗余内存浪费
  • KV 与 RPC 协同:同一套参数组织、缓存和通信底座同时服务状态存储与服务间调用

Fluxon MQ 接口

面向异构训练、数据处理流水线和跨资源池中间态交接。当前端 producer 和后端 consumer 被拆到不同机器、不同资源池甚至不同子集群时,Fluxon MQ 负责把消息保活、容量治理和跨集群放置收束到统一消息层。

  • Lease 保活语义:将消息保活绑定到 channel,确保数据在真正消费前具备有限时域的可靠保留语义
  • channel 级前缀统计与容量治理:持续维护消息数量与容量占用边界,方便扩缩和流量治理
  • 跨集群负载感知放置:结合消费侧位置做 payload 放置决策,尽量缩短预取链路并稳定吞吐
  • 与 KV 协同设计:消息壳和成员元数据留在控制面,大 payload 留在 FluxonKV 数据面,避免重复建设第二套大对象传输链路

Fluxon FS 接口

Fluxon FS 是一款面向 AI 数据与模型文件、兼容 S3 的高性能文件与对象缓存系统,具备读写加速、远端访问、S3 转发、缓存命中及跨集群大规模迁移等功能。面对高分辨率视频、轨迹样本和 Checkpoint 等大文件场景,Fluxon FS 能够将这些复杂的流动与加速需求,完美交付给同一套数据面。

  • 统一缓存体系:直接复用 FluxonKV/RPC 的缓存与通信能力,把文件拆成 KeyValue 片段做分片缓存,实现一套系统同时兼容键值、文件、对象缓存读写加速
  • S3 转发访问:支持面向 AI 数据与模型文件的对象存储访问入口和转发能力
  • Python 文件语义透明接入:尽量保持 open() / read() / write() 的上层使用方式,同时减少系统调用与跨进程开销
  • 小文件 / 大文件读写特化优化:针对不同文件粒度和读写路径分别做并发与链路优化,提升带宽利用率与整体吞吐
  • 跨集群大规模搬迁:支持 PB 级数据迁移,并把缓存、传输和失败恢复放进统一链路

基准测试

benchmark 主要覆盖 RPCKVFS 三类数据面;相关脚本和配置主要位于 fluxon_test_stack/

Fluxon RPC 基准测试

RPC benchmark 主要展示不同消息规模和并发条件下的调用延迟与吞吐表现,用于观察服务间调用链路的稳定性和尾延迟表现。

Fluxon KV 基准测试

TCP benchmark 显示,Fluxon 在 Read-affinityRead-Zipf 两类读多负载上明显高于 MooncakeStoreRedisput_only 当前的主要约束仍在 inflight 元数据判重路径,而不在 payload 传输。

Fluxon FS 基准测试

benchmark 显示,小文件读和大文件写已显著领先 Alluxio,大文件读基本接近,小文件写仍有继续优化空间。

Fluxon MQ 基准测试

MQ 目前主要展示场景问题和数据面设计,自动化运行入口见 test_runner.pyfluxon_test_stack/

运行要求

  • Linux only
  • Python >= 3.10
  • 从源码构建时,Rust 工具链以 rust-toolchain.toml 为准,当前固定为 1.93.0
  • 依赖的外部中间件:最小服务平面需要 etcdgreptime;启用 FluxonFS 的目录传输、预扫描等持久任务状态能力时还需要 TiKV PDTiKV
  • Quick Start 或运行时打包链路会依赖 Docker

快速开始

Quick Start 用于最短路径体验;正式安装、部署和运维入口见 用户文档

KV 快速开始

docker run --rm -it --network host \
  hanbaoaaa/fluxon_quick_start:0.2.1 \
  --mode kv \
  --etcd-client-port 12379 \
  --master-p2p-port 31000 \
  --panel-port 18080 \
  --greptime-http-port 14000 \
  --kv-http-port 8083

进入后可直接输入:

put demo:hello world
get demo:hello
del demo:hello

运行效果:

点开提示链接可以查看 KV Web UI:

对应接口文档:

MQ 快速开始

docker run --rm -it --network host \
  hanbaoaaa/fluxon_quick_start:0.2.1 \
  --mode mq \
  --etcd-client-port 37379 \
  --kv-master-port 34200 \
  --greptime-http-port 14000 \
  --panel-port 18080

进入后可直接输入:

put hello
put world
exit

后台 consumer 会持续打印收到的消息。
启动后会额外打印 MQ Web UI 地址。

运行效果:

对应接口文档:

FS 快速开始

docker run --rm -it --network host \
  hanbaoaaa/fluxon_quick_start:0.2.1 \
  --mode fs \
  --etcd-client-port 36379 \
  --kv-master-port 34100 \
  --greptime-http-port 14000 \
  --panel-port 34180

进入后可直接输入:

ls
echo "hello fs" > notes.txt
cat notes.txt
ui

FS Quick Start 会额外打印:

  • fs_s3 endpoint
  • Basic Auth 入口,默认账号密码是 admin / admin

运行效果:

点开提示链接可以查看 FS Web UI:

对应接口文档:

项目结构

  • fluxon_rs/:Rust 核心实现与底层能力
  • fluxon_py/:Python 接口、运行时与绑定
  • deployment/:部署与运维工具链
  • scripts/:脚本工具与辅助入口
  • setup_and_pack/:打包与发布资源准备入口
  • examples/fluxon_quick_start/:最小可运行环境入口
  • fluxon_test_stack/:测试栈、benchmark 与 gitops 入口

贡献

感谢你的贡献。建议先阅读本地开发者文档:

Contributors

部分更早期的贡献记录已经无法从当前 commit 历史里完整反映,这里补充说明:

yxrxy zTz01 pakkah unity1263 mumupika maplestarplayl RuileLu Summage

  • yxrxy: FluxonFS 实现和优化
  • zTz01: KVCache 优化
  • pakkah: RDMA 支持、VLM 探索
  • unity1263: KV共享内存设计接入、benchmark工具链
  • mumupika: 初始 MQ 版本实现
  • maplestarplayl: IPC 接入、SPDK 接入
  • RuileLu: KV lease 功能支持
  • Summage: 初始 KV 架构设计优化

许可证

Fluxon 基于 Apache License 2.0 开源,见 LICENSE

Star 增长趋势

Stargazers over time

4 items under this folder.