Fluid 0.3 正式发布:实现云原生场景通用化数据加速

轻松写代码 2020-10-17 21:57:46 ⋅ 204 阅读

简介

为了解决大数据、AI 等数据密集型应用在云原生计算存储分离场景下,存在的数据访问延时高、联合分析难、多维管理杂等痛点问题,南京大学 PASALab、阿里巴巴、Alluxio 在 2020 年 9 月份联合发起了开源项目 Fluid 。

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

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

更新内容

Fluid 是云原生环境下数据密集型应用的高效支撑平台。近期 Fluid 0.3 版本正式发布,主要新增了三项重要功能,分别是:

  • 实现通用数据存储加速,提供 Kubernetes 数据卷访问加速功能
  • 加强数据访问安全保护,提供面向数据集的细粒度权限控制功能
  • 简化用户复杂参数配置,提供原生化系统内部参数配置优化功能

详细更新信息:

一、支持 Kubernetes 数据访问加速

尽管之前版本的 Fluid 已经支持诸多底层存储系统(如 HDFS、OSS 等),但在实际生产环境中,企业内部的存储系统往往更加多样,因存储系统不兼容而无法对接 Fluid 的情况仍然存在。例如用户使用 Lustre 分布式文件系统,由于之前的 Fluid 所使用的分布式缓存引擎尚不兼容 Lustre 系统,因此该用户将无法正常使用 Fluid。

为了提升 Fluid 在云原生数据访问加速场景的通用性,Fluid v0.3. 增加了对数据卷 Persistent Volume Claim (PVC) 和主机目录(Host Path)挂载的加速支持,从而为各类存储系统与 Fluid 的对接提供了一种通用化加速方案:无论使用哪一种底层存储系统,只要该存储系统可被映射为 Kubernetes 原生的数据卷 PVC 资源对象或者集群节点上的主机目录,那么它就可以通过 Fluid 享受到如分布式数据缓存、数据亲和性调度等功能特性带来的优势。其基本概念如下图所示:

Fluid 0.3 正式发布:实现云原生场景通用化数据加速

 

具体使用方法非常简单,用户只需在 mountPoint 中指定 pvc://nfs-imagenet,其中 nfs-imagenet 是 Kubernetes 集群中已有数据卷。

apiVersion: data.fluid.io/v1alpha1

kind: Dataset

metadata:

  name: fluid-imagenet

spec:

  mounts:

  - mountPoint: pvc://nfs-imagenet

    name: nfs-imagenet

我们通过 TensorFlow Benchmark 训练 ResNet-50 模型为测试场景,验证了 PVC 访问加速能力,以下是速度提升结果:

Fluid 0.3 正式发布:实现云原生场景通用化数据加速

 

从评估结果来看,Fluid 所提供的分布式缓存能力都能够提升整个训练任务的速度,缩短整体训练时间超过 20%。

二、数据集的访问权限控制

很多提供机器学习平台服务的企业存在多用户共享存储系统情况和场景。出于安全性考虑,机器学习平台服务提供商需要进行严格的访问权限控制以保障用户之间的数据隔离性,即任何未经授权的用户不得随意访问他人数据集。

Fluid 在 v0.3 中提供了对上述场景的支持:多用户共享的底层存储系统挂载到 Fluid 后,Fluid 暴露出的文件权限信息(如所属用户、文件模式等)将与底层存储系统保持一致,即实现了文件从底层存储系统到部署 Fluid 的节点的透传。这也就意味着底层存储系统中的访问权限控制同样将在部署 Fluid 的各个节点上生效,以此保证用户之间的数据隔离性不被破坏。

除此以外,Fluid v0.3 还提供了数据集“临时借用”的功能特性。“临时借用”指的是某用户需要拥有临时访问所属另一个用户的某个数据集的权限。在 Fluid v0.3 中,管理员可通过灵活的配置在部署 Fluid 的节点上完成数据集所有权的转换,以赋予指定用户“临时借用”他人数据集的能力,这能够帮助集群管理员实现更细粒度和灵活的数据集权限管理。

访问非 root 用户数据的使用文档:https://github.com/fluid-cloudnative/fluid/blob/master/docs/zh/samples/nonroot_access.md

 

三、默认参数配置优化

Fluid 提供了很多参数配置供用户定制化自己的应用,在 Fluid 0.3 版本之前,用户需要根据实际环境和业务目标完全自行进行手工配置,然而手工完成配置优化工作对于大部分用户而言是比较困难且工作量繁重的。

Fluid v0.3 内置了大量面向 Alluxio 和 Fuse 等内部组件的默认参数配置优化,用户不再需要将大量精力放在参数配置调优上。根据我们经验优化后的默认参数设置能够在大部分 Fluid 常见使用场景下获得较好性能。

总结

Fluid v0.3 主要解决社区用户在实际生产环境中反馈的问题和需求。对主机目录和 PVC 挂载的支持为兼容不同的底层存储系统给出了一个通用的解决方案;数据集的访问权限控制让 Fluid 能够真正满足多用户共享的实际生产环境的需求;优化后的默认参数配置增加了 Fluid 的易用性,并在多数场景下保持性能的稳定。

