一种PCPU资源的调度方法和装置与流程

文档序号:16067472发布日期:2018-11-24 12:48阅读:321来源:国知局

本申请涉及通信技术领域,特别是涉及一种pcpu资源的调度方法和装置。

背景技术

在虚拟化环境中,虚拟机(virtualmachine,vm)可以对物理的中央处理器(physicalcentralprocessingunit,pcpu)资源进行超分复用。为了避免超分复用而引起的pcpu资源竞争,保证关键业务能够获得足够的pcpu资源,可以通过调度pcpu资源,使得处于运行状态的各vm按照用户配置的权重比例分享pcpu资源,从而使得pcpu执行各vm的任务的执行时间符合用户为各vm配置的权重比例。在vm中,pcpu执行各vm的任务的执行时间可以表示为vm的虚拟中央处理器(virtualcentralprocessingunit,vcpu)在pcpu上的运行时间。

在基于内核的虚拟机(kernel-basedvirtualmachine,kvm)等场景中,可以根据vm的权重,针对部署在pcpu上的vm的vcpu运行时间进行pcpu资源调度,从而使得vcpu在pcpu的运行时间符合权重。但是,在多个pcpu的场景中,由于同一vm的多个vcpu可能部署在多个pcpu上,而pcpu无法对运行在其他pcpu上的vcpu进行pcpu资源调度,这样就难以保证vcpu的运行时间符合用户为vm配置的权重比例,从而可能导致关键业务无法获得足够的pcpu资源,影响用户体验。



技术实现要素:

本申请实施例所要解决的技术问题是,提供一种pcpu资源的调度方法和装置,以实现针对同一个vm的vcpu运行在多个pcpu上的情况,保证vm被pcpu调用的运行时间符合用户为vm配置的权重比例,从而保证关键业务获得足够的cpu资源,提高用户体验。

第一方面,本申请实施例提供了一种pcpu资源的调度方法,包括:监控运行在多个pcpu上的vm的多个vcpu所消耗的pcpu资源,其中,所述vm在一个调度周期内获得一次pcpu资源的周期配额;根据所述vm的vcpu所消耗的pcpu资源状态,进行pcpu资源调度。在本申请的上述实施例中,当同一个vm的vcpu部署在多个pcpu上,该vm所包括的vcpu实际所消耗的pcpu资源可以被限制在用户为该vm配置的pcpu资源配额之内,从而符合用户为该vm设置的权重比例,这样,关键业务能够保证获得足够的pcpu资源,用户体验得以提高。

在本申请实施例的一个可能的实现方式中,所述根据所述vm的vcpu所消耗的pcpu资源状态,进行pcpu资源调度,可以包括:当第二pcpu的资源处于空闲状态,将满足预设条件的目标vcpu从第一pcpu迁移到所述第二pcpu;其中,所述目标vcpu为所述vm的一个vcpu,所述第一pcpu为所述多个pcpu中的一个pcpu。在本申请实施例的上述实现方式中,空闲状态的pcpu可以将其他pcpu上的vcpu迁移到本地运行,这样使得空闲的pcpu资源能够充分地被利用起来,避免了不同pcpu上的资源使用不均衡的问题,从而使得pcpu资源更充分地利用。

在本申请实施例的一个可能的实现方式中,所述预设条件可以包括:所述vm的pcpu资源有剩余。在本申请实施例的上述实现方式中,空闲状态的pcpu从其他pcpu上选择具有剩余pcpu资源配额的vm的vcpu进行迁移,这样可以使得vm所包括的vcpu实际消耗的pcpu资源能够被该vm被分配的pcpu配额之内,从而符合用户为该vm设置的权重比例。

在本申请实施例的一个可能的实现方式中,所述预设条件可以包括:所述第一vm的物理cpu资源已耗尽并获得物理cpu资源的额外配额。在本申请实施例的上述实现方式中,空闲状态的pcpu从其他pcpu上选择在pcpu资源配额已耗尽情况下获得了额外配额的vm的vcpu进行迁移,这样使得空闲的pcpu资源能够被已耗尽pcpu资源配额的vm的vcpu使用,避免了不同pcpu上的资源使用不均衡的问题,从而使得pcpu资源更充分地利用。

在本申请实施例的一个可能的实现方式中,所述额外配额与所述周期配额之间可以成预设比例。在本申请实施例的上述实现方式中,在为vm补充pcpu资源的额外配额时,基于周期配额来确定额外配额,这样可以使得vm获得的pcpu资源能够尽量符合用户为该vm配置的权重比例。

在本申请实施例的一个可能的实现方式中,所述预设条件还包括:所述第一vm在当前的调度周期内获得pcpu资源配额的次数最少;其中,所述物理cpu资源配额包括所述周期配额和/或所述额外配额。在本申请实施例的上述实现方式中,空闲状态的pcpu从其他pcpu上选择补充pcpu配额次数最少的vm的vcpu进行迁移,这样可以使得各vm的vcpu能够更加均衡地被迁移,而避免部分vm的vcpu过多占用pcpu资源的情况。

第二方面,本申请实施例提供了一种pcpu资源的调度装置,包括:监控单元,用于监控运行在多个pcpu上的vm的多个vcpu所消耗的pcpu资源;其中,所述vm在一个调度周期内获得一次pcpu资源的周期配额;调度单元,用于根据所述vm的vcpu所消耗的pcpu资源配额状态,进行pcpu资源调度。在本申请的上述实施例中,当同一个vm的vcpu部署在多个pcpu上,该vm所包括的vcpu实际所消耗的pcpu资源可以被限制在用户为该vm配置的pcpu资源配额之内,从而符合用户为该vm设置的权重比例,这样,关键业务能够保证获得足够的pcpu资源,用户体验得以提高。

在本申请的第二方面中,所述cpu资源的调度装置的组成单元还可以执行前述第一方面以及各种可能的实现方式中所描述的步骤,详见前述对第一方面以及各种可能的实现方式中的说明。

第三方面,本申请实施例还提供一种计算机设备,所述计算机设备包括:处理器,存储器,通信接口和总线;所述处理器、通信接口、存储器通过所述总线相互的通信;所述通信接口,用于接收和发送数据;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,执行前述第一方面中任一项实现方式所述的方法。在本申请的上述实施例中,当同一个vm的vcpu部署在多个pcpu上,该vm所包括的vcpu实际所消耗的pcpu资源可以被限制在用户为该vm配置的pcpu资源配额之内,从而符合用户为该vm设置的权重比例,这样,关键业务能够保证获得足够的pcpu资源,用户体验得以提高。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中任一项实现方式所述的方法。

