一 、离线在离线混部技术背景1.1 为什么混部
数据中心运行的混部服务可以分为在线服务和离线任务两大类,它们具有不同的探索资源使用特征 。 在线服务是实践指那些长时间运行、对时延非常敏感的离线服务 ,如电商 、混部游戏等 ,探索在线服务的实践资源利用率存在明显的波峰波谷现象 ,平均利用率较低 。离线离线任务是混部指那些运行周期短,源码库有容错性 ,探索对实时性要求低的实践服务,如数据转换、离线模型训练等 ,混部离线任务在执行过程中资源利用率很高。探索 在混部之前,在线和离线都是分开独立部署 ,机器不共享,无法形成有效的资源互补,这导致数据中心整体资源利用率不高,却要不断购买新机器 ,造成了资源浪费。 1.2 混部技术定义
通过混部技术,源码下载我们可以将在线和离线部署到同一台物理机上,形成资源互补 ,提升物理机的资源利用率 ,降低成本。混部技术最早由谷歌在2015年提出 ,经过多年的发展,混部技术已经趋于成熟 ,目前业内利用混部技术可以将数据中心的CPU利用率提升至40%左右 。 vivo在2020年开始调研混部技术 ,2023年混部平台投入生产,目前我们已经将部分混部集群的CPU利用率提升至25%(最新已达30%)左右。相较业界标杆这还有一定的免费模板差距,但随着混部规模的扩大 ,我们将挑战更高的目标。 二 、在离线混部平台实践2.1 混部平台产品能力
混部平台必须具备两个产品能力: 第一、强大的调度 、隔离能力第二、完善的监控 、运维能力强大的调度能力解决了,我们如何将离线任务高效 、合理的建站模板调度到在线服务所在的物理机上 。而强大的隔离能力保障了在线服务的质量不受离线任务干扰 。完善的监控和运维能力则可以让我们洞悉整个混部平台的运行情况 ,及时发现潜在风险 ,帮助运维人员更高效的完成系统和业务的运维工作,保障集群的高稳定性 。 2.2 混部差异化资源视图
混部首先要解决的一个问题是模板下载离线使用哪一部分资源。 在vivo混部系统中在线和离线看到的资源视图是不同的: 在线可用资源为 整机资源离线可用资源为 整机资源减去 在线实际使用的资源同时为了避免整机负载太高影响系统的稳定性,我们设置一个安全水位线,用于调节离线可用资源大小。 2.3 混部QoS等级
为了保障混部系统的slo ,我们将服务分为三个等级:高、中 ,低 |