1.一种面向交互式工作负载的数据中心粗粒度动态服务器预留算法,其特征在于,建立长期/短期虚拟服务器租用问题通用优化模型如下:
约束条件:
其中,k0为长期虚拟服务器租用数量,ki,i≠0为阶段i租用的短期虚拟服务器数量,N为决策阶段数量,CL为长期租赁一台虚拟服务器所需的单位时间成本,CS为短期租赁一台虚拟服务器所需的单位时间成本,di为阶段i的响应时间,D为阈值,x为违约概率;
通过求解该模型函数,实现总体资源租用成本的最小化。
2.根据权利要求1所述面向交互式工作负载的数据中心粗粒度动态服务器预留算法,其特征在于,采用资源需求学习算法,用随机梯度法建立资源数/违约概率映射表VP_table;然后采用动态服务器租用算法,得到长期虚拟机租用数量M和各个阶段的短期虚拟机租用数量m[N],从而求解所述模型函数。
3.根据权利要求2所述面向交互式工作负载的数据中心粗粒度动态服务器预留算法,其特征在于,所述资源需求学习算法包括:
A.建立VP_table,记该表中每个表项为VP_table[i][j],含义为时段i内资源数量为j的前提下关于SLA需求的违约概率;
B.算法的输入为:1)SLA,包括响应时间阈值th与违约概率阈值x两个参数;2)训练迭代次数ITE;首先建立资源数量/违约概率映射表VP_table,并确定决策次数即时段数N与每个时段内统计响应时间的时间槽长度Γ,定义两个临时存储空间p[i][k]与counter,其中p[i][k]存储一次迭代过程中阶段i采用k个资源时违约概率的样本,counter存储一个阶段中违约的次数用于计算p[i][k],η、i、k、j分别为迭代计数器、决策阶段计数器、资源计数器、以及一个决策阶段内的时间槽计数器;
C.将一个时段分为若干个时间槽,在一次迭代过程中,根据资源配置数k,统计时段i中时间槽j内的平均任务响应时间t[i][j][k],若该响应时间大于SLA中所规定的响应时间阈值th,则计数器counter加1;当阶段i内所有的时间槽中的平均响应时间都统计出以后,资源配置k下的违约概率样本p[i][k]用公式计算,其中分母24/(N×Γ)的含义是一个时段内所包含的时间槽个数,最后,公式VP_table[i][k]=(1-η)VP_table[i][k]+ηp[i][k]用随机梯度法更新VP_table中对应的表项,最终的输出是资源数量/违约概率映射表VP_table。
4.根据权利要求2所述面向交互式工作负载的数据中心粗粒度动态服务器预留算法,其特征在于,所述动态服务器租用算法是将寻找长期资源租赁数k的问题归结为如下函数的优化问题:
函数中的第一项是长期资源租用成本,第二项中为短期资源租用成本,[K[i]-k]+为阶段i的短期资源租用数量,运算符[x]+=max{x,0}。
5.根据权利要求4所述面向交互式工作负载的数据中心粗粒度动态服务器预留算法,其特征在于,所述动态服务器租用算法包括:
第一部分:利用穷举法在VP_table表中搜寻每个阶段满足SLA所需的最少虚拟服务器数量,并将结果存储在数组K[N]中;
第二部分:求解函数针对该函数的每个分界点即数组K[N]中的每个元素进行求解,求解的结果为最优长期租用虚拟服务器数量M与最低成本目标函数值m;
第三部分:根据解得的M与K[N]数组,计算每个阶段所需的短期虚拟服务器租用数量。
6.根据权利要求5所述面向交互式工作负载的数据中心粗粒度动态服务器预留算法,其特征在于,所述动态服务器租用算法的最坏时间复杂度为N×(K+2),其中K=MIN_VSNUM-MAX_VSNUM为一常量,MIN_VSNUM与MAX_VSNUM分别为一事先指定的服务器数量最小值与最大值。