第五方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中任一项实现方式所述的方法。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。

图1为本申请实施例中一应用场景所涉及的计算机系统框架示意图;

图2为本申请实施例中一种物理中央处理器cpu资源的调度方法的流程示意图;

图3为本申请实施例中一种物理中央处理器cpu资源的调度方法的流程示意图;

图4为本申请实施例中一种物理中央处理器cpu资源的调度方法的流程示意图;

图5为本申请实施例中一种物理中央处理器cpu资源的调度方法的流程示意图;

图6为本申请实施例中一种物理中央处理器cpu资源的调度方法的流程示意图;

图7为本申请实施例中一种vcpu在pcpu间迁移的示例示意图;

图8为本申请实施例中一种为vm补充可运行时间的示例示意图;

图9为本申请实施例中一种vcpu调度pcpu资源的示例示意图;

图10为本申请实施例中一种物理中央处理器cpu资源的调度装置1000的结构示意图;

图11为本申请实施例中一种计算机设备的硬件结构示意图。

具体实施方式

在kvm技术中,pcpu可以获知部署在本地的vcpu的运行时间,从而能够针对在本地运行的vcpu进行cpu资源调度。但是,在多个pcpu的场景中,若同一vm的多个vcpu部署在多个的pcpu上,则其中每个pcpu无法获知该vm运行在其他pcpu上的vcpu的运行时间,从而每个pcpu无法针对该vm运行在其他pcpu上的vcpu进行cpu资源调度,也就是说,pcpu无法获知该vm整体上被调用的运行时间,从而pcpu无法针对vm进行cpu资源调度,从而难以保证vm的运行时间符合用户为vm配置的权重比例。

为了解决上述问题,在本发明实施例中,在调度周期中,按照vm的cpu资源配置参数为vm分配pcpu资源的周期配额。具体的,pcpu资源的周期配额可以为可运行时间。本发明实施例以pcpu资源的周期配额为可运行时间为例进行描述。在该vm的任意一个vcpu在pcpu运行时,该vm的可运行时间都将被消耗。当该vm的可运行时间被耗尽,则该vm的vcpu将不能在任何一个pcpu运行,因此就不能够对vm的pcpu资源进行调度。由此可见,对于同一个vm来说,该vm的vcpu运行在多个pcpu上,该vm所包括的vcpu实际被pcpu执行的总运行时间都可以被限制在按照该vm的cpu资源配置参数为该vm分配的可运行时间之内,从而符合该vm的cpu资源分配参数,即符合用户为该vm设置的权重比例。因此,本发明实施例能够对vm进行pcpu资源调度,从而使vm的vcpu的运行时间能够符合用户为vm配置的权重比例,从而关键业务能够保证获得足够的pcpu资源,用户体验得以提高。

在本发明实施例中,计算机系统中部署有vm1、vm2和vm3,调度周期为60秒,由于计算机系统中包含pcpu1、pcpu2和pcpu3,则该cpu资源分配周期内pcpu可提供的总运行时间为180秒。其中,计算机系统中包含pcpu1、pcpu2和pcpu3,可以是指由计算机系统中一台服务器包含pcpu1、pcpu2和pcpu3,还可以两台服务器,其中一台服务器包含pcpu1和pcpu2,另外一台服务器包含pcpu3,也可以是三台服务器,每一台服务器分别包含一个pcpu。按照用户配置的权重比例为vm分配可运行时间,vm1的可运行时间分配到30秒,vm2的可运行时间分配到60秒,vm3的可运行时间分配到90秒。对于任何一个vm来说,在该vm的任何一个vcpu被pcpu调度运行时该vm的可运行时间都会被消耗,在该vm的可运行时间耗尽时,该vm的所有vcpu将不能被任何pcpu调度运行。因此,在该调度周期中,vm1、vm2和vm3的运行时间被分别限定在30秒、60秒和90秒,从而能够符合用户配置的权重比例1:2:3。

在一个示例性的场景中,本发明实施例可以应用到如图1所示的计算机系统中。该计算机系统包括pcpu101和pcpu102。该计算机系统中部署有vm103,vm103中包括vcpu104和vcpu105,vcpu104可以被pcpu101调度运行,vcpu105可以被pcpu102调度执行。该计算机系统中还部署有cpu份额管理单元106,pcpu101在本地部署有完全公平调度器(completefairscheduler,cfs)107,pcpu2在本地部署有cfs108。其中,cpu份额管理单元106用于记录并管理vm103的可运行时间,pcpu101的本地cfs107用于控制pcpu101所要调度运行的vcpu,pcpu102的本地cfs108用于控制pcpu102所要调度运行的vcpu。具体实现中,cpu份额管理单元106、本地cfs107和本地cfs108可以位于服务器操作系统的内核,也可以为独立于操作系统内核的软件模块,另一种实现中,还可以为硬件模块,例如现场可编程门阵列(fieldprogrammablegatearray,fpga)或其他硬件。

在一个调度周期中,cpu份额管理单元106可以在vm103的可运行时间中补充基于vm103的cpu资源配置参数而确定出的运行时间。当vm103中的vcpu104在pcpu101上等待调度执行,pcpu101的本地cfs107从cpu份额管理单元106获取vm103的可运行时间并判断vm103的可运行时间是否具有剩余。当vm103的可运行时间具有剩余,cfs107允许pcpu101调度执行vcpu104,cpu份额管理单元106记录的vm103的可运行时间更新为扣除pcpu101调度执行vcpu104后的时间。当vm103的可运行时间耗尽,cfs107拒绝pcpu1调度执行vcpu104。

下面结合附图,通过实施例来详细说明本发明实施例的各种具体实现方式。

图2为本申请实施例中一种pcpu资源的调度方法的流程示意图,包括:

201、监控运行在多个物理cpu上的虚拟机vm的多个虚拟cpu所消耗的物理cpu资源;其中,所述vm在一个调度周期内获得一次物理cpu资源的周期配额。

