当前位置:首页 > 公众号精选 > Linux阅码场
[导读]编者按:CPUBurst特性已合入Linux5.14,AnolisOS8.2、AlibabaCloudLinux2、AlibabaCloudLinux3也都支持CPUBurst特性。在系列文章的上篇中,我们讨论了让人讨厌的CPU限流,它会影响运行在容器中的应用的一些关键指标。为了...

编者按:CPU Burst 特性已合入 Linux 5.14,Anolis OS 8.2、Alibaba Cloud Linux2、Alibaba Cloud Linux3也都支持CPU Burst特性。

在系列文章的上篇中,我们讨论了让人讨厌的 CPU 限流,它会影响运行在容器中的应用的一些关键指标。为了避免限流的出现,有时我们不得不牺牲容器部署密度,从而导致资源浪费的产生。在解决方案部分,我们也介绍了新的CPU Burst 技术,通过这一技术,我们既能保证容器运行服务质量,又不降低容器部署密度。听起来有点像个银弹啊?那么,使用CPU Burst的副作用是什么?是否有不适用的场景呢?为了回答这个问题,本文将介绍CPU Burst打破的调度保证,以及CPU Burst影响评估。尽管这些CPU突发的使用造成的CPU使用差异在CPU利用率上很多时候不明显,但是我们仍然关心这种改变的影响。当然,结论是明确的:CPU Burst的负面影响完全可以忽略。仅在CPU利用率高达70%的环境里CPU Burst开始影响关键指标,而我相信大家日常生产环境的CPU利用率都远远低于这个水平。
CPU Bandwidth Controller的保证
使用CPU Bandwidth Controller可以避免某些进程消耗过多CPU时间,并确保所有需要CPU的进程都拿到足够的CPU时间。之所以有这样好的稳定性保证,是因为当Bandwidth Controller设置满足时,有如下的调度稳定性约束

其中是第i个cgroup的quota,是一个period内该cgroup的CPU需求。Bandwidth Controller对每个周期分别做CPU时间统计,调度稳定性约束保证在一个period内提交的全部任务都能在该周期内处理完;对每个CPU cgroup而言,这意味着任何时候提交的任务都能在一个period内执行完,即任务实时性约束:

不管任务优先级如何,最坏情况下任务执行时间(WCET, Worst-Case Execution Time)不超过一个period。假如持续出现调度器稳定性被打破,在每个period都有任务积攒下来,新提交的作业执行时间不断增加。

使用CPU Burst的影响
出于改善服务质量的需要,我们使用CPU Burst允许突发的CPU使用之后,对调度器的稳定性产生什么影响?答案是当多个cgroup同时突发使用CPU,调度器稳定性约束和任务实时性保证有可能被打破。这时候两个约束得到保证的概率是关键,如果两个约束得到保证的概率很高,对大多数周期来任务实时性都得到保证,可以放心大胆使用CPU Burst;如果任务实时性得到保证的概率很低,这时候要改善服务质量不能直接使用CPU Burst,应该先降低部署密度提高CPU资源配置。于是下一个关心的问题是,怎么计算特定场景下两个约束被打破的概率。
评估影响大小
定量计算可以定义成经典的排队论问题,并且用蒙特卡洛模拟方法求解。定量计算的结果表明,判断当前场景是否可以使用CPU Burst的主要影响因素是平均CPU利用率和cgroup数目。CPU利用率越低,或者cgroup数目越多,两个约束越不容易被打破可以放心使用CPU Burst。反之如果CPU利用率很高或者cgroup数目较少,要消除CPU限流对进程执行的影响,应该降低部署提高配置再使用CPU Burst。问题定义是:一共有m个cgroup,每个cgroup的quota限制为1/m每个cgroup在每个周期产生的计算需求(CPU利用率)服从某个具体分布,这些分布是相互独立的。假设任务在每个周期的开始到达,如果该周期内的CPU需求超过100%,当前周期任务WCET超过1个period,超过的部分累积下来和下个周期新产生的CPU需求一起在下个需求处理。输入是cgroup的数目m和每个CPU需求满足的具体分布,输出是每个周期结束WCET > period的概率和WCET期望。使用蒙特卡洛模拟求解过程省略,详细请关注后续系列文章。以输入的CPU需求为帕累托分布、m=10/20/30的结果为例进行说明。选择帕累托分布进行说明的原因是它产生比较多的长尾CPU突发使用,容易产生较大影响。表格中数据项的格式为其中越接近1越好,概率越低越好。
u_avg

m=10

m=20

m=30


10%

1.0000/0.00%

1.0000/0.00%

1.0000/0.00%

30%

1.0000/0.00%1.0000/0.00%1.0000/0.00%

50%

1.0003/0.03%1.0000/0.00%1.0000/0.00%

70%

1.0077/0.66%1.0013/0.12%1.0004/0.04%

90%

1.4061/19.35%1.1626/10.61%1.0867/6.52%
结果跟直觉是吻合的。一方面,CPU需求(CPU利用率)越高,CPU突发越容易打破稳定性约束,造成任务WCET期望变长。另一方面,CPU需求独立分布的cgroup数目越多,它们同时产生CPU突发需求的可能性越低,调度器稳定性约束越容易保持,WCET的期望越接近1个period。

