带你读《2022龙蜥社区全景白皮书》——6.1.3 资源混部场景的内核隔离实现方案(下)

本文涉及的产品
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
性能测试 PTS,5000VUM额度
云原生网关 MSE Higress,422元/月
简介: 带你读《2022龙蜥社区全景白皮书》——6.1.3 资源混部场景的内核隔离实现方案(下)

《2022龙蜥社区全景白皮书》——06 “龙蜥+”精选方案与案例——6.1 精选典型方案——6.1.3 资源混部场景的内核隔离实现方案(上) https://developer.aliyun.com/article/1229077



混部解决的核心问题:

在保证部署应用的服务等级目标SLO的前提下,充分利用集群中的空闲资源,来提升集群整体的利用率。

(a)在线服务类型应用(延时敏感型,Latency Sensitive) :

容器混合部署时的互相干扰(noisy neighbor)

单机的资源竞应用对资源的敏感程度不同,在资源调度和单机服务质量上都需要精细化的管理策略

资源竞争引发应用响应时间出现抖动毛刺的现象,产生长尾问题(tail latency)

(b)作业类型批处理任务(计算密集型):

分级可靠的资源超卖,满足差异化的资源质量需求

及时识别干扰源,避免影响LS应用


image.png

混部的资源隔离:

在混部中,放在首位的就是资源隔离问题,如果隔离问题没做好,竞争问题没解决,那就很容易引发线上的问题。轻一点,让用户的感官体验变差;重一点,引发线上故障,造成无法服务的恶劣影响。

而解决资源竞争的问题,主要从两个方面出发:

1.调度:通过资源画像的技术,在资源真正发生竞争之前,就预测规划好,尽量减少这种情况发生的可能性。它是主动触发,可以不断优化,但延时较高。

2.内核:在资源真正发生竞争的极端情况下,根据任务的优先级,如何做到既能保障高优先级任务不受影响,又能控制影响到的低优先级任务伤害最低。它是被动触发,保底的必须手段,生效快。

为了满足混部的需求,在服务器单机维度的内核资源隔离技术是最为关键的一项技术。龙蜥云内核(ANCK)在资源隔离的技术上深耕多年,并且在行业中处于领先地位,这些内核资源隔离技术主要涉及内核中的调度、内存和IO这三大子系统,并且在各个子系统领域根据云原生的混部场景进行了深入的改造和优化,关键优化包括但不限于:cpu group identity技术,SMT expeller技术,基于cgroup的内存异步回收技术等。


下图是资源隔离能力在整个混部方案中的位置:


image.png


内核资源隔离技术主要涉及内核中的调度、内存和IO这三大子系统,这些技术基于Linux CGroup V1提供资源的基本隔离划分以及 QoS保障,适用于容器云场景,同时也是大规模化混合部署方案所强依赖的关键技 术。  


除了基本的CPU、内存和IO资源隔离技术外,龙蜥内核还实现有资源隔离视图、资源监控指标SLI(ServiceLevelIndicator)以及资 源竞争分析工具等,提供一整套集监控、告警、运维、诊断等整套的资源隔离和混部解决方案,如下图所示:


image.png


弹性容器场景的调度器优化

如何保证计算服务质量的同时尽可能提高计算资源利用率,是容器调度的经典问题。随着CPU利用率不断 提升,CPU带宽控制器暴 露出弹性不足的问题日趋严重,面对容器的短时间CPU突发需求,带宽控制器需要对容器的CPU使用进行限流,避免影响负载延迟 和吞吐。  


Anolis OS中的CPU Burst技术是一种弹性容器带宽控制技术,在满足平均CPU使用率低于一定限制的条件下,CPU Burst允许短时间 的CPU突发使用,实现服务质量提升和容器负载加速。  

在容器场景中使用CPU Burst之后,测试容器的服务质量显著提升,如下图所示,在实测中可以发现使用该特性技术以后,RT长尾问 题几乎消失。


image.png


总结


龙蜥云内核在资源隔离的关键技术使社区用户有能力在云原生混部场景中根据业务特点设计最优解决方案,可有效提高用户的资源 使用率并最终降低用户资源的使用成本,非常适用于容器云混部场景,同时也是大规模化混合部署方案所强依赖的关键技术。

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
3月前
|
存储 资源调度 Serverless
阿里巴巴经济体核心调度系统“伏羲”设计问题之伏羲系统的功能如何解决
阿里巴巴经济体核心调度系统“伏羲”设计问题之伏羲系统的功能如何解决
85 0
|
12月前
|
缓存 监控 Anolis
|
资源调度 分布式计算 Kubernetes
给 K8s 装上大数据调度引擎:伏羲架构升级 K8s 统一调度
飞天伏羲作为有着十多年历史的调度团队,在服务好 MaxCompute 大数据平台的过程中,一直在不断通过自我革新赶超业界先进水平,我们经历了 Fuxi 2.0 的这样的大规模升级,今天通过 K8s 统一调度项目又再次实现了系统架构的蜕变,将大数据平台强大的调度能力赋予 K8s 系统,同时去拥抱 K8s 周边丰富的生态。除了集团弹内集群,将来我们在公共云、专有云等多个场景,也会以 K8s 统一调度的方式进行输出,以更好地服务云上的用户,敬请期待!
1690 10
给 K8s 装上大数据调度引擎:伏羲架构升级 K8s 统一调度
|
缓存 Kubernetes Cloud Native
带你读《2022龙蜥社区全景白皮书》——6.1.3 资源混部场景的内核隔离实现方案(上)
带你读《2022龙蜥社区全景白皮书》——6.1.3 资源混部场景的内核隔离实现方案(上)
194 7
|
缓存 运维 Java
带你读《2022龙蜥社区全景白皮书》——5.3.4 跨处理器节点内存访问优化
带你读《2022龙蜥社区全景白皮书》——5.3.4 跨处理器节点内存访问优化
188 7
|
缓存 Dragonfly 人工智能
带你读《2022龙蜥社区全景白皮书》——5.3.1 跨云-边-端的只读文件系统EROFS
带你读《2022龙蜥社区全景白皮书》——5.3.1 跨云-边-端的只读文件系统EROFS
109 7
|
Cloud Native 网络性能优化 调度
带你读《2022龙蜥社区全景白皮书》——5.3.2 资源隔离技术
带你读《2022龙蜥社区全景白皮书》——5.3.2 资源隔离技术
174 6
|
测试技术 Shell Anolis
带你读《2022龙蜥社区全景白皮书》——5.10.4 ancert:硬件兼容性验证与守护
带你读《2022龙蜥社区全景白皮书》——5.10.4 ancert:硬件兼容性验证与守护
121 1
|
存储 Dragonfly 人工智能
带你读《2022龙蜥社区全景白皮书》——6.1.4 云原生应用场景下的镜像分发加速方案
带你读《2022龙蜥社区全景白皮书》——6.1.4 云原生应用场景下的镜像分发加速方案
258 6
|
运维 Cloud Native 微服务
带你读《云原生架构白皮书2022新版》——组织能力视角
带你读《云原生架构白皮书2022新版》——组织能力视角
143 2