一个 Rust 写的存储系统,想把 HPC 和 AI 的存储栈统一了

搞过 HPC 集群的人都知道一个尴尬的现实:超算那边跑 Lustre/BeeGFS,AI 那边跑 Ceph 对象存储,LLM 推理还得再搭一套 Redis 做 KV Cache。三套存储栈,三套运维,数据搬来搬去,GPU 利用率不到 50%。

PowerFS 想用一套存储把这三件事全干了。

不是"兼容"那种贴皮换药,而是从零开始用 Rust 写了一套统一存储引擎,把 POSIX 文件接口、S3 对象接口、KV Cache 接口塞进同一个数据池------数据写一次,三种接口都能读。

下面是 6 个我觉得比较有意思的技术点。

1. Rust 写的,没有 GC 抖动

这是第一个值得说的。Java/Go 写的存储系统在满负载下会有 GC Stop-The-World,P99 延迟突然飙到几百毫秒。HPC 场景对抖动零容忍------MPI 同步屏障下,一个进程卡 200ms,整个 job 全等。

PowerFS 全栈 Rust,无 GC,内存安全交给编译器。满负载跑 72 小时,P99 延迟波动 < 5%。没有 STW,没有妥协。

2. 三个接口,一个数据池

POSIX(FUSE/Kernel)给 HPC 科学计算,S3 给 AI 数据集和模型快照,KV Cache 给 LLM 推理。三种接口共享同一份 Needle 二进制格式存储,写一次到处读。

以前要在集群里同时部署 Lustre + Ceph + Redis,现在一套 PowerFS 搞定。运维成本直降,数据不再孤岛。

3. Filer Raft 强一致:元数据不丢不乱

所有元数据操作(mkdir/create/unlink/rename/lookup)全部走 Filer Raft commit,3 节点多数派写入才返回成功。线性强一致,没有"最终一致"的含糊。

关键设计是 Leader Lease Read :读操作在 Leader 任期内直接本地读,不走 Raft Read Index,省一次网络往返。元数据读取延迟 < 2ms。

按 bucket 分片,每个 bucket 是独立 Raft 组,水平扩展无上限。

4. Volume Lease:数据层排他锁,60 秒复用

元数据靠 Raft,数据靠 Lease。每个 64MB Stripe 一把排他锁,写者独占。关键优化是 60 秒长期复用 ------同一个文件的连续写操作命中缓存后零 RPC,直接写盘。

锁的释放用 Rust 的 RAII 机制(Drop trait),作用域结束自动释放,不会忘记 unlock。崩溃恢复靠 TTL + grace period(= 租期 × 2),不会出现锁泄漏。

5. NVMe-oF 直连 + SPDK 裸盘:两种模式都是绕内核

Mode A :Volume Server 用 SPDK 用户态驱动直接操作 NVMe 裸盘,绕过 ext4/xfs 文件系统,绕过系统调用,绕过 Block 层。4K 随机读从 50 万 IOPS 提到 200 万+,延迟从 100μs 降到 20μs。

Mode B :直接连 NVMe-oF Target 全闪存阵列,连 Volume Server 都不要。客户端通过 RDMA 直达阵列,2 跳到达 SSD。阵列自带 RAID/EC/快照/压缩,PowerFS 专注元数据和一致性。

两种模式都做到了内核零参与。

6. 全链路硬件加速:NVMe 到 GPU 显存零拷贝

SPDK 裸盘 I/O + RDMA 无损网络 + GPU Direct 传输。数据从 NVMe SSD 到 GPU HBM 显存,全程零拷贝,不经过 CPU 内存中转。

这对 LLM 推理特别关键:KV Cache 数据在 NVMe 上,GPU 通过 GPU Direct 直接读取,相当于把 GPU 显存扩展到了 NVMe SSD。GPU 利用率从 40-50% 提升到 90%+。

数据说话

指标 提升 单线程元数据 ops 40x (5万→200万 ops/s) 目录列表(1万条目) 10.6x (50ms→4.7ms) 4K 随机读 IOPS 4x (50万→200万+) LLM 推理 GPU 利用率 40%→90%+

PowerFS 是开源项目,Apache 2.0 协议,代码全部 Rust 实现。

GitHub : github.com/powerfs/powerfs

如果你也在被 HPC+AI 混合负载的存储问题折磨,欢迎来 Star、Fork、提 Issue。

相关推荐
_codemonster1 小时前
手语识别及翻译项目实战系列--认识CSL2018数据集
人工智能·深度学习
ACP广源盛139246256731 小时前
2026 PCIe互连芯片@ACP#国产替代格局解析:芯动科技领跑高端交换芯片赛道
大数据·网络·数据库·人工智能·分布式·嵌入式硬件
DevNo1 小时前
2026年校园AI课堂系统应用观察与选型思路
人工智能
Canace1 小时前
用 AI 写了一天代码,为什么反而更累了?
前端·人工智能·ai编程
mifengxing1 小时前
Java TreeSet
java·开发语言
动物园猫1 小时前
课堂行为目标检测数据集:6类别、2,000张图像 | 目标检测
人工智能·目标检测·计算机视觉
半兽先生1 小时前
MinerU + LibreOffice 混合架构:搞定 .doc/.ppt 旧格式文档解析与切片
人工智能·python·机器学习·ai·架构
崖边看雾1 小时前
机器学习——K-Means(啤酒数据集挖掘)
人工智能·机器学习·kmeans
听你说321 小时前
常青课堂同步HR系统考勤休假二百余项升级 万古科技智能排班系统赋能用户精细化用工
大数据·人工智能·科技
小白说大模型1 小时前
从0开始学计算机网络:HTTP 协议的进化史
人工智能·网络协议·计算机网络·http