后续
看完本文相信您对CPU Burst的影响已经有了定性了解。如果希望对评估方法有更多了解,请期待系列文章的下篇。关于作者

常怀鑫(一斋),阿里云内核组工程师,擅长CPU调度领域。

丁天琛(鹰羽),2021年加入阿里云内核组,目前在调度领域等方面学习研究————

加入龙蜥社群

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】拉你入群;加入钉钉群:扫描下方钉钉群二维码。欢迎开发者/用户加入龙蜥OpenAnolis社区交流,共同推进龙蜥社区的发展,一起打造一个活跃的、健康的开源操作系统生态!

龙蜥社区钉钉交流群

龙蜥社区-小龙

关于龙蜥社区
龙蜥社区是由企事业单位、高等院校、科研单位、非营利性组织、个人等按照自愿、平等、开源、协作的基础上组成的非盈利性开源社区。龙蜥社区成立于2020年9月,旨在构建一个开源、中立、开放的Linux上游发行版社区及创新平台。

短期目标是开发Anolis OS作为CentOS替代版,重新构建一个兼容国际Linux主流厂商发行版。中长期目标是探索打造一个面向未来的操作系统,建立统一的开源操作系统生态,孵化创新开源项目,繁荣开源生态。

龙蜥OS 8.4已发布,支持x86_64和ARM64架构,完善适配Intel、飞腾、海光、兆芯、鲲鹏芯片。欢迎下载:https://openanolis.cn/download加入我们,一起打造面向未来的开源操作系统!Https://openanolis.cn往期精彩回顾1.龙蜥社区成立DDE SIG,发布当前移植进展

2.跟踪诊断技术SIG 7月运营月报:系统排查工具 ssar 即将开源 | 龙蜥SIG

3.硬核启动!第16届「中国 Linux 内核开发者大会」征稿开始

4.丝般顺滑!全新垃圾回收器 ZGC 初体验 | 龙蜥技术

5.Java语言与虚拟机SIG7月份运营月报:Dragonwell开发动态 | 龙蜥SIG

6.龙蜥社区8月运营委员会顺利召开

7.大连红旗加入龙蜥社区 共建 RISC-V 开源生态

8.干掉讨厌的 CPU 限流,让容器跑得更快 | 龙蜥技术

9.移动云正式发布基于龙蜥 Anolis OS 的 BC-Linux V8.2 通用版操作系统

10.商密软件栈SIG 7月份运营月报|龙蜥SIG

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

云和超大规模服务运营商正不断增大计算密度。随着 Microsoft Cobalt、阿里巴巴的倚天 710、AmpereOne等配置 128 核或以上的 CPU 设计进入市场,单个封装可实现的性能更强,且下一代的目标还将远...

关键字: CPU 处理器

Arm Neoverse 旨在为从云到边缘的全场景基础设施用例提供高性能和出色能效。针对需要更高性能的工作负载和用例,Arm 推出了 Neoverse V 系列。其中,Neoverse V2 核心已被行业先行者广泛部署于...

关键字: 云计算 人工智能 CPU

本文中,小编将对 CPU 开核予以介绍,如果你想对它的详细情况有所认识,或者想要增进对 CPU 开核的了解程度,不妨请看以下内容哦。

关键字: CPU 开核

在这篇文章中,小编将为大家带来CPU的相关报道。如果你对本文即将要讲解的内容存在一定兴趣,不妨继续往下阅读哦。

关键字: CPU 集成电路 处理器

ChatGPT引发的AI大模型概念已经持续火爆一年,直至今日,AI的热度不仅没有下降,行业也迸发出越来越多具有颠覆性的应用。2024年初以来,AI PC、AI手机、AI边缘等产品相继开售,过年期间,Sora又引发了大规模...

关键字: CPU 大模型 AI

最新消息,昨天高通公司在发布会上推出了骁龙 8 旗舰移动平台诞生以来的第一款新生代旗舰平台:第三代骁龙 8s,这是高通对骁龙旗舰移动平台的一次层级扩展。作为新生代旗舰,骁龙 8s Gen 3 得到了用户广泛的关注。

关键字: 高通 第三代骁龙8s移动平台 小米 骁龙 8s Gen3 小米Civi 4 Pro 芯片 CPU

加利福尼亚州 坎贝尔 – 2024 年 3月 13 日 – Arteris, Inc.(纳斯达克股票代码:AIP)是一家领先的系统 IP 供应商,致力于加速片上系统(SoC)的创建。Arteris今天宣布了其与 Arm...

关键字: CPU 激光雷达 自动驾驶

2024年3月12日,中国 -- 服务多重电子应用领域、全球排名前列的半导体公司意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)发布了新一代的STM32MP2系列工业级微处理器 (...

关键字: 微处理器 智能工厂 CPU

科学家将使用由 NVIDIA Grace Hopper 超级芯片加速的 NVIDIA CUDA Quantum 平台运行最先进的量子计算模拟

关键字: 量子计算 CPU GPU

简化系统整合全新随插即用方案简化虚拟化实时IIoT平台的设置

关键字: CPU 计算机模块 IIoT平台
关闭
关闭