大數據

Fluid 0.3 新版本正式發佈:實現雲原生場景通用化數據加速

頭圖.png

作者 | 顧榮  南京大學 PASALab

導讀:為了解決大數據、AI 等數據密集型應用在雲原生計算存儲分離場景下,存在的數據訪問延時高、聯合分析難、多維管理雜等痛點問題,南京大學 PASALab、阿里巴巴、Alluxio 在 2020 年 9 月份聯合發起了開源項目 Fluid

Fluid 是雲原生環境下數據密集型應用的高效支撐平臺,項目自開源發佈以來吸引了眾多相關方向領域專家和工程師的關注,在大家的積極反饋下社區的開發工作進展迅速。近期 Fluid 0.3 版本正式發佈,主要新增了三項重要功能,分別是:

  • 實現通用數據存儲加速,提供 Kubernetes 數據卷訪問加速功能
  • 加強數據訪問安全保護,提供面向數據集的細粒度權限控制功能
  • 簡化用戶複雜參數配置,提供原生化系統內部參數配置優化功能

Fluid 項目地址:https://github.com/fluid-cloudnative/fluid

這三大主要功能的開發需求來自眾多社區用戶的生產實際反饋,此外 Fluid v0.3 還進行了一些 bug 修復和文檔更新,歡迎使用體驗 Fluid v0.3!感謝為此版本做出貢獻的社區小夥伴,我們會繼續廣泛關注和採納社區建議,推動 Fluid 項目的發展,期待聽到大家更多的反饋!

Fluid v0.3 下載鏈接:https://github.com/fluid-cloudnative/fluid/releases

下文是本次新版本發佈功能的進一步介紹。

1. 支持 Kubernetes 數據卷訪問加速

儘管之前版本的 Fluid 已經支持諸多底層存儲系統(如 HDFS、OSS 等),但在實際生產環境中,企業內部的存儲系統往往更加多樣,因存儲系統不兼容而無法對接 Fluid 的情況仍然存在。例如用戶使用 Lustre 分佈式文件系統,由於之前的 Fluid 所使用的分佈式緩存引擎尚不兼容 Lustre 系統,因此該用戶將無法正常使用 Fluid。

為了提升 Fluid 在雲原生數據訪問加速場景的通用性,Fluid v0.3. 增加了對數據卷 Persistent Volume Claim (PVC) 和主機目錄(Host Path)掛載的加速支持,從而為各類存儲系統與 Fluid 的對接提供了一種通用化加速方案:無論使用哪一種底層存儲系統,只要該存儲系統可被映射為 Kubernetes 原生的數據卷 PVC 資源對象或者集群節點上的主機目錄,那麼它就可以通過 Fluid 享受到如分佈式數據緩存、數據親和性調度等功能特性帶來的優勢。其基本概念如下圖所示:

1.png

具體使用方法非常簡單,用戶只需在 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 訪問加速能力,以下是速度提升結果:

2.jpg

從評估結果來看,Fluid 所提供的分佈式緩存能力都能夠提升整個訓練任務的速度,縮短整體訓練時間超過 20%。更多與測試相關的細節請參考 Github 上的相關示例文檔

2. 數據集的訪問權限控制

很多提供機器學習平臺服務的企業存在多用戶共享存儲系統情況和場景。出於安全性考慮,機器學習平臺服務提供商需要進行嚴格的訪問權限控制以保障用戶之間的數據隔離性,即任何未經授權的用戶不得隨意訪問他人數據集。

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

3. 默認參數配置優化

Fluid 提供了很多參數配置供用戶定製化自己的應用,在 Fluid 0.3 版本之前,用戶需要根據實際環境和業務目標完全自行進行手工配置,然而手工完成配置優化工作對於大部分用戶而言是比較困難且工作量繁重的。

Fluid v0.3 內置了大量面向 Alluxio 和 Fuse 等內部組件的默認參數配置優化,用戶不再需要將大量精力放在參數配置調優上。根據我們經驗優化後的默認參數設置能夠在大部分 Fluid 常見使用場景下獲得較好性能。

總結

Fluid v0.3 主要解決社區用戶在實際生產環境中反饋的問題和需求。對主機目錄和 PVC 掛載的支持為兼容不同的底層存儲系統給出了一個通用的解決方案;數據集的訪問權限控制讓 Fluid 能夠真正滿足多用戶共享的實際生產環境的需求;優化後的默認參數配置增加了 Fluid 的易用性,並在多數場景下保持性能的穩定。

如果您有任何疑問,歡迎加入釘釘交流群參與和討論:https://img.alicdn.com/tfs/TB1Cm4ciNvbeK8jSZPfXXariXXa-452-550.png

致謝

  • 感謝徐之浩,羅義力(南京大學 PASALab)對於支持 Kubernetes 數據卷訪問加速的貢獻
  • 感謝呂鼕鼕,謝遠東(雲知聲)對於數據集權限控制功能的貢獻

作者簡介

顧榮 博士,南京大學計算機系副研究員,研究方向大數據處理系統,已在 TPDS、ICDE、JPDC、IPDPS、ICPP 等領域前沿期刊會議發表論文 20 餘篇,主持國家自然科學基金面上項目/青年項目、中國博士後科學基金特別資助項目多項,研究成果落地應用於阿里巴巴、百度、字節跳動、中國石化、華泰證券等公司和開源項目 Apache Spark、Alluxio,獲 2018 年度江蘇省科學技術一等獎、2019 年度江蘇省計算機學會青年科技獎,擔任中國計算機學會系統軟件專委會委員/大數據專委會通訊委員、江蘇省計算機學會大數據專委會祕書長、Fluid 開源項目 co-founder、Alluxio 開源項目 PMC 成員。

阿里巴巴雲原生關注微服務、Serverless、容器、Service Mesh 等技術領域、聚焦雲原生流行技術趨勢、雲原生大規模的落地實踐,做最懂雲原生開發者的公眾號。”

Leave a Reply

Your email address will not be published. Required fields are marked *