简介: 为了解决大数据、AI 等数据密集型利用在云原生计算存储拆散场景下,存在的数据拜访延时高、联结剖析难、多维治理杂等痛点问题,南京大学 PASALab、阿里巴巴、Alluxio 在 2020 年 9 月份联结发动了开源我的项目 Fluid。近期咱们更新了0.3版本
作者 | 顾荣 南京大学 PASALab
导读:为了解决大数据、AI 等数据密集型利用在云原生计算存储拆散场景下,存在的数据拜访延时高、联结剖析难、多维治理杂等痛点问题,南京大学 PASALab、阿里巴巴、Alluxio 在 2020 年 9 月份联结发动了开源我的项目 Fluid。
Fluid 是云原生环境下数据密集型利用的高效撑持平台,我的项目自开源公布以来吸引了泛滥相干方向领域专家和工程师的关注,在大家的踊跃反馈下社区的开发工作进展迅速。近期 Fluid 0.3 版本正式公布,次要新增了三项重要性能,别离是:
- 实现通用数据存储减速,提供 Kubernetes 数据卷拜访减速性能
**
- 增强数据拜访平安爱护,提供面向数据集的细粒度权限管制性能
- 简化用户简单参数配置,提供原生化零碎外部参数配置优化性能
Fluid 我的项目地址:https://github.com/fluid-cloudnative/fluid
这三大次要性能的开发需要来自泛滥社区用户的生产理论反馈,此外 Fluid v0.3 还进行了一些 bug 修复和文档更新,欢送应用体验 Fluid v0.3!感激为此版本做出奉献的社区小伙伴,咱们会持续宽泛关注和驳回社区倡议,推动 Fluid 我的项目的倒退,期待听到大家更多的反馈!
Fluid v0.3 下载链接:https://github.com/fluid-cloudnative/fluid/releases
下文是本次新版本公布性能的进一步介绍。
- 反对 Kubernetes 数据卷拜访减速
只管之前版本的 Fluid 曾经反对诸多底层存储系统(如 HDFS、OSS 等),但在理论生产环境中,企业外部的存储系统往往更加多样,因存储系统不兼容而无奈对接 Fluid 的状况依然存在。例如用户应用 Lustre 分布式文件系统,因为之前的 Fluid 所应用的分布式缓存引擎尚不兼容 Lustre 零碎,因而该用户将无奈失常应用 Fluid。
为了晋升 Fluid 在云原生数据拜访减速场景的通用性,Fluid v0.3. 减少了对数据卷 Persistent Volume Claim (PVC) 和主机目录(Host Path)挂载的减速反对,从而为各类存储系统与 Fluid 的对接提供了一种通用化减速计划:无论应用哪一种底层存储系统,只有该存储系统可被映射为 Kubernetes 原生的数据卷 PVC 资源对象或者集群节点上的主机目录,那么它就能够通过 Fluid 享受到如分布式数据缓存、数据亲和性调度等性能个性带来的劣势。其基本概念如下图所示:
具体应用办法非常简单,用户只需在 mountPoint 中指定 pvc://nfs-imagenet,其中 nfs-imagenet 是 Kubernetes 集群中已有数据卷。
apiVersion: data.fluid.io/v1alpha1kind: Datasetmetadata: name: fluid-imagenetspec: mounts: - mountPoint: pvc:_//nfs-imagenet_ name: nfs-imagenet
【点击即可查看零碎演示视频】
咱们通过 TensorFlow Benchmark 训练 ResNet-50 模型为测试场景,验证了 PVC 拜访减速能力,以下是速度晋升后果:
间接应用 PVC 数据卷
Fluid 减速 PVC 数据卷
训练工夫
2h15m59s
1h43m43s
1000 步速度(images/second)
3,136
8,889
最终速度(images/second)
15,024
20,506
Accuracy @ 5
0.9228
0.9204
从评估后果来看,Fluid 所提供的分布式缓存能力都可能晋升整个训练任务的速度,缩短整体训练工夫超过 20%。更多与测试相干的细节请参考 Github 上的相干示例文档:
- PVC 减速文档:https://github.com/fluid-cloudnative/fluid/blob/master/docs/zh/samples/accelerate_pvc.md
- 主机目录减速文档:https://github.com/fluid-cloudnative/fluid/blob/master/docs/zh/samples/hostpath.md
- 数据集的拜访权限管制
很多提供机器学习平台服务的企业存在多用户共享存储系统状况和场景。出于安全性思考,机器学习平台服务提供商须要进行严格的拜访权限管制以保障用户之间的数据隔离性,即任何未经受权的用户不得随便拜访别人数据集。
Fluid 在 v0.3 中提供了对上述场景的反对:多用户共享的底层存储系统挂载到 Fluid 后,Fluid 暴露出的文件权限信息(如所属用户、文件模式等)将与底层存储系统保持一致,即实现了文件从底层存储系统到部署 Fluid 的节点的透传。这也就意味着底层存储系统中的拜访权限管制同样将在部署 Fluid 的各个节点上失效,以此保障用户之间的数据隔离性不被毁坏。
除此以外,Fluid v0.3 还提供了数据集“长期借用”的性能个性。“长期借用”指的是某用户须要领有长期拜访所属另一个用户的某个数据集的权限。在 Fluid v0.3 中,管理员可通过灵便的配置在部署 Fluid 的节点上实现数据集所有权的转换,以赋予指定用户“长期借用”别人数据集的能力,这可能帮忙集群管理员实现更细粒度和灵便的数据集权限治理。
拜访非 root 用户数据的应用文档:https://github.com/fluid-cloudnative/fluid/blob/master/docs/zh/samples/nonroot_access.md
3. 默认参数配置优化
Fluid 提供了很多参数配置供用户定制化本人的利用,在 Fluid 0.3 版本之前,用户须要依据理论环境和业务指标齐全自行进行手工配置,然而手工实现配置优化工作对于大部分用户而言是比拟艰难且工作量沉重的。
Fluid v0.3 内置了大量面向 Alluxio 和 Fuse 等外部组件的默认参数配置优化,用户不再须要将大量精力放在参数配置调优上。依据咱们教训优化后的默认参数设置可能在大部分 Fluid 常见应用场景下取得较好性能。
总结
Fluid v0.3 次要解决社区用户在理论生产环境中反馈的问题和需要。对主机目录和 PVC 挂载的反对为兼容不同的底层存储系统给出了一个通用的解决方案;数据集的拜访权限管制让 Fluid 可能真正满足多用户共享的理论生产环境的需要;优化后的默认参数配置减少了 Fluid 的易用性,并在少数场景下放弃性能的稳固。
如果您有任何疑难,欢送退出钉钉交换群参加和探讨:https://img.alicdn.com/tfs/TB1Cm4ciNvbeK8jSZPfXXariXXa-452-550.png
致谢
- 感激徐之浩,罗义力(南京大学 PASALab)对于反对 Kubernetes 数据卷拜访减速的奉献
- 感激吕冬冬,谢远东(云知声)对于数据集权限管制性能的奉献
作者简介
顾荣 博士,南京大学计算机系副研究员,钻研方向大数据处理系统,已在 TPDS、ICDE、JPDC、IPDPS、ICPP 等畛域前沿期刊会议发表论文 20 余篇,主持国家自然科学基金面上我的项目/青年我的项目、中国博士后科学基金特地赞助我的项目多项,研究成果落地利用于阿里巴巴、百度、字节跳动、中国石化、华泰证券等公司和开源我的项目 Apache Spark、Alluxio,获 2018 年度江苏省科学技术一等奖、2019 年度江苏省计算机学会青年科技奖,负责中国计算机学会系统软件专委会委员/大数据专委会通信委员、江苏省计算机学会大数据专委会秘书长、Fluid 开源我的项目 co-founder、Alluxio 开源我的项目 PMC 成员。
原文链接
本文为阿里云原创内容,未经容许不得转载。