基于虚拟化技术的处理器调度方法和处理器调度装置转让专利
申请号 : CN202110481265.8
文献号 : CN112988399B
文献日 : 2021-07-20
发明人 : 朱永强 , 伍文成
申请人 : 成都网安科技发展有限公司
摘要 :
权利要求 :
1.一种基于虚拟化技术的处理器调度方法,其特征在于,应用于电子设备,所述电子设备具有至少一个物理处理器、部署有至少一个虚拟机,每一个所述虚拟机上部署有至少一个虚拟处理器,所述方法包括:
获取预先为每一个所述虚拟机配置的优先权参数;
基于所述优先权参数分别确定每一个所述虚拟机包括的每一个虚拟处理器的初始资源消耗信用值,其中,所述初始资源消耗信用值用于表征所述虚拟处理器对所述至少一个物理处理器的处理器资源的初始占用比例;
基于所述初始资源消耗信用值对所述虚拟处理器执行调度操作,以将待运行的至少一个所述虚拟处理器分配给所述至少一个物理处理器运行;
其中,所述基于所述初始资源消耗信用值对所述虚拟处理器执行调度操作,以将待运行的至少一个所述虚拟处理器分配给所述至少一个物理处理器运行的步骤,包括:基于每一个所述虚拟处理器的状态信息和预先确定的状态判断条件,确定每一个所述虚拟处理器是否属于目标虚拟处理器;
针对每一个确定的目标虚拟处理器,基于该目标虚拟处理器的初始资源消耗信用值和该目标虚拟处理器所属的虚拟机的优先权参数,确定该目标虚拟处理器的优先级权值,其中,所述优先级权值用于表征所述目标虚拟处理器被分配给所述至少一个物理处理器运行的优先级;
基于所述优先级权值将至少一个所述目标虚拟处理器分配给所述至少一个物理处理器运行;
其中,所述电子设备具有多个物理处理器,所述方法还包括:判断是否达到预先确定的负载均衡条件;
若达到所述负载均衡条件,则针对每一个所述物理处理器,在待运行于该物理处理器的目标虚拟处理器中,确定第一目标虚拟处理器的第一数量和第二目标虚拟处理器的第二数量,其中,所述第一目标虚拟处理器的优先权参数大于预设的优先权阈值,所述第二目标虚拟处理器的优先权参数小于或等于所述优先权阈值;
针对每一个所述物理处理器,基于待运行于该物理处理器的虚拟处理器的数量和对应的所述第一数量得到第一比例值,并基于待运行于该物理处理器的虚拟处理器的数量和对应的所述第二数量得到第二比例值;
在得到的多个第一比例值中,确定出最大的第一比例值和最小的第一比例值,并基于该最大的第一比例值和该最小的第一比例值,判断是否需要对该最大的第一比例值对应的物理处理器和该最小的第一比例值对应的物理处理器待运行的第一目标虚拟处理器执行第一负载均衡操作;
在得到的多个第二比例值中,确定出最大的第二比例值和最小的第二比例值,并基于该最大的第二比例值和该最小的第二比例值,判断是否需要对该最大的第二比例值对应的物理处理器和该最小的第二比例值对应的物理处理器上待运行的第二目标虚拟处理器执行第二负载均衡操作;
若需要执行所述第一负载均衡操作,则将所述最大的第一比例值对应的物理处理器待运行的第一目标数量个第一目标虚拟处理器分配给所述最小的第一比例值对应的物理处理器,作为该最小的第一比例值对应的物理处理器待运行的目标虚拟处理器,其中,所述第一目标数量基于所述最大的第一比例值和所述最小的第一比例值确定;
若需要执行所述第二负载均衡操作,则将所述最大的第二比例值对应的物理处理器待运行的第二目标数量个第二目标虚拟处理器分配给所述最小的第二比例值对应的物理处理器,作为该最小的第二比例值对应的物理处理器待运行的目标虚拟处理器,其中,所述第二目标数量基于所述最大的第二比例值和所述最小的第二比例值确定。
2.根据权利要求1所述的基于虚拟化技术的处理器调度方法,其特征在于,所述基于每一个所述虚拟处理器的状态信息和预先确定的状态判断条件,确定每一个所述虚拟处理器是否属于目标虚拟处理器的步骤,包括:确定每一个所述虚拟处理器的状态信息,其中,若所述虚拟处理器用于处理输入输出任务、资源消耗信用值大于预设的信用阈值且未处于空闲状态,则所述虚拟处理器具有第一状态信息,若所述虚拟处理器用于处理计算任务、资源消耗信用值大于预设的信用阈值且未处于空闲状态,则所述虚拟处理器具有第二状态信息,若所述虚拟处理器的资源消耗信用值小于所述信用阈值且未处于空闲状态,则所述虚拟处理器具有第三状态信息,若所述虚拟处理器处于空闲状态,则所述虚拟处理器具有第四状态信息;
分别判断每一个所述虚拟处理器是否具有所述第一状态信息;
若所述虚拟处理器具有所述第一状态信息,则确定该虚拟处理器属于目标虚拟处理器;
若所述虚拟处理器具有所述第二状态信息、所述第三状态信息或所述第四状态信息,则确定该虚拟处理器不属于目标虚拟处理器。
3.根据权利要求2所述的基于虚拟化技术的处理器调度方法,其特征在于,所述基于所述初始资源消耗信用值对所述虚拟处理器执行调度操作,以将待运行的至少一个所述虚拟处理器分配给所述至少一个物理处理器运行的步骤,还包括:判断是否存在具有所述第一状态信息的虚拟处理器或是否存在具有所述第二状态信息的虚拟处理器;
若不存在具有所述第一状态信息的虚拟处理器,且不存在具有所述第二状态信息的虚拟处理器,则针对每一个所述虚拟处理器执行目标操作:其中,所述目标操作包括:
针对具有所述第三状态信息的每一个虚拟处理器,则基于该虚拟处理器的初始资源消耗信用值和当前具有的资源消耗信用值进行叠加处理,得到该虚拟处理器重新分配后的资源消耗信用值;
针对具有所述第四状态信息的每一个虚拟处理器,则将该虚拟处理器的初始资源消耗信用值作为重新分配后的资源消耗信用值。
4.根据权利要求1所述的基于虚拟化技术的处理器调度方法,其特征在于,所述基于所述初始资源消耗信用值对所述虚拟处理器执行调度操作,以将待运行的至少一个所述虚拟处理器分配给所述至少一个物理处理器运行的步骤,还包括:在将至少一个所述目标虚拟处理器分配给所述至少一个物理处理器运行之后,统计运行中的每一个所述目标虚拟处理器的持续运行时长;
针对运行中的每一个所述目标虚拟处理器,基于该目标虚拟处理器的持续运行时长,对该目标虚拟处理器当前的资源消耗信用值进行更新处理,得到更新后的资源消耗信用值,其中,所述更新后的资源消耗信用值小于所述当前的资源消耗信用值。
5.根据权利要求4所述的基于虚拟化技术的处理器调度方法,其特征在于,所述基于所述初始资源消耗信用值对所述虚拟处理器执行调度操作,以将待运行的至少一个所述虚拟处理器分配给所述至少一个物理处理器运行的步骤,还包括:在将至少一个所述目标虚拟处理器分配给所述至少一个物理处理器运行之后,针对运行中的每一个所述目标虚拟处理器,判断该目标虚拟处理器的更新后的资源消耗信用值是否小于预设的信用阈值;
若所述更新后的资源消耗信用值小于所述信用阈值,则在所述至少一个物理处理器上停止运行对应的目标虚拟处理器;
若所述更新后的资源消耗信用值大于或等于所述信用阈值,则判断对应的目标虚拟处理器在所述至少一个物理处理器上的持续运行时长是否大于或等于预设时长;
若所述持续运行时长大于或等于所述预设时长,则在所述物理处理器上停止运行对应的目标虚拟处理器;
若所述持续运行时长小于所述预设时长,则在所述物理处理器上继续运行对应的目标虚拟处理器。
6.根据权利要求5所述的基于虚拟化技术的处理器调度方法,其特征在于,所述若所述持续运行时长大于或等于所述预设时长,则在所述物理处理器上停止运行对应的目标虚拟处理器的步骤,包括:
基于所述持续运行时长对应的目标虚拟处理器的更新后的资源消耗信用值对该目标虚拟处理器的优先权值进行更新,得到更新后的优先权值;
基于所述更新后的优先权值将对应的目标虚拟处理器插入预先构建的红黑树中进行保存,并从该红黑树中将待运行的至少一个所述目标虚拟处理器分配给所述至少一个物理处理器运行,其中,该红黑树用于按照基于所述优先权值确定的先后顺序保存待运行的每一个所述目标虚拟处理器。
7.根据权利要求1所述的基于虚拟化技术的处理器调度方法,其特征在于,所述负载均衡条件包括第一负载均衡条件和第二负载均衡条件,所述第一负载均衡条件用于确定是否执行确定第一目标虚拟处理器的第一数量的步骤,所述第二负载均衡条件用于确定是否执行确定第二目标虚拟处理器的第二数量的步骤,所述方法还包括:在每一次判定不需要执行所述第一负载均衡操作之后,确定相邻的前N次判断结果是否都为不需要执行所述第一负载均衡操作,并在每一次判定不需要执行所述第二负载均衡操作之后,确定相邻的前N次判断结果是否都为不需要执行所述第二负载均衡操作;
若相邻的前N次判断结果都为不需要执行所述第一负载均衡操作,则对所述第一负载均衡条件进行第一更新处理,其中,所述第一更新处理包括增大所述第一负载均衡条件中的第一预设时长,所述第一预设时长表征相邻两次执行所述确定第一目标虚拟处理器的第一数量的步骤的间隔;
若相邻的前N次判断结果都为不需要执行所述第二负载均衡操作,则对所述第二负载均衡条件进行第二更新处理,其中,所述第二更新处理包括增加所述第二负载均衡条件中的第二预设时长,所述第二预设时长表征相邻两次执行所述确定第二目标虚拟处理器的第二数量的步骤的间隔。
8.一种基于虚拟化技术的处理器调度装置,其特征在于,应用于电子设备,所述电子设备具有至少一个物理处理器、部署有至少一个虚拟机,每一个所述虚拟机上部署有至少一个虚拟处理器,所述装置包括:
参数获取模块,用于获取预先为每一个所述虚拟机配置的优先权参数;
信用值确定模块,用于基于所述优先权参数分别确定每一个所述虚拟机包括的每一个虚拟处理器的初始资源消耗信用值,其中,所述初始资源消耗信用值用于表征所述虚拟处理器对所述至少一个物理处理器的处理器资源的初始占用比例;
调度操作执行模块,用于基于所述初始资源消耗信用值对所述虚拟处理器执行调度操作,以将待运行的至少一个所述虚拟处理器分配给所述至少一个物理处理器运行;
其中,所述调度操作执行模块具体用于:基于每一个所述虚拟处理器的状态信息和预先确定的状态判断条件,确定每一个所述虚拟处理器是否属于目标虚拟处理器;
针对每一个确定的目标虚拟处理器,基于该目标虚拟处理器的初始资源消耗信用值和该目标虚拟处理器所属的虚拟机的优先权参数,确定该目标虚拟处理器的优先级权值,其中,所述优先级权值用于表征所述目标虚拟处理器被分配给所述至少一个物理处理器运行的优先级;
基于所述优先级权值将至少一个所述目标虚拟处理器分配给所述至少一个物理处理器运行;
其中,所述电子设备具有多个物理处理器,所述装置还用于:判断是否达到预先确定的负载均衡条件;
若达到所述负载均衡条件,则针对每一个所述物理处理器,在待运行于该物理处理器的目标虚拟处理器中,确定第一目标虚拟处理器的第一数量和第二目标虚拟处理器的第二数量,其中,所述第一目标虚拟处理器的优先权参数大于预设的优先权阈值,所述第二目标虚拟处理器的优先权参数小于或等于所述优先权阈值;
针对每一个所述物理处理器,基于待运行于该物理处理器的虚拟处理器的数量和对应的所述第一数量得到第一比例值,并基于待运行于该物理处理器的虚拟处理器的数量和对应的所述第二数量得到第二比例值;
在得到的多个第一比例值中,确定出最大的第一比例值和最小的第一比例值,并基于该最大的第一比例值和该最小的第一比例值,判断是否需要对该最大的第一比例值对应的物理处理器和该最小的第一比例值对应的物理处理器待运行的第一目标虚拟处理器执行第一负载均衡操作;
在得到的多个第二比例值中,确定出最大的第二比例值和最小的第二比例值,并基于该最大的第二比例值和该最小的第二比例值,判断是否需要对该最大的第二比例值对应的物理处理器和该最小的第二比例值对应的物理处理器上待运行的第二目标虚拟处理器执行第二负载均衡操作;
若需要执行所述第一负载均衡操作,则将所述最大的第一比例值对应的物理处理器待运行的第一目标数量个第一目标虚拟处理器分配给所述最小的第一比例值对应的物理处理器,作为该最小的第一比例值对应的物理处理器待运行的目标虚拟处理器,其中,所述第一目标数量基于所述最大的第一比例值和所述最小的第一比例值确定;
若需要执行所述第二负载均衡操作,则将所述最大的第二比例值对应的物理处理器待运行的第二目标数量个第二目标虚拟处理器分配给所述最小的第二比例值对应的物理处理器,作为该最小的第二比例值对应的物理处理器待运行的目标虚拟处理器,其中,所述第二目标数量基于所述最大的第二比例值和所述最小的第二比例值确定。
说明书 :
基于虚拟化技术的处理器调度方法和处理器调度装置
技术领域
背景技术
实现多种不同的工作方式。
源的虚拟可以归结为处理器虚拟化(CPU虚拟化)、内存虚拟化和I/O虚拟化三个主要任务。
处理器虚拟化是VMM中最核心的部分,因为访问内存或者I/O的指令本身就是敏感指令,所
以内存虚拟化与I/O虚拟化都依赖于处理器虚拟化的正确实现。与传统操作系统不同的是,
虚拟机的虚拟化CPU并不直接拥有对物理CPU的调度权限,虚拟化CPU需要通过VMM的调度算
法来实现对物理CPU的占有,所以一个合适的调度算法将决定虚拟机系统的执行效率与资
源利用率。
发明内容
理器,所述方法包括:
一个物理处理器的处理器资源的初始占用比例;
所述虚拟处理器分配给所述至少一个物理处理器运行的步骤,包括:
值,其中,所述优先级权值用于表征所述目标虚拟处理器被分配给所述至少一个物理处理
器运行的优先级;
拟处理器是否属于目标虚拟处理器的步骤,包括:
有第一状态信息,若所述虚拟处理器用于处理计算任务、资源消耗信用值大于预设的信用
阈值且未处于空闲状态,则所述虚拟处理器具有第二状态信息,若所述虚拟处理器的资源
消耗信用值小于所述信用阈值且未处于空闲状态,则所述虚拟处理器具有第三状态信息,
若所述虚拟处理器处于空闲状态,则所述虚拟处理器具有第四状态信息;
所述虚拟处理器分配给所述至少一个物理处理器运行的步骤,还包括:
的资源消耗信用值;
所述虚拟处理器分配给所述至少一个物理处理器运行的步骤,还包括:
用值,其中,所述更新后的资源消耗信用值小于所述当前的资源消耗信用值。
所述虚拟处理器分配给所述至少一个物理处理器运行的步骤,还包括:
值是否小于预设的信用阈值;
目标虚拟处理器的步骤,包括:
物理处理器运行,其中,该红黑树用于按照基于所述优先权值确定的先后顺序保存待运行
的每一个所述目标虚拟处理器。
第二数量,其中,所述第一目标虚拟处理器的优先权参数大于预设的优先权阈值,所述第二
目标虚拟处理器的优先权参数小于或等于所述优先权阈值;
和对应的所述第二数量得到第二比例值;
应的物理处理器和该最小的第一比例值对应的物理处理器待运行的第一目标虚拟处理器
执行第一负载均衡操作;
应的物理处理器和该最小的第二比例值对应的物理处理器上待运行的第二目标虚拟处理
器执行第二负载均衡操作;
理处理器,作为该最小的第一比例值对应的物理处理器待运行的目标虚拟处理器,其中,所
述第一目标数量基于所述最大的第一比例值和所述最小的第一比例值确定;
理处理器,作为该最小的第二比例值对应的物理处理器待运行的目标虚拟处理器,其中,所
述第二目标数量基于所述最大的第二比例值和所述最小的第二比例值确定。
确定是否执行确定第一目标虚拟处理器的第一数量的步骤,所述第二负载均衡条件用于确
定是否执行确定第二目标虚拟处理器的第二数量的步骤,所述方法还包括:
均衡操作之后,确定相邻的前N次判断结果是否都为不需要执行所述第二负载均衡操作;
件中的第一预设时长,所述第一预设时长表征相邻两次执行所述确定第一目标虚拟处理器
的第一数量的步骤的间隔;
件中的第二预设时长,所述第二预设时长表征相邻两次执行所述确定第二目标虚拟处理器
的第二数量的步骤的间隔。
部署有至少一个虚拟处理器,所述装置包括:
拟处理器对所述至少一个物理处理器的处理器资源的初始占用比例;
器的初始资源消耗信用值,从而可以基于确定初始资源消耗信用值对虚拟处理器执行调度
操作,以将待运行的虚拟处理器分配给物理处理器运行。基于此,由于在对虚拟处理器执行
调度操作时,考虑基于优先权参数确定的初始资源消耗信用值,因而,对于具有不同初始资
源消耗信用值的虚拟处理器可以形成不同的分配次序,例如具有高初始资源消耗信用值的
分配次序可以在前,以得到及时的处理,从而改善现有的虚拟化技术中物理处理器的资源
分配不合理的问题。
附图说明
具体实施方式
是本申请的一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请
实施例的组件可以以各种不同的配置来布置和设计。
技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范
围。
化技术的处理器调度装置100包括至少一个可以软件或固件(firmware)的形式存储于所述
存储器12中的软件功能模块。所述处理器14用于执行所述存储器12中存储的可执行的计算
机程序,例如,所述基于虚拟化技术的处理器调度装置100所包括的软件功能模块及计算机
程序等,以实现本申请实施例提供的基于虚拟化技术的处理器调度方法(具体内容如后文
所述)。
Read‑Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read‑Only
Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read‑Only
Memory,EEPROM)等。
Chip,SoC)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列
(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
进行信息交互的通信单元。
署有至少一个虚拟机(Virtual Machine),每一个所述虚拟机上部署有至少一个虚拟处理
器(vCPU)。
法步骤可以由所述电子设备10实现。
资源消耗信用值。
作,如此,可以将待运行的至少一个所述虚拟处理器分配给所述至少一个物理处理器运行,
即在所述物理处理器上运行所述虚拟处理器,使得所述虚拟处理器上的任务可以被执行。
成不同的分配次序,例如,具有高初始资源消耗信用值的分配次序可以在前,以得到及时的
处理,从而改善现有的虚拟化技术中物理处理器的资源分配不合理的问题。
对于具有较低优先程度的的虚拟机,用户可以配置较低的优先权参数,如小于100。
的优先级,因而,可以占用较多的处理器资源。基于此,在执行步骤S120时,可以基于各虚拟
机的优先权参数之间的大小关系,确定对应的虚拟处理器的初始资源消耗信用值。例如,优
先权参数越大,对应的初始资源消耗信用值可以越大。
数之间的大小关系,确定各所述虚拟机的初始资源消耗信用值,然后,再针对每一个所述虚
拟机,将该虚拟机的初始资源消耗信用值平均分配给该虚拟机上的每一个虚拟处理器。
值可以为1000。然后,计算各所述虚拟机的优先权参数的和值,然后,基于该和值计算各所
述虚拟机的优先权参数占比,再基于该优先权参数占比和总信用值计算(如相乘)得到各所
述虚拟机对应的初始资源消耗信用值。
子步骤1‑子步骤3,具体内容如下所述。
理器是否属于目标虚拟处理器。
认为该虚拟处理器不属于目标虚拟处理器。
先级权值。
初始资源消耗信用值和该目标虚拟处理器所属的虚拟机的优先权参数,确定该目标虚拟处
理器的优先权值。如此,可以得到每一个目标虚拟处理器的优先权值。
运行。
所述目标虚拟处理器以外的其它虚拟处理器,可以在不存在目标虚拟处理器时,再基于对
应的初始资源消耗信用值将该其它虚拟处理器分配给所述物理处理器运行。
代的示例中,上述的子步骤1可以包括子步骤a‑子步骤d,具体内容如下所述。
所述虚拟处理器的状态信息。
信用阈值的大小关系来表征虚拟处理器的资源消耗信用值是否耗尽,是否还能够占用物理
处理器)且未处于空闲状态,则所述虚拟处理器具有第一状态信息。若所述虚拟处理器用于
处理计算任务(如内部逻辑运算等)、资源消耗信用值大于所述信用阈值且未处于空闲状
态,则所述虚拟处理器具有第二状态信息。若所述虚拟处理器的资源消耗信用值小于所述
信用阈值且未处于空闲状态,则所述虚拟处理器具有第三状态信息。若所述虚拟处理器处
于空闲状态(如不需要执行任务等),则所述虚拟处理器具有第四状态信息。
述虚拟处理器当前的资源消耗信用值可以是指所述初始资源消耗信用值。
消耗信用值大于所述信用阈值且未处于空闲状态的虚拟处理器确定为目标虚拟处理器。
息、所述第三状态信息或所述第四状态信息的虚拟处理器确定为非目标虚拟处理器。
的优先权值也越大。
存至预先构建的红黑树中,由于在红黑树中最右节点保存的是优先权值最大的目标虚拟处
理器,因而,在将所述目标虚拟处理器分配给所述物理处理器运行时,可以直接将所述红黑
树中保存于最右节点的目标虚拟处理器分配给所述物理处理器运行。如此,可以提高将所
述目标虚拟处理器分配给所述物理处理器运行的效率,从而提高对应任务执行的效率,以
保证任务执行的实时性。
时长是消耗所述初始资源消耗信用值的重要因素,因此,步骤S130还可以包括子步骤4和子
步骤5,具体内容如下所述。
源消耗信用值。
行时长,对该目标虚拟处理器当前的资源消耗信用值(如初始状态下的初始资源消耗信用
值)进行更新处理,得到更新后的资源消耗信用值。
骤5可以每间隔一定时长执行一次,以保证更新处理的有效性。例如,在一种可以替代的示
例中,可以每间隔10ms执行一次子步骤4和子步骤5,如每执行一次子步骤5可以将运行中的
目标虚拟处理器当前的资源消耗信用值减少100。
内容如下所述。
后的资源消耗信用值是否小于预设的信用阈值(该信用阈值如前所述,在一种可以替代的
示例中,可以为0)。
针对对应的目标虚拟处理器执行子步骤8。
器。
于或等于预设时长。
器上的持续运行时长,判断是否在所述至少一个物理处理器上停止运行该目标虚拟处理
器,如判断该目标虚拟处理器在所述至少一个物理处理器上的持续运行时长是否大于或等
于预设时长(在一种可以替代的示例中,该预设时长可以为30ms)。
理器执行子步骤10。
的资源消耗信用值较大且运行时长较小,可以在所述物理处理器上继续运行该目标虚拟处
理器。如此,可以提高物理处理器资源分配的合理性,如使得一些优先程度较低的任务也能
够在一定时长内被处理,避免出现长时间等待的问题。
的优先权值将对应的目标虚拟处理器插入预先构建的红黑树中进行保存,并从该红黑树中
将待运行的至少一个所述目标虚拟处理器分配给所述至少一个物理处理器运行。
的最右节点。
运行该目标虚拟处理器是为了保证其它虚拟处理器也能够被分配给所述物理处理器运行,
因而,可以先基于所述更新后的资源消耗信用值对该目标虚拟处理器的优先权值进行更
新,然后,基于所述更新后的优先权值将该目标虚拟处理器插入预先构建的红黑树中进行
保存,最后,再从该红黑树中将待运行的至少一个所述目标虚拟处理器分配给所述至少一
个物理处理器运行。如此,可以保证在所述物理处理器上运行的目标虚拟处理器当前的资
源消耗信用值在所有的目标虚拟处理器当前的资源消耗信用值中是最大值。
数计算得到新的优先权值,计算方式如前所述。
耗信用值,将导致所述虚拟处理器的状态信息发生变化,或者说,也可以基于其它操作也会
导致所述虚拟处理器的状态信息发生变化。基于此,在一种可以替代的示例中,步骤S130还
可以包括子步骤11和子步骤12,具体内容如下所述。
述第二状态信息的虚拟处理器。
执行目标操作,以进行资源消耗信用值的重新分配。其中,所述目标操作可以包括:
配后的资源消耗信用值;
信用值,因而,在进行资源消耗信用值的重新分配时,需要将初始资源消耗信用值和当前具
有的资源消耗信用值进行叠加处理。如此,可以进一步提高资源分配的合理性。
不存在具有所述第一状态信息的虚拟处理器时,可以优先将具有所述第二状态信息的虚拟
处理器分配给所述物理处理器运行。然后,在不存在具有所述第一状态信息和所述第二状
态信息的虚拟处理器时,可以重新分配资源消耗信用值。
理器分配给所述物理处理器运行。对于都具有所述第二状态信息的不同虚拟处理器,可以
将该虚拟处理器保存至预先构建的待运行队列中,然后,在该待运行队列中进行轮询,以将
当前轮询到的虚拟处理器分配给所述物理处理器运行。
状态信息的虚拟处理器的情形。
可以替代的示例中,可以是每运行1ms,对应的资源消耗信用值减少10),然后,基于更新后
的优先权值将该虚拟处理器保存在红黑树中,并且,可以将新的虚拟处理器分配给所述物
理处理器运行。若新的虚拟处理器的优先权值小于或等于运行中的虚拟处理器的优先权
值,可以继续运行该虚拟处理器,并将新的虚拟处理器基于对应的优先权值保存至红黑树
中。
为了充分使得所述目标虚拟处理器上的任务能够被及时执行,需要使得所述多个物理处理
器上的目标虚拟处理器的数量相对平衡。基于此,在一种可以替代的示例中,所述基于虚拟
化技术的处理器调度方法还可以包括步骤S140‑步骤S200,具体内容如下所述。
第一目标虚拟处理器的数量,如此,可以得到第一数量,并确定第二目标虚拟处理器的数
量,如此,可以得到第二数量。
虚拟处理器属于优先权参数较大的目标虚拟处理器,所述第二目标虚拟处理器属于优先权
参数较小的目标虚拟处理器。
树的每一个目标虚拟处理器都属于该红黑树对应的物理处理器待运行的目标虚拟处理器。
理器的数量和对应的所述第二数量得到第二比例值。
物理处理器的虚拟处理器的数量(即包括所述目标虚拟处理器和非目标虚拟处理器的总数
量)和该物理处理器对应的第一数量,得到该物理处理器对应的第一比例值(如该第一数量
除以待运行于该物理处理器的虚拟处理器的数量),并基于待运行于该物理处理器的虚拟
处理器的数量和该物理处理器对应的所述第二数量,得到该物理处理器对应的第二比例
值。
一比例值对应的物理处理器待运行的第一目标虚拟处理器和该最小的第一比例值对应的
物理处理器待运行的第一目标虚拟处理器执行第一负载均衡操作。
最小的第一比例值,然后,可以基于该最大的第一比例值和该最小的第一比例值,判断是否
需要对该最大的第一比例值对应的物理处理器和该最小的第一比例值对应的物理处理器
执行第一负载均衡操作,即是否需要对该最大的第一比例值对应的物理处理器待运行的第
一目标虚拟处理器和该最小的第一比例值对应的物理处理器待运行的第一目标虚拟处理
器执行第一负载均衡操作。
二比例值对应的物理处理器待运行的第二目标虚拟处理器和该最小的第二比例值对应的
物理处理器待运行的第二目标虚拟处理器执行第二负载均衡操作。
最小的第二比例值,然后,可以基于该最大的第二比例值和该最小的第二比例值,判断是否
需要对该最大的第二比例值对应的物理处理器和该最小的第二比例值对应的物理处理器
执行第二负载均衡操作,即是否需要对该最大的第二比例值对应的物理处理器待运行的第
二目标虚拟处理器和该最小的第二比例值对应的物理处理器待运行的第二目标虚拟处理
器执行第二负载均衡操作。
比例值对应的物理处理器待运行的目标虚拟处理器。
一目标虚拟处理器分配给所述最小的第一比例值对应的物理处理器,并将该第一目标数量
个第一目标虚拟处理器,作为该最小的第一比例值对应的物理处理器待运行的目标虚拟处
理器。
最小的第一比例值对应的物理处理器待运行的第一目标虚拟处理器之间数量相对平衡。
应的物理处理器之后,为了保证待运行的虚拟处理器整体上也具有较佳的平衡效果,也可
以将所述最小的第一比例值对应的物理处理器待运行的具有所述第二状态信息的第一目
标数量个虚拟处理器,分配给所述最大的第一比例值对应的物理处理器。
比例值对应的物理处理器待运行的目标虚拟处理器。
二目标虚拟处理器分配给所述最小的第二比例值对应的物理处理器,并将该第二目标数量
个第二目标虚拟处理器,作为该最小的第二比例值对应的物理处理器待运行的目标虚拟处
理器。
最小的第二比例值对应的物理处理器待运行的第二目标虚拟处理器之间数量相对平衡。
应的物理处理器之后,为了保证待运行的虚拟处理器整体上也具有较佳的平衡效果,也可
以将所述最小的第二比例值对应的物理处理器待运行的具有所述第二状态信息的第二目
标数量个虚拟处理器,分配给所述最大的第二比例值对应的物理处理器。
分之一作为所述第一目标数量。
分之一作为所述第二目标数量。
的目标值(例如,在一种可以替代的示例中,该目标值可以为1.5),其中,若该商值大于或等
于该目标值,可以判定执行所述第一负载均衡操作,若该商值小于该目标值,可以判定不执
行所述第一负载均衡操作。
的目标值(例如,在一种可以替代的示例中,该目标值可以为1.5),其中,若该商值大于或等
于该目标值,可以判定执行所述第二负载均衡操作,若该商值小于该目标值,可以判定不执
行所述第二负载均衡操作。
长期研究发现,提供了一种兼顾方案。基于此,在一种可以替代的示例中,所述负载均衡条
件可以包括第一负载均衡条件和第二负载均衡条件,所述第一负载均衡条件用于确定是否
执行确定第一目标虚拟处理器的第一数量的步骤,所述第二负载均衡条件用于确定是否执
行确定第二目标虚拟处理器的第二数量的步骤,所述基于虚拟化技术的处理器调度方法还
可以包括步骤S210‑步骤S230,具体内容如下所述。
第二负载均衡操作之后,确定相邻的前N次判断结果是否都为不需要执行所述第二负载均
衡操作。
一次判定不需要执行所述第二负载均衡操作之后,可以确定相邻的前N次判断结果是否都
为不需要执行所述第二负载均衡操作。
S230。
理。
隔。如此,可以降低执行该步骤的频率,从而减少执行该步骤所消耗的资源。
理。
隔。如此,可以降低执行该步骤的频率,从而减少执行该步骤所消耗的资源。
块130。
块110的相关内容可以参照前文对步骤S110的描述。
征所述虚拟处理器对所述至少一个物理处理器的处理器资源的初始占用比例。在本实施例
中,所述信用值确定模块120可用于执行图2所示的步骤S120,关于所述信用值确定模块120
的相关内容可以参照前文对步骤S120的描述。
运行。在本实施例中,所述调度操作执行模块130可用于执行图2所示的步骤S130,关于所述
调度操作执行模块130的相关内容可以参照前文对步骤S130的描述。
的虚拟处理器的初始资源消耗信用值,从而可以基于确定初始资源消耗信用值对虚拟处理
器执行调度操作,以将待运行的虚拟处理器分配给物理处理器运行。基于此,由于在对虚拟
处理器执行调度操作时,考虑基于优先权参数确定的初始资源消耗信用值,因而,对于具有
不同初始资源消耗信用值的虚拟处理器可以形成不同的分配次序,例如具有高初始资源消
耗信用值的分配次序可以在前,以得到及时的处理,从而改善现有的虚拟化技术中物理处
理器的资源分配不合理的问题。
流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现
的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序
段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻
辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也
可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执
行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或
流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动
作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计
算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个
人计算机,电子设备,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步
骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存
取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包
含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括
没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素
的过程、方法、物品或者设备中还存在另外的相同要素。
改、等同替换、改进等,均应包含在本申请的保护范围之内。