具体实现时,cpu份额管理单元可以使用定时器,在一个调度周期内,为所述vm补充pcpu资源的周期配额。当所述vm的多个vcpu在多个pcpu上运行,cpu份额管理单元可以基于所述vm获得的pcpu资源配额,监控各个vcpu在多个pcpu上运行所消耗的pcpu资源。其中,所述vm的任意一个vcpu在pcpu上运行时,所述vm的配额中的pcpu资源都将被消耗。

在本实施例中,pcpu资源可以具体表示为vcpu被pcpu调度的运行时间。vm获得的pcpu资源配额可以具体表示为vm补充的可运行时间,vm的各vcpu被pcpu调度运行都会消耗vm的可运行时间。vm获得的pcpu资源的周期配额可以具体表示周期性为vm补充的可运行时间,即在每一个调度周期内为vm补充一次的可运行时间。

以pcpu资源为运行时间为例,cpu份额管理单元可以在一个调度周期内为vm补充的可运行时间。当所述vm的多个vcpu在多个pcpu上运行,cpu份额管理单元可以监控所述vm的各vcpu在多个pcpu上运行时所消耗的运行时间,从而确定所述vm的可运行时间被消耗的情况。其中,在所述vm的任意一个vcpu在pcpu上运行时,所述vm的可运行时间都将被消耗。

在本实施例中,vm获得的pcpu资源的周期配额可以通过目标vm的cpu资源配置参数来确定。其中,所述vm的cpu资源配置参数可以反映用户为所述vm配置的权重比例,这样就可以使得所述vm获得的资源配额符合用户配置的权重比例。例如,所述vm的cpu资源配置参数可以是用户为所述vm设置的qos(qualityofservice,服务质量)配置参数。该qos配置参数可以包括所述vm占用cpu资源的权重比例、上限值和/或预留值。

具体实现时,vm获得的pcpu资源的周期配额可以基于一个调度周期内计算机系统提供的pcpu总资源数量和所述vm的cpu资源配置参数进行计算,其中,pcpu总资源数量可以基于计算机系统提供的pcpu数量和单个pcpu在一个调度周期内提供的pcpu资源数量进行计算。

举例说明,对于具有30个pcpu的主机,该主机上部署有4个vm,用户为各vm配置的权重比例为1:2:3:4。假设一个调度周期为100毫秒,该主机提供的pcpu总资源数量为30×100=3000毫秒,各vm获得的pcpu资源的周期配额分别为300毫秒、600毫秒、900毫秒和1200毫秒,也即,在一个调度周期内,各vm的可运行时间分别可以补充300毫秒、600毫秒、900毫秒和1200毫秒。

202、根据所述虚拟机vm的虚拟cpu所消耗的物理cpu资源状态,进行物理cpu资源调度。

具体实现时,基于所述vm的pcpu资源配额监测到所述vm的vcpu所消耗的pcpu资源状态,可以用于针对所述vm的vcpu进行pcpu资源调度。在所述vm的任意一个vcpu在pcpu上运行时,所述vm的配额中的pcpu资源都将被消耗。当所述vm在配额中的pcpu资源被耗尽,则所述vm的vcpu将不能在任何一个pcpu上运行,因此就不能够对所述vm的pcpu资源进行调度。

在一些实施方式中,在进行pcpu资源调度时,为了使得cpu资源更充分地利用,pcpu可以在有空闲资源的情况下将在其他pcpu上等待调度的vcpu迁移到本地,以使得所述vcpu可以在所述pcpu上运行,从而使得负载较大的pcpu上的负载任务可以迁移到负载较小的pcpu上,使得各pcpu能够达到负载均衡的效果。具体地,步骤202可以包括:当第二物理cpu的资源处于空闲状态,将满足预设条件的目标虚拟cpu从第一物理cpu迁移到所述第二物理cpu;其中,所述目标虚拟cpu为所述vm的一个虚拟cpu,所述第一物理cpu为所述多个物理cpu中的一个物理cpu。具体实现时,当第二pcpu的运行队列中没有vcpu的运行任务需要调度,第二pcpu的本地cfs可以查找其他pcpu的运行队列中等待调度的vcpu的运行队列,从这些vcpu中确定出满足预设条件的vcpu。当查找到第一pcpu上等待调度的目标vcpu满足预设条件,第二pcpu的本地cfs可以将目标vcpu的运行任务从第一pcpu的运行队列迁移到第二pcpu的运行队列。

可以理解的是,在其他pcpu上等待运行的vcpu中,可以选择满足预设条件的vcpu迁移到有空闲资源的pcpu上。

作为一种示例,为了使得vm占用的pcpu资源能够符合用户配置的权重比例,在vm的配额中的pcpu资源有剩余的情况下,vm的vcpu能够被执行pcpu资源调度,在vm的配额中的pcpu资源被耗尽的情况,下vm的vcpu不能够被执行pcpu资源调度,基于此,所述预设条件可以包括:所述vm的物理cpu资源有剩余。也即,从第一pcpu上迁移到第二pcpu上的目标vcpu,是属于配额中有剩余pcpu资源的vm。这样,目标vcpu被迁移到第一pcpu上之后能够在第一pcpu上运行。

作为另一种示例,在第二pcpu具有空闲资源的情况下,有时其他pcpu上等待运行的vcpu均属于配额中pcpu资源已耗尽的vm,此时,为了使得空闲的pcpu资源能够被充分利用,可以针对配额中pcpu资源已耗尽的vm额外补充一次pcpu资源的配额,这样额外补充了pcpu资源配额的vm的配额中就具有了剩余的pcpu资源,vm的vcpu可以被迁移到第二pcpu上运行,也即,所述预设条件可以包括:所述vm的物理cpu资源已耗尽并获得物理cpu资源的额外配额。具体实现时,在第二pcpu具有空闲资源的情况下,当在其他pcpu上等待运行的vcpu均属于配额中pcpu资源已耗尽的vm,可以选择一个vm并为该vm补充pcpu资源的额外配额,这样该vm的配额中的pcpu资源具有剩余,该vm的目标vcpu可以从第一pcpu上迁移到第二pcpu上。

