返回首页
当前位置: > 理工论文 > 统计学 >

云环境下基于性能向量的虚拟机部署算法(2)

时间:2012-01-26 13:06来源:网络(转载) 作者:杨星 马自堂 孙磊 点击:
同时,为节省资源开销,应尽量少开启物理服务器,这就需要在部署虚拟机时,在满足用户需求前提下,相匹配地放置虚拟机,不刻意寻找性能最优的服务器。这样同时也避免了热点现象的出现,使系统达到负载均衡。? 2.1
  
  同时,为节省资源开销,应尽量少开启物理服务器,这就需要在部署虚拟机时,在满足用户需求前提下,相匹配地放置虚拟机,不刻意寻找性能最优的服务器。这样同时也避免了热点现象的出现,使系统达到负载均衡。?
  
  2.1 资源性能向量描述?
  为了更好地描述虚拟机及物理服务器性能,本文使用性能向量概念,性能向量是指由虚拟机或物理服务器多个性能特征规范化(无量纲化和归一化)[9]处理后组成的特征向量。?
  进行虚拟机部署首先要对虚拟机性能进行有效监控,虚拟机硬件资源一般主要包括CPU性能、内存利用率、网络连接和配置状态、宿主机上虚拟机的基本运行状态等[10]。为了对性能特征规范化,本文参考微软Virtual Machine Manager 2008技术报告中对于物理服务器性能评价标准,以CPU、内存、带宽、硬盘这4个基本性能为例,每10?min提取其使用状况的平均值,按如下的资源特征计算方法处理:?
  CPU特征=1-CPU已用量/(CPU总量-CPU预留量)?
  内存特征=1-内存已用量/(总内存-内存预留量)?
  带宽特征=1-带宽已用量/(总带宽-带宽预留量)?
  硬盘特征=1-硬盘已用量/(总硬盘空间-硬盘预留量)?
  各性能的预留量由云计算运营商配置,是维持服务器中虚拟机监视器、Dom0操作系统等正常运行所需的最低资源量。例如:某服务器总内存为2?048?MB,内存已被使用了?512?MB,?系统规定应预留512?MB的内存,于是其内存特征为?1-?512/(2?048-512)=0.667。?
  ?服务器池内的所有服务器通过性能监控结果的规范化处理,便可建立其性能向量(q?1,q?2,…,q?l),其中:q?i表示服务器第i个性能特征,l表示用来描述虚拟机硬件整体性能的指标数。将服务器池中所有服务器的?UUID?组成向量U=(u?1,u?2,…,u?n)??T?,其中n表示物理服务器数目。整个服务器池的?UUID?与相对应的性能向量可以建立成为一个类似?Key/Value?模式的性能矩阵,如式(1)所示:?
  Q=[U V]
  =u?1q??11?q??12?…q??1l??
  ?????
  u?nq??n1?q??n2?…q??nl?(1)矩阵这样书写符合您的表达吗?另外,U与V之间的“|”竖线是什么意思?请说明一下。其中矩阵外面的角括号可以用稍大一点的中括号吗?请明确。回复:文中的矩阵书写符合我的表达,“|”是为了强调本矩阵是由两部分组成。用中括号是可以的。?
  其中:矩阵中每一个行代表一个物理服务器的性能向量,q??ij?表示服务器u?i第j个性能特征。??
  同时根据用户提交给资源调度管理器的虚拟机性能需求,对应每个服务器进行规范化,得到此虚拟机对每个服务器的性能期望值。本文同样取CPU、内存、带宽和硬盘这4个基本性能为例,其资源期望计算方法如下所示:?
  CPU期望=CPU期望量/(CPU总量-CPU预留量)?
  内存期望=内存期望量/(总内存-内存预留量)?
  带宽期望=带宽期望量/(总带宽-带宽预留量)?
  硬盘期望=硬盘期望量/(总硬盘空间-硬盘预留量)?
  待部署虚拟机对于每个物理服务器的期望可以构成期望矩阵:?
  ?E=[U E?1]
  =u?1e??11?e??12?…e??1l??
  ?????
  u?ne??n1?e??n2?…e??nl??
  
  
  
  其中e??ij?表示虚拟机对于服务器u?i第j个性能指标的性能期望。?
  同时根据用户应用需求,还将建立性能权值向量W=(w?1,w?2,…,w?l),其中w?i是第i个性能指标的性能期望e?i所对应的权值,∑li=1w?i=1(0  
  2.2 PM?LB算法描述?
  PM?LB服务器发现算法,首先计算出单个虚拟机与物理服务器性能的最佳匹配,同时计算系统负载均衡情况,并将上述两个计算结果进行综合分析,得出最终服务器选择结果。其算法主体可以分为以下3部分。?
  ?1)匹配向量计算。?
  每个物理服务器的性能特征与待部署的虚拟机相关性能期望的差值,称为该服务器对于待部署虚拟机某一性能的匹配量?Δ?q??ij?=q??ij?-e??ij?。资源管理服务器通过用户提交的虚拟机应用请求得到的期望矩阵,以及从性能监控服务器调取的性能矩阵,可以求得服务器池匹配量矩阵:?
  ?Δ?Q=[U Q-E?1]=[U ?Δ?Q?1]=?
  u?1?Δ?q??11??Δ?q??12?…?Δ?q??1l??
  ?????
  u?n?Δ?q??n1??Δ?q??n2?…?Δ?q??nl??
  在求得矩阵后,首先对其进行筛选,每一行如果出现负值,说明此项性能无法满足虚拟机需求,便视为不可满足节点,从矩阵中删除。最后将剩下的m个服务器组成可用服务器匹配量矩阵:?
  ?Δ?Q′=[U′ ?Δ?Q′?1]=
  u?1?Δ?q??11??Δ?q??11?…?Δ?q??11??
  ?????
  u?j?Δ?q??m1??Δ?q??m2?…?Δ?q??m1??
  若得到的矩阵为?,便会向管理端发出开启新服务器请求。?
  为了更好地满足用户应用需求,再对匹配矩阵与用户设定的权值向量相乘,从而构成匹配判断向量:?
  S=?Δ?Q′?1•(w?1,w?2,…,w?l)??T?=(s?1,s?2,…,s?m)??T??
  其中s?i=∑lj=1?Δ?q??ij?•w?j为服务器性能特征与虚拟机对于该服务器的期望之间的相对距离,用于判断此物理服务器与待部署虚拟机需求性能的匹配程度,每个s?i下标对应一个服务器?UUID?。s?i值越小说明越适合在此服务器上部署该虚拟机。?
  在权值向量中,用户偏好的性能特征赋予较小权值,这是为了在进行距离运算时减少对其约束,从而可以使服务器为偏好特征预留更大性能空间。?
  2)负载向量计算。?
  在满足单个虚拟机部署匹配需求的同时,本文还进一步研究解决整个系统负载均衡问题,提出负载向量计算方法。? (责任编辑:南粤论文中心)
顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
验证码:点击我更换图片
推荐内容