《王雷博-云原生批量計算平臺Volcano的演進和落地實踐(GOTC上海會場)(12頁).pdf》由會員分享,可在線閱讀,更多相關《王雷博-云原生批量計算平臺Volcano的演進和落地實踐(GOTC上海會場)(12頁).pdf(12頁珍藏版)》請在三個皮匠報告上搜索。
1、開源云原生計算時代論壇專場嘉賓姓名 王雷博()本期議題:云原生批量計算平臺Volcano的演進和落地實踐HPC、大數據、AI 批量計算的發展歷程和趨勢2015 Tensorflow Caffe2 Pytorch2017 kubeflow Hadoop 1.0 HDFS20062008 Hive2012 YARN Impala2014 Spark Storm Flink2010 Hbase NOSQL2013 Tez2017 Spark on k8sK8s,framework,container20182010 Slurm199*LSF PBS SGE2005 Symphony SGE/UGE2
2、005 2008 Globus HPC for AIisc/vhpc Kubeflow kubecon2013長期課題:調度效率,資源利用率資 源 池:多個獨立資源池 統一的大資源池業務類型:單一作業平臺 在離線作業混部技 術 棧:自建底層技術棧 擁抱云原生底座云原生批量計算面臨的關鍵挑戰 作業管理缺失 調度策略局限Pod級別調度,無法感知上層應用缺少作業概念、缺少完善的生命周期的管理缺少任務依賴、作業依賴支持不支持Gang-Scheduling、Fairshaing scheduling不支持多場景的Resource reservation,backfill不支持CPU/IO topolog
3、y based scheduling 領域計算框架支持不足 資源規劃復用、異構計算支持不足1:1的operator部署運維復雜不同框架對作業管理、并行計算等要求不同計算密集,資源波動大,需要高級調度能力缺少隊列概念不支持集群資源的動態規劃以及資源復用對異構資源支持不足Volcano 幫助批量計算面對云原生的各種挑戰業界首個云原生批量計算平臺2019年6月上海KubeCon正式開源2020年4月成為CNCF官方項目2021年3月發布1.2版本每3個月一個特性版本,最新版本v1.2.0社區活躍度:1.7k star,300+fork,150+貢獻者5 Maintainer,8 Reviewer30
4、 家企業、科研機構Volcano 總體架構和優勢WorkloadKubernetesAPI-SERVERETCD KUBELET級聯隊列調度緩存多集群調度Volcano作業分發資源隔離共享基于共享視圖多調度器應用拓撲調度硬件拓撲調度聯邦調度子系統 調度性能子系統資源規劃子系統調度策略子系統Volcano Volcano 總體架構Volcano Volcano 優勢 高性能:提供隊列調度、優先級調度、搶占、裝箱、資源預留、拓撲調度等豐富的調度策略,在多種場景下提升應用性能 智能混合調度:支持在線、離線混合部署調度,提高整體資源利用效率 應用感知:感知應用類型和特點,針對大數據、AI、HPC負載提
5、供完善的生命周期管理 集群聯邦調度:支持多集群調度和作業分發,滿足效率優先、成本優先等不同的場景訴求 大規模:支持大規模集群調度,單集群規模支持1w節點,100w容器 高擴展:插件化算法集成框架,提供兩級插件擴展,方便二次開發,滿足不同場景訴求 易運維:Volcano 作業提供統一接口,避免過多Operator帶來的繁雜管理 社區成熟:CNCF首個批量計算平臺,已支持眾多的主流AI、大數據、高性能計算框架,眾多用戶已應用于生產環境分布式訓練場景、大數據場景性能提升30%+分布式訓練場景1分布式訓練場景2大數據TPC-DS性能測試AI 分布式訓練場景Gang-Scheduling:解決分布式訓練
6、ps-worker忙等、死鎖問題,性能提升30%。Task-topology/IO aware scheduling:最大程度降低傳輸時延,針對IO密集型應用,性能提升31%大數據場景minResource:解決高并發場景Spark driver和executor資源競爭問題,合理規劃并行度,性能提升39.9%在線、離線混合調度、資源超賣Node1Node2大數據、AI、Web轉碼、AIK8s API Server轉碼WebtfjobSparkOBSSFS Turbo CacheENIENIENIAI任務大數據任務Volcano調度引擎WebtfjobENIENI微服務場景和訴求:不同業務部署
7、在不同的集群中,單集群規模大 在線業務具有明顯日級別波峰、波谷特性,用戶為保證服務的性能和穩定性按照波峰申請資源 部分用戶對于自己服務的資源使用情況不了解,申請資源時具有盲目性,通常申請過量資源 集群資源分配率高,使用率低,CPU平均資源利用率不到 15%關鍵技術 qos-feature:OS對qos場景支持能力 qos/CPU快速搶占 qos內存預留、qos內存最低水位線分級 qos/NET&IO監控與搶占 qos-agent:設置qos level,節點作業校驗 kubelet:修改/添加對qos模型的支持,支持資源實時上報、計算超賣資源,作業驅逐。scheduler:集群調度器,修改/添
8、加對qos模型的支持,在統一資源模型下支持多類型業務場景案例:某內容社區公司基于Volcano優化AI訓練平臺在線服務標簽計算模型訓練 模型發布全量模型 模型推薦服務 Flink訓練數據生成特征KV緩存訓練數據基于Volcano的模型訓練 發布更新 業務場景:國內TOP內容社區公司,近千億級參數推薦模型,AI在線、離線訓練平臺客戶訴求:訓練集群近千臺計算節點,計算密集型模型,單個訓練任務包含上百個ps和worker,要求ps和worker達到最佳拓撲調度,訓練速度優化到最佳 集群資源規劃自動化,無需人工手動配置 同集群大小作業資源競爭、要求提供防餓死機制方案價值:使用 Volcano 改造后,
9、總體AI 訓練速度提升 20%Volcano應用感知調度,無需人工提前規劃資源 Volcano提供基于SLA的調度,解決大作業餓死問題案例:某金融投資公司基于Volcano構建大規模計算平臺用戶服務架構圖業務場景:某金融投資公司,業務場景主要為策略研究開發、AI 訓練與推理、大數據ETL和離線批處理任務客戶訴求:要求調度系統提供公平機制,滿足公司內多團隊資源共享,保證各自業務的SLA 要求系統提供Gang-scheduling解決基本死鎖問題 要求調度系統統一支持AI、大數據、Batch Job方案價值:Volcano 統一支持AI、數據ETL和離線Batch job Volcano提供的隊列
10、調度、公平調度策略,滿足用戶的多租戶資源共享的訴求 使用 Volcano,生產環境穩定支持30w Pod/天增長量 用戶基于Volcano進行深度二次開發眾多社區用戶將 Volcano 應用到大數據、AI、科研平臺https:/ 眾多企業、機構積極參與社區貢獻 CNCF Sandbox:https:/cf.io/selected=volcano 1700+GitHub Stars 150+Contributors from Huawei,AWS,JD.com,OpenAI,Baidu,Tencent,etc.15 formal releases 14 public adopters(priva
11、te not included)CII best practice:passing License:Apache 2 LicenseVolcano 社區 2020年度Top貢獻 企業、機構Data from https:/cf.ioVolcano ReleaseVolcano:A Kubernetes Native Batch Systemv1.0:GPU SharingPreempt and reclaim upgrade to BetaJob dynamic scale up and downIntegrate with flink operatorDAG job based on Arg
12、ov0.1:IndexedJobMultiple Pod templateError handling of Pod/JobQueue/Job command lineDelay Pod CreationJob pluginsv0.2:Job PriorityQueue CapacityFair-share of NS cross QueueBinpack algorithmMultiple event in job lifecycle policyv0.3:Add maxRetry in job controllerBug fix of scheduler,e.g.Resource,callbackDynamic load scheduler configurationSupport network policyCommand line enhancements2019.52019.92020.12020.72021.5v1.3:Support minAvailable at task levelSupport task-topologySupport minSussess for JobCreate new repository volcano.sh/apis.