需要说明的是,在上述两种预设条件的示例中,可能会出现多个vcpu的vm满足预设条件。例如,在第二pcpu具有空闲资源的情况下,其他pcpu上等待运行的多个vcpu属于多个配额中具有剩余pcpu资源的vm。又如,在第二pcpu具有空闲资源的情况下,其他pcpu上等待运行的所有vcpu属于多个配额中pcpu资源已耗尽的vm。在这些情况下,为了从其他pcpu上等待运行的多个vm的vcpu中选择出目标vcpu,在一些实施方式中,所述预设条件还可以包括:所述预设条件还包括:目标vcpu所属的vm在当前的调度周期内获得物理cpu资源配额的次数最少;其中,所述物理cpu资源配额包括所述周期配额和/或所述额外配额。这样,各vm能够比较均衡地被迁移vcpu和/或能够比较均衡地被补充额外额度,从而使得各vm能够更加均衡地占用pcpu资源。具体实现时,在第二pcpu具有空闲资源的情况下,当在其他pcpu上等待运行的多个vcpu均属于配额中具有剩余pcpu资源的vm,可以从中选择本调度周期内获得pcpu资源配额次数最少的vm的vcpu作为目标vcpu,从而将目标vcpu从第一pcpu上迁移到第二pcpu上。在第二pcpu具有空闲资源的情况下,当在其他pcpu上等待运行的所有vcpu均属于配额中pcpu资源已耗尽的vm,可以从中选择本调度周期内获得pcpu资源配额次数最少的vm进行额外额度的补充,将补充了额外额度的vm的vcpu作为目标vcpu,从而将目标vcpu从第一pcpu上迁移到第二pcpu上。

可以理解的是,对于一个vm来说,上述pcpu资源的额外额度的补充,是在一个调度周期内已为所述vm补充了pcpu资源的周期额度的基础上又为所述vm补充了pcpu资源的额外额度。为了使得所述vm占用的pcpu资源能够尽量贴近用户配置的权重比例,在一些实施方式中,针对同一个vm的额外配额与周期配额之间可以成预设比例,也即,所述额外额度可以由所述周期配额与所述预设比例确定。其中,预设比例可以表示各vm的额外配额与周期配额之间的比例,也即,在一个调度周期内,各vm的额外配额与各vm的周期配额成相同的比例。举例说明,在预设比例为5%的情况下,若vm1的周期配额为900毫秒的可运行时间而vm2的周期配额为500毫秒的可运行时间,vm1的额外配额为45毫秒的可运行时间,vm2的额外配额为25毫秒的可运行时间,也即,vm1的额外配额与周期配额之间的比例以及vm2的额外配额与周期配额之间的比例均符合相同的预设比例。

在本实施例中,当同一个vm的vcpu部署在多个pcpu上,该vm所包括的vcpu实际所消耗的pcpu资源可以被限制在用户为该vm配置的pcpu资源配额之内,从而符合用户为该vm设置的权重比例,这样,关键业务能够保证获得足够的pcpu资源,用户体验得以提高。

图3为本发明实施例中一种pcpu资源的调度方法的流程示意图,包括:

301、在调度周期中,为目标vm补充第一运行时间;其中,第一运行时间由所述目标vm的cpu资源配置参数确定。

在本实施例中,目标vm可以为计算机系统中的任意一个vm。

具体实现时,cpu份额管理单元105使用定时器,在一个调度周期内,为目标vm补充第一运行时间。

举例说明,当第一运行时间为300毫秒,则补充后目标vm的可运行时间为300毫秒。

可以理解的是,第一运行时间表示在每个调度周期中为目标vm补充一次的可运行时间,可以通过目标vm的cpu资源配置参数来确定。其中,目标vm的cpu资源配置参数可以反映用户为目标vm配置的权重比例,这样就可以使得目标vm获得的可运行时间符合用户配置的权重比例。例如,目标vm的cpu资源配置参数可以是用户为目标vm设置的服务质量(qualityofservice,qos)配置参数。该qos配置参数可以包括目标vm占用pcpu资源的权重比例、上限值和/或预留值。

具体实现时,第一运行时间可以基于调度周期内计算机系统提供的pcpu总资源数量和目标vm的cpu资源配置参数进行计算,其中,pcpu总资源数量可以基于计算机系统提供的pcpu数量和单个pcpu在调度周期内提供的pcpu资源数量进行计算。

举例说明,对于具有30个pcpu的主机,该主机上部署有4个vm,用户为各vm配置的权重比例为1:2:3:4。假设调度周期为100毫秒,该主机提供的pcpu总资源数量为30×100=3000毫秒,针对各vm的第一运行时间分别为300毫秒、600毫秒、900毫秒和1200毫秒,也即,在一个调度周期内,各vm的可运行时间分别可以补充300毫秒、600毫秒、900毫秒和1200毫秒。

302、若所述目标vm中的目标vcpu在第一pcpu上等待运行,判断所述目标vm的可运行时间是否具有剩余。

在本实施例中,目标vcpu可以表示目标vm中所包括的任意一个vcpu。

具体实现时,当目标vcpu的运行任务可以被添加到第一pcpu的运行队列(runqueue)中,目标vcpu处于在第一pcpu上等待运行的状态。当第一pcpu的本地cfs从第一pcpu的运行队列中读取到目标vcpu的运行任务时,第一pcpu的本地cfs可以读取cpu份额管理单元中记录的目标vcpu的可运行时间,从而可以判断目标vm的可运行时间是否具有剩余。

303、若所述目标vm的可运行时间具有剩余,允许所述目标vcpu在所述第一pcpu运行,并在所述目标vm的可运行时间中扣除所述目标vcpu在所述第一pcpu上运行的时间。

在本实施例中,第一pcpu可以表示计算机系统中的任意一个pcpu。

具体实现时,在第一pcpu的本地cfs读取目标vm的可运行时间之后,若读取到的可运行时间大于0,则目标vm的可运行时间具有剩余,此时,第一pcpu的本地cfs可以允许第一pcpu运行目标vcpu。在第一pcpu运行目标vcpu的过程中,第一pcpu的本地cfs对目标vcpu在第一pcpu上运行的时间进行记录并提供给cpu份额管理单元,从而使得cpu份额管理单元可以在目标vm的可运行时间中扣除目标vcpu在第一pcpu上运行的时间。

举例说明,假设第一pcpu的本地cfs读取到目标vm的可运行时间为50毫秒,此后目标vcpu被第一pcpu运行了10毫秒,则目标vm的可运行时间被修改为40毫秒。

304、若所述目标vm的可运行时间不具有剩余,拒绝所述目标vcpu在所述第一pcpu上运行。

具体实现时,在第一pcpu的本地cfs读取目标vm的可运行时间之后,如果读取到的可运行时间为0,则目标vm的可运行时间不具有剩余,此时,第一pcpu的本地cfs可以第一pcpu运行目标vcpu。

