Fluid: 让大数据和 AI 拥抱云原生的一块重要拼图

本文涉及的产品
Serverless 应用引擎 SAE,800核*时 1600GiB*时
云消息队列RocketMQ,TPS总和2000次/秒
简介: 如何驱动大数据、AI 应用在云原生场景下高效运行是一个既有理论意义又具应用价值的重要挑战性问题,为系统化解决相关问题,学术界和工业界密切合作,南京大学 PASALab 副研究员顾荣博士、阿里云容器服务高级技术专家车漾、Alluxio 项目创始成员范斌博士联合推动发起了 Fluid开源合作项目。
+关注继续查看

1.png

作者 | 顾荣、车漾、范斌

得益于容器化带来的高效部署、敏捷迭代,以及云计算在资源成本和弹性扩展方面的天然优势,以 Kubernetes 为代表的云原生编排框架吸引着越来越多的 AI 与大数据应用在其上部署和运行。然而,云原生计算基金会(CNCF)全景图中一直缺失一款原生组件,以帮助这些数据密集型应用在云原生场景下高效、安全、便捷地访问数据。

如何驱动大数据、AI 应用在云原生场景下高效运行是一个既有理论意义又具应用价值的重要挑战性问题:

  • 一方面,解决该问题需考虑复杂场景下应用协同编排、调度优化、数据缓存等一系列理论与技术难题;
  • 另一方面,该问题的解决能够有力地推动广阔云服务场景下的大数据、AI 落地应用。

为系统化解决相关问题,学术界和工业界密切合作,南京大学 PASALab 副研究员顾荣博士、阿里云容器服务高级技术专家车漾、Alluxio 项目创始成员范斌博士联合推动发起了 Fluid开源合作项目

Fluid 是什么?

Fluid 是一款开源的云原生基础架构项目。在计算和存储分离的大背景驱动下,Fluid 的目标是为 AI 与大数据云原生应用提供一层高效便捷的数据抽象,将数据从存储抽象出来,以便达到:

  • 通过数据亲和性调度分布式缓存引擎加速,实现数据和计算之间的融合,从而加速计算对数据的访问;
  • 将数据独立于存储进行管理,并且通过Kubernetes的命名空间进行资源隔离,实现数据的安全隔离;
  • 将来自不同存储的数据联合起来进行运算,从而有机会打破不同存储的差异性带来的数据孤岛效应。

通过 Kubernetes 服务提供的数据层抽象,可以让数据像流体一样在诸如 HDFS、OSS、Ceph 等存储源和 Kubernetes 上层云原生应用计算之间灵活高效地移动、复制、驱逐、转换和管理。而具体数据操作对用户透明,用户不必再担心访问远端数据的效率、管理数据源的便捷性,以及如何帮助 Kuberntes 做出运维调度决策等问题。用户只需以最自然的 Kubernetes 原生数据卷方式直接访问抽象出来的数据,剩余任务和底层细节全部交给 Fluid 处理。

Fluid 项目当前主要关注数据集编排和应用编排这两个重要场景。数据集编排可以将指定数据集的数据缓存到指定特性的 Kubernetes 节点;而应用编排将指定该应用调度到可以或已经存储了指定数据集的节点上。这两者还可以组合形成协同编排场景,即协同考虑数据集和应用需求进行节点资源调度。

为什么云原生需要 Fluid?

云原生环境与更早出现的大数据处理框架在设计理念和机制上存在天然分歧。深受 Google 三篇论文 GFS、MapReduce、BigTable 影响的 Hadoop 大数据生态,从诞生之初即信奉和实践“移动计算而不是数据”的理念。因此以 Spark,Hive,MapReduce 为代表的数据密集型计算框架及其应用为减少数据传输,其设计更多地考虑数据本地化架构。但随着时代的变迁,为兼顾资源扩展的灵活性与使用成本,计算和存储分离的架构在更新兴的云原生环境中大行其道。因此云原生环境里需要类似 Fluid 这样的一款组件来补充大数据框架拥抱云原生带来的数据本地性缺失。

此外,在云原生环境中,应用通常以无状态(Stateless)微服务化方式部署,并不以数据处理为中心;而数据密集型框架和应用通常以数据抽象为中心,开展相关计算作业和任务的分配执行。当数据密集型框架融入云原生环境后,也需要像 Fluid 这样以数据抽象为中心的调度和分配框架来协同工作。

针对 Kubernetes 缺乏对应用数据的智能感知和调度优化的问题,及以 Alluxio 为例的数据编排引擎存在难以直接管控云原生基础架构层的局限,Fluid 提出数据应用协同编排、智能感知、联合优化等一系列创新方法,并且形成一套云原生场景下数据密集型应用的高效支撑平台。

具体的架构参见下图:

2.png

演示

我们提供了视频的 Demo,为您展示如何通过 Fluid 提升云上 AI 模型训练的速度。在这个 Demo 中,使用同样的 ResNet50 测试代码,Fluid 加速和原生的 ossfs 直接访问相比,不论在每秒钟的训练速度,和训练总时长相比都有明显的优势,训练耗时缩短了 69%。

