虚拟化下的制造技术

技术编号:39502344 阅读:8 留言:0更新日期:2023-11-24 11:32
虚拟化下的

【技术实现步骤摘要】
虚拟化下的CPU动态调频方法


[0001]本专利技术涉及虚拟机资源调度
,具体涉及虚拟化下的
CPU
动态调频方法


技术介绍

[0002]随着虚拟化技术的不断发展使得它在物联网

嵌入式工业自动化

车载系统

网络设备等领域得到广泛应用

通过有效地利用硬件资源和提供更灵活的部署方式,虚拟化为嵌入式系统带来了新的可能性和优势

在这些非数据中心场景下,
CPU
调频技术显得尤为重要
。CPU
调频允许动态调整
CPU
频率,从而在性能和节能方面都带来了好处

调频技术对于嵌入式设备来说主要为了解决以下关键问题:
1、
性能提升:在需要时使用更高的频率以获得更好的性能: CPU
动态调频使得在必要时可以提高
CPU
频率

这对于
"
重负载
"
用例特别有帮助,其中应用程序需要更多的处理能力

通过使用更高的频率,任务可以更快地完成,从而提升整个系统的性能

[0003]加快引导过程:在引导过程中增加
CPU
频率可以加快引导速度,使系统更快地变为可操作状态

这在需要快速启动时间的设备中尤为有益

[0004]2、
节能:在轻负载情况下使用较低的频率以提高功率效率: CPU
动态调频的一个主要优势是能够在系统负载较轻时降低
CPU
频率

这带来了节能效果,在嵌入式设备的嵌入式领域尤为关键

通过降低频率,设备的能耗可以减少,从而延长电池寿命

[0005]防止过热并延长
CPU
寿命: 在某些情况下,
CPU
动态调频可以帮助防止
CPU
过热

通过在负载较低时降低频率,
CPU
产生的热量减少,这在散热能力有限的设备中尤为重要

防止过热不仅提高了功率效率,还有助于延长
CPU
的寿命

[0006]性能优化和功耗效率的结合,使得
CPU
动态调频成为嵌入式系统中的一个有价值的功能

它与资源受限的设备要求相吻合,在性能和能耗之间取得合适的平衡至关重要
。CPU
动态调频的作用在提供更好的用户体验和各种应用的高效运行方面变得更加重要

[0007]通常在操作系统中就会有
CPU
调频的完整实现,包括调频算法

驱动等


Linux
系统为例,它包括:
1、
驱动程序支持:
Linux 内核中包含了多种 CPUFreq 驱动程序,用于支持不同的 CPU 架构和芯片组

这些驱动程序与特定的硬件平台交互,以调整 CPU 频率

[0008]2、Governor
(调频策略):每个 CPUFreq 驱动程序支持多个调频策略,也称为 Governor。Governor 用于根据系统负载和需求选择适当的频率

[0009]3、CPUFreq 调度器接口:
Linux 内核通过 CPUFreq 调度器接口与各个 Governor 交互

当需要调整 CPU 频率时,调度器选择适当的 Governor 来处理频率调整请求

[0010]4、
用户空间接口:
Linux 提供了 sysfs 接口,允许用户在用户空间中设置和查询 CPUFreq 参数

通过 sysfs
,用户可以选择不同的 Governor 或手动设置频率

[0011]但是在设备引入虚拟化技术以后,
CPU
调频就变得大不相同

如图1所示,调频的依
据是
CPU
的负载计算,也就是说
CPU
负载大,则需要较高的频率以提高
CPU
的算力和实时性


CPU
的负载较小时需要降低
CPU
的频率,以减少能量的消耗

开启虚拟化以后(
Hypervisor

Xen
为例进行说明),会在系统之上虚拟出多个客户机,其中第一个启动
Linux
系统称为
dom0
(中文可称之为管理域),其它客户机可以称为
domu
(中文可称之为客户域)

不同的客户机分处不同的域,并且相互隔离

其中
dom0
称为特权域,它拥有整个系统的硬件资源权限,这其中就包括
CPU
调频驱动及相应的硬件权限,其它
domu
访问硬件必须向
dom0
发起申请


dom0
操作系统只能计算自身虚拟机的负载情况,并不能感知其它虚拟机的负载

如果让
dom0
直接去进行
CPU
动态调频的话,就不能做出正确的决策,影响其它客户机的运行

[0012]另外还有一种思路是在
Xen
中实现
CPU
动态调频功能

因为
Xen
了解每个客户机和物理
CPU
的运行情况,所以它来做
CPU
调频的决策是比较正确的

但问题主要是像
Xen
这类典型的
TYPE

I
型虚拟机,基本上都具有轻量化的特点

它是处在硬件和操作系统之间薄薄的一层

而如果
Xen
要去完成整个
CPU
调频功能的话,需要集成大量的
CPU
调频驱动

因为不同芯片的
CPU
调频驱动千差万别,而为了适配不通的硬件,其代码量是相当巨大,而且考虑到后续的维护,也有很多的工作量

将大量的驱动代码移植到
Xen
中,显然不是
TYPE

I
型虚拟机的初衷


技术实现思路

[0013]为解决已有技术存在的不足,本专利技术提供了一种虚拟化下的
CPU
动态调频方法,包括如下步骤:步骤
S1
:启动管理域的
C本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
虚拟化下的
CPU
动态调频方法,其特征在于,包括如下步骤:步骤
S1
:启动管理域的
CPU
调频系统;步骤
S2
:设置管理域的调频策略;步骤
S3
:在管理域上实现负载重定向,将管理域操作系统的负载计算函数重定向到
Hypervisor
中,由
Hypersivor
进行
CPU
负载计算,在负载计算过程中
Hypersivor
能够将虚拟
CPU
的负载和实际物理
CPU
的负载进行转换,
Hypervisor
返回管理域时,能将负载计算结果写回到管理域操作系统中,使管理域操作系统基于调频策略完成调频工作;其中,管理域为虚拟化系统中第一个启动的虚拟机,负责运行和监控后续启动的其它虚拟机,管理域运行于
Hypervisor

,
管理域操作系统为运行于该第一个启动的虚拟机上的操作系统
。2.
如权利要求1所述的虚拟化下的
CPU
动态调频方法,其特征在于,所述步骤
S1
中,通过在管理域内核的
arch/arm/xen/enlighten.c
中去掉
disable_cpufreq()
函数,使得管理域操作系统能够正常加载
CPU
调频模块
。3.
如权利要求1所述的虚拟化下的
CPU
动态调频方法,其特征在于,所述步骤
S2
中,管理域的调频策略为
Performance、Powersave

Ondemand
,三种调频策略的调频原则分别如下:
Performance
:保持最高频率以获取最佳性能;
Powersave
:使用最低频率以降低能耗;
Ondemand
:根据负载动态调整频率
。4.
如权利要求3所述的虚拟化下的
CPU
动态调频方法,其特征在于,所述步骤
S2
中,管理域的调频策略为
Ondemand。5.
如权利要求4所述的虚拟化下的
CPU
动态调频方法,其特征在于,所述步骤
S3
中,通过如下步骤在管理域上实现负载计算重定向:步骤
S31
:使用...

【专利技术属性】
技术研发人员:韩乃平张云飞齐璇战茅
申请(专利权)人:麒麟软件有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1