可以理解的是,对于目标vm来说,该目标vm中所包括的任何一个vcpu被任何一个pcpu运行时该目标vm的可运行时间都会被消耗。若该目标vm的可运行时间被消耗至没有剩余,则任何一个pcpu都不会运行该目标vm中所包括的任何一个vcpu。因此,目标vm占用pcpu资源的运行时间可以被限制在按照用户为目标vm提供的配置参数而确定的可运行时间之内,从而符合用户为目标vm配置的权重比例。

在本实施例中,为了使得cpu资源被充分使用,pcpu可以运行计算机系统中部署的任意一个vcpu。

作为一种示例,pcpu可以对部署在其本地的vcpu进行调度执行。具体到本实施例中,目标vcpu可以是部署在第一pcpu本地的vcpu。在这种情况下,当目标vcpu请求调度pcpu资源时,目标vcpu的运行任务出现在第一pcpu的运行队列。在第一pcpu的本地cfs从第一pcpu的运行队列中读取到目标vcpu的运行任务时,第一pcpu的本地cfs可以按照前述302至304来控制第一pcpu是否运行目标vcpu。

作为另一种示例,为了使得pcpu资源更充分地利用,pcpu可以在空闲的情况下将部署在其他pcpu上等待运行的vcpu迁移到其本地,再对迁移到本地的vcpu进行运行,从而使得负载较大的pcpu上的负载任务可以迁移到负载较小的pcpu上,使得各pcpu能够达到负载均衡的效果。具体到本实施例,目标vcpu可以是部署在第二pcpu并从第二pcpu迁移到第一pcpu的vcpu。在这种情况下,如图4所示,本实施例在302之前还可以包括:

401、若所述第一pcpu上没有等待运行的vcpu,查找在其他pcpu上等待运行的vcpu中满足迁移条件的vcpu;所述迁移条件包括:vcpu所属的vm的可运行时间具有剩余。

具体实现时,当第一pcpu的运行队列中没有vcpu的运行任务需要运行时,第一pcpu的本地cfs可以查找在其他pcpu的运行队列中等待运行的vcpu的运行任务,并从这些vcpu中确定出满足迁移条件的vcpu,以用于迁移。

402、若查找到所述目标vcpu在第二pcpu上等待运行且满足所述迁移条件,将所述目标vcpu从所述第二pcpu迁移到所述第一pcpu,以便所述目标vcpu在所述第一pcpu上运行。

具体实现时,当第一pcpu的本地cfs在第二pcpu的运行队列中查找到目标vcpu的运行任务并确定目标vcpu满足迁移条件,则第一pcpu的本地cfs可以将目标vcpu的运行任务从第二pcpu的运行队列迁移到第一pcpu的运行队列,从而使得目标vcpu在第一pcpu上运行。可以理解的是,由于第一pcpu上原本没有等待运行的vcpu,在目标vcpu从第二pcpu迁移到第一pcpu上之后,第一pcpu可以运行目标vcpu,这样目标vcpu就不需要再等待第二pcpu运行,可见,原本负载较大的pcpu上等待运行的vcpu可以被迁移到原本空闲的pcpu上调度执行,从而pcpu资源能够更加充分地使用。

需要说明的是,401中所要查找的vcpu,即402中提及的目标vcpu,用于从其他pcpu上迁移到第一pcpu。为此,该vcpu需要满足迁移条件。在本实施例中,为了使得各vm占用pcpu资源的运行时间能够符合用户配置的权重比例,对于任意一个vm来说,在该vm的可运行时间具有剩余的情况下该vm的vcpu能够调度pcpu资源以被pcpu运行,在该vm的可运行时间不具有剩余的情况下该vm的vcpu不能够调度pcpu资源以被pcpu运行。因此,迁移条件可以包括,vcpu所属的vm的可运行时间具有剩余。也即,在401中第一pcpu所要查找的vcpu,即402中提及的目标vcpu,至少满足两个条件。其中,一个条件是,该vcpu在除第一pcpu之外的其他pcpu上等待运行;另一个条件是,该vpcu所属的vm具有剩余的可运行时间。

以一个示例性的场景为例,pcpu1上没有等待运行的vcpu,pcpu2正在运行vcpu1,vcpu2和vcpu3在pcpu2上等待运行。若vcpu2属于vm1而vcpu3属于vm2,vm1当前具有剩余的可运行时间而vm2当前不具有剩余的可运行时间,则通过查找在其他pcpu上等待运行的vcpu中满足迁移条件的vcpu,可以查找到vcpu2,从而可以将vcpu2从pcpu2上迁移到pcpu1上,以便pcpu1运行vcpu2。

可以理解的是,在有些情况下,通过401,在其他pcpu上等待运行的vcpu中查找不到满足迁移条件的vcpu。例如,其他pcpu上等待运行的所有vcpu,均属于不具有剩余可运行时间的vm,即均不满足迁移条件。在这些情况下,从其他pcpu上等待运行的vcpu就无法迁移到处于空闲状态的第一pcpu。此时,为了避免第一pcpu空闲而使得pcpu资源能够更充分地利用,一种可能的实现方式在于,针对可运行时间没有剩余的vm,在同一个调度周期中再为该vm补充一次可运行时间,这样在补充之后该vm具有了剩余的可运行时间,该vm中的vcpu就满足了迁移条件,该vm中的vcpu在其他pcpu上等待运行时就可以被迁移到处于空闲状态的第一pcpu上运行。具体到本实施例,在目标vcpu从第二pcpu迁移到第一pcpu之前,目标vm可以是在不具有剩余可运行时间的情况下被补充了一次可运行时间。在这种情况下,如图5所示,本实施例在401之后还可以包括:

501、若查找不到在其他pcpu上等待运行的vcpu中满足迁移条件的vcpu,查找满足补充条件的vm;所述补充条件包括:vm的可运行时间不具有剩余。

具体实现时,当第一pcpu的本地cfs在其他pcpu的运行队列中查找不到满足迁移条件的vcpu时,cpu份额管理单元可以查找出满足补充条件的vm,以便为该vm补充可运行时间。

502、若查找到所述目标vm满足补充条件,在目标vm的可运行时间中补充第二运行时间;所述第二运行时间由所述第一运行时间确定。

