云原生存储 CubeFS 在大数据和机器学习的探索和实践

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 云原生存储CubeFS在大数据和机器学习的 探索和实践 OPPO- 安第斯智能云 / 唐之享
2.
3. 0 1 CubeFS产品介绍 0 2 CubeFS在机器学习的应用和实践 0 3 CubeFS在大数据的应用和实践 0 4 CubeFS的未来演进
4. CubeFS是托管在云原生计算基金会 (CNCF)的新一代云原生开源存储产品, 目前处于孵化阶段,具备完整的文件和对 象存储能力。 产品官网:https://cubefs.io
5. AWS S3 SDK Application 系统组件 •资源管理子系统 •元数据子系统 Client Object Node VM Server … Container POSIX / HDFS interface 纠删码引擎 Volume Data Partition •数据子系统 多副本引擎 Object Subsystem Master Meta Partition (In-memory) … … … •多协议客户端 … Meta Node Data Node … … Metadata Subsystem … Erasure Code Stripe Blob Node … … … Data Subsystem
6. Root 元数据子系统特性 / •可扩展:支持线性扩展 a •高性能:全内存缓存 •高可靠:定期快照+Raft wal日志 二层索引 •<parent_id, name>inode •inodelocation b e d c •强一致:元数据分片(mp)在不同节点 上,Raft保证强一致性 mp0 mp0 mp0 mp1 mp1 mp2 mp2 mp2 … … multi-raft … mp1 …
7. DataNode 多副本引擎 •多种复制协议:顺序写采用NRW,随机 写采用Raft协议。 •大小文件优化:大文件分片存储,小文 DataNode DataPartition 顺序写 DataPartition … … multi raft 件聚合存储。 顺序写 DataNode DataPartition 随机写 … •高 效 回 收 机 制 : 基 于 文 件 系 统 p u n c h DataPartition hole机制提升已删除空间回收效率。 大文件分片 小文件聚合
8. • 在线编码 :接入层直接在线计算纠删 码后写入存储节点。 • 高可用性 :Raft秒级切换保证元数据 接入层 acces s acces s 后台服务 元数据中心 acces s acces s Cluster Manager Raft 服务高可用。 数据巡检 • 高可靠性 :后台服务数据巡检、数据 持AZ级别容灾。 数据修补 存储资源池 修补、坏盘检测等保证高可靠性。 • 多AZ部署:支持1、2、3AZ部署,支 数据均衡 node node node node AZ0 node node node node AZ1 node node node node AZ2 坏盘修复 异步删除
9. 多协议接入 •支持S3、POSIX、HDFS多种协议。 •多协议共享同一套元数据和数据。 •提升数据复用效率。 •提升资源利用率。 S3 HDFS POSIX IOT Spark Tensorflow 图片文本 Flink Pytorch 音视频 Trino PaddlePaddle S3 HDFS 以前 POSIX 现在
10. 可扩展 双引擎 多协议 兼容S3、POSIX、HDFS等 支持多副本及纠删码引擎, 可轻松构建PB或者EB级规模 多种访问协议,协议间访问 用户可以根据业务场景灵活 的分布式存储,各个模块可水 可互通。 选择。 平扩展。 高性能 多租户 云原生 元数据全内存存储,支持多 支持多租户管理,提供细粒 基于CSI插件可快速在 级缓存,大小文件优化。 度的租户隔离策略。 Kubernetes上使用CubeFS。
11. CubeFS在机器学习中的应用
12. 多级 缓存 2019 2020 2021 2022 CephFS存储 CephFS与 CubeFS混存 CubeFS统一存储 CubeFS统一存储 与多级缓存加速
13. root • MDS的性能瓶颈:主备模式的MDS无 dir1 法水平扩容,单个MDS承担过多元数 据导致高负载和高延时,GPU整体利 用率低。 • MDS的稳定性 :单节点内存资源有限, 超大目录遍历容易导致节点OOM,拆 dir2 dir3 大目录 sub1 sbu1 … … sub2 大目录 分目录难度系数高,无法解决热点问题。 MDS1 MDS2 MDS3
14. • 多集群:大CephFS集群拆分多个小集 CV 群,一定程度缓解了MDS稳定性问题, • 小集群:小集群模式无法支持大模型训 练;集群资源利用率较低,通常需要保 证在存储水位在70%以内才能应对业 务突发写增长。 Audio Others Kubernetes 但是监控、告警需要分开配置,运营负 担重。 NLP … GPU GPU GPU 监控 GPU 权限 告警 ……
15. 时延敏感 • 大规模训练对时延敏 超大目录 • 训练任务的训练集或者 热点目录 • 并行训练任务的访 感,防止由于时延影响 测试集目录大小不可 问,容易使得元数据 业务训练效果。 控,需要支持超大目录 节点成为性能瓶颈, 的访问。 无法充分利用集群性 能。
16. root • mp随机打散:mp随机落在不同 dir1 metaNode节点上,避免热点数据。 • 支持水平扩展 :metaNode支持水平 扩展,无单点故障,保证高可用。 dir3 dir2 大目录 sbu1 sub1 … … sub2 大目录 mp0 mp2 mp0 mp0 mp1 mp1 mp2 mp2 mp1 …
17. 私有云 • 混合云的需求:私有云维护常态化的 GPU算力水位,应对突发的算力需 GPU GPU 求,采用公有云的GPU算力,实现弹 GPU GPU 0.1ms 性计算,降低整体TCO。 • 混合云的痛点:私有云的内网延迟在 0.1ms级别,私有云机房与公有云机房 2ms 采用专线的时延在2ms左右,导致从公 有云GPU与从私有云GPU访问 CubeFS性能相差几倍。 GPU GPU GPU GPU 公有云
18. 私有云 • 使用公有云的文件系统:该方案涉及到 数据迁移,除了数据迁移成本高之外还 存在以下缺点: 数据迁移  如果全量迁移数据,任务无法弹回到 私有云,无法实现弹性计算。  如果部分迁移数据,公有云和私有云 文件系统 同时产生数据,解决数据一致性问题 是个难点。  部分数据存在安全合规风险,迁移到 公有云需要解决安全问题。 GPU GPU GPU GPU 公有云
19. 私有云 • 公有云部署CubeFS:在公有云部署一 套CubeFS系统,除了会面临方案一的 数据迁移代价高、数据一致性、数据安 数据迁移 全等问题之外,还需要额外购买裸金属 服务器,增加额外存储成本。 GPU GPU GPU GPU 公有云
20. 私有云 • 元数据缓存:缓存inode和dentry信 GPU GPU 息,可以大量减少fuse客户端的lookup GPU GPU 0.1ms 和open读文件的开销。 2ms • 数据缓存:数据缓存可以利用GPU本地 云盘,无需申请额外存储资源,在保证 数据安全同时提升效率。 cfs-client inode cache dentry cache GPU GPU GPU GPU disk cache disk cache 公有云
21. 基准性测试 公有云GPU-未加速 • RESNET18在Dataloader worker=1、16 私有云GPU 时,性能分别提升360%、114%。 公有云GPU-加速 1057 1049 983 • AlexNet在Dataloader worker=16、24 893 875 832 时,性能分别提升130%、80% • 相比私有云部署,性能也有12%-27%的 578 提升。 459 454 330 348 342 112 130 28 RESNET18-w(1) RESNET18-w(16) AlexNet-w(16) AlexNet-w(24) RESNET50
22. CubeFS在大数据中的应用
23. 阶段一 阶段二 阶段三 阶段四 HDFS 对象存储 存冷数据 CubeFS存 储冷数据 CubeFS作为 统一存储 • 利用低成本对象存 • 利用CubeFS的低 • 将CubeFS作为统 • NameNode单点瓶颈 • 多个集群管理复杂 储承接大数据存储 成本纠删码引擎承 一存储,承接大数 • 弹性资源差,成本高。 冷数据。 接冷数据,降低整 据的冷热数据。 体TCO。
24. HDFS集群 70% 60% 50% 40% 30% 20% 10% 0% • 管理多个HDFS集群,管理难度大。 80% • 存算混合机型,单机成本高,能耗高。 90% • 多个集群长期资源不足。
25. • 缺少文件语义,list和rename操作的 DATA 代价很大。 • 相比HDFS集群,可以节约大概30% 成本,有进一步提升空间。 • 数据降冷需要多一次从对象存储多副 本迁移到纠删码的流量。 read write R1 R2 R3 D1 D2 D3 多副本系统 异步迁移 D4 离线纠删码系统 P1 P2
26. • 使用CubeFS纠删码引擎存储超过 100PB冷数据。 • 在线纠删码系统,降冷流程更快。 • 元数据操作比对象存储性能好。 存储成本
27. • 存储冷数据:提供低成本、高可靠的 数据产品 纠删码存储。 • 存储热数据:提升资源利用率,降本 YARN / Kubernetes 增效。例如Flink CheckPoint集群, 有频繁瞬时大IO,依赖扩容解决,整 体资源利用低的集群可以使用CubeFS 存储。 Spark Trino Flink Hive
28. • 降 本:降低存储总TCO。 • 增 效:提高访问性能,对小文件友好。 高耐 久度 • 易 运 维:集群管理更加便捷。 • 高耐久度:保证数据高耐久度。 • 高可用性:保证服务的高可用性。 降本 高可 用性 增效 易运维
29. • 多副本引擎:多副本数量弹性可调整, 1、2、3副本模式可以选择,例如为大 单副本 dp0 两副本 dp1 dp1 三副本 dp2 dp2 RS(3,3) D1 D2 D3 P1 P2 P3 数据shuffle业务提供单副本,节约存储 成本。 dp2 • 纠删码引擎:提供多种不同冗余度的编 码模式,满足业务不同场景的需求;提 供12个9的数据耐久度保证;支持跨AZ 容灾。 RS(6,1 0) RS(12, 9) D1 D2 D3 P1 D4 D5 D6 P6 P2 P3 P4 P5 P7 P8 P9 P10 D1 D2 D3 D4 D5 D6 D7 D7 D8 D8 P1 P2 P3 P4 P5 P6 D9 D10 P7 D11 D12 P8 P9
30. 单TB成本 • 降低单位存储的存储成本。 • 低碳存储。 1 1 0.8 0.68 0.68 0.6 0.6 0.55 2U12HDD 2S • 降低单位存储的机器功耗。 • 存算机型区分,扩容成本更低。 单TB功耗 2U24HDD 2S 4U40 HDD 2S 4U60 HDD 2S 4U36 HDD 1S 0.56 0.54 4U106 HDD 2S 0.5 0.48
31. • 本地缓存:计算节点本地缓存元数据和 Client ( Posix / HDFS / S3/CSI) 数据,支持内存、PMem、NVMe、 MEM HDD不同类型介质。 cache SSD 读 读/写 • 副本缓存:多副本引擎可以作为缓存使 高 用,用于缓存纠删码的存储数据。 SSD 成本 HDD 生命周期 低 多副本引擎 SSD 多副本引擎 HDD HDD 缓存 HDD 纠删码引擎 性能
32. 多副本引擎小文件优化: •小文件聚合到单个大文件。 小文件聚合 纠删码引擎小文件优化: •小文件采用填充方式,以空间换时间。 •RS(n,m)编码,写数据采用quorum机 制,任意写n+1份就成功;读任意n份就 36KB 填充 36KB 72KB 成功。 36KB 36KB 36KB P(36KB) P(36KB) P(36KB)
33. map map map shuffle -worker shuffle -worker shuffle -worker remote shuffle需求: •高吞吐 •低成本 •快清理 reduce remote shuffle CubeFS解决方案: •单副本降低成本 •异步删除 •同机部署加速访问,提供吞吐 rm Data Parttion Parttion Data Par tition Data Par tition shuffle -worker DataNode mv 异步 删除
34. 快 稳 省 • 多级缓存 • 无单点故障 • 低成本纠删码 • 大小文件优化 • raft保证高可用 • 副本数弹性可调 1 0.9999 0.9998 0.9997 0.9996 0.9995 0.9994 0.9993 HDFS shuffle效率提升 CubeFS 稳定性提升 HDFS CubeFS 总TCO下降
35. CubeFS未来演进
36. 智能 分层 GDS 多版本 快照 加解密 混合云 多云 QoS 回收站
37. • 产品官网: https://cubefs.io • 代码仓库: https://github.com/cubefs • 公众号 : 涵盖CubeFS架构设计、业务实践、源码剖析等多方面内容 • 小助手 : 提供产品交流、技术讨论等 CubeFS官方公众号 CubeFS微信小助手

Home - Wiki
Copyright © 2011-2024 iteam. Current version is 2.129.0. UTC+08:00, 2024-06-29 20:40
浙ICP备14020137号-1 $Map of visitor$