Fluid: 让大数据和 AI 拥抱云原生的一块重要拼图
作者头像
  • 金牌分析师
  • 2020-10-02 17:49:54 5

得益于容器化带来的高效部署和敏捷迭代,以及云计算在资源成本和弹性扩展方面的优势,Kubernetes等云原生编排框架正逐渐成为AI与大数据应用的理想选择。然而,云原生计算基金会(CNCF)全景图中仍缺少一款关键组件,能够高效、安全且便捷地访问数据,这对数据密集型应用提出了挑战。

如何使大数据和AI应用在云原生环境中高效运行,是一个兼具现实意义和实用价值的重要课题。一方面,解决这个问题需要应对复杂的场景,包括应用协同编排、调度优化、数据缓存等技术难题;另一方面,这一问题的解决将显著推动云服务场景中的大数据和AI应用落地。

为系统性地解决这些问题,学术界和工业界展开了紧密合作。南京大学PASALab副研究员顾荣博士、阿里云容器服务高级技术专家车漾、Alluxio项目创始成员范斌博士共同发起并推进了Fluid开源合作项目。

Fluid 是什么?

Fluid是一款开源的云原生基础设施项目,旨在为AI与大数据应用提供高效便捷的数据抽象层。通过数据亲和性调度和分布式缓存引擎,Fluid实现了数据与计算的融合,提高了数据访问速度。同时,它还实现了数据独立于存储的管理,并通过Kubernetes命名空间实现数据的安全隔离。此外,Fluid能够整合不同存储中的数据,打破数据孤岛效应。

通过Kubernetes的服务,数据可以在诸如HDFS、OSS、Ceph等存储源和云原生应用计算之间灵活高效地移动、复制、驱逐、转换和管理。用户无需关心远程数据的访问效率、数据源的管理,以及如何帮助Kubernetes做出运维决策。用户只需以最自然的方式访问抽象出的数据,其余的操作都由Fluid处理。

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

为什么云原生需要Fluid?

云原生环境与传统的大数据处理框架在设计理念和机制上有所不同。受Google三篇论文(GFS、MapReduce、BigTable)影响的Hadoop大数据生态系统,从诞生之初就秉承“移动计算而非数据”的理念。因此,Spark、Hive、MapReduce等数据密集型计算框架的设计更多考虑数据本地化架构,以减少数据传输。但随着时代的发展,为了兼顾资源扩展的灵活性和应用成本,计算和存储分离的架构在云原生环境中日益流行。因此,云原生环境需要Fluid这样的组件来弥补大数据框架拥抱云原生带来的数据本地性缺失。

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

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

演示

我们提供了一个视频Demo,展示如何通过Fluid提升云上AI模型训练的速度。在这个Demo中,使用相同的ResNet50测试代码,Fluid加速后的表现明显优于直接使用ossfs访问,无论是每秒训练速度还是总训练时间,都有显著提升,训练耗时缩短了69%。

快速体验Fluid

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

作者简介

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

车漾:阿里云高级技术专家,专注于Kubernetes和容器相关产品的开发。特别关注通过云原生技术构建机器学习平台系统,是GPU共享调度的主要作者和维护者。

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

本文为阿里云原创内容,未经允许不得转载。

    本文来源:图灵汇
责任编辑: : 金牌分析师
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
原生拼图拥抱一块重要数据FluidAI
    下一篇