05
数据密集型应用在云原生环境上的挑战
Aliware
除了调度之外,AI,大数据,HPC 等数据密集型应用云原生化,还有一些技术挑战有待解决,具体来说:
- 异构数据源带来的多样性挑战:企业中不同应用所依赖的存储实现各不相同,有 HDFS、NAS、S3/OSS等等;其数据访问的 I/O 特性也不同,比如随机读海量小文件和顺序读大文件。随着业务场景的发展,经常需要联合处理来自不同的存储系统的数据,这样带来了异构数据源访问的复杂性。
- 存算分离架构导致的 I/O 性能和吞吐的挑战:计算存储分离架构可以大大降低存储成本,并且提升计算弹性。但相应增加了了数据访问延时。这有可能导致计算性能的下降,降低 CPU/GPU 等资源的实际利用率。而随着弹性深度学习等技术的兴起,算力可以根据计算成本或者收敛效率变化而动态扩缩容,进而带来 I/O 容量规划和供给的变化。
- 跨作业数据共享效率低下的挑战:通过对模型训练集群的观察,我们发现很多训练任务使用同样的数据集。同一作业流水线上的不同步骤也可能需要访问相同的数据。但是由于这些数据重用无法被调度系统感知,导致数据被反复拉取,降低了整体计算效率,也加剧了对数据源 I/O 资源的争抢。
01
Fluid-数据编排的核心方法
为了能够更好的解决数据密集型应用在云原生环境上的问题,我们在开源数据编排项目 Fluid中 对“计算任务使用数据的过程”进行抽象,提出了弹性数据集 Dataset 的概念,并作为“first class citizen”在 Kubernetes 中实现。
- 数据集 Dataset,可以实现对异构数据源的统一管理和统一访问抽象。
- 通过自动缓存扩容和智能预取实现数据加速;还可以根据数据集的访问的模式,来自动优化数据缓存的生命周期策略。
- 调度系统可以自动感知多任务之间的数据集关联与血缘,基于数据共享优化作业调度。
02
Fluid-云原生数据编排与加速
Fluid 是阿里云容器服务团队和南京大学、Alluxio 联合发起的开源项目,目前是 CNCF 托管的 Sandbox 项目,并且在 ACK 上也有对应的产品能力。主要由阿里云容器服务团队维护。另外 Fluid 也得到了也得到许多业界同行的支持,像中国电信、SAP、百度云、腾讯云都在积极贡献。Fluid 在架构上有几个特点:
- 零侵入 – 无缝融合 Kubernetes 生态;
- 可扩展 – 支持多种缓存引擎,比如阿里云 JindoFS、腾讯云 GooseFS、开源的 Alluxio、JuiceFS 等等;
- 高弹性 – 除了支持经典的 K8s 之外,对 Serverless 容器也进行支持,支持缓存 I/O 吞吐的水平扩展。
如果大家有兴趣可以进一步了解 Fluid 背后设计的思想的一些探索,相关论文已经被 ICDE 接收,欢迎查阅。这个领域也是非常新的一个领域,希望大家能够一起在社区参与创新。03
Fluid-加速 AI 训练效果
比如在 Resnet50 图像分类模型训练中。如果直接使用 OSSFS 进行数据访问,在多机训练环境中会受到 OSS 总带宽的限制,训练性能出现衰减。利用 Fluid 缓存加速支持分布式训练,可以实现接近线性的横向扩展能力。与原方案相比,在 16 台 128 卡环境下,性能提升 80%。
在微博测试场景中,Fluid 针对海量小文件缓存优化,可以大大降低 HDFS 压力,训练速度提升 9 倍。
06
云原生 FinOps 成本管理,助力企业高效用云
Aliware
阿里云为企业构建了先进、普惠的云原生产品家族。2022 年 1 季度,在权威咨询机构 Forrester 发布的公共云容器平台分析师报告中,阿里云容器服务 ACK 成为比肩 Google 的全球领导者,这也是首次有中国科技公司进入容器服务领导者象限。在 2022 年 8 月,CSDN 2022 中国开发者调查报告中,52%开发者选择阿里云容器云平台。今年 5 月阿里云凭借在云上成本管理的产品能力,以满分的成绩通过了全部 33 个能力指标,成为国内首家通过信通院《云成本优化标准》的云服务商。非常期待与大家共同探索,利用云原生 FinOps 产品能力和技术,助力企业实现高效用云。