一种实现虚拟机真实设备调度的方法及装置的制造方法_3

文档序号:9691068阅读:来源:国知局
加趋势级别;
[0129]若所述真实设备变化所对应的基数数目大于零,且富余至少一倍以上当前分配窗口大小所对应的基数数目的带宽,则确定当前的真实设备变化趋势为富余趋势级别;
[0130]若所述真实设备变化所对应的基数数目小于零,且所述真实设备变化所对应的基数数目小于负的当前分配窗口大小所对应的基数数目,则确定当前的真实设备变化趋势级别为快速减少趋势级别;
[0131 ]若所述真实设备变化所对应的基数数目小于零,且所述真实设备变化所对应的基数数目大于负的当前分配窗口大小所对应的基数数目与调整门限阈值系数的乘积,则确定当前的真实设备变化趋势为基本稳定趋势级别;
[0132]若所述真实设备变化所对应的基数数目小于零,且所述真实设备变化所对应的基数数目小于负的当前分配窗口大小所对应的基数数目与调整门限阈值系数的乘积,并大于负的当前分配窗口大小所对应的基数数目,则确定当前的真实设备变化趋势为缓慢减少趋势级别。
[0133]步骤S104,根据当前的真实设备变化趋势级别相应对分配给该目标虚拟机的真实设备进行调度。
[0134]具体实现时,对分配给该目标虚拟机的真实设备进行调度有各种形式,例如可对分配给该目标虚拟机的真实设备进行分配窗口大小和真实设备数量的调整,而其中对真实设备RD调整的依据是分配窗口的大小,即分配窗口的值是若干个RD基数,而每个RD基数对应了固定数目的RD设备,所以分配窗口就表示了一组RD设备的数量。
[0135]下面以不同的真实设备变化趋势级别说明调整的过程。
[0136]本实施例中若真实设备变化趋势级别为快速增加趋势级别;对分配给该目标虚拟机的真实设备进行分配窗口大小和真实设备数量的调整可包括:
[0137]调整分配窗口大小为当前值的两倍;
[0138]给目标虚拟机新分配调整后的分配窗口大小所对应基数数目所代表的数量的真实设备。
[0139]另外,作为一个具体实施例,本实施例中若真实设备变化趋势级别为缓慢增加趋势级别;
[0140]对分配给该目标虚拟机的真实设备进行分配窗口大小和真实设备数量的调整包括:
[0141]保持当前的分配窗口大小不变;
[0142]给目标虚拟机新分配当前分配窗口大小所对应基数数目所代表的数量的真实设备。
[0143]另外,作为一个具体实施例,本实施例中若真实设备变化趋势级别为基本稳定趋势级别;
[0144]对分配给该目标虚拟机的真实设备进行分配窗口大小和真实设备数量的调整包括:
[0145]保持当前的分配窗口大小不变;
[0146]判断当前需要的带宽总量是否大于所有真实设备可提供的带宽总量,若判断结果为是,则给目标虚拟机新分配当前分配窗口大小所对应基数数目所代表的数量的真实设备,否则,继续保持目标虚拟机当前的真实设备数量。
[0147]另外,作为一个具体实施例,本实施例中若真实设备变化趋势级别为缓慢减少趋势级别;
[0148]对分配给该目标虚拟机的真实设备进行分配窗口大小和真实设备数量的调整包括:
[0149]保持当前的分配窗口大小不变;
[0150]以基数为单位回收目标虚拟机中全部没有客户端连接的真实设备组。
[0151]另外,作为一个具体实施例,本实施例中若真实设备变化趋势级别为快速减少趋势级别;
[0152]对分配给该目标虚拟机的真实设备进行分配窗口大小和真实设备数量的调整包括:
[0153]调整分配窗口大小为当前值的一半,如果新值不是整数,则向上取整;
[0154]以基数为单位回收目标虚拟机中全部没有客户端连接的真实设备组。
[0155]另外,作为一个具体实施例,本实施例中若真实设备变化趋势级别为富余趋势级别;
[0156]对分配给该目标虚拟机的真实设备进行分配窗口大小和真实设备数量的调整包括:
[0157]调整分配窗口大小为当前值的一半,如果新值不是整数,则向上取整;
[0158]以基数为单位回收目标虚拟机中全部没有客户端连接的真实设备组。
[0159]下面以具体的例子进行举例说明。
[0160]若用户按自身需求创建若干台虚拟机,并指定每台虚拟机服务器需要多少带宽,本实施例中标记为Tb,由于真实设备(S卩RD设备)运行的环境不同,实际中可能提供的上行带宽也会有差异,因此,本实施例中使用的是平均可用上行带宽,本实施例中标记为Ab,该值可以根据对RD设备某一时间段的带宽测量得到,也可以根据同样网络环境下的其他RD设备的值来推测,例如同一地域同一网络运营商环境下,大多数设备可以提供的Ab值,然后将该Ab值做为计算标准。则理论上需要的RD设备总数目Rn = Tb/Ab,但这个值还受到一些制约,即:
[0161]由于RD设备之间会有一些通信,会消耗一定量的带宽,在分配时的RD设备总数量会略大于理论值,以抵消RD设备之间互相通信带来的损耗,亦即本实施例中Rn>(Tb/Ab+l);
[0162]另外,由于RD之间组网方式可以有多种不同的方式,因此存在一个分配基数,本实施例中记为Bn。比如采用对等方式(Peer to Peer)组网,则RD设备之间关系是平等的P2P连接方式,则Bn为1,即RD的最小分配粒度就是一台RD设备。而如果是采用分级方式组网,例如一台RD设备作为顶级节点,然后带动若干台RD设备,例如10台RD设备作为二级节点,则Bn为11,即每次需要分配一个顶级节点,十个二级节点。
[0163]下文为叙述方便,描述时将Bn作为最小分配单位,一个Bn数目的RD设备为一组,一次性分配或是回收。
[0164]另外,根据虚拟机(VM)服务器对带宽的使用强度,对目标虚拟机的真实设备数量初始固定分配的策略也可以不同,本实施例中对目标虚拟机的真实设备数量按照下述任一种方式进行初始分配,即划分四种基本初始配置:
[0165]全部分配方式,即一次性按照客户对虚拟机服务器的带宽要求,分配对应带宽所需要的RD设备,具体实现时,例如每个Bn可提供的服务带宽是Bb,而客户需求是Tb,则分配([Tb/Bb]+l)*Bn的设备数目,其中符号[]表示向下取整,例如,3.3向下取整则为4。
[0166]折半分配方式,即首次分配时只分配达到预先定义带宽一半所需要的RD设备,之后视需要,再按照一定的策略进行增加或者是减少,即首次分配([(Tb/2)/Bb] + l)*Bn的设备数目。
[0167]最小分配方式,即首次只分配Bn的设备数目。
[0168]其他分配方式,例如中间量分配方式,即其他初次分配数小于或等于[Tb/Bb]的分配方式,这种方式分配的RD设备的数目至少与全部分配方式还差一个基数Bn。
[0169]另外,本例子中,系统每隔一个固定时间间隔对目标虚拟机的连接数进行一次采样统计,这个时间间隔就是一个统计周期的时间单位,本实施例中记为T,另外,本实施例中设置并维护一个分配窗口,所述分配窗口即调度时按照该窗口大小为基础单位进行调度,例如增加或减少,实际中窗口大小是一个变量,对应的是正整数个基数数目的RD设备,可根据真实设备变化趋势级别进行调整,本实施例中将该分配窗口记为W,以基数为单位,其中窗口大小的初始值是1,即1个基数,1个基数对应的RD设备可以是1个Bn,也可以是N个Bn,这里不做具体限定。
[0170]在第一个T后,系统开始计算带宽使用趋势,即启动确定RD设备变化趋势级别,假设连接数变化量为Zc,即每个统计周期时间T后,将这个时间段内的连接数和上一次统计周期内统计得到的连接数进行比较,两者比较得到的差值即为Zc,假设每个连接消耗带宽记为Acb,则可以确定带宽变化量为Z]c*Acb;
[0171 ]定义每个分配窗口对应提供的平均带宽为Bb,为描述方便,可将带宽变化值转换为对应的RD设备变化基数数目ZBn= (Zc*Acb)/Bb,需要说明的,RD设备变化基数ZBn可以不是整数,而是一个有小数点的分数,本实施例中对真实设备变化趋势级别判断即可针对Z]Bn进行。
[0172]具体可分为如下几种情况,预先设定一个调整门限阈值系数Vlimit,所述调整门限阈值系数Vlimit指带宽变化量与调整RD数量的门限阈值,可根据不同业务类型进行测试得到,一般Vlimit远远小于1,另外,本实施例中将存量的连接数记为Tc,存量的已分配基数总数记为TBn。
[0173]具体进行调度时,根据ZBn是大于0还是小于0,分为两大类,即当ΖΒη〈0时有可能会启动回收模式,将没有访问的某组RD设备全部回收,而当ΖΒη>0时,会暂时关闭回收模式,但可能会调整增加目标虚拟机的真实设备的分配窗口大小和调整该目标虚拟机的真实设备的数量,下面具体进行说明。
[0174]ΖΒη>0 的情况:
[0175]若jBn〈Vl,即带宽的变化在门限阈值范围之内,则可判定为带宽状况基本稳定,因此,可确定当前的真实设备变化趋势为基本稳定趋势级别,无需做任何分配操作的调度,保持当前的分配窗口大小所对应的基数数目为W,但需判断当前需要的带宽总量是否大于所有真实设备可提供的带宽总量,若判断结果为是,则给目标虚拟机新分配当前分配窗口大小所对应基数数目的真实设备,否则,继续保持目标虚拟机当前的真实设备数量,即当(TC+ZC)*ACb>TBn*Bb,可确定当前需要的带宽总量大于所有RD设备可以提供的带宽总量,因此,需给目标虚拟机分配一个W基数的新RD设备。
[0176]若ZBn> = Vlimit*W,并且ZBn〈=W,则可判定当前增长缓慢,因此,可确定当前的真实设备变化趋势为缓慢增加趋势级别,只分配一个W基数的新RD设备,分配窗口大小所对应的基数数目W的值不做调整。
[0177]若ZBn>W,则可判定当前增长迅速,因此,可确定当前的真实设备变化趋势级别为快速增加趋势级别,需调整分配窗口的大小,例如倍增W的值,并分配一个调整后的W基数的新RD设备。
[0178]需要说明的,以上进行调度所分配的RD设备总数有个前提条件,即调度所分配的RD设备总数不会超过预先定义的总RD数目Rn,如果超出,则不会再做任何调整。
[0179]对于ΖΒη〈0的情况:
[0180]对真实设备变化趋势级别的判断与ΖΒη>0时是一样的,但是由于来自客户端的连接可能是分布在不同的RD设备上,所以在回收RD设备时需要避免回收正在使用的RD设备,即只是当某一组基数的RD设备全部都没有连接了,才将整组的RD设备回收,具体的:
[0181]若ZBn> = -V1 imi t*W,即带宽的变化在门限阈值范围之内,则可判定为带宽状况基本
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1