背景
随着语音技术在各行各业的广泛应用,自动语音识别(ASR)正在成为众多云服务商的核心竞争力。但 ASR 模型的持续优化需要大量训练数据的支持,如何高效管理海量训练数据成为云商面临的一个难题。
网易云商在发展 ASR 业务过程中,存储面临了巨大挑战。
- 将海量训练数据保存在单个节点上,不仅存储资源利用率低下,也使数据难以被多个训练任务共享访问。
- 仅存放在本地还带来数据丢失风险。
- 随着语音数据量呈指数增长,单节点存储早已无法负荷。
- 存储空间满溢,将严重制约业务进一步扩张。
针对存储面临的这些困境,网易云商迫切需要找到一个更优的存储解决方案。
Curve FS
为解决这一痛点,网易云商决定引入开源存储系统 CurveFS。
CurveFS 是什么
CurveFS 是一个基于 Fuse 实现的兼容 POSIX 接口的分布式文件系统,架构如下图所示:
CurveFS 由三个部分组成:
- 客户端 curve-fuse,和元数据集群交互处理文件元数据增删改查请求,和数据集群交互处理文件数据的增删改查请求。
- 元数据集群 metaserver cluster,用于接收和处理元数据(inode 和 dentry)的增删改查请求。metaserver cluster 的架构具有高可靠、高可用、高可扩的特点:MDS 用于管理集群拓扑结构,资源调度。metaserver 是数据节点,一个 metaserver 对应管理一个物理磁盘。CurveFS 使用 Raft 保证元数据的可靠性和可用性,Raft 复制组的基本单元是 copyset。一个 metaserver 上包含多个 copyset 复制组。
- 数据集群 data cluster,用于接收和处理文件数据的增删改查。data cluster 目前支持两存储类型:支持 S3 接口的对象存储以及 CurveBS(开发中)、Ceph Rados(roadmap)等。
CurveFS 一个独特的设计是其后端存储既可对接 S3 对象存储,也可对接 Curve 自研的块存储。这赋予用户高度的灵活性:对性能要求较高的业务场景,可选择部署在 Curve 高性能块存储;对成本敏感的业务,则可以利用 S3 存储的优势来降低成本。CurveFS 兼容两种存储后端的特性,使其可以适应不同业务的存储需求,既保证高性能,也控制存储成本。
CurveFS 应用价值
相较于本地存储而言,CurveFS 具有以下优势:
- 将训练数据存储在云端对象存储,实现资源弹性扩展
- 统一管理训练数据,支持多节点共享访问
- 后端接入 NOS (网易对象存储)低频存储,相比本地存储能够大幅降低 ASR 训练存储成本
- 支持数据多级缓存,提升训练效率约 30 %
与保存在单机上的传统方式相比,CurveFS 云端部署方案虽然数据读取速度略低,但考虑到未来训练数据量的增长需求,其扩展性和资源优化能力已大大超越本地存储。
Curve 共享文件存储系统不仅适用于 ASR 业务场景,在 ElasticSearch 等大数据存储分析业务场景也有应用,目前也在多个集团内部业务场景落地使用。
项目未来规划和展望
但是,CurveFS 也面临一定的挑战。由于 ASR 训练过程中需要频繁读取数据,这对云存储的访问速度和稳定性提出了较高要求。云存储由于网络传输的影响,读取速度难以与本地存储相比。这些在 CurveFS 的后续版本迭代中持续优化,包括优化元数据性能和多级缓存等。
总结
作为一个年轻的项目,Curve 仍在快速迭代。未来 Curve 会继续优化在 AI 和大数据分析场景的适配能力:
- 与各类 AI 框架深度集成,提供自动化的数据预热、训练优化等功能,提升 AI 训练的易用性和效率。
- 支持 HDFS 接口,使其能够统一应用于数据收集、存储与分析处理,实现数据生命周期的无缝管理。
- 在更多实际业务场景中落地,丰富解决方案经验。
通过这些努力,Curve正在成长为一个成熟、强大、适用范围广泛的开源存储系统,为用户提供简单高效的存储服务。它的发展前景广阔,必将为开源社区做出重要贡献。
------ END. ------
🔥 开发者活动:
🔥 用户案例:
Curve 文件存储在 Elasticsearch 冷热数据存储中的应用实践
扬州万方:基于申威平台的 Curve 块存储在高性能和超融合场景下的实践
🔥 技术解析:
Curve v2.7 发布:支持 Hadoop SDK,助力大数据存储降本提效
关于 Curve
Curve 是一款高性能、易运维、云原生的开源分布式存储系统。可应用于主流的云原生基础设施平台:对接 OpenStack 平台为云主机提供高性能块存储服务;对接 Kubernetes 为其提供 RWO、RWX 等类型的持久化存储卷;对接 PolarFS 作为云原生数据库的高性能存储底座,完美支持云原生数据库的存算分离架构。
Curve 亦可作为云存储中间件使用 S3 兼容的对象存储作为数据存储引擎,为公有云用户提供高性价比的共享文件存储。
- GitHub:https://github.com/opencurve/curve
- 官网:https://opencurve.io/
- 用户论坛:https://ask.opencurve.io/
- 微信群:搜索群助手微信号 OpenCurve\_bot
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。