具体实现时,当cpu份额管理单元查找到目标vm满足补充条件,则cpu分配管理单元可以在所述调度周期内再为目标vm补充一次可运行时间。在502中为目标vm补充了可运行时间之后,可以再返回执行401,这样,在目标vm补充了可运行时间之后,若目标vm中的vcpu在其他pcpu上等待运行,则该vcpu可以从其他pcpu迁移到第一pcpu上,从而使得第一pcpu运行该vcpu,以避免第一pcpu长时间处于空闲状态。

可以理解的是,502是在同一个调度周期内目标vm的可运行时间已被补充了第一运行时间的基础上再为目标vm的可运行时间补充第二运行时间。在一些实施方式中,所述第二运行时间可以由所述第一运行时间与预设比例确定。其中,预设比例可以表示各vm的第二运行时间与第一运行时间之间的比例,也即,在同一个调度周期内,各vm的第二运行时间与各vm的第一运行时间成相同的比例。举例说明,在预设比例为5%的情况下,若vm1的第一运行时间为900毫秒而vm2的第一运行时间为500毫秒,vm1的第二运行时间为45毫秒,vm2的第二运行时间为25毫秒,也即,vm1的第二运行时间与第一运行时间之间的比例以及vm2的第二运行时间与第一运行时间之间的比例均符合相同的预设比例。其中,本实施例所提及的第一运行时间可以对应于前述实施例提及的周期配额,本实施例所提及的第二运行时间可以对应于前述实施例提及的额外配额。

可以理解的是,501中所要查找的vm,即502中提及的目标vm,用于在第一pcpu处于空闲状态且其他pcpu上没有可迁移到第一pcpu的vcpu时再次补充可运行时间。在第一pcpu处于空闲状态的情况下,若其他pcpu上等待运行的vcpu均因所属的vm不具有剩余的可运行时间而不可迁移到第一pcpu,cpu份额管理单元可以选择当前不具有剩余可运行时间的vm并在所述调度周期内再为该vm补充一次可运行时间,从而使目标vm中的vcpu能够满足迁移条件,以便目标vm中的vcpu在其他vcpu上等待运行时可以被迁移到第一pcpu上,这样能够避免第一pcpu长时间处于空闲状态,从而使得pcpu资源能够更充分地利用。因此,501中提及的补充条件可以包括,vm的可运行时间不具有剩余。

以一个示例性的场景为例,pcpu1上没有等待运行的vcpu,pcpu2正在运行vcpu1,vcpu2在pcpu2上等待运行执行。若vcpu2属于vm1,vm1当前不具有剩余的可运行时间,则在查找不到符合迁移条件的vcpu的情况下vm1的可运行时间可以得到补充,在补充之后vcpu2满足迁移条件,从而可以将vcpu2从pcpu2上迁移到pcpu1上,以便pcpu1运行vcpu2。

在许多情况下,在查找不到其他pcpu上等待运行的vcpu中满足迁移条件的vcpu的情况下,存在多个vm不具有剩余的可运行时间。在这种情况下,为了使得各vm对pcpu资源的占用能够更加均衡,一种可能的实现方式在于,所述补充条件具体包括:vm的可运行时间不具有剩余,且,vm在所述调度周期内补充可运行时间的次数最少。也即,在501中所要查找的vm,即502中提及的目标vm,至少满足两个条件。其中,一个条件是,该vm不具有剩余的可运行时间;另一个条件是,在所有满足前两个条件的vm中,该vm在本次调度周期内补充可运行时间的次数最少。

以一个示例性的场景为例,pcpu1上没有等待运行的vcpu,pcpu2正在运行vcpu1,vcpu2、vcpu3和vcpu4在pcpu2上等待运行。若vcpu2属于vm1、vcpu3属于vm2而vcpu4属于vm3,vm1和vm2当前均不具有剩余的可运行时间而vm3当前不具有剩余的可运行时间,vm1的可运行时间在本次调度周期内已被补充过两次,vm2的可运行时间在本次调度周期内已被补充过一次,则在查找不到符合迁移条件的vcpu的情况下vm2的可运行时间可以得到补充,在补充之后vcpu3满足迁移条件,从而可以将vcpu3从pcpu2上迁移到pcpu1上,以便pcpu1运行vcpu3。

可以理解的是,为了使得cpu份额管理单元能够查找在所述调度周期内补充可运行时间次数最少的vm,cpu份额管理单元可以为各vm记录本次调度周期内补充可运行时间的次数。对于目标vm来说,在本次调度周期内,cpu份额管理单元在每次为目标vm补充可运行时间时相应地增加目标vm在本次调度周期内补充可运行时间的次数。在本次调度周期转变到下一次调度周期时,cpu份额管理单元可以将各vm在本次调度周期内补充可运行时间的次数清零,从而重新为各vm记录下一次调度周期内补充可运行时间的次数。

在一些实施方式中,vm在本次调度周期内补充可运行时间的次数,除了可以用于502中提及的补充条件之外,也可以用于401中提及的迁移条件,即可以用于查找可迁移到第一pcpu的vcpu。在许多情况下,在其他pcpu上等待运行的vcpu中存在多个vcpu所属的vm具有剩余的可运行时间。在这种情况下,为了使得各vm对pcpu资源的占用能够更加均衡,一种可能的实现方式在于,迁移条件可以具体包括:vcpu所属的vm的可运行时间具有剩余,且,vcpu所属的vm在所述调度周期内补充可运行时间的次数最少。也即,在401中第一pcpu所要查找的vcpu,即402中提及的目标vcpu,至少满足三个条件。其中,一个条件是,该vcpu在其他pcpu上等待运行;另一个条件是,该vcpu所属的vm具有剩余的可运行时间;再一个条件是,在所有满足前两个条件的vcpu中,该vcpu所属的vm在本次调度周期内补充可运行时间的次数最少。

以一个示例性的场景为例,pcpu1上没有等待云顶的vcpu,pcpu2正在运行vcpu1,vcpu2、vcpu3和vcpu4在pcpu2上等待运行。若vcpu2属于vm1、vcpu3属于vm2而vcpu4属于vm3,vm1和vm2当前均具有剩余的可运行时间而vm3当前不具有剩余的可运行时间,vm1中的vcpu在本次调度周期内已被补充过两次可运行时间,vm2中的vcpu在本次调度周期内已被补充过一次可运行时间,则pcpu1通过查找在其他pcpu上等待运行的vcpu中满足迁移条件的vcpu,可以查找到vcpu3,从而可以将vcpu3从pcpu2上迁移到pcpu1上,以便pcpu1运行vcpu3。

