金山云发布在离线混部解决方案Colo 显著提升集群平均利用率

2023-09-15 09:44:49     来源:

根据Gartner数据统计,2023年全球IT支出预计将达到4.7万亿美元,比2022年增长4.3%。然而,该机构另一项调查数据显示,全球数据中心服务器CPU利用率只有6%~12%。如何提升服务器资源利用率,降低IT基础设施的总拥有成本(TCO),从而实现降本增效,成为企业发展过程中的重要议题。

在此背景下,金山云推出在离线混部解决方案Colocation(以下简称“Colo”),该方案在知乎已完成大规模集群验证,集群资源利用率得到有效提升。通过在隔离类型上采用共享物理机内核、部署底座上采用容器部署、调度决策上采用动态决策,Colo具备6大功能特色,包括调度、重调度、资源隔离与限制、资源冲突检测与处理、可观测性以及节点实际负载查询API等。

Colo的系统架构

从系统架构层面看,在离线混部解决方案Colo主要分为5个层级,主要包括基础组件、资源管理和调度、节点管控、存储管理以及系统隔离。其中值得一提的是,Colo在资源调度侧增强了调度器相应的扩展能力,将调度器扩展为Colo-Manager、Colo-Scheuler、Colo-Descheuler,并在节点管控侧提供了cololet组件(如下图)。

在该方案中,Colo-Manager负责node节点cololet agent配置同步,例如BE任务内存&CPU分配比例、开启某项资源压制开关等,以及Node resource计算工作。

Colo-Scheuler负责在线和离线应用调度,扩展负载均衡调度(包含CPU、Memory、CPI干扰)、重调度预调度(重调度驱逐时的安全策略)、ColocationFit插件。

Colo-Descheuler是一款重调度器,可扩展负载均衡调度插件。主要应用于实时运行过程中,二次调度pod,扩展高级防护策略,按照Node、Namespace、Workload进行保护。

Cololet是节点级调度器,主要负责Pod的QoS保障。提供细粒度的资源使用指标、内核指标等监控指标的采集,实际负载数据的采集与保存,CPU、内存、BlkIO、Network等资源的冲突检测与动态调整,以及干扰探测等功能。

Colo的六大工作原理

1) Colo-scheduler调度器

Colo-scheduler是基于社区scheduler framework框架开发的调度器,能够扩展感知离线资源可用量与在离线业务均衡分布的能力。根据Node节点实际负载指标计算得分并进行排序,为各个资源设置不同的权重值,实际剩余资源越多则得分越高,使得Pod在集群节点之间按照实际负载均衡分布。其离线可用资源计算公式为:

离线可用资源 = 节点总可用资源 - 节点预留资源 - 系统已使用资源 - 在线任务实际使用资源Node(BE).Alloc = Node.Total - Node.Reserved - System.Used - Pod(LS).Used

2) Descheduler重调度器

重调度器定期检测集群状态,对不符合预期的情况进行动态调整,使集群始终处于健康状态。例如:当Node节点上Pod数量超过阈值或当某个Namespace中的Pod数量超过阈值时,均会触发Pod迁移;将Pod从实际利用率过高的节点迁移到利用率不足的节点;驱逐违反node affinity的Pod。

3) 资源隔离

对CPU、Memory、blkio、网络带宽等资源维度进行隔离。

4) 冲突检测和处理

对周期性离线任务CPU,控制内存资源上限;

对周期性在线服务CPU,保证内存资源;

在资源争抢清空下,驱逐离线任务;

周期性释放离线任务内存/缓存;

周期性对在线任务带宽进行检测与保证

5) eBPF内核监控指标采集

使用ebpf的方式采集以下5种内核监控指标,包括:

cpu-runq-latency-public(从任务在运行队列中排队到上下文切换和执行的时间)

ipcstat(统计cpu时间片上执行的指令数)

cache-miss

llc-cache

l memory-alloc-latency(内存分配延迟)

6) NUMA调度

NUMA(非一致性内存访问)调度通过CPU分配策略与内存分配策略,最大化保证业务进程CPU访问内存的性能。

Colo资源分配与调度策略

1) Priority(调度优先级)

Colo将 Priority(调度优先级)分为colo-prod/colo-mid/colo-batchBatch/colo-free四个等级,优先级依次递减,Pod Yaml中指定申请的资源优先级,colo-scheduler会基于总量和分配量做调度。具体如下:

2) QoS(服务质量)

Colo将 QoS(服务质量)整体分为 System(系统级服务)、Latency Sensitive(延迟敏感性的在线服务)及Best Effort(资源消耗型的离线任务)三类,根据应用性能敏感程度的差异,Latency Sensitive 又细分为 LSE、LSR 和 LS。具体如下:

3) Priority与QoS关系描述

