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

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,182元/月
云原生网关 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


总结


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

相关文章
|
11月前
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
1385 1
|
Kubernetes Java API
|
机器学习/深度学习 数据采集 TensorFlow
使用Python实现深度学习模型:智能心理诊断与辅助
【8月更文挑战第9天】 使用Python实现深度学习模型:智能心理诊断与辅助
167 2
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的设计项目管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的设计项目管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
143 3
|
缓存 Kubernetes Cloud Native
带你读《2022龙蜥社区全景白皮书》——6.1.3 资源混部场景的内核隔离实现方案(上)
带你读《2022龙蜥社区全景白皮书》——6.1.3 资源混部场景的内核隔离实现方案(上)
335 73
|
存储 算法 安全
深度解析JVM世界:JVM内存分配
深度解析JVM世界:JVM内存分配
|
安全 网络协议 Linux
|
Cloud Native Linux 数据中心
龙蜥白皮书精选:云原生混部资源隔离技术
不论是源码透明度,还是技术深度,以及场景的广度,龙蜥在资源隔离技术都是用户第一选择。
|
缓存 监控 Cloud Native
阿里大规模业务混部下的全链路资源隔离技术演进
本文作为混部实践系列开篇,本篇文章将介绍资源隔离技术在混部中的重要性、其落地挑战及我们的应对思路。
阿里大规模业务混部下的全链路资源隔离技术演进
|
Kubernetes Cloud Native 应用服务中间件
Koordinator 最佳实践系列:精细化 CPU 编排
Koordinator 最佳实践系列:精细化 CPU 编排