1、开源混部系统Koordinator助力云原生应用性能提升宋泽辉小红书容器资源调度负责人张佐玮阿里云云原生应用平台技术专家小红书实践经验分享Contents目录01小红书在离线混部介绍02小红书Koordinator社区共建历程03小红书混部未来展望04Koordinator架构介绍05Koordinator社区动态06近期规划小红书在离线混部介绍Colocation in XiaoHongShu01混部技术背景背景集群资源呈现稳定的潮汐现象,均值利用率较低业务独占资源池带来的资源碎片散落在各个集群的buffer,碎片资源手段资源运营:碎片资源,闲置buffer资源提效,机型优化配置技术:合池并
2、池,在离线混部,资源超卖小红书混部技术演进二次调度,跨集群调度在离线隔离能力,精细化CPU核调度,合池弹性伸缩,资源调度预留&抢占统一调度,统一资源池,资源运营统一调度常态混部分时复用闲置资源再利用闲置资源再利用背景资源管理粗放,散落在各个集群中的低效节点形成资源浪费部分基于k8s发布的转码类近线/离线场景,存在计算资源需求策略定期巡检:空闲超过10min资源归还:在线pending,二次调度器驱逐离线跨集群离线调度:virtual-kubelet下发整机腾挪分时复用场景资源池:搜推广独占池场景,夜间利用率低在线业务:搜推广在线场景,支持弹性按比例缩容离线业务:转码,搜推广算法训练(大规格),
3、近离线业务T+1时效性要求策略服务弹性:凌晨在线服务定时缩容,离线服务定时扩容资源归还:离线提前缩容退场,调度在线抢占离线兜底常态混部策略调度侧:资源视图同步,调度器感知batch可用资源视图节点侧:在离线常态化混跑,离线填“谷”,在线负载感知,驱逐避让策略内核侧:调度优先级(bvt),oom 优先级,内存回收水位,超线程干扰避免,last level cache,memory bandwidth 隔离场景资源池:大规模合池,独占-公共混部池,夜间利用率低在线业务:搜推广,社区笔记,电商等java微服务场景离线业务:转码,大数据,cv/nlp近离线算法服务,T,T+1时效性要求常态混部调度能力
4、离线调度:gang/coscheduling负载感知调度:基于CPU水位二次调度:热点驱逐,碎片整理退机统一资源视图:资源走查,模拟调度;单机管控组件压制驱逐策略:bvt压制,内存驱逐QoS保障:绑核,超线程干扰抑制等batch资源上报同步指标采集(from kernel):psi,sched info干扰检测:基于cpi,psi 基础能力画像混部管控平台常态混部离线资源视图离线可用batch资源:(节点资源动态超卖)batch.allocatable=total reserved prod.usedk8s节点可用batch资源:(自定义资源,与在线服务资源视图分割) 各自权重50%,50%运
5、行超过一周40%,30%,30%T-1周同一时刻,权重最高,默认为40%,T-1天同一时刻,前一小时 各自权重30%,30%避免在线资源波动造成的离线可用资源频繁抖动Batch可用资源计算方式:常态混部离线驱逐策略整机内存超过安全水位基于CPU满足度驱逐策略,避免离线被长时间饿死基于龙蜥内核的QosEnsure能力CPU burst:cpu throttle缓解Group Identity:调度优先级,超线程隔离OOM 优先级:内存不足,按memcg优先级OOMmemcg全局最低水位线分级:调整直接内存回收顺序memcg异步回收:提前异步回收,尽可能避免同步回收常态混部Qos等级说明Laten
6、cy-sensitive最高Qos保障等级,延迟极为敏感服务mid默认Qos保障等级,容忍部分干扰延迟batch最低Qos保障等级,延迟不敏感,资源随时可能被抢占资源特性Latency-sensitivemidbatchCPUcpu burstenableenabledisable调度优先级最高默认低绑核share(默认)share(默认)reclaimednuma强保证prefer(默认)disableL3 cache100%100%(默认)30%(默认)内存带宽100%100%(默认)30%(默认)内存OOM优先级最低默认最高内存回收水线调高默认调低Qos分级Qos等级默认语义可以被业务单