在本实施例中,在调度周期中,按照vm的cpu资源配置参数为vm补充可运行时间。在vm的任意一个vcpu在pcpu上运行时,该vm的可运行时间将被消耗。当vm的可运行时间被耗尽,则该vm的vcpu将不能在任何一个pcpu上运行,因此就不能够对vm的pcpu资源进行调度。由此可见,对于同一个vm来说,该vm的vcpu运行多个pcpu上,该vm的vcpu实际被pcpu运行的总运行时间都可以被限制在按照该vm的cpu资源配置参数为该vm分配的可运行时间之内,从而符合该vm的cpu资源分配参数,即符合用户为该vm设置的权重比例。因此,本实施例能够对vm进行pcpu资源调度,从而使vm的vcpu在pcpu上的运行时间能够符合用户为vm配置的权重比例,从而关键业务能够保证获得足够的pcpu资源,用户体验得以提高。

为了使得本领域技术人员更容易理解本申请实施例在具体应用中的实现方式,下面以一个场景为例,对本申请实施例的实现方式进行介绍。在该示例性的场景中,主机包括pcpu1、pcpu2、pcpu3和vm1、vm2、vm3、vm4,vm1包括vcpu11和vcpu12,vm2包括vcpu21和vcpu22,vm3包括vcpu31和vcpu32,vm4包括vcpu41和vcpu42。

图6为本申请实施例中一种pcpu资源的调度方法的流程示意图。在本实施例中,所述方法例如可以包括:

601、cpu份额管理单元利用定时器,在每个调度周期中,在各vm的可运行时间中补充一次各vm的第一运行时间。

其中,cpu份额管理单元可以利用定时器来实现调度周期的转变。定时器每隔一个调度周期的时长可以向cpu份额管理单元发出一次提示,该时刻即为前一个调度周期的结束时刻以及后一个调度周期的起始时刻。也就是说,在每一个调度周期的起始时刻,cpu份额管理单元可以为各vm的可运行时间补充一次各vm的第一运行时间。

其中,各vm的第一运行时间可以按照用户为各vm配置的比例权重以及调度周期的时长确定。假设,用户为各vm配置的比例权重为vm1:vm2:vm3:vm4=1:2:3:4,调度周期的时长为1000毫秒,则主机上pcpu1、pcpu2和pcpu3在一个调度周期内总体上提供的pcpu资源数量为3000毫秒,则vm1的第一运行时间为300毫秒,vm2的第一运行时间为600毫秒,vm3的第一运行时间为900毫秒,vm4的第一运行时间为1200毫秒。

602、pcpu的本地cfs判断pcpu的运行队列中是否具有等待运行的vcpu,若不具有则进入603,若具有则进入606。

具体实现时,pcpu1、pcpu2、pcpu3可以分别判断各自的运行队列中是否具有等待运行的vcpu,即判断各自的运行队列是否为空。

603、pcpu的本地cfs查找在其他pcpu的运行队列中满足迁移条件的vcpu,若查找到则进入604,若查找不到则进入605。

具体实现时,对于pcpu1、pcpu2和pcpu3中的任意一个pcpu来说,当该pcpu的运行队列为空时,该pcpu的本地cfs可以查找在其他pcpu的运行队列中是否存在当前可迁移的vcpu。其中,当前可迁移的vcpu表示,该vcpu所属的vm当前具有剩余的可运行时间。若存在当前可迁移的vcpu,则pcpu的本地cfs可以从查找到的当前可迁移的vcpu中确定出满足迁移条件的vcpu。其中,满足迁移条件的vcpu表示,在所有当前可迁移的vcpu中,该vcpu所属的vm在本次调度周期内补充可运行时间的次数最少。

604、pcpu的本地cfs将查找到的vcpu从其他pcpu的运行队列迁移到该pcpu的运行队列,再返回执行602。

以图7所示的情况为例,pcpu1的运行队列为空,pcpu2的运行队列中等待运行的vcpu包括vcpu11、vcpu21和vcpu31,pcpu3的运行队列中等待运行的vcpu包括vcpu12和vcpu22,其中,vcpu21、vcpu31和vcpu22所属的vm均具有剩余的可运行时间,vcpu21和vcpu22所属的vm在本次调度周期内均被补充了3次可运行时间,vcpu31所属的vm在本次调度周期内被补充了2次可运行时间。此时,pcpu1的本地cfs通过从pcpu2和pcpu3的运行队列中查找满足迁移条件的vcpu,可以查找到vcpu31,从而将vcpu31从pcpu2的运行队列迁移到pcpu1的运行队列,这样pcpu1可以运行vcpu31。

605、cpu份额管理单元查找满足补充条件的vm并在查找到的vm的可运行时间中补充查找到的vm的第二运行时间,再返回602。

具体实现时,cpu份额管理单元可以在各vm中查找当前可补充运行时间的vm。其中,当前可补充运行时间的vm表示,该vm当前不具有剩余的可运行时间。若存在当前可补充时间的vm,cpu份额管理单元可以从查找的当前可补充运行时间的vm中确定出满足补充条件的vm。其中,满足补充条件的vm表示,在所有当前可补充运行时间的vm中,该vm在本次调度周期内补充可运行时间的次数最少。

其中,各vm的第二运行时间可以按照各vm的第一运行时间与固定的补充比例确定。假设,vm1的第一运行时间为300毫秒,vm2的第一运行时间为600毫秒,vm3的第一运行时间为900毫秒,vm4的第一运行时间为1200毫秒,固定的补充比例为5%,则vm1的第二运行时间为15毫秒,vm2的第二运行时间为30毫秒,vm3的第二运行时间为45毫秒,vm4的第二运行时间为60毫秒。

以图8所示的情况为例,pcpu2的运行队列为空,pcpu1和pcpu3的运行队列中不存在可迁移的vcpu,vm1和vm4均不具有剩余的可运行时间,其中,vm1在本次调度周期内均被补充了3次可运行时间,vm4在本次调度周期内被补充了2次可运行时间。此时,cpu份额管理单元通过查找满足补充条件的vm,可以查找到vm4,从而在vm4的可运行时间中补充vm4的第二运行时间,这样vm4的可运行时间就具有了剩余,vm4中的vcpu41可以被添加到pcpu2的运行队列中而被pcpu2运行。

