腾讯陈东东:Caelus全场景在离线混部的思考与实践
出品 | CSDN云原生
2022年7月28日,中国信通院、腾讯云、FinOps产业标准工作组联合发起的《原动力x云原生正发声 降本增效大讲堂》系列直播活动第4讲如期举行,腾讯高级工程师陈东东分享了Caelus全场景在离线混部的实践案例。本文整理自陈东东的分享。
在离线混部背景及意义
各大权威机构的调研数据显示,在线资源利用率普遍很低,平均在15%左右。
上图是某一在线CPU的使用曲线,在这里可以看出,在线资源使用的潮汐现象十分明显。业务方在申请资源时只能按照波峰时段的资源使用量进行申请,这就导致在波谷时段会有大量资源被浪费。
非容器化部署,未能利用整机资源;
业务容灾Buffer资源;
资源使用潮汐现象;
粗放的资源评估,占而不用;
业务之间相互隔离。
从上图可以看出,近年来我们对大数据的需求在逐步增高,这意味着我们需要投入更多成本来获取更多算力来对数据进行分析。离线作业运行时具有延迟不敏感、实时性不高、执行周期短等特点,利用该特点我们可以在在线任务的波谷时段混部离线任务,这为解决在线任务波谷时段有大量资源浪费提供了一种新的思路。
通过在离线混部,可以实现提升机器资源利用率、优化成本等目标,同时能够充分释放资源价值,降低能源消耗,助力双碳。
定制化
技术栈定制化,不宜推广;
平台升级需适配,维护成本高;
混部场景单一,大部分混部系统只关注容器化场景,忽略了非容器化场景,部分混部方案依赖大数据任务云原生化改造,难以支持Hadoop场景。
资源价值挖掘不充分
资源复用策略不够精细,利用率提升有限;
离线失败率高,浪费算力资源。
技术深水区
缺乏干扰检测与处理机制;
缺乏完善的资源隔离机制;
调度性能不满足离线高并发需求;
缺乏容器热迁移机制,离线作业在资源受压制时只能被驱逐。
Caelus全场景在离线混部
上图展示了Caelus全场景在离线混部。在线容器化已成为一种趋势,然而我们也要看到当前还有很多在线作业未容器化,这些在线作业可能还未来得及容器化,或不适合容器化。Caelus通过支持非容器化在线作业,可以打破混部在很多公司场景的限制。大数据任务是非常适合混部的,然而当前很多的大数据任务还是处于Hadoop生态,所占比例也非常高,针对这部分离线任务,Caelus也是要支持的。
为保证在线服务质量,Caelus采取了一些关键的技术手段。
为什么需要多维度指标呢?
混部资源使用状态,包括节点资源、在线资源、离线资源等; 业务运行健康度,在线是否受到影响、离线是否正常运行; 预测,短/长周期预测的数据来源; 干扰检测,在线干扰识别的对比依据。
此外,指标也需满足多维度、周期长、可溯源等要求,该如何实现呢?
多维度指标来源:Cadvisor、Node、eBPF、Perf、RDT、自定义指标。
集成TSDB事件序列存储
本地存储,占用空间少,重启不影响;
支持时间范围查询、效率高;
支持Prometheus查询接口,方便溯源;
支持表达式查询,数据统计更便捷。
预测
在混部过程中,预测可以指导我们为离线服务预留资源量,否则就只能根据历史经验对离线可用资源量进行预估。
离线资源配置过低,机器利用率提升有限; 离线资源配置过高,与在线资源产生竞争。
为了更好地保护在线资源服务,大多时候我们只在波谷时期部署离线任务,而不是24小时混部。动态预测可以使离线资源随在线资源量的变化而变化,在不挤占在线资源的前提下,实现资源利用率最大化。
集中预测
分布式预测
全局考虑应用下所有实例资源使用情况,进行统一预测;新扩容机器根据历史数据立即获取到预测资源。
根据节点资源实际使用量预测,包括在线和系统进程;在线作业资源突变时,可以快速作出反应。
长周期预测:Prophet、Long short-term memory(LSTM); 短周期预测:VPA、Autopilot、AutoRegressive Integrated; 机器学习:Multilayer Perceptorn(MLP)。
基于权重的共享CPU管理方式让离线应用可以复用所有空闲资源,同时调低离线任务的权重来降低对在线CPU资源的抢占,并采用quota与period结合的形式来限制离线业务对资源的使用。
在这种模式下,在线是不是一定不会受到干扰呢?答案是否定的。
共享Cache和内存带宽等资源,在线应用仍会有影响;
资源隔离依赖某些硬件功能或系统配置,受场景限制;
内核版本低,隔离能力弱。
为了更好地保证在线服务质量,需要干扰检测与处理机制。该机制全方位实时检测在线是否受到干扰,并采取措施,如压制离线资源或驱逐离线任务,及时消除干扰。
多维度指标收集:系统级别和业务级别; 时序数据库存储:指标数据长时间存储,便于周期性和多维度对比; 插件式干扰检测框架:灵活扩展,自定义检测插件。
混部资源管理方式
离线任务运行在在线机器上,复用在线机器的空闲资源,在云原生场景下应该如何管理离线资源呢?
以CPU资源为例,在云原生场景下,离线任务通过扩展资源提交,默认为BestEffort类型。
CPU不能复用Guaranteed类型的空闲资源(CPU Manager开启Statics策略); 内存不能复用所有空闲内存(Kubelet开启QoSReserved策略);
资源隔离是混部的基础,全维度资源隔离能够避免离线在单一维度上的资源挤占对在线造成影响。
资源隔离要遵循两个原则。
离线资源严格限制,保障在线资源充裕;
在线高优先级抢占,实时满足在线资源需求。
离线服务质量保障技术及思考
离线高性能调度
混部离线任务主要是大数据任务,大数据任务多是短作业且数量大、并发度高,对调度要求非常高。
Kubernetes原生的调度逻辑面向在线业务,注重在线的调度功能,无法满足离线业务的性能需求。所以我们自研了离线调度器,采用批量调度方式,相较K8s原生调度器,有数量级的提升。
在离线任务填充满集群的情况下,若有大量在线任务需要调度,我们可以采用批量抢占的方式迅速抢占离线,从而大大提高在线调度的调度效率。在提升调度性能的同时,我们也通过插件式机制高效实现各种功能迭代。
混部场景下,在线调度和离线调度该如何协同呢?
若集群只有一个调度器,在线和离线调度逻辑集中在一起,会产生调度器逻辑复杂、调度性能易成为瓶颈等问题。
若采用多个调度器基于全局锁进行协调,调度器在进行调度前需要先获得锁,才能进行调度。这种方式并发度低、资源利用率低,故又被称为“悲观并发”。
当前,我们采用的是“多调度器+协调器”的方式进行调度,它也被称为基于共享状态的“乐观并发”。
如上图所示,集群中不同的调度器单独进行调度,在绑定节点之前向协调器申请资源。协调器可以统筹协调调度,支持多调度器同时运行,且具有高效的冲突解决机制。多调度器+协调器架构能够兼顾在线调度的功能需求和离线调度的性能需求。
大数据任务混部服务质量保障
混部的离线任务包括大数据任务和AI训练任务,大数据任务当前可分为云原生大数据和Hadoop,Caelus原生支持云原生大数据。针对Hadoop场景下的大数据任务,我们采用YARN on K8s的方式,将NM(Node Manager)以容器化的方式运行在K8s上。
为了保证NM在容器中稳定地运行,我们也做了很多优化。如镜像热升级功能可以保证容器中的离线任务在NM Pod升级过程中继续保持运行。另外混部资源是动态变化的,所以RM(Resource Manager)端的资源也需要动态感知,热更新capacity功能可以在不重启NM进程的情况下,动态地更新NM在RM端的资源,从而减少因重启带来的资源开销。
大数据任务画像; 大数据任务筛选; 存算分离; 存储加速; 云盘扩展; NM容器化适配。
容器热迁移
部分混部任务(如AI训练任务等)运行时间一般都比较长,多以小时或天为单位。若这种类型的离线任务被驱逐,需重新运行,成本开销大。尤其是当面临内存这种不可压缩资源受压制时,当前我们只能采用驱逐离线任务的策略。
容器热迁移可以很好地解决需长时间运行的离线任务被驱逐所产生的问题。
容器热迁移是指在保证离线任务正常运行的前提下,从一个节点迁移到另一个节点。
当前基于虚拟机的热迁移技术已经十分成熟,但基于容器的热迁移技术的探索及实践都较少。腾讯内部基于容器热迁移进行了诸多实践与优化,以内存迁移为例,常规的内存迁移是先停掉原节点离线任务,再将离线任务一次性迁移至目标节点后重新运行。这种方式会造成离线任务的中断时间较长,质量难以保证。
我们采取了诸多策略保障中断时间尽量短,如采用内存按需迁移,同时在迁移过程中,采用压缩、并发方式加大内存存储速率。另外,我们也探索更加均衡的迁移策略,如采用迭代迁移方式。
Caelus实践落地
[广告]赞助链接:
关注数据与安全,洞悉企业级服务市场:https://www.ijiandao.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 小米宣布澎湃OS 2正式版开始推送:小米14系列率先尝鲜
- GPT 应该存在吗?
- 让 GPT-4 设计一个分布式缓存系统,它从尝试到被“逼疯”!
- Oracle 改写 Java SE 定价模式,网友吐槽:神操作,一人用 Java,全员要付钱!
- 马斯克“认怂”:重启 440 亿美元收购案,还想把推特变微信?
- 2022 SDC 议题 | 基于硬件虚拟化技术的新一代二进制分析利器
- 再出击!长亭雷池获评国际权威机构 WAF Specialist
- 『直播中』从unidbg trace log中还原被ollvm混淆的非标准算法
- 红魔7系列发布:第七神装,为赢而生
- 物联网安全漏洞实战,全方位解析IoT安全!
- iQOO Neo5 活力版:活力芯生,实力再升级
- 碾压专业机构,27岁华裔小伙推出美国最准新冠预测模型