CN104407925A - 一种动态的资源分配方法 - Google Patents
一种动态的资源分配方法 Download PDFInfo
- Publication number
- CN104407925A CN104407925A CN201410758791.4A CN201410758791A CN104407925A CN 104407925 A CN104407925 A CN 104407925A CN 201410758791 A CN201410758791 A CN 201410758791A CN 104407925 A CN104407925 A CN 104407925A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- host
- virtual machines
- cpu
- ramvalues
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000013439 planning Methods 0.000 claims abstract description 33
- 238000013468 resource allocation Methods 0.000 claims description 38
- 238000009499 grossing Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 9
- 230000007704 transition Effects 0.000 claims description 4
- 230000003203 everyday effect Effects 0.000 claims description 3
- 239000012634 fragment Substances 0.000 abstract description 13
- 238000013467 fragmentation Methods 0.000 description 9
- 238000006062 fragmentation reaction Methods 0.000 description 9
- 230000005012 migration Effects 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000012163 sequencing technique Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008713 feedback mechanism Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种动态的资源分配方法,包括:根据最近的n个时间段的新增虚拟机数目,预测每种规格的虚拟机在下一个时间段中的增量;B、根据预测结果,对系统资源池中的可用资源进行资源分配配比规划,确定各台主机和虚拟机的分配优先级别,以及每台主机上分配的虚拟机的规格和数目;C、当用户申请虚拟机时,按照各个主机的优先级从高到低的顺序以及所述资源分配配比规划,将用户所申请的虚拟机分配给相应的主机;D、当被分配的所述规格的虚拟机的总数与资源分配配比规划中所述规格的虚拟机的总数的比值大于预设的阈值时,返回执行步骤A。通过上述方法,可以在IaaS环境中有效地减少资源碎片,实现物理资源的充分利用。
Description
技术领域
本发明涉及资源规划技术,特别涉及一种动态的资源分配方法。
背景技术
目前,很多运营商和大型企业都在构建自己的基础设施即服务(IaaS,Infrastructure as aService,),让消费者通过网络,自助获得计算机基础设施服务。因为IaaS能够将所有IT资源作为规模庞大的资源池,由云平台统一管理,所以如何提高IT资产的整体使用率,降低IT成本投入,对于运营商和企业就显得尤为重要。
在IaaS中,资源分配的动态性很强,产生大量资源碎片的可能性很高。资源碎片是指散落在资源池主机上的较小空闲资源,由于其容量小,它们很难被利用而白白浪费。而资源池中碎片的多少,是影响IT资产使用率的一个重要因素。一般云管理系统在进行资源分配时,只是使用简单的方法去规划资源的使用,因此无法减少碎片的产生,最终导致资源池总容量有空余,但却已经无法部署指定规格的虚拟机。
目前,现有技术中所述使用的大多数的资源分配方法,是为达到资源负载分配最优、优化资源使用性能而设计的,很少有以减少资源碎片为目的的资源分配方法。而且,即便是在资源分配方法中,涉及到减少资源碎片,也大多是仅对现有资源情况进行规划,而没有考虑资源动态变化因素对资源分配效果的影响。
发明内容
有鉴于此,本发明提供一种动态的资源分配方法,从而可以在IaaS环境中有效地减少资源碎片,实现物理资源的充分利用。
本发明的技术方案具体是这样实现的:
一种动态的资源分配方法,该方法包括:
A、根据最近的n个时间段的新增虚拟机数目,预测每种规格的虚拟机在下一个时间段中的增量;
B、根据预测结果,对系统资源池中的可用资源进行资源分配配比规划,确定各台主机和虚拟机的分配优先级别,以及每台主机上分配的虚拟机的规格和数目;
C、当用户申请虚拟机时,按照各个主机的优先级从高到低的顺序以及所述资源分配配比规划,将用户所申请的虚拟机分配给相应的主机;
D、获取用户所申请的虚拟机的规格以及当前时间段中已被分配的该规格的虚拟机的总数,当被分配的所述规格的虚拟机的总数与资源分配配比规划中所述规格的虚拟机的总数的比值大于预设的阈值时,返回执行步骤A。
较佳的,所述虚拟机的规格包括:
1核1G;1核2G;2核2G;2核4G;4核4G;4核8G;4核12G;8核8G和8核12G。
较佳的,使用二次指数平滑法预测每种规格的虚拟机在下一个时间段中的增量。
较佳的,使用如下所述的公式来预测在下一个时间段中的虚拟机增量:
Fk+T=ak+bkT
其中,
ak=2Sk(1)-Sk(2)
Sk(1)=αXk+(1-α)Sk-1(1)
Sk(2)=αSk+(1-α)Sk-1(2)
其中,Fk+T为第k+T个时间段的虚拟机增量,T为第k个时间段到下一个时间段的间隔数,ak和bk均为参数,Sk(1)和Sk(2)分别为一次指数平滑值和二次指数平滑值,α为平滑常数,取值范围为[0,1]。
较佳的,所述α的数值为0.9。
较佳的,所述根据预测结果,对系统资源池中的可用资源进行资源分配配比规划包括:
步骤B1,统计系统资源池中可用的资源数量以及可用资源在每天主机上的分布情况;
步骤B2,根据统计结果将各个主机按照可用的CPU数量从小到大的顺序进行排序并设置优先级,CPU数量越少的主机的优先级越高;
步骤B3,将预测结果中的各种规格的虚拟机按照虚拟机的CPU数量从小到大的顺序进行排序,并根据排序结果形成虚拟机列表;
步骤B4,根据虚拟机的CPU数量和内存大小确定各个虚拟机的CPU价值和内存价值,并为每台主机设置CPU容量和内存容量;
骤B5,按照优先级从高到低的顺序依次对每台主机进行一次资源规划;在每台主机的资源规划中,按照虚拟机的CPU数量从小到大的顺序遍历虚拟机列表中的每台虚拟机,将使得当前主机的总价值最大的虚拟机分配给当前的主机,并从虚拟机列表中删除已被分配的虚拟机。
较佳的,使用如下所述的状态转移方程对主机进行资源规划:
fcpu[i]=max{fcpu[i-1][cpuValues][ramValues],fcpu[i][cpuValues-cpu[i]][ramValues-ram[i]]+cpu[i]};
fram[i]=max{fram[i-1][cpuValues][ramValues],fcpu[i][cpuValues-cpu[i]][ramValues-ram[i]]+ram[i]};
其中,fcpu[i]表示在为主机分配第i台虚拟机时,主机中所分配的虚拟机的CPU数量的总和;fram[i]表示在为主机分配第i台虚拟机时,主机中所分配的虚拟机的内存大小的总和;cpuValues表示cpu的容量为cpuValues的主机;ramValues表示内存容量为ramValues的主机;函数fcpu[i-1][cpuValues][ramValues]表示第i-1个虚机,放到cpu容量是cpuValues且内存容量是ramValues的主机中时,所得到的cpu价值;函数fram[i-1][cpuValues][ramValues]表示第i-1个虚机,放到cpu容量是cpuValues且内存容量是ramValues的主机中时,所得到的内存价值。
较佳的,所述阈值为90%。
如上可见,在本发明中的动态的资源分配方法中,由于将资源需求预测与资源规划相结合,使用了更贴近实际情况的二次平滑指数算法预测短期内的资源需求,从而使得资源分配配比规划更具有预见性,从而减少不必要的虚拟机迁移,有效地减少了云环境中物理资源碎片,尽量满足所有虚拟机的资源请求,容纳尽可能多虚拟机,以此提高IT资产的使用率,降低IT成本投入;另外,由于本发明中所提供的上述方法中可以通过动态反馈机制,在需要的时刻,及时地重新对资源需求进行预测和进行规划,确保可以用最小的计算代价,让资源分配配比规划尽可能地贴近实际情况,以满足客户的需求;此外,由于本发明中所提供的方法更贴近IaaS特点,可以对主机和虚拟机进行双排序,因此可以支持任意规模的IaaS环境,适用性十分广泛。
附图说明
图1为本发明实施例中的动态的资源分配方法的流程示意图。
图2为本发明一个具体实施例中的预测结果比较示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
IaaS中每个时间段内虚拟机数目的增量可以看成一组时间序列。一般情况下,用户在短期内申请的虚拟机数量不是随机的,是有需求背景支持的,而需求背景一般是稳定的。由此可以预见,短期内某一时间段内的虚拟机增量可以看作是最近时段历史值的延续。因此,可以根据短期内的虚拟机增量的变化趋势,来预测下一时间段内虚拟机的增量。如果能够比较准确地对虚拟机的增量进行预测,则可以根据该预测值,提前对资源池的分配方案进行较好的规划,从而在无虚机迁移调整的情况下,尽量减少资源碎片的产生。
但是在实际应用环境中,即便是在基本稳定的需求背景下,用户所申请的虚拟机数量也会有变动,因此导致某一时间段内虚拟机数目的增量可能会与预测值不同。例如,当某一时间段内某规格的虚拟机的累计增量已经达到预测值,但是用户可能还会继续申请该规格的虚拟机,从而使得原有的资源分配规则无法继续使用,此时就需要重新预测下一时间段内不同规格虚拟机的增量,重新对资源池中的资源进行规划和分配。因此,为了更加真实地反映用户申请虚拟机的需求,在本发明的技术方案中,需要设定在未来时间中,根据用户申请的实际情况,何时调整资源规划和分配规则,可以用最小的计算代价,达到减少物理资源碎片,容纳尽可能多虚拟机的目的。
因此,在本发明的技术方案中,提出了一种动态的资源分配方法。
图1为本发明实施例中的动态的资源分配方法的流程示意图。如图1所示,本发明实施例中的动态的资源分配方法主要包括如下所述的步骤:
步骤11,根据最近的n个时间段的新增虚拟机数目,预测每种规格的虚拟机在下一个时间段中的增量。
在现有的实际应用环境中,用户在申请虚拟机时,可选的虚拟机的规格是确定。
例如,较佳的,在本发明的具体实施例中,所述虚拟机的规格包括:1核1G;1核2G;2核2G;2核4G;4核4G;4核8G;4核12G;8核8G和8核12G等8种规格。
其中,1核1G表示该虚拟机的CPU数量为1(即1核),内存大小为1G,依此类推。
根据实际经验和用户的使用习惯,在每个时间段内,虚拟机数量的增量在短时间内会有一定规律,因此在本发明的技术方案中,通过历史数据(即最近的n个时间段的新增虚拟机数目)可以预测未来虚拟机的请求状况。另外,为了避免因用户操作失误,导致某一用户在大量申请某规格的虚拟机之后又删除该申请,影响预测准确度。因此在本发明的技术方案中将一个时间段内,以不同规格的虚拟机数目的增量作为预测目标。
随着云计算技术的快速发展,用户对虚拟机的需求会越来越大。从长期来看,用户虚拟机申请数量的时间序列曲线会呈增长趋势,而从短期来看则会有略微波动,是一种总体呈增长趋势的线性时间序列。因此,经过多次实验和比较之后,在本发明的较佳实施例中,将使用更贴近实际情况的用于描述呈线性增长趋势的二次指数平滑法预测每种规格的虚拟机在下一个时间段中的增量。
具体来说,对于每种规格的虚拟机,可以使用如下所述的公式来预测在下一个时间段中的虚拟机增量:
Fk+T=ak+bkT
其中,Fk+T为第k+T个时间段的虚拟机增量(即预测值),T为第k个时间段到下一个时间段(即预测期)的间隔数,ak和bk均为参数,且有:
ak=2Sk(1)-Sk(2)
Sk(1)=αXk+(1-α)Sk-1(1)
Sk(2)=αSk+(1-α)Sk-1(2)
其中,Sk(1)和Sk(2)分别为一次指数平滑值和二次指数平滑值,α为平滑常数,取值范围为[0,1]。
在本发明的技术方案中,所述α的取值可以根据实际应用需要预先设置。例如,较佳的,在本发明的具体实施例中,所述α的数值可以为0.9。
通过上述的方法,可以分别预测每种规格的虚拟机在下一个时间段中的增量。
可以通过实际的例子对于上述的方法进行验证。图2为本发明一个具体实施例中的预测结果比较示意图。如图2所示,在该具体实施例中,所采用的历史数据(即最近的n个时间段的新增虚拟机数目)的如下:
arr=[0;6;17;36;56;78;103;116;126;134;140;144;146;144;138;130;128;127;130;139;148;132;156;167;178;189;190]
上述历史数据中一共有27个数据,即某一个规格的虚拟机最近的27个时间段的新增虚拟机数目,组成一组时间序列,如图2中所示的原始数据曲线。根据上述历史数据,使用本发明中的预测方法进行预测后,得到如图2中所示的预测结果曲线。
从图2中可以看出,使用上述方法进行预测之后所得到的预测结果比较准确,在原始数据曲线的趋势发生变化时,预测结果曲线的反应也很迅速。
在本发明的技术方案中,每个时间段的长度可以根据实际应用需要预先设置。例如,较佳的,在本发明的具体实施例中,每个时间段的长度为:1个月或其它时间长度。
在本发明的技术方案中,所述n的取值可以根据实际应用需要预先设置。例如,较佳的,在本发明的具体实施例中,所述n的数值可以为15。
另外,较佳的,在本发明的具体实施例中,上述步骤11之前还可进一步包括:
从虚机表中读取每种规格的虚拟机在最近的n个时间段内的新增虚拟机数目;
其中,所述虚机表中存储有各种规格的虚拟机在各个时间段内的新增虚拟机数目。
较佳的,在本发明的具体实施例中,所述新增虚拟机数目为当前时间段内用户新申请的虚拟机数目与销毁的虚拟机数目之差。
较佳的,在本发明的具体实施例中,所述虚机表存储在CloudStack云平台中。
步骤12,根据预测结果,对系统资源池中的可用资源进行资源分配配比规划,确定各台主机和虚拟机的分配优先级别,以及每台主机上分配的虚拟机的规格和数目。
在本发明的技术方案中,本步骤的目的在于:利用步骤11中的预测结果,在预测出的每种规格的虚拟机的新增数目的情况下,如何对系统中现有的空闲资源(即可用资源)进行规划和分配,可以达到在避免迁移的同时,减少资源碎片,满足所有虚拟机的资源请求。
所述资源分配配比规划,是指对资源池中物理机的剩余资源(CPU、内存)进行合理规划,从而保证每台主机上的资源能够得到最大化利用,尽量减少资源碎片。
由于主机已占用的资源越多,则越容易产生碎片。因此,在本发明的技术方案中,应当先对剩余可用资源较少的主机进行资源分配,从而可以保证剩下的主机都是剩余资源较多的主机,也就是相对不容易产生碎片的主机;此外,考虑到占用资源越少的虚拟机,资源分配的灵活性越高,利于填充资源碎片。所以,为了保证虚拟机分配能够充分利用系统中的资源,在本发明的技术方案中,将先对规格大的虚拟机进行资源分配。综上所述,在本发明的技术方案中,系统资源的规划和分配应当遵循两个规则:剩余可用资源较少的主机先规划,规格较大的虚拟机先分配。
在本发明的技术方案中,可以使用多种方式来对系统资源池中的可用资源进行资源分配配比规划。以下将以其中的一种实施方式为例,对本发明的技术方案进行介绍。
例如,较佳的,在本发明的具体实施例中,所述根据预测结果,对系统资源池中的可用资源进行资源分配配比规划包括:
步骤121,统计系统资源池中可用的资源数量以及可用资源在每天主机上的分布情况。
步骤122,根据统计结果将各个主机按照可用的CPU数量从小到大的顺序进行排序并设置优先级,CPU数量越少的主机的优先级越高。
步骤123,将预测结果中的各种规格的虚拟机按照虚拟机的CPU数量从小到大的顺序进行排序,并根据排序结果形成虚拟机列表。
步骤124,根据虚拟机的CPU数量和内存大小确定各个虚拟机的CPU价值和内存价值,并为每台主机设置CPU容量和内存容量。
在本发明的技术方案中,可为每一个虚拟机设置两个价值:CPU价值和内存价值。其中,所述CPU价值的值为该虚拟机的CPU数目,所述内存价值的值为该虚拟机的内存大小。例如,第i个虚拟机的CPU价值和内存价值分别为cpu[i]和ram[i]。
另外,在本发明的技术方案中,还可为每台主机设置两个容量:CPU容量和内存容量。其中,所述CPU容量的值表示主机中所分配的虚拟机的CPU数目的总和,所述内存价值的值表示主机中所分配的虚拟机的内存大小的总和。
步骤125,按照优先级从高到低的顺序依次对每台主机进行一次资源规划;在每台主机的资源规划中,按照虚拟机的CPU数量从小到大的顺序遍历虚拟机列表中的每台虚拟机,将使得当前主机的总价值最大的虚拟机分配给当前的主机,并从虚拟机列表中删除已被分配的虚拟机。
较佳的,在本发明的具体实施例中,可以使用如下所述的状态转移方程对主机进行资源规划:
fcpu[i]=max{fcpu[i-1][cpuValues][ramValues],fcpu[i][cpuValues-cpu[i]][ramValues-ram[i]]+cpu[i]};
fram[i]=max{fram[i-1][cpuValues][ramValues],fcpu[i][cpuValues-cpu[i]][ramValues-ram[i]]+ram[i]}。
其中,fcpu[i]表示在为主机分配第i台虚拟机时,主机中所分配的虚拟机的CPU数量的总和;fram[i]表示在为主机分配第i台虚拟机时,主机中所分配的虚拟机的内存大小的总和;cpuValues表示cpu的容量为cpuValues的主机;ramValues表示内存容量为ramValues的主机;函数fcpu[i-1][cpuValues][ramValues]表示第i-1个虚机,放到cpu容量是cpuValues且内存容量是ramValues的主机中时,所得到的cpu价值;函数fram[i-1][cpuValues][ramValues]表示第i-1个虚机,放到cpu容量是cpuValues且内存容量是ramValues的主机中时,所得到的内存价值。
根据上述状态转移方程可知,如果不放入预测要创建的第i台虚拟机,则将预测要创建前i-1台虚拟机放入CPU资源为cpuValues,内存资源为ramValues的主机中CPU和内存能达到的最大值;如果放入第i台虚拟机,则转化为将前i-1台虚拟机放入CPU资源为cpuValues-cpu[i],内存资源为ramValues-ram[i]的主机中CPU和内存能达到的最大值。
由此可知,在本步骤中,将依次对每台主机进行一次资源规划。在每次资源规划中,按虚拟机从小到大的顺序遍历虚拟机列表中的每台虚拟机,计算如果将该虚拟机分配给当前主机,该当前主机的CPU和RAM总价值是否将比把前一个虚拟机分配给当前主机时的总价值大。经过一轮比较之后,记录遍历过程中,该当前主机被分配哪台虚拟机时所对应的总价值最大,则选定该虚拟机分配给当前主机。当当前主机装满(即剩余资源为0或剩余资源已无法再分配给任何一个虚拟机列表中的虚拟机)时,根据之前的记录,找出分配到该主机的虚拟机清单,并将这些分配给当前主机的虚拟机从虚拟机列表中删除,得到的新的虚拟机列表,然后重新遍历下一台主机,直到所有主机处理完成。
通过上述的步骤121~125,即可确定每台主机上所分配的虚拟机的规格和数目,完成对系统资源池中的可用资源进行资源分配配比规划。
步骤13,当用户申请虚拟机时,按照各个主机的优先级从高到低的顺序以及所述资源分配配比规划,将用户所申请的虚拟机分配给相应的主机。
步骤14,获取用户所申请的虚拟机的规格以及当前时间段中已被分配的该规格的虚拟机的总数,当被分配的所述规格的虚拟机的总数与资源分配配比规划中所述规格的虚拟机的总数的比值大于预设的阈值时,返回执行步骤11。
在本发明的技术方案中,所述阈值可以根据实际应用需要预先设置。例如,较佳的,在本发明的具体实施例中,所述阈值可以为90%。
在本发明的技术方案中,在上述步骤12中完成资源分配配比规划之后,当用户申请虚拟机时,即可按照各个主机的优先级从高到低的顺序,并根据上述步骤12中制定好的资源分配配比规划将用户所申请的虚拟机放置到相应的主机上。同时,还将判断已被分配的该规格的虚拟机数目是否已接近上限,即已被分配的该规格的虚拟机的总数是否大于预设的阈值。
例如,当已存在的该规格的虚拟机的数目,与按资源分配配比规划的资源池中可容纳该规格虚拟机数目的比值超过某个预设的阀值时,则表示如果按照之前的资源分配配比规划,继续分配该规格的虚拟机,则将无可用资源,会导致所申请的虚拟机将无法部署。所以,需要重新对资源池的资源进行分配策略调整。更进一步的,如需要调整,则还可以先判断是否物理资源已不够,若资源确实不够,则需要告知管理员;否则,重新返回执行步骤12,对资源池进行规划和分配,制定新的分配策略,将原有的分配策略更新为调整后的虚拟机分配策略,等待下一次用户请求。
通过上述的步骤11~14,即在IaaS环境中有效地减少资源碎片,实现物理资源的充分利用。
例如,可以将现有技术中的方法与本发明中所提供的上述方法进行比较:
设IaaS环境中现有5台主机,各个主机中剩余可用资源分别为:
5核10G,6核10G,7核10G,8核10G,8核10G。
所需分配的虚拟机的数目为20台,每种规格的虚拟机的数目如下表所述:
虚拟机规格 | 1核1G | 1核2G | 2核2G | 2核4G | |
虚拟机数目 | 4台 | 3台 | 6台 | 7台 | 总计:20台 |
如果使用现有技术中的方法,则最终的随机分配结果如下:
如上表所示可知,一共部署了18台虚拟机,剩余两台2核4G的虚拟机无法部署。此时主机所剩余的资源总和完全可以满足这两台虚拟机,但是是每台主机都不满足需求,无法部署剩余的两台虚拟机。此时系统资源的碎片率为:CPU:14.7%,RAM:16%。
而如果使用本发明中所提供的方法,则可以得到如下所述的分配结果:
如上表所示,20台虚拟机全部被部署,主机剩余的资源总和为1核0G,系统资源的碎片率为:CPU:2.94%,RAM:0%。
对比上述两种结果结果,按照本发明中所提供的方法分配虚拟机所产生的资源碎片比现有技术中的方法减少了15%左右,远低于现有技术中的方法中的资源碎片率。
综上可知,在本发明中的动态的资源分配方法中,由于将资源需求预测与资源规划相结合,使用了更贴近实际情况的二次平滑指数算法预测短期内的资源需求,从而使得资源分配配比规划更具有预见性,从而减少不必要的虚拟机迁移,有效地减少了云环境中物理资源碎片,尽量满足所有虚拟机的资源请求,容纳尽可能多虚拟机,以此提高IT资产的使用率,降低IT成本投入;另外,由于本发明中所提供的上述方法中可以通过动态反馈机制,在需要的时刻,及时地重新对资源需求进行预测和进行规划,确保可以用最小的计算代价,让资源分配配比规划尽可能地贴近实际情况,以满足客户的需求;此外,由于本发明中所提供的方法更贴近IaaS特点,可以对主机和虚拟机进行双排序,因此可以支持任意规模的IaaS环境,适用性十分广泛。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (8)
1.一种动态的资源分配方法,其特征在于,该方法包括:
A、根据最近的n个时间段的新增虚拟机数目,预测每种规格的虚拟机在下一个时间段中的增量;
B、根据预测结果,对系统资源池中的可用资源进行资源分配配比规划,确定各台主机和虚拟机的分配优先级别,以及每台主机上分配的虚拟机的规格和数目;
C、当用户申请虚拟机时,按照各个主机的优先级从高到低的顺序以及所述资源分配配比规划,将用户所申请的虚拟机分配给相应的主机;
D、获取用户所申请的虚拟机的规格以及当前时间段中已被分配的该规格的虚拟机的总数,当被分配的所述规格的虚拟机的总数与资源分配配比规划中所述规格的虚拟机的总数的比值大于预设的阈值时,返回执行步骤A。
2.根据权利要求1所述的方法,其特征在于,所述虚拟机的规格包括:
1核1G;1核2G;2核2G;2核4G;4核4G;4核8G;4核12G;8核8G和8核12G。
3.根据权利要求1所述的方法,其特征在于:
使用二次指数平滑法预测每种规格的虚拟机在下一个时间段中的增量。
4.根据权利要求3所述的方法,其特征在于,使用如下所述的公式来预测在下一个时间段中的虚拟机增量:
Fk+T=ak+bkT
其中,
ak=2Sk(1)-Sk(2)
Sk(1)=αXk+(1-α)Sk-1(1)
Sk(2)=αSk+(1-α)Sk-1(2)
其中,Fk+T为第k+T个时间段的虚拟机增量,T为第k个时间段到下一个时间段的间隔数,ak和bk均为参数,Sk(1)和Sk(2)分别为一次指数平滑值和二次指数平滑值,α为平滑常数,取值范围为[0,1]。
5.根据权利要求4所述的方法,其特征在于:
所述α的数值为0.9。
6.根据权利要求1所述的方法,其特征在于,所述根据预测结果,对系统资源池中的可用资源进行资源分配配比规划包括:
步骤B1,统计系统资源池中可用的资源数量以及可用资源在每天主机上的分布情况;
步骤B2,根据统计结果将各个主机按照可用的CPU数量从小到大的顺序进行排序并设置优先级,CPU数量越少的主机的优先级越高;
步骤B3,将预测结果中的各种规格的虚拟机按照虚拟机的CPU数量从小到大的顺序进行排序,并根据排序结果形成虚拟机列表;
步骤B4,根据虚拟机的CPU数量和内存大小确定各个虚拟机的CPU价值和内存价值,并为每台主机设置CPU容量和内存容量;
骤B5,按照优先级从高到低的顺序依次对每台主机进行一次资源规划;在每台主机的资源规划中,按照虚拟机的CPU数量从小到大的顺序遍历虚拟机列表中的每台虚拟机,将使得当前主机的总价值最大的虚拟机分配给当前的主机,并从虚拟机列表中删除已被分配的虚拟机。
7.根据权利要求6所述的方法,其特征在于,使用如下所述的状态转移方程对主机进行资源规划:
fcpu[i]=max{fcpu[i-1][cpuValues][ramValues],fcpu[i][cpuValues-cpu[i]][ramValues-ram[i]]+cpu[i]};
fram[i]=max{fram[i-1][cpuValues][ramValues],fcpu[i][cpuValues-cpu[i]][ramValues-ram[i]]+ram[i]};
其中,fcpu[i]表示在为主机分配第i台虚拟机时,主机中所分配的虚拟机的CPU数量的总和;fram[i]表示在为主机分配第i台虚拟机时,主机中所分配的虚拟机的内存大小的总和;cpuValues表示cpu的容量为cpuValues的主机;ramValues表示内存容量为ramValues的主机;函数fcpu[i-1][cpuValues][ramValues]表示第i-1个虚机,放到cpu容量是cpuValues且内存容量是ramValues的主机中时,所得到的cpu价值;函数fram[i-1][cpuValues][ramValues]表示第i-1个虚机,放到cpu容量是cpuValues且内存容量是ramValues的主机中时,所得到的内存价值。
8.根据权利要求1所述的方法,其特征在于:
所述阈值为90%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410758791.4A CN104407925A (zh) | 2014-12-10 | 2014-12-10 | 一种动态的资源分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410758791.4A CN104407925A (zh) | 2014-12-10 | 2014-12-10 | 一种动态的资源分配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104407925A true CN104407925A (zh) | 2015-03-11 |
Family
ID=52645558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410758791.4A Pending CN104407925A (zh) | 2014-12-10 | 2014-12-10 | 一种动态的资源分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104407925A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105743818A (zh) * | 2016-02-03 | 2016-07-06 | 国网智能电网研究院 | 一种分配方法 |
CN105912436A (zh) * | 2015-09-17 | 2016-08-31 | 乐视网信息技术(北京)股份有限公司 | 基于指数平滑预测的系统计算资源预测方法及装置 |
CN107391229A (zh) * | 2017-07-26 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种基于vmware虚拟化的集群填满方法及装置 |
CN107391233A (zh) * | 2017-08-09 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种虚拟机迁移方法和系统 |
CN108028804A (zh) * | 2015-07-10 | 2018-05-11 | 国际商业机器公司 | 基于结构限制的虚拟计算环境中虚拟机的管理 |
CN108122062A (zh) * | 2016-11-30 | 2018-06-05 | 阿里巴巴集团控股有限公司 | 产品集合中资源的分配以及建立产品、产品集合中资源的评估模型的方法和装置 |
CN108459905A (zh) * | 2017-02-17 | 2018-08-28 | 华为技术有限公司 | 资源池容量规划方法及服务器 |
CN108829520A (zh) * | 2017-06-20 | 2018-11-16 | 成都虫洞奇迹科技有限公司 | 一种云环境下服务器资源分配方法和装置 |
CN109033468A (zh) * | 2018-08-31 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 资源变动的处理方法及装置 |
CN109062683A (zh) * | 2018-06-29 | 2018-12-21 | 深圳信息职业技术学院 | 主机资源分配的方法、装置及计算机可读存储介质 |
CN109871336A (zh) * | 2019-01-14 | 2019-06-11 | 珠海金山网络游戏科技有限公司 | 一种动态缓存调整方法及系统 |
CN110187975A (zh) * | 2019-06-04 | 2019-08-30 | 成都申威科技有限责任公司 | 一种基于lbm的处理器节点分配计算方法、存储介质及终端设备 |
CN110350609A (zh) * | 2018-04-08 | 2019-10-18 | 北京京东尚科信息技术有限公司 | Agv的充电管理方法及系统、设备和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090235268A1 (en) * | 2008-03-17 | 2009-09-17 | David Isaiah Seidman | Capacity planning based on resource utilization as a function of workload |
WO2013123650A1 (zh) * | 2012-02-22 | 2013-08-29 | 华为技术有限公司 | 虚拟机分配方法和虚拟机分配装置 |
-
2014
- 2014-12-10 CN CN201410758791.4A patent/CN104407925A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090235268A1 (en) * | 2008-03-17 | 2009-09-17 | David Isaiah Seidman | Capacity planning based on resource utilization as a function of workload |
WO2013123650A1 (zh) * | 2012-02-22 | 2013-08-29 | 华为技术有限公司 | 虚拟机分配方法和虚拟机分配装置 |
CN103548324A (zh) * | 2012-02-22 | 2014-01-29 | 华为技术有限公司 | 虚拟机分配方法和虚拟机分配装置 |
Non-Patent Citations (2)
Title |
---|
张婧: "《面向云计算运营管理的资源预测模型》", 《中国优秀硕士学位论文全文数据库》 * |
米海波,王怀民,尹刚,史殿习,周扬帆,袁霖: "《一种面向虚拟化数字中心资源按需重配置方法》", 《软件学报》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108028804A (zh) * | 2015-07-10 | 2018-05-11 | 国际商业机器公司 | 基于结构限制的虚拟计算环境中虚拟机的管理 |
CN105912436A (zh) * | 2015-09-17 | 2016-08-31 | 乐视网信息技术(北京)股份有限公司 | 基于指数平滑预测的系统计算资源预测方法及装置 |
CN105743818A (zh) * | 2016-02-03 | 2016-07-06 | 国网智能电网研究院 | 一种分配方法 |
CN108122062B (zh) * | 2016-11-30 | 2021-11-26 | 阿里巴巴集团控股有限公司 | 产品集合中资源的分配以及建立产品、产品集合中资源的评估模型的方法和装置 |
CN108122062A (zh) * | 2016-11-30 | 2018-06-05 | 阿里巴巴集团控股有限公司 | 产品集合中资源的分配以及建立产品、产品集合中资源的评估模型的方法和装置 |
CN108459905A (zh) * | 2017-02-17 | 2018-08-28 | 华为技术有限公司 | 资源池容量规划方法及服务器 |
CN108459905B (zh) * | 2017-02-17 | 2022-01-14 | 华为技术有限公司 | 资源池容量规划方法及服务器 |
CN108829520A (zh) * | 2017-06-20 | 2018-11-16 | 成都虫洞奇迹科技有限公司 | 一种云环境下服务器资源分配方法和装置 |
CN107391229A (zh) * | 2017-07-26 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种基于vmware虚拟化的集群填满方法及装置 |
CN107391229B (zh) * | 2017-07-26 | 2020-09-08 | 郑州云海信息技术有限公司 | 一种基于vmware虚拟化的集群填满方法及装置 |
CN107391233A (zh) * | 2017-08-09 | 2017-11-24 | 郑州云海信息技术有限公司 | 一种虚拟机迁移方法和系统 |
CN110350609A (zh) * | 2018-04-08 | 2019-10-18 | 北京京东尚科信息技术有限公司 | Agv的充电管理方法及系统、设备和存储介质 |
CN109062683B (zh) * | 2018-06-29 | 2022-03-18 | 深圳信息职业技术学院 | 主机资源分配的方法、装置及计算机可读存储介质 |
CN109062683A (zh) * | 2018-06-29 | 2018-12-21 | 深圳信息职业技术学院 | 主机资源分配的方法、装置及计算机可读存储介质 |
CN109033468B (zh) * | 2018-08-31 | 2022-09-16 | 创新先进技术有限公司 | 资源变动的处理方法及装置 |
CN109033468A (zh) * | 2018-08-31 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 资源变动的处理方法及装置 |
CN109871336A (zh) * | 2019-01-14 | 2019-06-11 | 珠海金山网络游戏科技有限公司 | 一种动态缓存调整方法及系统 |
CN109871336B (zh) * | 2019-01-14 | 2021-02-02 | 珠海金山网络游戏科技有限公司 | 一种动态缓存调整方法及系统 |
CN110187975B (zh) * | 2019-06-04 | 2020-08-18 | 成都申威科技有限责任公司 | 一种多核处理器资源分配计算方法、存储介质及终端设备 |
CN110187975A (zh) * | 2019-06-04 | 2019-08-30 | 成都申威科技有限责任公司 | 一种基于lbm的处理器节点分配计算方法、存储介质及终端设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104407925A (zh) | 一种动态的资源分配方法 | |
KR101923706B1 (ko) | 확률적 스로틀링 | |
US9069610B2 (en) | Compute cluster with balanced resources | |
US8392928B1 (en) | Automated workload placement recommendations for a data center | |
US8434088B2 (en) | Optimized capacity planning | |
JP5332065B2 (ja) | クラスタ構成管理方法、管理装置及びプログラム | |
US9374314B2 (en) | QoS aware balancing in data centers | |
US7418568B2 (en) | Memory management technique | |
JP5121936B2 (ja) | リソース割り当て装置及びリソース割り当てプログラム及び記録媒体及びリソース割り当て方法 | |
US20170339069A1 (en) | Allocating Cloud Computing Resources In A Cloud Computing Environment | |
KR101471749B1 (ko) | 클라우드 서비스의 가상자원 할당을 위한 퍼지 로직 기반의 자원평가 장치 및 방법 | |
US20220121467A1 (en) | A method and a system for managing the computing resources of a cloud computing platform | |
CN111813523A (zh) | 时长预估模型生成方法、系统资源调度方法、装置、电子设备和存储介质 | |
CN110636388A (zh) | 一种业务请求分配方法、系统、电子设备及存储介质 | |
KR101630125B1 (ko) | 클라우드 컴퓨팅 자원관리 시스템에서의 자원 요구량 예측 방법 | |
WO2016041446A1 (zh) | 一种资源分配方法、装置及设备 | |
KR101695013B1 (ko) | 적응형 자원 할당 및 관리 방법 | |
CN108023834A (zh) | 一种云资源自动分配方法及装置 | |
CN113378498B (zh) | 一种任务分配方法及装置 | |
CN107203256B (zh) | 一种网络功能虚拟化场景下的节能分配方法与装置 | |
KR20150070930A (ko) | 최적 비용을 고려한 마이그레이션 자원 할당 시스템 및 할당 방법 | |
JP2017091001A (ja) | 仮想インスタンス配置位置決定装置、仮想インスタンス配置位置決定方法および仮想インスタンス配置位置決定プログラム | |
CN111902804B (zh) | 用于管理存储设备的资源并量化i/o请求成本的系统和方法 | |
US9459999B2 (en) | Memory control method for a computer system | |
JP2021105772A (ja) | リソース利用量の予測管理システム、リソース利用量の予測管理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150311 |
|
RJ01 | Rejection of invention patent application after publication |