电脑桌面
添加微风文库到电脑桌面
安装后可以在桌面快捷访问

基于大规模弹性伸缩实现拓扑感知的在离线并池.pdf

基于大规模弹性伸缩实现拓扑感知的在离线并池.pdf_第1页
1/27页
基于大规模弹性伸缩实现拓扑感知的在离线并池.pdf_第2页
2/27页
基于大规模弹性伸缩实现拓扑感知的在离线并池.pdf_第3页
3/27页
基于⼤规模弹性伸缩实现拓扑感知的在离线并池邵伟 / 字节跳动 ⾼级研发⼯程师主讲⼈邵 伟字节跳动 编排调度团队 ⾼级研发⼯程师主要负责⼤规模弹性系统、在离线混合部署等资源优化相关⼯作⼤纲1背景介绍2在离线弹性体系34案例分析未来展望字节云原⽣化现状:如何实现资源效率提升?在线体系� 多元化业务体系• 资源供应优先保证在线稳定• 在线潮汐明显,离线资源缺乏� 在离线并池实现利⽤率提升� Web 服务和算法服务占据⼤部分在线资源Web 服务视频编解码算法服务FaaS 服务有状态服务…离线体系临时查询流式追新定时报表数据分析模型训练…资源效率提升场景之⼀在线Web 服务离线批式作业混合部署•Golang 服务•重延时,CPU 调度性能关键•其他资源需求较少•Ad-hoc 查询、报表•运⾏时间短,重内存•重吞吐,资源可挤压•实例可少量杀死•多维度资源隔离•中⼼+节点两级管控在线 Web 服务和离线批式作业:业务模型简单,资源模型互补资源效率提升场景之⼆在线算法服务离线训练作业弹性并池•推荐、⼴告、搜索核⼼服务•延迟、效果并重•加载模型,重内存•NUMA 绑定,异构设备⽀持•推荐⼴告 CTR/CVR、NLP•吞吐、效果并重•运⾏时间⻓,多⻆⾊协作•NUMA 绑定,异构设备⽀持•分时资源复⽤•适配性能需求•适配离线编排能⼒在线算法服务和离线训练作业:业务模型复杂,资源模型同质弹性并池挑战如何弹基础弹性能⼒如何⽤资源协同感知如何稳稳定性保证•在线:⽆状态,可⽔平扩展•离线:协同框架,定制弹性能⼒•扩展资源表达和管控•在离线统⼀调度•跨集群的资源整合•弹性资源分配和回收⼤纲1背景介绍2在离线弹性体系34案例分析未来展望在线弹性设计:如何保证资源及时归还?Metrics Aggregation ServerMQRedisHeuristic PolicyAgentAgentAgentControllerHPAGroupDeploymentDeploymentDeploymentKubernetes在线服务天然⽀持⽔平扩展,关键挑战在于构建快、稳的弹性系统在线弹性分层架构� 离线模型� 实时数据� 控制链路� 调度链路在线弹性实时性保证⾮突发流量预先扩容,突发流量分钟级扩容基于历史数据构建资源画像预测执⾏扩容⾏为模型触发实时触发组件性能⾃研可扩展内存数据存储服务建⽴维度索引,加速查询实时数据预取,聚合逻辑下发分⽚调度 + 乐观并发 bind镜像 lazy loading 按需拉取P2P 实现镜像和模型快速分发在线弹性稳定性保证配额数据组件联邦组合兜底Real DeployemntShadow Deployemnt原地进程替换 / 流量摘除PDB缩容部分资源仍然占住配额服务可以随时可回收系统指标和业务指标协同 完善数据异常 fallback 机制分布式追踪 Pod ⽣命周期完善报警,快速定位组件异常根据调⽤关系提供链路组扩缩能⼒避免出现服务瓶颈集群具备⾃治能⼒联邦提供⾃动故障切换离线分布式训练:PS-Worker 弹性定制“推⼴搜” 亿级⽤户和 item 特征,必须采⽤ PS-Worker 框架� 基础介绍• PS 存储模型参数;Worker 计算更新梯度� 负载特性• PS 实例异常任务失败• Worker 容忍部分异常;⼀定程度弹性可加快训练效率• 性能不均严重导致梯度异常;NUMA 绑定,环境同构� 弹性改造• PS 保证⾼优资源,灵活 Checkpoint (模型和数据 offset) 和 failover 机制• Worker 弹性满⾜ min/max 实例需求Worker 0Worker 1Server1. Send Gradients1. Send Gradients2. Download NewModel immediatelyPS 0PS 1PS NWorker 0Worker 1Worker N离线分布式训练:Ring AllReduce 弹性定制CV/NLP 等场景模型参数能单机塞满,使⽤ Ring AllReduce 实现带宽优化和训练加速a0b0c2 + c0a0 + a1b1c1a2b1 + b2c2Worker 1Worker 0Worker 3Worker 2� 基础介绍• ⽆中⼼节点,Worker 有序,互相交换梯度,2N 次收敛� 负载特性• Worker 天然⽀持故障容忍和弹性• 计算提速和 Worker 数线性相关• ⽊桶效应;⽹络带宽⼤;算⼒要求⾼� 弹性设计• 服务发现:维护全局 IP,动态建环• 状态同步:Worker 维护状态机,发起同步• 故障恢复:异常 Worker 拉⿊,异常梯度恢复• 数据分割:Worker 数据集正交,扩缩容后重新分⽚在离线资源协同感知:单集群统⼀调度Resource UpdatorPodSchedulerNodeResourcesGRPC PodResourceDevice ManagerResource ManagerDevice PluginsResource CollectorCPU/Mem PluginsToplogy Manager� ⾃定义 CRD 扩展资源表达• 在离线均以 Kubernetes 为基座� 微拓扑感知调度• ⽀持 Gang/Same 等丰富调度语义• 基于 Scheduler Framework 扩展• ⾃研 predicate 选择符合微拓扑的节点• ⾃研 priority 堆叠 NUMA 资源分配� 微拓扑感知管控• 扩展 Resource Manager • ⾃研 plugin 实现基于⻆⾊的分配策略在离线并池的前提是构建统⼀的单集群调度和管控体系在离线资源协同感知: 跨集群资源整合VKResourceNodeResourcesNodeResourcesNodeResourcesAPIServerNativeNodeVirtualNodeVirtualNodeVirtualNode离线作业独⽴集群部署,需要跨集群感知到在线资源� 基于 virtual kubelet 实现跨集群资源整合•提供租户独占集群,⽅便⾃定义编排逻辑•提供 K8S Native 资源接⼊体验� 两种⽤法•native 资源兜底,弹性资源加速•弹性资源⼀站式供应 � 新的挑战•资源汇总,丧失微拓扑语义,跨集群 Gang/Same 调度困难•相同 Job 的 Pod 只会同步到相同后端•Gang 在前端保证,Same 和微拓扑在后端保证弹性资源供应带来使⽤稳定性问题� 资源供应不稳定•资源总量、资源环境、供应时间⽆法精确预知•在线抖动随时产⽣资源回收� 单个作业内⽀持 min/max 语义•资源描述并⾮确定值•训练速度和满⾜更多作业间寻找平衡� 多个作业间可能出现资源死锁Elastic Resources Dispatcher & SchedulerreplicareplicareplicaJobJobJob在资源弹性供应的前提下,实现其合理的分配和回收基于 K8s Priority 体系适配资源弹性� 资源供应•deletion cost 定制缩容策略•尽可能缩容整机、整 socket•尽可能缩容同 Pod、同质 GPU� 资源分配与调度•优先满⾜单作业资源分配•Gang 语义超时⾃动回滚调度状态 � 资源回收•基于优先级实现资源回收•Job 资源回收后通知离线执⾏ checkpoint•在线 > highLowLowHigh: 2001-3000Medium:1001-2000Low:1-1000PSWorker-MinWorker-MaxDispatcher & Scheduler弹性并池体系总结Online FederationMember ClusterFedHPAGroupFedDeploymentHPAGroupDeploymentOffline Batch ClusterOffline Trainning ClusterVirtual NodeVirtual NodeVirtual Node� 如何弹•在线:天然⽀持扩展,构建快、稳的弹性系统•离线:协同框架定制弹性能⼒� 如何⽤•单集群内协同资源感知,⼀体化调度•跨集群间资源整合,适配调度语义 � 如何稳•缩容策略匹配资源同质需求•以优先级为基础,实现灵活资源分配和回收⼤纲1背景介绍2在离线弹性体系34案例分析未来展望Case 1:Ring AllReduce 使⽤弹性资源NLP 基于 horovod + et-operator 实现 RingAllReduce 框架弹性TrainingJob ControllerLauncherWorkerWorkerWorkerIP AddressIP AddressIP AddressHostfileNative ResourcesElastic Resoruces� 框架说明•中⼼ Launcher:构建通讯环、检查状态、处理异常•稳定资源:弹性资源 = 1:7� 稳定资源•Launcher 崩溃训练失败•(0, min」Worker 部署在稳定资源,保证稳定 � 弹性资源•(min, max」Worker 部署在弹性资源,加速训练•同质 V100 GPU 、同 Pod 调度、RDMA 加速•在线推理:模型较⼤,扩缩即整机 8卡/4卡 GPU� 资源收益:⽇常平均 800 卡 V100 GPUCase 2:PS-Worker 使⽤弹性资源PSPSPSPSPSWorkerWorkerWorkerWorkerPSPSWorkerWorkerPSCTV/CVR 采⽤⾃研 PS-Worker 框架异步训练RightWrong� 框架说明•资源紧张,全量弹性,在线并池共⽤ CPU/GPU•PS on CPU ,同构同 Pod,与 Worker 不共享 NUMA•Sparse on CPU,可共享 NUMA•Dense on GPU,同构 T4 GPU� 弹性要点•扩缩即 NUMA:在离线共享部分单机资源•Memory Migrate、双⽹卡、流量打标、OOM Score•碎⽚接⼊ spark/video transcoding 填充� 资源收益:夜间平均 300w 核⼼ * 7hCase 3:在线服务使⽤弹性资源HPAGroupHPAGroupHPAGroupAlloctable Elastic ResourcesVirtual Node:CapacityHPAGroupHPAGroupHPAGroup在线服务弹性资源接⼊� 接⼊场景•核⼼服务常态降级,晚⾼峰更多资源正向效果收益•促销、节⽇等活动临时弹性资源供应•直播等异常流量增⻓情况� 弹性要点•CronHPA + 分时 Quota 预先分配配额•UtilHPA ⽀持临时突破配额上限•低优离线容量⽔位管理和报警机制� 资源收益•⽇常峰值 40w 核⼼•春节供应 250w 核⼼ ⼤纲1背景介绍2在离线弹性体系34案例分析未来展望后续展望规模化产品化精细化•在线服务弹性规模和时间扩展•离线作业云原⽣和弹性化改造•在离线统⼀联邦•精细化调度,减少资源碎⽚•集群维度资源切分到全⾯整合•弹性容器产品能⼒完善•可视化资源视图和容量统计欢迎交流

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

基于大规模弹性伸缩实现拓扑感知的在离线并池.pdf

您可能关注的文档

发表评论取消回复

参与评论可获取积分奖励  
国家标准 + 关注
实名认证
内容提供者

国家标准

确认删除?
回到顶部