本期导读 :【AI 训练加速】第十六讲
主题:FFluid + JindoFS 对 OSS 上数据进行训练加速luid + JindoFS 对 OSS 上数据进行训练加速
讲师:扬礼,阿里巴巴计算平台事业部 开源大数据平台 开发工程师
内容框架:
- Fluid 介绍
- Fluid JindoRuntime
- 使用Fluid JindoRuntime 加速 OSS训练
- 演示
直播回放链接:(16讲)
https://developer.aliyun.com/live/247018
一、Fluid 介绍
CNCF Fluid是一个开源的Kubernetes原生的分布式数据集编排和加速引擎,主要服务于云原生场景下的数据密集型应用,例如大数据应用、AI应用等。
参考网址:
https://github.com/fluid-cloudnative/fluid
Fluid核心理念
- 提供云平台数据集抽象的原生支持:数据密集型应用所需基础支撑能力功能化,实现数据高效访问并降低多维成本。
- 基于容器调度管理的数据集编排:通过数据集缓存引擎与Kubernetes容器调度和扩缩容能力的相互配合,实现数据集可迁移性。
- 面向云上数据本地化的应用调度:Kubernetes调度器通过与缓存引擎交互获得节点的数据缓存信息,将使用该数据的应用以透明的方式调度到包含数据缓存的节点,最大化缓存本地性的优势。
Fluid功能概念
Fluid不是全存储加速和管理,而是应用使用的数据集加速和管理
- Dataset: 数据集是逻辑上相关的一组数据的集合,一致的文件特性,会被同一运算引擎使用。
- Runtime: 实现数据集安全性,版本管理和数据加速等能力的执行引擎的接口,定义了一系列生命周期的方法。
- JindoRuntime: 内核基于 JindoFS ,是支撑 Dataset 数据管理和缓存的执行引擎高效实现。
二、Fluid JindoRuntime
背景:云原生环境中使用JindoFS 缓存加速引擎并进行缓存数据集编排和应用编排
痛点:
- 数据集和加速引擎生命周期管理
- 数据集智能部署和使用
- 数据集可观测和水平扩展
优势:
- 开箱即用,加速 OSS/HDFS/S3 上数据
- 支持元数据数据预热、原子性cache
- 小文件缓存优化,大大提高小文件训练场景性能
- Fuse/ Posix 接口支持:JindoRuntime提供对OSS对象存储服务和 HDFS 的访问和缓存加速能力,并且利用 FUSE的 POSIX 文件系统接口实现可以像本地磁盘一样轻松使用OSS 上的海量文件
三、使用 Fluid JindoRuntime 加速 OSS 训练
ImageNet 数据集加速测试:
使用 ImageNet 数据集基于Kubernetes 集群并使用 Arena 在此数据集上训练ResNet-50 模型,基于JindoFS 的JindoRuntime 在开启本地缓存的情况下性能大幅度优于开源OSSFS,训练耗时缩短了76%。
InsightFace 数据集加速测试:
使用 InsightFace 数据集基于Kubernetes 集群进行小文件场景的训练测试(包含约380万个小文件,每个文件大小约为23KB),基于元数据缓存和数据缓存策略,在相同集群和带宽的OSSbucket下,基于JindoRuntime 训练时间大大缩短。
四、演示
Fluid JindoRuntime 使用
环境要求:
- Kubernetes version > 1.14, 支持CSI
- Golang 1.12+
- Helm 3
- Fluid 0.6.0
参考文档:https://github.com/aliyun/alibabacloud-jindofs/blob/master/docs/jindo_fluid/jindo_fluid_overview.md
ISSUE:https://github.com/aliyun/alibabacloud-jindofs/issues
演示:对 OSS上数据进行加速访问
⭐点击回放链接,直接观看第15讲视频回放,获取讲师实例讲解:
https://developer.aliyun.com/live/247018
⭐Github链接:
https://github.com/aliyun/alibabacloud-jindofs
不错过每次直播信息、探讨更多数据湖 JindoFS+OSS 相关技术问题,欢迎扫码加入钉钉交流群!