云计算的资源分配现状文档格式.docx
《云计算的资源分配现状文档格式.docx》由会员分享,可在线阅读,更多相关《云计算的资源分配现状文档格式.docx(14页珍藏版)》请在冰点文库上搜索。
从第一个物理节点到最后一个物理节点,第一个时刻到最后一个时刻时,随着虚拟机的个数的改变,对相对应的二维矩阵里的列项进行加和,如果大于0,则记录为1,,最后再次进行加和处理便可得到激活的物理节点数目。
假定云平台中物理节点的个数为M,虚拟机的个数为N,多个应用虚拟机可以同时分布在一个物理节点上,单个物理节点的CPU数量为CP。
口标函数为:
max7x*(3.6)
其中:
犷虚拟制U在物理节点i上运动
』iJ一hr虚拟扌丿卩不在物理节点,上运动•
用实际云环境中的资源负载数据来模拟未来一段时间内虚拟机的应用负载的预测数据。
X表示物理节点的分布模式,为新分布模式迁移后X'
的稳定时间。
根据当前虚拟机在物理节点上的初始分布方式X(X=(兀JWxN)和动态变化的负载预测信息,以系统虚拟化技术和虚拟机实时迁移技术为基础,来寻求一种最优的虚拟机在物理节点上的新分布方式X\Xf=(<
.WxN)。
X,使用的活动物理节点比初始分布X少。
虚拟机迁移次数
计算虚拟机的迁移次数,本文用了循环判断的方式进行。
从第一时刻到下一时刻,判断虚拟机的位置与上一次位置是否相同,若相同,则证明虚拟机没有迁移,若不相同,则证明虚拟机已迁移,记录1次,往后依次递增,最后进行加和处理,便可得出虚拟机迁移的总次数。
U标函数为:
En工:
A(3-8)
卩,旷工»
;
>
y.=<
\(3.9)
]o,
式中y;
标识在新分布方式X'
中物理节点i是否处于激活状态。
幻表示虚拟机迁移结束后得到的新分布方式X,中虚拟机丿•是否发生了迁移。
公式(3.9)表示物理节点i处于激活状态时则X值为1,否则值为0。
公式(3.7)标识虚拟机丿•发生迁移与否。
虚拟机稳定时间
虚拟机的稳定时间是从当前时刻开始一直到虚拟机超负荷之前,虚拟机当前的位置与下一时刻位置是否相同。
若相同,则记录为1,往后依次增加,若不相同,则不记录。
加和处理统讣数据。
当口标函数迁移次数越小时,则证明虚拟机的稳定时间越久。
目标函数为:
min为:
同(3.10)
1,ifx\.j=1andi=i'
厲严0,if=1andii'
(父口)
x.e{0,1},/e{0,1},y;
e{0,1}i=1,2,...,MJ=1,2,...,N(3.12)
公式(3.11)标识虚拟机丿•发生迁移与否。
公式(3.12)说明变量易、幻、y:
和都是布尔变量。
约束条件
约束不符合要求的编码基因有助于统讣所需数据的准确性和规范性。
将每一时刻的物理节点位置和所需虚拟机的数量进行乘积与物理节点初始二维矩阵相乘,得到新的所需虚拟机数量,此时若虚拟机新的需求数量的数量大于原始需求数量,则进行约束,将此物理节点的目标函数值加一个很大的数值,防止干扰原始数据。
约束条件:
N
CPX为心勺Cjj=l,2,..・M(3.13)
j=1,2,…,N(3.14)
组编码方式
编码是一种遗传描述,它将云计•算平台上的物理节点和虚拟机转换成染色体和基因,即模拟从问题求解到染色体和基因映射到生物进化的过程。
MOGAIN使用编码方法来表达基因类型及其在染色体上的分布。
此外,在组编码模式中,每个染色体(也称为个
体)对应于资源调度解决方案。
每个个体上的每个基因代表一个特定的激活物理节点及其虚拟机。
该基因具有与其对应的物理节点相同的资源负载类型。
多个基因序列形成一个染色体或个体,多个个体形成一个群山于不同虚拟机分配模式所包含的物理节点数量可能不同,而相同的多台虚拟机可能放置在不同数量的物理节点上,相应的个体长度也不同,因此不同长度的染色体也应该是遗传算子。
种群初始化
MOGAINS原始分布应该包含当前虚拟机集合上所有物理节点的编码信息,原始分布的初始集合在虚拟机负载信息资源和物理节点随机映射生成的前提下,是没有方向性的,这样便能保证初始分布集合的多样性,提供更大的搜索空间。
染色体的生成
MOGAINS操作符可以识别染色体的过程如算法3.1所示。
算法3.1染色体的生成
1)chromo.size=ceil(Iog2(ni/eps+l));
2)各个染色体长度的数据
3)pop=cell(pop_size,t)
4)初始化参数并且保存种群各个变量的染色体,100*时间根矩阵
5)popjnt=cell(1.pop_size)
6)利用模拟染色体来解码数据
7)这块主要用于计算适应度
8)fori=l:
pop_size
9)forj=l:
t
10)pop{i,j}=initilize_pop(n,chromo.size)
11)初始化种群(随机数)100*t个包
12)每个矩阵都是8个虚拟机位置的染色体
13)end
14)end
进化算子
MOGAINS是通过虚拟机在物理节点之间映射的初代分布并且生成种群规模大小的染色体后产生初始种群,然后基于动态变化的应用负载信息对初始种群中的染色体进行遗传操作来寻找虚拟机在物理节点上最优的新分布方式X'
O
轮盘赌注
轮盘赌注算法的思想是个体被选中的概率与其适应度函数值成正比。
首先计算适应度比例,即每个个体的选择概率。
然后讣算每个个体的累积概率,相当于转盘上的“跨度〃,"
跨度"
越大越容易选到,在每个个体之前,所有个体的选择概率之和等于概率论中的概率分布函数。
相当于概率论中的概率分布函数。
可以随机生成一个数组,然后将他们有序排列,如果累积的概率大于随机生成序列,则被选择并且将继续比较,若小于,则不选择,此时再比较下一个个体。
具体的运算方法如表3.2所示。
算法3.2基于轮盘赌注法的选择操作
1)
FITi=1./Fit;
2)
sum_Fit=sum(FITl);
总的适应度
3)
fitvalue=FITl./suni_Fit;
每个适应度占比
4)
fitvalue=cumsum(fitvalue);
累计占比
5)
ms=sort(rand(pop_size,1));
产生0-1随机数
6)
fiti=l;
初始化下标
7)
newi=l;
累计选择优秀下标
8)
nf=cell(pop_size,t);
9)
whilenewi<
=pop_size
10)
if(ms(newi)<
fitvalue(fiti))
11)
forim=1:
1:
12)
forjm=l:
l:
n
⑶
nf{newi,im}(jmj)=pop{fitijm}(jni:
);
14)
end
15)
16)
newi=newi+l;
17)
else
18)
19)end
20)end
交叉
交义遗传算子的主要功能是将优良基因直接传递给后代,而交义遗传算子的位置变换极大地增加了种群的生物多样性,这也决定了遗传算法的全局分析和搜索能力。
如果使用单一的交义方法来执行父代和子代个体之间的交义概率,那么在概率不变的悄况下,交义将是重复的。
当某些物理节点上没有虚拟机时,仍然可以执行交义操作,并且可以在不同长度的染色体之间执行交义操作。
变换位置的运算方法如表3.3所示。
算法3.3基于概率的交叉操作
fori=l:
2:
pop_sizc
p=rand;
随机生成一个交叉的概率
ifp<
Pc
forim=l:
forpm=l:
q=randi(J,chromo_size);
forj=1:
chromo.size
讦q(j)==l表示交叉点
交换位置即交叉
H)
temp=nf{i+1Jm}(pm,j);
nf{i+1・im}(pmj)=nf{i,im}(pmj);
13)
nf{ijm}(pmj)=temp;
19)
20)
基于概率的进化逆转將一条染色体上某两个点进行交换位置
21)
t索引各个时间
22)
fori=l:
23)索引各个种群
24)
fork=l:
25)
rl=rand(l,l);
逆转概率
26)
ifrl<
Pn
2刀
index=randperm(chromo_size,2);
两个位置倒位
28)
交换位置
29)
temp=nf{ijm}(kjndex(l)):
30)
nf{ijm}(kJndex(l))=nf{iJm}(k3ndex
(2));
31)
nf{ijm}(kJndcx
(2))=temp;
32)
33)
34)
35)
End
36)
clearpop清空上一步种群
37)
pop=nf;
产生新种群
变异
突变算子是生成新种群个体的重要辅助方法之一。
通过给出一定的变异概率,新的
种群被种群和每条染色体所取代。
山这种给予变异概率的运算方法如下表3.4所示。
算法3.4基于变异的交叉操作
forim=1:
fori=1:
pop_size索引各个种群
forimmm=l:
fork=1:
chromo_size索引乞个染邑体
r=rand(1,1);
给出变异概率
ifr<
Pm
nf{Lim}(immm・k)=~nf{i,im}(immm.k);
进行变异
⑵
进化逆转
进化逆转是利用一条染色体上的两个位置进行互换,而达到个体与个体之间的转换。
利用交义算子和变异算子对种群进行变异,极大的增加了种群个体间的位置更新,可以更好地避免局部最优解的情况。
如下表3.5所示。
算法3.5进化逆转算法
fori=1:
pop_size索引各个种群
rl=rand(lJ);
逆转槪率
两个位置倒位
temp=nf{ijm}(k.index(l));
nf{ijm}(k,index(l))=nf{ijm)(kjndex
(2));
nf{i.im}(kjndex
(2))=temp:
更新新种群
clearpop清空上一步种群
本章节对于本文所用的调用方案进行了分析,且对于云计•算动态资源配置的资源分配以及利用生物学染色体基因模拟每个物理节点上的信息,并且对于进化算子(交义、变异)以及轮盘赌注算法进行了剖析以及自己的程序原理和编写思路。
通过以上路径,才成功的完成本文的研究。
4仿真与结果分析
数据采集与处理
根据要求,本文实验使用的数据来自于2017年8月份发布的阿里巴巴数据集群的1300个物理节点连续12个小时的资源负载数据(资源负载数据,RLD)每个节点间隔60秒连续记录5次,然后连续计算5次的算术平均值。
当RLD跟踪启动时,大约99%的物理节点可以被视为同构节点,其中CPU的核数为物理节点的真实核数,如表4」所示。
表4.1物理节点和CPU合数表
物理节点数量
CPUs(核)
5
64
7
199
369
735
1
仿真结果
(1)当交义概率为0.8、变异概率为0.2、进化逆转概率为0.2、进化代数为10、种群个数为10,轮盘选择精度为0.1时,迭代进化与拟合误差如图4.2所示。
根据折线图,横坐标为迭代进化数,纵坐标为拟合数据误差。
整个折线处于收敛状态。
当迭代进化代数为0-80和380-400时,拟合数据误差下降最快。
在前期操作中,山于讣算产生的单适应度累积比山小到大并与随机数进行比较,拟合数据误差在前期大幅减小。
随着迭代次数的增加,当迭代进化代数达到400时,拟合数据误差趋于稳定。
拟合数据的误差越来越小,这也证明了优化的稳定性和可行性。
(2)以三次不同的条件函数,获得以下虚拟机的节点次数、迁移数量以及稳定时间对比图如图4.3所示。
本设计选取的三组物理节点数分别为749、698和713,列出了各组物理节点在不同条件下的迁移时间和稳定时间。
图4.3表明MOGAINPS以迁移次数较多为代价,在新的分布模式状态下具有较高的稳定性和较少的活动物理节点。
其原因在于MOGAINPS对Pareto前沿的预筛选操作增加了种群的分布性,而且通付TMR规则也能较好的实现资源的均衡利用,不同物理节点的匹配,也在使用较少物理节点的前提下保证了物理节点的稳定时间。
(3)三维空间立体分布散点图
实验种群规模是50,物理节点的数量到100,虚拟机的数量与人口迁移演化代数的增加。
随机种群可以选取第5代、第13代和第23代的种群的分布情况,分别如图4.4、4.5、4.6所示,图中x轴代表每个单独的云平台的稳定时间,y轴表示虚拟机迁移频率,z轴表示物理节点数量的激活。
可以发现,随着进化代数的增加,多数个体在遗传过程中都朝着虚拟机迁移次数少、物理节点激活次数少的方向进化,这也很好地验证了遗传算法是可行的。
结果分析
根据实验结果,MOGAISP交义概率P设置为0.8,突变概率Pm设置为0.2,进化反转概率Pn设置为0.2。
最后的结果是十次重复后的算术平均数。
实验的种群规模为10(popSise=10),进化代数为10(maxGen=10)。
在虚拟机分布初始状态相同和应用程序负载预测信息相同的前提下,运行算法MOGAISP得到了一种新的不同的虚拟机分布模式。
表4.7列出了物理节点数为25、虚拟机数为95时的相关实验数据。
表4.8列出了物理节点数为50,虚拟机数为230时的相关实验数据。
表4.725个物理节点和95个虚拟机运行结果
个体参数
MOGAISP
激活数量
13.0
迁移次数
52
稳定时间(S)
118.04
表4.850个物理节点和250个虚拟机运行结果
31.0
137
稳定时间(s)
142.35
结果表明,MOGAISP的稳定时间更短,迁移次数更多,新的分布模式可以减少活动物理节点的数量。
云平台的主要能源成本之一是活动物理节点的数量少。
因此,当活动物理节点的数量大大减少时,资源消耗就会减少,为了保持物理节点的稳定时间,迁移时间就会增加。
还可以进一步证明,在活动物理节点数量稳定的情况下,新的虚拟机分布可以更好地降低能耗。
结论
云计算实现计算资源的动态按需配置,极大提高了资源的有效使用,在资源配置过程中如何较好的平衡物理节点的稳定性和能源消耗之间的关系越来越重要。
本课题针对云计算中的虚拟机调度问题,利用信息处理技术和人工智能技术,设计一种动态资源配置方法,主要工作如下:
1.对云计算中虚拟机资源配置相关文献进行检索、分析。
2.运用信息处理、人工智能、多LI标优化等相关原理,对动态资源配置数据进行采集、处理和分析,结合经济、安全等非技术因素,给出优化配置设计解决方案。
3.根据解决方案,综合考虑云平台的稳定时间、物理节点的激活数量和虚拟机的迁移次数等儿个因素,实现多LI标配置优化模型、进化机制、精英保留策略等模块设计。
4.对数据处理、优化模型、适应度讣算、进化算子等进行编写程序,并完成模拟仿真。
5.对仿真的结果数据进行收集、分析、归纳,并进行调整。
在本次设讣中依照老师任务书要求,按步骤进行多LI标优化算法的学习和设计,并对云平台的动态资源配置进行了深刻的了解。
基本实现了老师所要求的功能。
但山于时间有限,对于遗传算法在后期容易陷入局部最优解而降低算法精确度及正确性等缺陷尚未进行优化,但随着未来研究的深入,我相信能够完美解决资源合理分配,并降低能源消耗,一定会取得更好的结果。