开发者学堂课程【数据湖 JindoFS + OSS 实操干货36讲:Fluid + JindoFS 对海量小文件的训练加速】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/833/detail/13978
Fluid + JindoFS 对海量小文件的训练加速
内容介绍
一、海量小文件难题
二、Fluid JindoRuntime 小文件优化
三、使用JindoRuntime 加速小文件
四、演示
一、海量小文件难题
现状:AI训练场景经常需要处理海量小文件
1.HadoopHDFS
●RPC 频繁,NameNode 压力大
●延时高
2.S3 和 OSS:延时高;高频访问稳定性。
3.对缓存系统的诉求
➢低延时,高QPS
➢ 稳定可靠的访问性能
➢能够支撑海量文件数
二、Fluid JindoRuntime 小文件优化
(1)高效的元数据缓存
➢基于 KV-Store 的元数据组织形式,可支持海量文件数,并且不会占用过多内存资源
➢高效的元数据查询,并且通过热点缓存进一步加速点查性能
➢元数据服务( Namespace Service) 能够提供低延时、高 QPS 的访问性能
➢Fuse 客户端缓存
(2)高效的数据组织及索引
➢针对小文件数据块实现高性能磁盘存储及索引机制
➢一致性哈希实现数据块的分布式缓存索引,缩短小文件读取的链路
三、使用 JindoRuntime 加速小文件
JindoRuntime加速小文件基本步骤:
下裁并安装Fluid :
https://github.com/aliyun/alibabacloud-
jindodata/blob/master/docs/jindo _fluid/jindo _fluid_ jindofs_ hdfs_ introduce.md
➢创建 Dataset
➢创建 JindoRuntime
➢缓存预加载 DataLoad
➢执行 AI 训练作业
小文件加速效果
《速度提升18倍!微博海量深度学习模型训练效率跃升的秘密》https://www.infoq.cn/article/FClx4Cco6b1jomi6UZSy
相比于 HDFS 接口
1机4卡可以得到5倍的加速
2机8卡可以得到9倍的加速
3机12卡可以得到18倍的加速
模拟训练总时长由原来的389小时(16 天)缩短到了16小时.
四、演示
环境要求
1. Kubernetes version> 1.14,支持CSI
2. Golang 1.12+
3. Helm 3
4. 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
Fluid JindoRuntime使用文档
●快速入门
●安装文档
●加速 OSS上 数据
●加速 HDFS .上数据
●加速 S3 上数据
●使用参数加密
●数据亲和性调度
●Master节 点亲和性部署
●多 Maste r 节点部署
●Fuse 客户端节点亲和性部署
●数据容忍污点调度
●Fuse 客户端全局部署
●Dataset 手动扩缩容
●使用 Placement 在同一 个集群上部署多个 dataset.数据源 mount 到根目录下
●数据预加载
●数据缓存和元数据缓存
●问题诊断及处理