信息来源:https://mp.weixin.qq.com/s/ZfGRz4hOW9DZTG-CgWn4xw


全部评论: 0

    我有话说:

    「尝鲜」SpringBoot 快速整合Swagger 3.0

    第一步:Maven引入Swagger3.0 starter依赖 Maven项目中引入springfox-boot-starter依赖: <dependency> <

    Firefox 85.0 正式发布加强用户隐私保护

    Firefox 85.0 正式发布了, 该版本主要加强了对用户的隐私保护,防止其浏览网页时被追踪。 新功能 Firefox 现在可以保护用户免受 supercookies 的侵害

    Apache Arrow 3.0.0 发布,内存数据交换格式

    Apache Arrow 3.0.0 发布了,该版本包含 2.0.0 发布以来修复的 678 个问题。Apache Arrow 是 Apache 基金会的顶级项目之一,目的是作为一个跨平台的数据层来

    Vant 3.0 正式发布:全面拥抱 Vue 3

    历经八个月时长的开发,Vant 3.0 现已正式发布。官方表示,在本次迭代中,其主要工作是基于 Vue 3 重构整个代码仓库和周边生态,并发布 Vant 3.0、Vant Cli 3.0

    原生微信小程序开发实战

    腾讯高级工程师 和 腾讯技术产品经理 联合打造原生微信小程序开发实战课程

    Hexo Fluid 博客主题更新 1.8.5 版本

    关于 Fluid Fluid  是一款基于 Hexo 框架的 Material Design 风格主题。 该主题相较于其他主题的优势: 1. 优雅的颜值,使用 Material

    Vue 3 正式发布

    Vue.js 3.0 "One Piece" 已正式发布,此框架新的主要版本提供了更好的性能、更小的捆绑包体积、更好的 TypeScript 集成、用于处理大规模用例的新 API,并为框架未来的长期

    Kuma 1.0 GA 发布,70 多项新功能和改进

    Kuma 1.0 GA 现已发布,包含了 70 多种新功能和改进。Kuma 是一个现代的通用服务网格控制平面,基于 Envoy 搭建,Envoy 是一个为原生应用设计

    Vue CLI 3.0 正式发布,Vue.js 开发标准化工具

    Vue CLI 3.0发布,该版本经历了重构了很多有用的内容

    「软件更新」实时数据管理平台,Apache Geode 1.10.0 发布

    实时的、一致的、贯穿整个架构地访问数据关键型应用

    Python 3.9.1 发布,支持苹果 M1 和 macOS 11 Big Sur

    Python 3.9.1 已正式发布。Python 3.9.1 是 Python 3.9 的第一个维护版本,也是第一个在 Apple Silicon 上原生支持 macOS 11 Big Sur 的

    SQLite 3.34.0 发布,世界上使用量最大的数据库引擎

    SQLite 3.34.0 发布了,SQLite 是一个 C 实现的 SQL 数据库引擎,它的特点是小型、快速、自包含、高可靠性和功能齐全。SQLite 嵌入在所有手机和大多数计算机中,也捆绑在

    前端框架 Angular 11.0.0 正式发布,不再支持 IE 9 、10

    前端框架 Angular 11.0.0 正式发布。 Angular 11.0.0 将 TypeScript 升级到 4.0, 对 TypeScript 3.9 不再支持。 放弃了对 IE 9 、10

    TimescaleDB 1.0 正式发布!基于 PG 的时序数据库

    TimescaleDB 是基于 PostgreSQL 数据库开发的一款时序数据库,以插件化的形式打包提供,随着 PostgreSQL 的版本升级而升级,不会因为另立分支带来麻烦。

    数据结构

    结构,简单的理解就是关系。严格点说,结构是指各个组成部分相互搭配和排列的方式。在现实世界中,不同数据元素之间不是独立的,而是存在特定的关系,我们将这些关系成为结构。 数据结构:是相互之间存在一种

    【老兵不朽】时隔1年,jQuery 发布 3.4.0 新版

    jQuery 团队的核心开发者 Timmy Willison 在官网正式宣布 jQuery 3.4.0发布

    ElasticJob 3.0.0-beta 发布,丰富的报警机制集成

    本周Apache ShardingSphere团队很高兴的向大家宣布: ElasticJob-3.0.0-beta 和 ElasticJob UI-3.0.0-beta 的新版本正式发布

    Nginx灰度升级实现说明

    基础介绍 下文分别从名词解释、灰度升级的作用、灰度升级方案3个方面展开介绍: 1.名词解释 灰度升级:灰度升级是一种升级时候的平滑切换,当有些服务器的客户端要进行升级,可以只对其中一个客户端升级并

    Stellarium 0.20.3 发布,开源 3D 天象模拟软件

    Stellarium ​​0.20.3发布。Stellarium 是一款免费开源 GPL(自由软件基金会 GNU 通用公共许可证)软件,它使用 OpenGL 图形接口对星空进行实时渲染。软件可以