确定虚拟环境中物理计算资源冲突概率的方法与设备技术领域
本发明涉及计算机技术领域,尤其涉及一种用于确定虚拟环境中
物理计算资源冲突的概率的技术。
背景技术
虚拟机技术支持了用户在一台物理计算机上模拟出一台或多台
虚拟的计算机的需求,极大地方便了用户的工作和学习。而在虚拟环
境下,多个虚拟机共享同一物理硬件计算资源。由于资源的共享,不
同虚拟机之间存在着物理计算资源的竞争,而现有技术未提供计算虚
拟环境下物理计算资源冲突的概率的方法。同时,在未知物理计算资
源冲突概率的情况下,系统和虚拟机都无法采取相应的恢复措施来消
除物理计算资源的竞争引起的资源冲突,最终会导致系统陷入严重的
资源冲突状态,对于运行于虚拟环境中的实时系统来说影响尤其严
重,因为物理计算资源的冲突会导致抖动和时延的显著增加,严重影
响提供给用户的服务质量。
发明内容
本发明的目的是提供一种用于确定虚拟环境中物理计算资源冲突
的概率的方法与设备。
根据本发明的一个方面,提供了一种用于确定虚拟环境中物理计
算资源冲突的概率的方法,其中,所述虚拟环境所对应的物理机中配
置至少一个物理CPU和至少两个虚拟机,每一所述虚拟机具有至少
一个虚拟CPU,该方法包括:
a获取每一所述虚拟机在采样周期内被分配的物理CPU负荷信
息;
b获取每一所述虚拟机在所述采样周期内所对应的虚拟机内部
CPU负荷信息;
c根据每一所述虚拟机的物理CPU负荷信息与虚拟机内部CPU
负荷信息,确定所述虚拟环境中的物理计算资源冲突的概率。
根据本发明的另一方面,还提供了一种用于确定虚拟环境中物理
计算资源冲突的概率的冲突概率确定设备,其中,所述虚拟环境所对
应的物理机中配置至少一个物理CPU和至少两个虚拟机,每一所述
虚拟机具有至少一个虚拟CPU,该冲突概率确定设备包括:
第一获取装置,用于获取每一所述虚拟机在采样周期内被分配的
物理CPU负荷信息;
第二获取装置,用于获取每一所述虚拟机在所述采样周期内所对
应的虚拟机内部CPU负荷信息;
冲突概率确定装置,用于根据每一所述虚拟机的物理CPU负荷
信息与虚拟机内部CPU负荷信息,确定所述虚拟环境中的物理计算
资源冲突的概率。
与现有技术相比,本发明通过测量每一所述虚拟机的物理CPU
负荷信息与虚拟机内部CPU负荷信息,可容易地计算出所述虚拟环
境中的物理计算资源冲突的概率;此外,本发明还可将所述物理计算
资源冲突的概率发送至对应系统,以供所述系统根据所述物理计算资
源冲突的概率进行相应处理,使得系统可根据物理计算资源冲突的概
率来提高系统的可靠性,尤其对于实时系统,本发明提高了实时系统
的响应时间。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,
本发明的其它特征、目的和优点将会变得更明显:
图1示出根据本发明一个方面的一种用于确定虚拟环境中物理计
算资源冲突的概率的设备示意图;
图2示出根据本发明另一个方面的一种用于确定虚拟环境中物理
计算资源冲突的概率的方法流程图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本发明作进一步详细描述。
图1示出根据本发明一个方面的一种用于确定虚拟环境中物理计
算资源冲突的概率的冲突概率确定设备1,其中,所述虚拟环境所对
应的物理机中配置至少一个物理CPU和至少两个虚拟机,每一所述
虚拟机具有至少一个虚拟CPU,其中,冲突概率确定设备1包括第一
获取装置11、第二获取装置12和冲突概率确定装置13。具体地,第
一获取装置11获取每一所述虚拟机在采样周期内被分配的物理CPU
负荷信息;第二获取装置12获取每一所述虚拟机在所述采样周期内
所对应的虚拟机内部CPU负荷信息;冲突概率确定装置13根据每一
所述虚拟机的物理CPU负荷信息与虚拟机内部CPU负荷信息,确定
所述虚拟环境中的物理计算资源冲突的概率。在此,冲突概率确定设
备1可由网络主机、单个网络服务器、多个网络服务器集或基于云计
算的计算机集合等实现。在此,云由基于云计算(CloudComputing)
的大量主机或网络服务器构成,其中,云计算是分布式计算的一种,
由一群松散耦合的计算机集组成的一个超级虚拟计算机。本领域技术
人员应能理解上述冲突概率确定设备1仅为举例,其他现有的或今后
可能出现的网络设备如可适用于本发明,也应包含在本发明保护范围
以内,并在此以引用方式包含于此。在此,网络设备包括一种能够按
照事先设定或存储的指令,自动进行数值计算和信息处理的电子设
备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门
阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。
具体地,第一获取装置11可通过调用虚拟环境所对应的物理机
自身所提供的资源管理器应用程序接口(API),获取每一所述虚拟机
在采样周期内被分配的物理CPU负荷信息;或者,通过扫描虚拟环
境所对应的物理机中配置的每一虚拟机被分配的物理CPU负荷信息,
来获取每一所述虚拟机在采样周期内被分配的物理CPU负荷信息。
例如,假设在一物理机如physicalmachine1上安装了虚拟机,从
而构成虚拟环境virtualenviroment1,该物理机中配置m个物理CPU
(如以P1,P2,...,Pm表示),n个虚拟机(如以VM1,VM2,...,
VMn表示),虚拟机VM1至VMn具有的虚拟CPU数量分别为V1,
V2,...,Vn个,则第一获取装置11可通过物理机如physicalmachine1
自身所提供的资源管理器应用程序接口(API),便得到每一所述虚拟
机在采样周期如T内被分配的物理CPU负荷信息,即得到虚拟机VM1
至VMn各自在采样周期T内被分配的物理CPU负荷信息,可用公式
(1)表示如下:
Σ i = 1 m a ji % , j = 1,2 , . . . , n - - - ( 1 ) ]]>
其中,aji%表示第i个物理CPU为第j个虚拟机VMj分配的物理CPU负荷
信息,例如:
Ⅰ)当j=1时,上述公式(1)表示虚拟机VM1被分配的物理CPU负荷
信息,即:yVM1=a11%+a12%+...+a1m%(其中,a11%表示第1个物理CPU
为VM1分配的物理CPU负荷信息,a12%表示第2个物理CPU为VM1分配
的物理CPU负荷信息,...,a1m%表示第m个物理CPU为VM1分配的物
理CPU负荷信息);
Ⅱ)当j=2时,上述公式(1)表示虚拟机VM2被分配的物理CPU负荷
信息,即:yVM2=a21%+a22%+...+a2m%(a21%表示第1个物理CPU为VM2
分配的物理CPU负荷信息,a22%表示第2个物理CPU为VM2分配的物
理CPU负荷信息,...,a2m%表示第m个物理CPU为VM2分配的物理
CPU负荷信息)。对于其他虚拟机,可按公式(1)依次类推。
再如,若每一物理CPU在采样周期内为同一虚拟机分配的CPU
负荷相同;或者,当第一获取装置11获取到每一物理CPU在采样周
期内为同一虚拟机中各虚拟CPU的平均物理CPU负荷信息时,第一
获取装置11可通过以下方式来计算每一所述虚拟机在采样周期内被
分配的物理CPU负荷信息。
例如,假设第一获取装置11通过物理机如physicalmachine1自
身所提供的资源管理器应用程序接口(API),获取到其上的m个物
理CPU均为VM1分配的物理CPU负荷信息为T1%,则第一获取装置
11可计算得到虚拟机VM1被分配的物理CPU负荷信息=T1%*m;而
该m个物理CPU均为虚拟机VM2分配的物理CPU负荷信息为T2%,
则虚拟机VM2被分配的物理CPU负荷信息=T2%*m;类似地,该m
个物理CPU均为虚拟机VMn分配的物理CPU负荷信息为Tn%,则虚
拟机VMn被分配的物理CPU负荷信息=Tn%*m,即虚拟机VMj被分
配的物理CPU负荷信息可用以下公式(2)表示:
Tj%*m,j=1,2,...,n(2)
本领域技术人员应能理解上述获取每一所述虚拟机在采样周期
内被分配的物理CPU负荷信息的方式仅为举例,其他现有的或今后
可能出现的获取每一所述虚拟机在采样周期内被分配的物理CPU负
荷信息的方式如可适用于本发明,也应包含在本发明保护范围以内,
并在此以引用方式包含于此。
第二获取装置12可通过调用每一虚拟机自身所提供的资源管理
器应用程序接口(API),获取每一所述虚拟机在所述采样周期内所对
应的虚拟机内部CPU负荷信息。
例如,对于虚拟机VM1至VMn,则第二获取装置12可通过每一
虚拟机自身所提供的资源管理器应用程序接口(API),来得到每一虚
拟机在采样周期T内所对应的虚拟机内部CPU负荷信息,可用公式
(3)表示如下:
Σ z = 1 V j b jz % , j = 1,2 , . . . , n - - - ( 3 ) ]]>
其中,bjz%表示第j个虚拟机VMj中第z个虚拟CPU在采样周期T内所对
应的虚拟机内部CPU负荷信息,例如:
Ⅰ)当j=1时,上述公式(3)表示虚拟机VM1对应的虚拟机内部CPU
负荷信息,即:xVM1=b11%+b12%+...+b1V1%(b11%表示虚拟机VM1
中第1个虚拟CPU的在采样周期T内所对应的虚拟机内部CPU负荷信
息,b12%表示虚拟机VM1中第2虚拟CPU的在采样周期T内所对应的虚
拟机内部CPU负荷信息,...,b1V1%表示虚拟机VM1中第V1个虚拟CPU
在采样周期T内所对应的虚拟机内部CPU负荷信息);
Ⅱ)当j=2时,上述公式(3)表示虚拟机VM2对应的虚拟机内部CPU
负荷信息,即:xVM2=b21%+b22%+...+b2V2%(b21%表示虚拟机VM2
中第1个虚拟CPU在采样周期T内所对应的虚拟机内部CPU负荷信息,
b22%表示虚拟机VM2中第2虚拟CPU在采样周期T内所对应的虚拟机
内部CPU负荷信息,...,b2V2%表示虚拟机VM2中第V2个虚拟CPU在
采样周期T内所对应的虚拟机内部CPU负荷信息)。对于其他虚拟机,
可按公式(3)依次类推。
再如,若同一虚拟机的各虚拟CPU的虚拟机内部CPU负荷信息相
同,或者,当第二获取装置12获取到每一虚拟机的各虚拟CPU在采样
周期内的平均虚拟机内部CPU负荷信息时,第二获取装置12可通过以
下方式计算每一虚拟机在所述采样周期内所对应的虚拟机内部CPU
负荷信息。例如,假设第二获取装置12通过调用虚拟机VM1自身所提
供的资源管理器应用程序接口(API),得到该虚拟机中的V1个虚拟
CPU在采样周期内的平均虚拟机内部CPU负荷信息为L1%,则第二获
取装置12可确定虚拟机VM1对应的虚拟机内部CPU负荷=L1%*V1;
而对于虚拟机VM2,第二获取装置12得到该虚拟机中的V2个虚拟CPU
在采样周期内的平均虚拟机内部CPU负荷信息为L2%,则第二获取装
置12可确定虚拟机VM2对应的虚拟机内部CPU负荷=L2%*V2;类似
地,对于虚拟机VMn,第二获取装置12得到该虚拟机中的Vn个虚拟
CPU在采样周期内的平均虚拟机内部CPU负荷信息为Ln%,则第二获
取装置12可确定虚拟机VMn对应的虚拟机内部CPU负荷=Ln%*Vn,
即虚拟机VMj对应的虚拟机内部CPU负荷可用以下公式(4)表示:
Lj%*Vj,j=1,2,...,n(4)
其中,Vj表示第j个虚拟机VMj的虚拟CPU数量信息。
本领域技术人员应能理解上述获取每一所述虚拟机在所述采样
周期内所对应的虚拟机内部CPU负荷信息的方式仅为举例,其他现
有的或今后可能出现的获取每一所述虚拟机在所述采样周期内所对
应的虚拟机内部CPU负荷信息的方式如可适用于本发明,也应包含
在本发明保护范围以内,并在此以引用方式包含于此。
在此,本领域技术人员应当理解,在具体实施例中,第一获取装
置11和第二获取装置12可串行的执行,也可并行的执行。当以串行
方式执行时,也可先执行第二获取装置12,后执行第一获取装置11。
在此,本领域技术人员应当理解,在具体实施例中,第一获取装
置11和第二获取装置12可集成在一起,也可是独立的模块。
冲突概率确定装置13根据每一所述虚拟机的物理CPU负荷信息
与虚拟机内部CPU负荷信息,确定所述虚拟环境中的物理计算资源
冲突的概率。在此,冲突概率确定装置13确定所述概率的方式包括
但不限于以下至少任一项:
1)首先根据每一所述虚拟机的物理CPU负荷信息与虚拟机内部
CPU负荷信息,确定对应虚拟机在所述采样周期内所对应的竞争CPU
负荷信息;然后,再根据每一所述虚拟机的物理CPU负荷信息与竞
争CPU负荷信息,确定所述虚拟环境中的物理计算资源冲突的概率。
在此,在采样周期内存在当某一虚拟机有任务待执行但物理机的
物理CPU被其他虚拟机占用的情形,被其他虚拟机占用的物理CPU
负荷信息即是该虚拟机的竞争CPU负荷信息,例如,对于安装在物
理机如physicalmachine1上的n个虚拟机VM1至VMn,若在采样周
期T=1000ms内,虚拟机VM1被分配的物理CPU负荷信息为
10%*T=100ms,当虚拟机VM1执行任务时,其虚拟机内部CPU负荷
信息为80%*T=800ms,在虚拟机VM1自身看来,在该800ms中其均
可执行任务,但实际上其可执行任务的时间只有100ms,该800ms中
的其他700ms被其他虚拟机占用,则该700ms即是虚拟机VM1的竞
争CPU负荷信息。
例如,因虚拟机在所述采样周期内所对应的每一虚拟机内部CPU
负荷信息等于其在该采样周期内的物理CPU负荷信息与竞争CPU负
荷信息的和,所以,可根据每一所述虚拟机的物理CPU负荷信息与
虚拟机内部CPU负荷信息,确定对应虚拟机在所述采样周期内所对
应的竞争CPU负荷信息,根据上述公式(1)和(3),两者相减,公式(3)
减去公式(1),可得到虚拟机在所述采样周期内所对应的竞争CPU
负荷信息,即:
η j % = Σ z = 1 V j b jz % - Σ i = 1 m a ji % , j = 1,2 , . . . , n - - - ( 5 ) ]]>
其中,ηj%表示第j个虚拟机VMj的竞争CPU负荷信息。例如:
Ⅰ)当j=1时,上述公式(5)表示第1个虚拟机VM1的竞争CPU负
荷信息,即:
η1%=xVM1-yVM1=(b11%+b12%+...+b1V1%)-(a11%+a12%+...+a1m%);
Ⅱ)当j=2时,上述公式(5)表示第2个虚拟机VM2的竞争CPU负
荷信息,即:
η2%=xVM2-yVM2=(b21%+b22%+...+b2V2%)-(a21%+a22%+...+a2m%)。
然后,冲突概率确定装置13再根据每一所述虚拟机的物理CPU
负荷信息与竞争CPU负荷信息,确定所述虚拟环境中的物理计算资
源冲突的概率。在此,冲突概率确定装置13将所有虚拟机的竞争CPU
负荷信息和与所有虚拟机的物理CPU负荷信息和的比值作为虚拟环
境中的物理计算资源冲突的概率,即根据以下公式(6)确定所述虚
拟环境中的物理计算资源冲突的概率:
Σ j = 1 n η j % Σ j = 1 n ( Σ i = 1 m a ji % ) = η 1 % + η 2 % + . . . + η n % Σ i = 1 m a 1 i % + Σ i = 1 m a 2 i % + . . . + Σ i = 1 m a ni % - - - ( 6 ) ]]>
当公式(6)的数值等于0时,说明此时没有物理计算资源冲突,若
公式(6)的数值大于0,说明此时存在物理计算资源冲突,而且,数
值越大,说明物理计算资源冲突的现象越严重。
再如,根据上述公式(2)和(4),可得到每一虚拟机的竞争CPU
负荷信息,如将公式(4)减去公式(2),可得到:
Cj%=Lj%*Vj-Tj%*m,j=1,2,...,n(7)
其中,Cj%表示第j个虚拟机VMj的竞争CPU负荷信息的均值。根据
上述公式(7),则有:
T1%*m+C1%=L1%*V1(7-1)
T2%*m+C2%=L2%*V2(7-2)
……
Tn%*m+Cn%=Ln%*Vn(7-n)
计算以上公式(7-1)至(7-n)的和,则可得到:
(T1%+T2%+...+Tn%)*m+(C1%+C2%+...Cn%)=L1%*V1+
L2%*V2+...+Ln%*Vn,即得到以下公式(8):
( Σ j = 1 n T j % ) * m + Σ j = 1 n C j % = Σ j = 1 n ( L j % * V j ) - - - ( 8 ) ]]>
然后,冲突概率确定装置13可确定所述虚拟环境中的物理计算资源
冲突的概率为:
Σ j = 1 n C j % ( Σ j = 1 n T j % ) * m = Σ j = 1 n ( L j % * V j ) - ( Σ j = 1 n T j % ) * m ( Σ j = 1 n T j % ) * m = Σ j = 1 n ( L j % * V j ) ( Σ j = 1 n T j % ) * m - 1 - - - ( 9 ) ]]>
若不存在物理计算资源冲突时,上述公式(9)的数值等于0,若上述
公式(9)的数值大于0时,说明存在物理计算资源冲突,而且,数
值越大,说明物理计算资源冲突的现象越严重。
2)根据每一所述虚拟机的物理CPU负荷信息与虚拟机内部CPU
负荷信息,并结合所述虚拟环境所对应的物理机中配置的物理CPU
的数量信息,以及每一所述虚拟机所对应的虚拟CPU数量信息,确
定所述虚拟环境中的物理计算资源冲突的概率,如依据上述公式(9)
确定所述物理计算资源冲突的概率。
优选地,冲突概率确定装置13还可根据每一所述虚拟机的物理
CPU负荷信息与虚拟机内部CPU负荷信息,并结合所述虚拟环境所
对应的物理机中配置的物理CPU的数量信息、每一所述虚拟机所对
应的虚拟CPU数量信息以及关于所有虚拟机的调度开销信息,确定
所述虚拟环境中的物理计算资源冲突的概率。
在此,冲突概率确定装置13可将关于所有虚拟机的调度开销信
息从所有虚拟机的虚拟机内部CPU负荷信息之和中除去,将公式(9)
变化如下,得到以下公式(10):
Σ j = 1 n ( L j % * V j ) ( Σ j = 1 n T j % ) * m * ( 1 - x % ) - 1 - - - ( 10 ) ]]>
其中,x%为关于所有虚拟机的调度开销信息。然后,根据公式(10)
确定所述虚拟环境中的物理计算资源冲突的概率。若不存在物理计算
资源冲突时,上述公式(10)的数值等于0,若上述公式(10)的数
值不等于0时,说明存在物理计算资源冲突,而且,数值越大,说明
物理计算资源冲突的现象越严重。
例如,对于物理机如physicalmachine1,该物理机中配置了m=3
个物理CPU,以及n=6个虚拟机(即VM1,VM2,...,VM6),且虚
拟机VM1至VM6上的虚拟CPU数量依次为:1、2、3、4、5、6,虚
拟机VM1至VM6中的虚拟CPU的虚拟机内部CPU负荷信息(即Lj%)
依次为80%、90%、60%、70%、100%、80%,每一物理CPU在采样
周期内为虚拟机VM1至VM6分配的CPU负荷(即Tj%)依次为10%、
20%、30%、40%、50%、10%,关于所有虚拟机的调度开销信息为
5%,即x%=5%,则冲突概率确定装置13可根据以上公式(10),得
到虚拟环境virtualenviroment1中的物理计算资源冲突的概率为
2.728,说明存在物理计算资源冲突。
上安装了虚拟机,从而构成虚拟环境virtualenviroment1,该物理
机中配置m个物理CPU(如以P1,P2,...,Pm表示),n个虚拟机(如
以VM1,VM2,...,VMn表示)
3)当所述虚拟环境中每一物理CPU为同一虚拟机分配的物理
CPU负荷信息相等且每一虚拟机所对应的各虚拟CPU贡献的虚拟机
内部CPU负荷信息相等时,冲突概率确定装置13可通过以下方式,
确定所述虚拟环境中的物理计算资源冲突的概率:
y = Σ j = 1 n ( L j % * V j ) ( Σ j = 1 n T j % ) * m * ( 1 - x % ) ]]>
其中,m为所述虚拟环境所对应的物理机中配置的物理CPU的
数量信息,Lj%为所述虚拟环境中配置的n个虚拟机中第j个虚拟机在
所述采样周期内其所对应的各虚拟CPU贡献的虚拟机内部CPU负荷
信息,Vj为第j个虚拟机具有的虚拟CPU数量信息,Tj%为第j个虚拟
机在所述采样周期内被各物理CPU分配的物理CPU负荷信息,x%为
关于所有虚拟机的调度开销信息。
在此,冲突概率确定装置13确定所述虚拟环境中的物理计算资
源冲突的概率与其根据上述公式(10)确定所述虚拟环境中的物理计
算资源冲突的概率的方式相同,为简明起见,故在此不再赘述,并以
引用的方式包含与此。
冲突概率确定设备1的各个装置之间是持续不断工作的。具体地,
第一获取装置11持续获取每一所述虚拟机在采样周期内被分配的物
理CPU负荷信息;第二获取装置12持续获取每一所述虚拟机在所述
采样周期内所对应的虚拟机内部CPU负荷信息;冲突概率确定装置
13持续根据每一所述虚拟机的物理CPU负荷信息与虚拟机内部CPU
负荷信息,确定所述虚拟环境中的物理计算资源冲突的概率。在此,
本领域技术人员应能理解“持续”是指冲突概率确定设备1的各装置
之间分别不断地进行获取虚拟机的物理CPU负荷信息、获取虚拟机
的虚拟机内部CPU负荷信息与确定虚拟环境中的物理计算资源冲突
的概率,直至冲突概率确定设备1在较长时间内停止获取虚拟机的物
理CPU负荷信息。
优选地,冲突概率确定设备1还包括发送装置(未示出)。具体
地,发送装置将所述物理计算资源冲突的概率发送至对应系统,以供
所述系统根据所述物理计算资源冲突的概率进行相应处理。
在此,物理计算资源冲突的概率在很多情况下作为过载控制的输
入,如在LTERAN(LongTermEvolution,长期演进,RadioAccess
Network,无线接入网)产品中,利用物理计算资源冲突的概率可以
有下面的过载控制措施:1)当物理计算资源冲突的概率大于预定义
门限并且应用程序可以使用的计算资源小于预定义的可使用最大值
时,监控程序通过云管理平台请求更多的物理处理资源,该请求被满
足后如果资源冲突概率没有下降,监控程序重复申请更多的计算资源
直到资源冲突概率小于预定义门限;2)当物理计算资源冲突的概率
大于预定义门限并且应用程序可以使用的计算资源已经达到预定义
的可使用最大值时,启动过载控制机制,即从信令层通过减少用户接
入和用户业务处理的方式降低系统负荷,从而降低资源冲突概率,直
到使其低于预定义门限。
例如,假设冲突概率确定装置13得到虚拟环境virtual
enviroment1中的物理计算资源冲突的概率为2.728,则发送装置可通
过http、https等约定通信方式,或通过预定义接口,将所述物理计算
资源冲突的概率发送至对应系统,以供所述系统根据所述物理计算资
源冲突的概率进行相应处理,如发送至LTERAN产品中,假设该物
理计算资源冲突的概率大于2.728预定义门限如2并且应用程序可以
使用的计算资源小于预定义的可使用最大值时,则LTERAN产品的
监控程序通过云管理平台请求更多的物理处理资源,该请求被满足后
如果资源冲突概率没有下降,监控程序重复申请更多的计算资源直到
资源冲突概率小于预定义门限。
图2示出根据本发明另一个方面的一种用于确定虚拟环境中物理
计算资源冲突的概率的方法流程图。
其中,所述虚拟环境所对应的物理机中配置至少一个物理CPU
和至少两个虚拟机,每一所述虚拟机具有至少一个虚拟CPU,其中,
该方法包括步骤S1、步骤S2和步骤S3。具体地,在步骤S1中,冲
突概率确定设备1获取每一所述虚拟机在采样周期内被分配的物理
CPU负荷信息;在步骤S2中,冲突概率确定设备1获取每一所述虚
拟机在所述采样周期内所对应的虚拟机内部CPU负荷信息;在步骤
S3中,冲突概率确定设备1根据每一所述虚拟机的物理CPU负荷信
息与虚拟机内部CPU负荷信息,确定所述虚拟环境中的物理计算资
源冲突的概率。在此,冲突概率确定设备1可由网络主机、单个网络
服务器、多个网络服务器集或基于云计算的计算机集合等实现。在此,
云由基于云计算(CloudComputing)的大量主机或网络服务器构成,
其中,云计算是分布式计算的一种,由一群松散耦合的计算机集组成
的一个超级虚拟计算机。本领域技术人员应能理解上述冲突概率确定
设备1仅为举例,其他现有的或今后可能出现的网络设备如可适用于
本发明,也应包含在本发明保护范围以内,并在此以引用方式包含于
此。在此,网络设备包括一种能够按照事先设定或存储的指令,自动
进行数值计算和信息处理的电子设备,其硬件包括但不限于微处理
器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、
嵌入式设备等。
具体地,在步骤S1中,冲突概率确定设备1可通过调用虚拟环
境所对应的物理机自身所提供的资源管理器应用程序接口(API),获
取每一所述虚拟机在采样周期内被分配的物理CPU负荷信息;或者,
通过扫描虚拟环境所对应的物理机中配置的每一虚拟机被分配的物
理CPU负荷信息,来获取每一所述虚拟机在采样周期内被分配的物
理CPU负荷信息。
例如,假设在一物理机如physicalmachine1上安装了虚拟机,从
而构成虚拟环境virtualenviroment1,该物理机中配置m个物理CPU
(如以P1,P2,...,Pm表示),n个虚拟机(如以VM1,VM2,...,
VMn表示),虚拟机VM1至VMn具有的虚拟CPU数量分别为V1,
V2,...,Vn个,则在步骤S1中,冲突概率确定设备1可通过物理机
如physicalmachine1自身所提供的资源管理器应用程序接口(API),
便得到每一所述虚拟机在采样周期如T内被分配的物理CPU负荷信
息,即得到虚拟机VM1至VMn各自在采样周期T内被分配的物理CPU
负荷信息,可用公式(11)表示如下:
Σ i = 1 m a ji % , j = 1,2 , . . . , n - - - ( 11 ) ]]>
其中,aji%表示第i个物理CPU为第j个虚拟机VMj分配的物理CPU负荷
信息,例如:
Ⅰ)当j=1时,上述公式(11)表示虚拟机VM1被分配的物理CPU负荷
信息,即:yVM1=a11%+a12%+...+a1m%(其中,a11%表示第1个物理CPU
为VM1分配的物理CPU负荷信息,a12%表示第2个物理CPU为VM1分配
的物理CPU负荷信息,...,a1m%表示第m个物理CPU为VM1分配的物
理CPU负荷信息);
Ⅱ)当j=2时,上述公式(11)表示虚拟机VM2被分配的物理CPU负荷
信息,即:yVM2=a21%+a22%+...+a2m%(a21%表示第1个物理CPU为VM2
分配的物理CPU负荷信息,a22%表示第2个物理CPU为VM2分配的物
理CPU负荷信息,...,a2m%表示第m个物理CPU为VM2分配的物理
CPU负荷信息)。对于其他虚拟机,可按公式(11)依次类推。
再如,若每一物理CPU在采样周期内为同一虚拟机分配的CPU
负荷相同;或者,当在步骤S1中,冲突概率确定设备1获取到每一
物理CPU在采样周期内为同一虚拟机中各虚拟CPU的平均物理CPU
负荷信息时,在步骤S1中,冲突概率确定设备1可通过以下方式来
计算每一所述虚拟机在采样周期内被分配的物理CPU负荷信息。
例如,假设在步骤S1中,冲突概率确定设备1通过物理机如
physicalmachine1自身所提供的资源管理器应用程序接口(API),获
取到其上的m个物理CPU均为虚拟机VM1分配的物理CPU负荷信
息为T1%,则在步骤S1中,冲突概率确定设备1可计算得到虚拟机
VM1被分配的物理CPU负荷信息=T1%*m;而该m个物理CPU均为
虚拟机VM2分配的物理CPU负荷信息为T2%,则虚拟机VM2被分配
的物理CPU负荷信息=T2%*m;类似地,该m个物理CPU均为虚拟
机VMn分配的物理CPU负荷信息为Tn%,则虚拟机VMn被分配的物
理CPU负荷信息=Tn%*m,即虚拟机VMj被分配的物理CPU负荷信
息可用以下公式(12)表示:
Tj%*m,j=1,2,...,n(12)
本领域技术人员应能理解上述获取每一所述虚拟机在采样周期
内被分配的物理CPU负荷信息的方式仅为举例,其他现有的或今后
可能出现的获取每一所述虚拟机在采样周期内被分配的物理CPU负
荷信息的方式如可适用于本发明,也应包含在本发明保护范围以内,
并在此以引用方式包含于此。
在步骤S2中,冲突概率确定设备1可通过调用每一虚拟机自身
所提供的资源管理器应用程序接口(API),获取每一所述虚拟机在所
述采样周期内所对应的虚拟机内部CPU负荷信息。
例如,对于虚拟机VM1至VMn,则在步骤S2中,冲突概率确定
设备1可通过每一虚拟机自身所提供的资源管理器应用程序接口
(API),来得到每一虚拟机在采样周期T内所对应的虚拟机内部CPU
负荷信息,可用公式(13)表示如下:
Σ z = 1 V j b jz % , j = 1,2 , . . . , n - - - ( 13 ) ]]>
其中,bjz%表示第j个虚拟机VMj中第z个虚拟CPU在采样周期T内所对
应的虚拟机内部CPU负荷信息,例如:
Ⅰ)当j=1时,上述公式(13)表示虚拟机VM1对应的虚拟机内部CPU
负荷信息,即:xVM1=b11%+b12%+...+b1V1%(b11%表示虚拟机VM1
中第1个虚拟CPU的在采样周期T内所对应的虚拟机内部CPU负荷信
息,b12%表示虚拟机VM1中第2虚拟CPU的在采样周期T内所对应的虚
拟机内部CPU负荷信息,...,b1V1%表示虚拟机VM1中第V1个虚拟CPU
在采样周期T内所对应的虚拟机内部CPU负荷信息);
Ⅱ)当j=2时,上述公式(13)表示虚拟机VM2对应的虚拟机内部CPU
负荷信息,即:xVM2=b21%+b22%+...+b2V2%(b21%表示虚拟机VM2
中第1个虚拟CPU在采样周期T内所对应的虚拟机内部CPU负荷信息,
b22%表示虚拟机VM2中第2虚拟CPU在采样周期T内所对应的虚拟机
内部CPU负荷信息,...,b2V2%表示虚拟机VM2中第V2个虚拟CPU在
采样周期T内所对应的虚拟机内部CPU负荷信息)。对于其他虚拟机,
可按公式(13)依次类推。
再如,若同一虚拟机的各虚拟CPU的虚拟机内部CPU负荷信息相
同,或者,当在步骤S2中,冲突概率确定设备1获取到每一虚拟机的
各虚拟CPU在采样周期内的平均虚拟机内部CPU负荷信息时,在步骤
S2中,冲突概率确定设备1可通过以下方式计算每一虚拟机在所述采
样周期内所对应的虚拟机内部CPU负荷信息。例如,假设在步骤S2中,
冲突概率确定设备1通过调用虚拟机VM1自身所提供的资源管理器应
用程序接口(API),得到该虚拟机中的V1个虚拟CPU在采样周期内
的平均虚拟机内部CPU负荷信息为L1%,则在步骤S2中,冲突概率确
定设备1可确定虚拟机VM1对应的虚拟机内部CPU负荷=L1%*V1;而
对于虚拟机VM2,在步骤S2中,冲突概率确定设备1得到该虚拟机中
的V2个虚拟CPU在采样周期内的平均虚拟机内部CPU负荷信息为
L2%,则在步骤S2中,冲突概率确定设备1可确定虚拟机VM2对应的虚
拟机内部CPU负荷=L2%*V2;类似地,对于虚拟机VMn,在步骤S2
中,冲突概率确定设备1得到该虚拟机中的Vn个虚拟CPU在采样周期
内的平均虚拟机内部CPU负荷信息为Ln%,则在步骤S2中,冲突概率
确定设备1可确定虚拟机VMn对应的虚拟机内部CPU负荷=Ln%*Vn,
即虚拟机VMj对应的虚拟机内部CPU负荷可用以下公式(14)表示:
Lj%*Vj,j=1,2,...,n(14)
其中,Vj表示第j个虚拟机VMj的虚拟CPU数量信息。
本领域技术人员应能理解上述获取每一所述虚拟机在所述采样
周期内所对应的虚拟机内部CPU负荷信息的方式仅为举例,其他现
有的或今后可能出现的获取每一所述虚拟机在所述采样周期内所对
应的虚拟机内部CPU负荷信息的方式如可适用于本发明,也应包含
在本发明保护范围以内,并在此以引用方式包含于此。
在此,本领域技术人员应当理解,在具体实施例中,步骤S1和
步骤S2可串行的执行,也可并行的执行。当以串行方式执行时,也
可先执行步骤S2,后执行步骤S1。
在步骤S3中,冲突概率确定设备1根据每一所述虚拟机的物理
CPU负荷信息与虚拟机内部CPU负荷信息,确定所述虚拟环境中的
物理计算资源冲突的概率。在此,在步骤S3中,冲突概率确定设备
1确定所述概率的方式包括但不限于以下至少任一项:
1)首先根据每一所述虚拟机的物理CPU负荷信息与虚拟机内部
CPU负荷信息,确定对应虚拟机在所述采样周期内所对应的竞争CPU
负荷信息;然后,再根据每一所述虚拟机的物理CPU负荷信息与竞
争CPU负荷信息,确定所述虚拟环境中的物理计算资源冲突的概率。
在此,在采样周期内存在当某一虚拟机有任务待执行但物理机的
物理CPU被其他虚拟机占用的情形,被其他虚拟机占用的物理CPU
负荷信息即是该虚拟机的竞争CPU负荷信息,例如,对于安装在物
理机如physicalmachine1上的n个虚拟机VM1至VMn,若在采样周
期T=1000ms内,虚拟机VM1被分配的物理CPU负荷信息为
10%*T=100ms,当虚拟机VM1执行任务时,其虚拟机内部CPU负荷
信息为80%*T=800ms,在虚拟机VM1自身看来,在该800ms中其均
可执行任务,但实际上其可执行任务的时间只有100ms,该800ms中
的其他700ms被其他虚拟机占用,则该700ms即是虚拟机VM1的竞
争CPU负荷信息。
例如,因虚拟机在所述采样周期内所对应的每一虚拟机内部CPU
负荷信息等于其在该采样周期内的物理CPU负荷信息与竞争CPU负
荷信息的和,所以,可根据每一所述虚拟机的物理CPU负荷信息与
虚拟机内部CPU负荷信息,确定对应虚拟机在所述采样周期内所对
应的竞争CPU负荷信息,根据上述公式(11)和(13),两者相减,公式
(13)减去公式(11),可得到虚拟机在所述采样周期内所对应的竞
争CPU负荷信息,即:
η j % = Σ z = 1 V j b jz % - Σ i = 1 m a ji % , j = 1,2 , . . . , n - - - ( 15 ) ]]>
其中,ηj%表示第j个虚拟机VMj的竞争CPU负荷信息。例如:
Ⅰ)当j=1时,上述公式(15)表示第1个虚拟机VM1的竞争CPU
负荷信息,即:
η1%=xVM1-yVM1=(b11%+b12%+...+b1V1%)-(a11%+a12%+...+a1m%);
Ⅱ)当j=2时,上述公式(15)表示第2个虚拟机VM2的竞争CPU
负荷信息,即:
η2%=xVM2-yVM2=(b21%+b22%+...+b2V2%)-(a21%+a22%+...+a2m%)。
然后,在步骤S3中,冲突概率确定设备1再根据每一所述虚拟
机的物理CPU负荷信息与竞争CPU负荷信息,确定所述虚拟环境中
的物理计算资源冲突的概率。在此,在步骤S3中,冲突概率确定设
备1将所有虚拟机的竞争CPU负荷信息和与所有虚拟机的物理CPU
负荷信息和的比值作为虚拟环境中的物理计算资源冲突的概率,即根
据以下公式(16)确定所述虚拟环境中的物理计算资源冲突的概率:
Σ j = 1 n η j % Σ j = 1 n ( Σ i = 1 m a ji % ) = η 1 % + η 2 % + . . . + η n % Σ i = 1 m a 1 i % + Σ i = 1 m a 2 i % + . . . + Σ i = 1 m a ni % - - - ( 16 ) ]]>
当公式(16)的数值等于0时,说明此时没有物理计算资源冲突,若
公式(16)的数值大于0,说明此时存在物理计算资源冲突,而且,
数值越大,说明物理计算资源冲突的现象越严重。
再如,根据上述公式(12)和(14),可得到每一虚拟机的竞争
CPU负荷信息,如将公式(14)减去公式(12),可得到:
Cj%=Lj%*Vj-Tj%*m,j=1,2,...,n(17)
其中,Cj%表示第j个虚拟机VMj的竞争CPU负荷信息的均值。根据
上述公式(17),则有:
T1%*m+C1%=L1%*V1(17-1)
T2%*m+C2%=L2%*V2(17-2)
……
Tn%*m+Cn%=Ln%*Vn(17-n)
计算以上公式(17-1)至(17-n)的和,则可得到:
(T1%+T2%+...+Tn%)*m+(C1%+C2%+...Cn%)=L1%*V1+
L2%*V2+...+Ln%*Vn,即得到以下公式(18):
( Σ j = 1 n T j % ) * m + Σ j = 1 n C j % = Σ j = 1 n ( L j % * V j ) - - - ( 18 ) ]]>
然后,在步骤S3中,冲突概率确定设备1可确定所述虚拟环境中的
物理计算资源冲突的概率为:
Σ j = 1 n C j % ( Σ j = 1 n T j % ) * m = Σ j = 1 n ( L j % * V j ) - ( Σ j = 1 n T j % ) * m ( Σ j = 1 n T j % ) * m = Σ j = 1 n ( L j % * V j ) ( Σ j = 1 n T j % ) * m - 1 - - - ( 19 ) ]]>
若不存在物理计算资源冲突时,上述公式(19)的数值等于0,若上
述公式(19)的数值大于0时,说明存在物理计算资源冲突,而且,
数值越大,说明物理计算资源冲突的现象越严重。
2)根据每一所述虚拟机的物理CPU负荷信息与虚拟机内部CPU
负荷信息,并结合所述虚拟环境所对应的物理机中配置的物理CPU
的数量信息,以及每一所述虚拟机所对应的虚拟CPU数量信息,确
定所述虚拟环境中的物理计算资源冲突的概率,如依据上述公式(19)
确定所述物理计算资源冲突的概率。
优选地,在步骤S3中,冲突概率确定设备1还可根据每一所述
虚拟机的物理CPU负荷信息与虚拟机内部CPU负荷信息,并结合所
述虚拟环境所对应的物理机中配置的物理CPU的数量信息、每一所
述虚拟机所对应的虚拟CPU数量信息以及关于所有虚拟机的调度开
销信息,确定所述虚拟环境中的物理计算资源冲突的概率。
在此,在步骤S3中,冲突概率确定设备1可将关于所有虚拟机
的调度开销信息从所有虚拟机的虚拟机内部CPU负荷信息之和中除
去,将公式(19)变化如下,得到以下公式(20):
Σ j = 1 n ( L j % * V j ) ( Σ j = 1 n T j % ) * m * ( 1 - x % ) - 1 - - - ( 20 ) ]]>
其中,x%为关于所有虚拟机的调度开销信息。然后,根据公式(20)
确定所述虚拟环境中的物理计算资源冲突的概率。若不存在物理计算
资源冲突时,上述公式(20)的数值等于0,若上述公式(20)的数
值大于0时,说明存在物理计算资源冲突,而且,数值越大,说明物
理计算资源冲突的现象越严重。
例如,对于物理机如physicalmachine1,该物理机中配置了m=3
个物理CPU,以及n=6个虚拟机(即VM1,VM2,...,VM6),且虚
拟机VM1至VM6上的虚拟CPU数量依次为:1、2、3、4、5、6,虚
拟机VM1至VM6中的虚拟CPU的虚拟机内部CPU负荷信息(即Lj%)
依次为80%、90%、60%、70%、100%、80%,每一物理CPU在采样
周期内为虚拟机VM1至VM6分配的CPU负荷(即Tj%)依次为10%、
20%、30%、40%、50%、10%,关于所有虚拟机的调度开销信息为
5%,即x%=5%,则在步骤S3中,冲突概率确定设备1可根据以上公
式(20),得到虚拟环境virtualenviroment1中的物理计算资源冲突的
概率为2.728,说明存在物理计算资源冲突。
上安装了虚拟机,从而构成虚拟环境virtualenviroment1,该物理
机中配置m个物理CPU(如以P1,P2,...,Pm表示),n个虚拟机(如
以VM1,VM2,...,VMn表示)
3)当所述虚拟环境中每一物理CPU为同一虚拟机分配的物理
CPU负荷信息相等且每一虚拟机所对应的各虚拟CPU贡献的虚拟机
内部CPU负荷信息相等时,在步骤S3中,冲突概率确定设备1可通
过以下方式,确定所述虚拟环境中的物理计算资源冲突的概率:
y = Σ j = 1 n ( L j % * V j ) ( Σ j = 1 n T j % ) * m * ( 1 - x % ) ]]>
其中,m为所述虚拟环境所对应的物理机中配置的物理CPU的
数量信息,Lj%为所述虚拟环境中配置的n个虚拟机中第j个虚拟机在
所述采样周期内其所对应的各虚拟CPU贡献的虚拟机内部CPU负荷
信息,Vj为第j个虚拟机具有的虚拟CPU数量信息,Tj%为第j个虚拟
机在所述采样周期内被各物理CPU分配的物理CPU负荷信息,x%为
关于所有虚拟机的调度开销信息。
在此,在步骤S3中,冲突概率确定设备1确定所述虚拟环境中
的物理计算资源冲突的概率与其根据上述公式(20)确定所述虚拟环
境中的物理计算资源冲突的概率的方式相同,为简明起见,故在此不
再赘述,并以引用的方式包含与此。
冲突概率确定设备1的各个步骤之间是持续不断工作的。具体地,
在步骤S1中,冲突概率确定设备1持续获取每一所述虚拟机在采样
周期内被分配的物理CPU负荷信息;在步骤S2中,冲突概率确定设
备1持续获取每一所述虚拟机在所述采样周期内所对应的虚拟机内部
CPU负荷信息;在步骤S3中,冲突概率确定设备1持续根据每一所
述虚拟机的物理CPU负荷信息与虚拟机内部CPU负荷信息,确定所
述虚拟环境中的物理计算资源冲突的概率。在此,本领域技术人员应
能理解“持续”是指冲突概率确定设备1的各步骤之间分别不断地进
行获取虚拟机的物理CPU负荷信息、获取虚拟机的虚拟机内部CPU
负荷信息与确定虚拟环境中的物理计算资源冲突的概率,直至冲突概
率确定设备1在较长时间内停止获取虚拟机的物理CPU负荷信息。
优选地,该方法还包括步骤S4(未示出)。具体地,在步骤S4
中,冲突概率确定设备1将所述物理计算资源冲突的概率发送至对应
系统,以供所述系统根据所述物理计算资源冲突的概率进行相应处
理。
在此,物理计算资源冲突的概率在很多情况下作为过载控制的输
入,如在LTERAN(LongTermEvolution,长期演进,RadioAccess
Network,无线接入网)产品中,利用物理计算资源冲突的概率可以
有下面的过载控制措施:1)当物理计算资源冲突的概率大于预定义
门限并且应用程序可以使用的计算资源小于预定义的可使用最大值
时,监控程序通过云管理平台请求更多的物理处理资源,该请求被满
足后如果资源冲突概率没有下降,监控程序重复申请更多的计算资源
直到资源冲突概率小于预定义门限;2)当物理计算资源冲突的概率
大于预定义门限并且应用程序可以使用的计算资源已经达到预定义
的可使用最大值时,启动过载控制机制,即从信令层通过减少用户接
入和用户业务处理的方式降低系统负荷,从而降低资源冲突概率,直
到使其低于预定义门限。
例如,假设在步骤S3中,冲突概率确定设备1得到虚拟环境
virtualenviroment1中的物理计算资源冲突的概率为2.728,则在步骤
S4中,冲突概率确定设备1可通过http、https等约定通信方式,或
通过预定义接口,将所述物理计算资源冲突的概率发送至对应系统,
以供所述系统根据所述物理计算资源冲突的概率进行相应处理,如发
送至LTERAN产品中,假设该物理计算资源冲突的概率大于2.728
预定义门限如2并且应用程序可以使用的计算资源小于预定义的可使
用最大值时,则LTERAN产品的监控程序通过云管理平台请求更多
的物理处理资源,该请求被满足后如果资源冲突概率没有下降,监控
程序重复申请更多的计算资源直到资源冲突概率小于预定义门限。
需要注意的是,本发明可在软件和/或软件与硬件的组合体中被实
施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他
类似硬件设备来实现。在一个实施例中,本发明的软件程序可以通过处
理器执行以实现上文所述步骤或功能。同样地,本发明的软件程序(包
括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM
存储器,磁或光驱动器或软磁盘及类似设备。另外,本发明的一些步骤
或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤
或功能的电路。
另外,本发明的一部分可被应用为计算机程序产品,例如计算机
程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或
提供根据本发明的方法和/或技术方案。而调用本发明的方法的程序指
令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其
他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指
令运行的计算机设备的工作存储器中。在此,根据本发明的一个实施
例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用
于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执
行时,触发该装置运行基于前述根据本发明的多个实施例的方法和/
或技术方案。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例
的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其
他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例
看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求
而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和
范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标
记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单
元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置
也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词
语用来表示名称,而并不表示任何特定的顺序。