3.png

点击链接,即可查看视频 Demo:https://v.qq.com/x/page/t31488r2p2q.html

快速体验 Fluid

Fluid 需要运行在 Kubernetes v1.14 及以上版本,并且需要支持 CSI 存储。Fluid Operator 的部署和管理是通过 Kubernetes 平台上的包管理工具 Helm v3 实现的。运行 Fluid 前请确保 Helm 已经正确安装在 Kubernetes 集群里。你可以参照文档,安装和使用 Fluid。

欢迎加入与反馈

Fluid 让 Kubernetes 真正具有分布式数据缓存的基础能力,开源只是一个起点,需要大家的共同参与。大家在使用过程发现 bug 或需要的 feature,都可以直接在 GitHub 上面提 issue 或 PR,一起参与讨论。

另外我们有一个钉钉群,手机端钉钉点击超链即可加入,欢迎您的参与和讨论!

作者简介

顾荣  南京大学计算机系副研究员,研究方向大数据处理系统,已在 TPDS、ICDE、Parallel Computing、JPDC、IPDPS、ICPP 等领域前沿期刊会议发表论文20余篇,成果落地应用于中国石化、百度、字节跳动等公司和开源项目Apache Spark,获 2018 年度江苏省科学技术一等奖、2019 年度江苏省计算机学会青年科技奖,当选中国计算机学会系统软件专委会委员/大数据专委会通讯委员、江苏省计算机学会大数据专委会秘书长;

车漾  阿里云高级技术专家,从事 Kubernetes 和容器相关产品的开发。尤其关注利用云原生技术构建机器学习平台系统,是 GPU 共享调度的主要作者和维护者;

范斌 Alluxio 开源项目的管理委员会成员(PMC Member)和源码维护者(Maintianer)。加入 Alluxio 项目之前, 范斌就职于谷歌, 从事下一代大规模分布式存储系统的研究与开发。他于 2013 年获得卡内基梅隆大学(Carnegie Mellon University)计算机系博士学位,博士期间从事分布式系统的设计与实现,是 Cuckoo Filter 的作者。

“阿里巴巴云原生:关注微服务、Serverless、容器、Service Mesh 等技术领域、聚焦云原生流行技术趋势、云原生大规模的落地实践,做最懂云原生开发者的公众号。”

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
23天前
|
存储 人工智能 Cloud Native
云原生架构如何助力大数据和AI技术在软件开发中的深度整合
b. 更低的成本 云原生环境提供了成本效益高、按需付费的模型,开发者只需支付他们实际使用的资源。这降低了大数据处理和AI模型训练的成本,使创新更加经济。
|
23天前
|
机器学习/深度学习 人工智能 Cloud Native
软件开发的未来已来:大数据、AI和云原生的终极融合如何引爆市场
大数据、人工智能(AI)和云原生技术的终极融合正在软件开发领域引发巨大的变革和市场机遇。这个融合的未来已经来临,并将引爆市场的原因如下
|
23天前
|
人工智能 Kubernetes 大数据
探索云原生容器编排技术:如Kubernetes如何为大数据处理和AI模型的自动化部署带来便利
Kubernetes以容器为基础,将应用程序和其依赖项封装在容器中。这使得大数据处理和AI模型的部署更加一致和可移植,可以在不同的环境中轻松部署,包括开发、测试和生产环境。
|
23天前
|
人工智能 Cloud Native 安全
大数据、AI和云原生:引领未来软件开发的技术演进
大数据、AI和云原生:引领未来软件开发的技术演进
|
23天前
|
人工智能 Cloud Native 大数据
从传统软件开发到云原生转型:大数据和AI如何引领软件开发的新趋势
从传统软件开发到云原生转型:大数据和AI如何引领软件开发的新趋势
|
1月前
|
存储 人工智能 Cloud Native
云原生 AI 工程化实践之 FasterTransformer 加速 LLM 推理(2)
云原生 AI 工程化实践之 FasterTransformer 加速 LLM 推理
40 0
|
1月前
|
人工智能 Cloud Native PyTorch
云原生 AI 工程化实践之 FasterTransformer 加速 LLM 推理(1)
云原生 AI 工程化实践之 FasterTransformer 加速 LLM 推理
34 0
|
2月前
|
人工智能 供应链 Kubernetes
|
2月前
|
人工智能 供应链 Kubernetes
KCD 2023 杭州站报名通道开启!聚焦云原生供应链、AI 基础设施
活动报名开始啦!本次是 Kubernetes Community Days 首次来到杭州,由 CNCF、蚂蚁开源、龙蜥社区、Dragonfly 社区、Harbor 社区联合发起。希望能够在这座充满活力的城市进一步推广云原生相关技术。
KCD 2023 杭州站报名通道开启!聚焦云原生供应链、AI 基础设施
相关产品
性能测试
容器镜像服务
云消息队列 Kafka 版
推荐文章
更多