
我是 JuiceFS 项目的合伙人苏锐。JuiceFS 是一个为云环境设计的分布式文件系统,广泛应用于 AI 模型训练和推理阶段的数据处理,积累了较多实际场景的经验。
一、AI 应用的存储挑战
自 2019 年起,深度学习推动了计算机视觉(CV)领域的快速发展,典型应用包括人脸识别和自动驾驶。随着 CV 数据集规模的持续增长,公开数据集最大仅约 500 GB、900 万张图片,而实际业务中的自动驾驶训练集可达到数千万张图片,总量在 50 亿至 150 亿张之间。
如此规模带来了两个显著挑战:
海量小文件管理困难;
模型数据、Checkpoint 等数据体量大幅上升,推动训练从单机向多机演进,单机存储已无法满足需求,分布式存储成为刚需。
在大语言模型的发展中,如 GPT-3 的原始数据为 45 TB,而多模态的 GPT-4 迅速增长至 1 PB。此外,训练过程中需要定期保存显存状态作为 checkpoint,应对系统故障恢复,这进一步加剧了存储压力。
二、存储选型分析
目前主流的云上存储产品分为三类:
1. 块存储(Block Storage)
块存储包括云盘(如 AWS 的 EBS)和本地 SSD、NVMe 裸盘。其优势在于低时延和 POSIX 兼容,适用于单机环境。然而,容量和吞吐受限于单盘上限,难以满足当前 AI 训练的高并发大数据需求。
2. 对象存储(Object Storage)
对象存储随着公有云发展而普及,如 S3、MinIO、Ceph RGW 等。其优势是弹性扩展和极低成本,适合归档和点查访问。但由于使用 HTTP API 接口,缺乏 POSIX 兼容,存在如无法追加写、重命名性能差等问题,不适合 AI 训练等复杂文件操作需求。
对象存储以 Key-Value 模型为基础,结构上为扁平命名空间(bucket),缺乏文件系统的层级结构。因此,在目录遍历、追加写、原子重命名等方面的性能远不如文件系统,差异可能达到百倍。
3. 文件存储(File Storage)
文件存储在公有云中如 EFS、NAS,开源产品如 CephFS、GlusterFS。具备多节点共享访问、POSIX 兼容性,适合科学计算、AI 训练、大数据分析等复杂读写需求。相比对象存储,提供更好的功能完备性,但在性能和弹性方面依然存在挑战。
三、文件系统的发展演进
第一代企业级文件系统如 EMC、NetApp、OceanStore 多为软硬件一体方案,存在扩展性限制,供应链周期长。
2005 年 Google 发布 GFS 论文,首次提出基于标准硬件构建分布式文件系统的理念。随后涌现出一批软件定义存储系统,如 HDFS、Ceph、GlusterFS、Lustre、BeeGFS 等。这些系统多为面向物理机房设计,不适配云环境弹性能力。
四、JuiceFS 的设计理念
JuiceFS 于 2017 年开始研发,目标是为云环境设计一个具备弹性、低成本、强一致性、POSIX 兼容的文件系统,同时继承对象存储的成本优势。
我们在架构上将元数据引擎与数据存储解耦,并采用插件式设计:
● 数据存储层默认使用云上的对象存储,已支持 40 多种服务;
● 元数据层支持 Redis、关系型数据库、分布式 KV,以及我们自研的高可用引擎;
● 客户端通过统一的 API 支持 POSIX、HDFS、S3,提升兼容性;
● 与 Kubernetes 集成支持 CSI Driver 和 Sidecar 两种模式。
五、AI 训练中的 I/O 瓶颈本质
硬件提供了性能的上限。例如单块 NVMe 盘提供 3 GB/s 吞吐量,软件只能在此上限内尽量聚合性能。
在传统分布式文件系统中,数据冗余和副本机制会导致热点盘吞吐被多个 Workload 竞争,进而限制整体 I/O 性能。为提升吞吐,只能扩展更多磁盘,造成容量和性能绑定。
例如,在某些金融或量化交易场景,数据集体积小但访问频率极高,迫使系统“为性能加盘”,而非“为容量加盘”。这在现有文件系统下是一大难题。
此外,磁盘扩容常需数据迁移,运维成本高,影响计算任务。传统方案中,用户常采用冷热分层,将冷数据放入对象存储,热数据再迁入高性能文件系统。这种方式增加数据搬迁和资源协调成本,不利于弹性资源管理。
六、JuiceFS 如何解耦容量与性能
我们通过在客户端引入透明 Cache 层,实现容量与性能的解耦:
● 数据永久保存在对象存储中;
● 热数据通过客户端 Cache 自动加载至本地 NVMe 或共享缓存池;
● 缓存按需扩缩,支持命中策略调整(如按业务、部门划分);
● 缓存节点可动态上线/下线,不影响数据一致性与可靠性;
● 支持 Kubernetes CSI 和 Sidecar 模式部署,适配不同云原生环境。
七、实践案例
案例一:乾象投资
量化基金业务,数据量约 100 TB,但访问并发极高。他们使用 CNCF 项目 Fluid 管理 JuiceFS 缓存,实现自动扩缩容。通过对比测试,传统分布式存储在高并发下加载时间显著增加,而 JuiceFS 能保持稳定性能。
在实际环境中,任务成本从 90 元下降至 8 元,优化超过 10 倍,使用环境为阿里云的 Serverless K8s。
案例二:自动驾驶企业
管理超过 150 亿小文件(平均 100 KB),传统文件系统如 HDFS 和 CephFS 难以支撑。
在生产环境中,JuiceFS 提供 250 GB/s 吞吐与 30 万 QPS,数据持久层部署于一侧机房的对象存储,另一侧通过缓存与元数据镜像实现 1000 公里跨城高性能访问,满足异地模型训练需求。
八、总结
在 AI 训练场景下,数据集和模型规模快速增长,对存储提出了更高的吞吐、扩展性和弹性要求。
传统文件系统因性能与容量耦合限制,难以满足现代训练需求。JuiceFS 通过将对象存储与缓存机制结合,在提供强一致性和 POSIX 兼容的同时,实现了容量与性能的解耦。
此外,对于异地、多云、混合云环境,JuiceFS 支持自动数据镜像,帮助用户高效访问分布式数据资源。
感谢大家的聆听。
评论