在 Priority 和 QoS 的使用上,二者整体是正交的两个维度,可以排列组合使用。不过受模型定义和实际的需求情况影响,部分排列组合存在约束。因此,建议的组合方式如下:

 Colo使用场景及使用方式

在使用Colo调度系统进行在离线业务混部时,根据不同业务场景可通过配置Priority与QoS的关键字段colo.sh/qosClass与priorityClassName字段进行匹配部署。

典型场景:

colo-prod & LS:适用于典型的在线服务,通常对应用的延迟、资源质量要求较高,运行时间较长,还需要保证一定的资源弹性能力。

colo-batch & BE:适用于混部场景中的低优离线任务,通常表现为对资源质量有相当的忍耐度,对延迟不敏感,运行时间相对较短,例如批处理类型的Spark/MR任务、AI训练任务等。

典型场景的增强:

colo-prod & LSR/LSE:适用于比较敏感的在线服务,可以接受牺牲资源弹性而换取更好的确定性(如CPU邦核),对应用时延要求极高。

colo-mid/colo-free & BE:Colo-mid&BE适用于对资源要求较高的离线任务,例如流式计算、近线计算等场景;colo-free&BE更适用于更低优先级的离线任务,例如研发人员的测试场景。

Colo的落地实践

目前,金山云与知乎联合共建的Colo方案已在知乎完成了大规模部署,实现了大部分核心业务的落地,助力其混部集群利用率均值显著提升。

三大产品优势

在落地实践中,Colo展现出以下三个产品优势:

1) 显著资源利用率提升

在保证服务稳定性的基础上有效利用资源,集群平均利用率显著提升。

2) 兼顾灵活调度与服务稳定

通过可观测性体系、动态决策、资源隔离、资源冲突检测与处理、调度等控制手段,充分保证混部服务稳定性。

 3) 丰富的策略支持

弥补原项目资源预测、blkio/网络带宽限制、冲突检测能力、内存回收上的不足,额外支持eBPF内核指标采集、numa调度、节点实际负载查询API等功能。

未来,混合部署将随着技术的发展而逐渐丰富,而金山云还将在提升资源利用率的宗旨下,基于容器调度场景,对Colo的功能特性持续进行优化和升级。

标签:

猜你喜欢

小布助手×新华社“一带一路全球行”,AI智能打造用户触媒新范式
英特尔高宇:协作打造高能低碳绿色PC,环保转型实现产业共赢
问顶320Ah储能电池惊艳RE+,瑞浦兰钧全面加速出海助力绿色未来
新品类新机遇,布艺清洗机如何成为家电行业下一个风口
投影仪电视机哪个实用?百寸大屏投影仪才是C位选手
延续卓越,持续守护 | 绿盟DDoS云服务助力爱尔兰云服务提供商云上安全
探知未来科技女性培养计划 点亮女生追梦科技路
云砺(票易通)荣登“2023中国好SaaS”TOP10榜单,企业协同平台赋能数字化转型
Unity回应:Runtime模式仅针对新安装游戏收取费用,90%以上客户不受影响
聚焦网安周 | 华为终端检测与响应系统(EDR)新品发布,勒索全进程回滚等黑科技引爆全场
至冷静 智新境,宁畅突破服务器“最后一公里”
使能算力:锐捷网络发布AIGC智算中心网络整体方案
新浪微博联合中国传媒大学发布报告:聚焦生成式AI发展与新传人才培养
联通数科16项成果挺进2023“鼎新杯”数字化转型应用大赛,一等奖数量最多
ODCC 2023丨超融合数据中心网络,赋AI时代新动能
华为手机不可错过的捷停车元服务 自动显示空余车位还能无感支付
大功率充电渐成主流赛道,RCD润诚达助推充电桩行业发展
第六届“康宁创星家创新应用挑战赛”落下帷幕 康宁持续全方位支持高校青年创新实践,点燃梦想火花
青云科技以自主自研深度参与信创建设
倒计时2天!2023黄河鲲鹏开发者大赛作品火热征集中
两项首发!名酒武陵上演高端酱酒“C化”新玩法
贝锐蒲公英客户端6.0发布!异地组网更快、更简单!
特发声通科技服务(武汉)有限公司正式成立
新炬网络获批加入证券基金行业信息技术应用创新联盟
抖音开放平台上线新能力!延伸内容价值助力开发者高效获客
这场大会,助力成都算力产业开启第三步跨越
南瑞集团牵头编制的ChaoJi充电技术三项国家标准正式发布
自主可控编解码技术护航亚运赛事
“黑土地”结出“生态果”!泛微与华为云创新中心的融通创新之旅
IWC万国表发布两款以G-CLASS 车型为灵感的大型飞行员腕表特别版