606、pcpu的本地cfs从pcpu的运行队列中选取一个等待运行的vcpu,判断该vcpu所属的vm是否具有剩余的可运行时间,若具有则进入607,若不具有则进入608。

以图9所示的情况为例,pcpu1的运行队列中vcpu11正在等待运行,pcpu2的运行队列中vcpu22正在等待运行,pcpu3的运行队列中vcpu41正在等待运行。此时,pcpu1可以选取vcpu11,判断vcpu11所属的vm1是否具有剩余的可运行时间。pcpu2可以选取vcpu22,判断vcpu22所属的vm2是否具有剩余的可运行时间。pcpu3可以选取vcpu41,判断vcpu41所属的vm4是否具有剩余的可运行时间。

607、pcpu的本地cfs允许pcpu运行该vcpu,并在该vcpu所属的vm的可运行时间中扣除该vcpu被运行的时间。

608、pcpu的本地cfs拒绝pcpu运行该vcpu。

在本实施例中,不仅pcpu资源调度能够针对vm进行,vm的vcpu被pcpu运行的运行时间能够符合用户为vm配置的权重比例,而且能够尽量避免pcpu资源出现空闲的情况,从而使得pcpu资源能够被更加充分的利用。

图10为本申请实施例中一种物理中央处理器cpu资源的调度装置的结构示意图。所述装置1000可以包括:

监控单元1001,用于监控运行在多个物理cpu上的虚拟机vm的多个虚拟cpu所消耗的物理cpu资源;其中,所述vm在一个调度周期内获得一次物理cpu资源的周期配额;

调度单元1002,用于根据所述虚拟机vm的虚拟cpu所消耗的物理cpu资源状态,进行物理cpu资源调度。

在一些实施方式中,所述调度单元,具体用于:当第二物理cpu的资源处于空闲状态,将满足预设条件的目标虚拟cpu从第一物理cpu迁移到所述第二物理cpu;其中,所述目标虚拟cpu为所述vm的一个虚拟cpu,所述第一物理cpu为所述多个物理cpu中的一个物理cpu。

在一些实施方式中,所述预设条件包括:所述vm的物理cpu资源有剩余。

在一些实施方式中,所述预设条件包括:所述vm的物理cpu资源已耗尽并获得物理cpu资源的额外配额。

在一些实施方式中,所述额外配额与所述周期配额之间成预设比例。

在一些实施方式中,所述预设条件还包括:所述vm在当前的调度周期内获得物理cpu资源配额的次数最少;其中,所述物理cpu资源配额包括所述周期配额和/或所述额外配额。

在本实施例中,当同一个vm的vcpu部署在多个pcpu上,该vm所包括的vcpu实际所消耗的pcpu资源可以被限制在用户为该vm配置的pcpu资源配额之内,从而符合用户为该vm设置的权重比例,这样,关键业务能够保证获得足够的pcpu资源,用户体验得以提高。

需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。

接下来介绍本申请实施例提供的一种计算机设备,所述计算机设备包括:处理器,存储器,通信接口和总线;所述处理器、通信接口、存储器通过所述总线相互的通信;所述通信接口,用于接收和发送数据;所述存储器用于存储指令;所述处理器用于执行所述存储器中的所述指令,执行前述的物理中央处理器cpu资源的调度方法。

接下来前述的网络设备进行详细说明,请参阅图11所示,计算机设备1100,包括:接收器1101、发射器1102、处理器1103和存储器1104(其中计算机设备1100中的处理器1103的数量可以一个或多个,图11中以一个处理器为例)。其中,通信接口可包括接收器1101、发射器1102。在本申请的一些实施例中,接收器1101、发射器1102、处理器1103和存储器1104可通过总线或其它方式连接,其中,图11中以通过总线连接为例。另一种实现方式中,通信接口还可以为网络接口卡(networkinterface,nic)等。

存储器1104可以包括只读存储器和随机存取存储器,并向处理器1103提供指令和数据。存储器1104的一部分还可以包括非易失性随机存取存储器(英文全称:non-volatilerandomaccessmemory,英文缩写:nvram)。存储器1104存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可包括各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。

处理器1103控制网络设备1100的操作,处理器1103还可以称为中央处理单元(英文全称:centralprocessingunit,英文简称:cpu)。具体的应用中,的各个组件通过总线系统耦合在一起,其中总线系统除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都称为总线系统。

上述本申请实施例揭示的方法可以应用于处理器1103中,或者由处理器1103实现。处理器1103可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1103中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1103可以是通用处理器、数字信号处理器(英文全称:digitalsignalprocessing,英文缩写:dsp)、专用集成电路(英文全称:applicationspecificintegratedcircuit,英文缩写:asic)、现场可编程门阵列(英文全称:field-programmablegatearray,英文缩写:fpga)等硬件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1104,处理器1103读取存储器1104中的信息,结合其硬件完成上述方法的步骤。

接收器1101可用于接收输入的数字或字符信息,以及产生与网络设备1100的相关设置以及功能控制有关的信号输入,发射器1102可包括显示屏等显示设备,发射器1102可用于通过外接接口输出数字或字符信息。

本申请实施例中,处理器1103,用于执行前述的物理中央处理器cpu资源的调度方法。

在本实施例中,当同一个vm的vcpu部署在多个pcpu上,该vm所包括的vcpu实际所消耗的pcpu资源可以被限制在用户为该vm配置的pcpu资源配额之内,从而符合用户为该vm设置的权重比例,这样,关键业务能够保证获得足够的pcpu资源,用户体验得以提高。

此外,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行前述的物理中央处理器cpu资源的调度方法。

此外,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行前述的物理中央处理器cpu资源的调度方法。

本申请实施例中提到的“第一pcpu”、“第一运行时间”等名称中的“第一”只是用来做名字标识,并不代表顺序上的第一。该规则同样适用于“第二”等。

本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加通用硬件平台的方式来实现。本发明实施例中的技术方案可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如只读存储器(英文:read-onlymemory,rom)/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如路由器等网络通信设备)执行本申请各个实施例或者实施例的某些部分所述的方法。

本说明书中的各个实施例之间相同相似的部分互相参见即可。尤其,对于装置实施例、设备实施例、介质实施例、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例、设备实施例仅仅是示意性的,其中作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1