当前位置:首页 > 嵌入式 > 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年加入阿里云内核组,目前在调度领域等方面学习研究————




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

【2026年3月12日,德国慕尼黑讯】随着汽车行业向软件定义汽车(SDV)转型,网络安全已成为保护车辆生态系统、主机厂(OEM)知识产权及终端客户隐私的关键。为满足这一需求,英飞凌科技股份公司(FSE代码:IFX / O...

关键字: 微控制器 CPU 非易失性存储器

随着人工智能从云端向端侧加速渗透,芯片设计面临的复杂度与日俱增。企业不仅需要领先的技术支撑,更需要在成本控制、风险管理和开发效率之间找到平衡。Arm技术授权订阅模式通过Arm Flexible Access、Arm To...

关键字: 人工智能 芯片设计 CPU

March 10, 2026 ---- 根据TrendForce集邦咨询最新笔电产业研究,2026年全球笔电市场正面临需求疲弱、成本上升的双重压力,除了存储器价格快速攀升,CPU价格也开始上调。据TrendForce集邦...

关键字: 笔电 存储器 CPU

为COM-HPC Client 平台带来更强悍、更稳定的性能表现

关键字: 边缘计算 CPU GPGPU

高性能计算分支预测失败就像隐藏在代码中的定时炸弹,当CPU流水线遇到条件分支时,现代处理器虽然能以95%以上的准确率预测执行路径,但剩余5%的错误仍会导致10-15个周期的流水线清空。在关键计算场景中,这种看似微小的失败...

关键字: if-else CPU

在Linux系统中,进程管理是内核的核心功能之一,其核心目标是通过高效的调度机制和进程切换技术,实现多任务并发执行。

关键字: Linux CPU

Jan. 26, 2026 ---- 根据TrendForce集邦咨询最新笔电产业调查,全球笔电品牌自2025年下半年起面临存储器价格显著上涨的压力,2026年初开始,又遭遇CPU阶段性供给缺口、价格调涨的压力,加上包括...

关键字: 笔电 CPU 存储器

英特尔首席执行官陈立武表示:“公司对CPU在AI时代不可或缺的作用信心坚定。我们以稳健的表现为这一年画上了坚实的句号,并在打造新英特尔的征程上取得进展。我们成功推出首批基于Intel 18A制程——迄今为止英特尔最先进的...

关键字: CPU 半导体 AI

量化任务在内部使用 AIMET 框架来对模型进行量化处理。要完成这一量化操作,需要使用训练数据集的一部分。所需校准数据的大小通常在数千个样本的量级。

关键字: 嵌入式 MediaPipe 模型 CPU

1月20日消息,最近,基于兆芯开胜KH-40000 32核心处理器打造的高性能服务器产品,成功落地南非塞拉利昂宝石矿区预测系统,为矿产资源勘探提供核心算力支撑。

关键字: CPU GPU
关闭