发明名称 一种基于云计算环境的蚁群优化计算资源分配方法
摘要 本发明提供一种基于云计算环境的蚁群优化计算资源分配方法,是基于云计算环境的特点,提出一种基于蚁群优化的计算资源分配算法。分配云计算资源时,首先预测潜在可用节点的计算质量,然后根据云计算服务模式特点,通过分析诸如网络带宽占用、线路质量、响应时间、任务费用、可靠性等因素对资源分配的影响,利用蚁群算法得到一组最优化的计算资源。这种算法能够在满足云计算环境要求的前提下,获得比其他一些针对网络的分配算法更短的响应时间和更好的运行质量,因而更加适合于云环境。
申请公布号 CN103067524A 申请公布日期 2013.04.24
申请号 CN201310017954.9 申请日期 2013.01.18
申请人 浪潮电子信息产业股份有限公司 发明人 方雪静
分类号 H04L29/08(2006.01)I;H04L12/927(2013.01)I 主分类号 H04L29/08(2006.01)I
代理机构 代理人
主权项 1.一种基于云计算环境的蚁群优化计算资源分配方法,其特征在于,根据云环境的特点以及服务模式,将云环境所有单元中的节点分为两大社团结构,主节点和从节点,主节点负责调度构成一个作业的所有任务,这些任务的数据资源分布在不同的用户镜像分片中,而用户镜像分片处在从节点存储资源上,主节点监控任务执行,重新执行失败的任务或做错误处理,从节点负责执行由主节点分派的任务,从节点接到主节点的分派后,从节点开始寻找合适的计算节点为其下属的存储节点准备,首先,该从节点开始检测自己的计算资源用量,如果其剩下的计算资源能够满足用户提交作业使用量,则分配自身的计算资源,如果剩余的资源不足以满足需求给用户的最小计算资源量,则开始搜索云环境中其他合适的计算资源,搜索工作在一定范围内进行,目的是为了防止增加所带来的网络开销,若仍旧找不到合适资源,则从节点向主作业调度节点提出请求移走该节点集群中的用户数据镜像分片;在云环境中,资源的具体情况不可知,且网络没有一个固定的拓扑结构,所以整个云环境的结构和资源分布及其实际情况不可预知,在这种情况下,计算资源的位置和质量对数据节点来说是不可知的,利用蚁群算法,能够在未知的网络拓扑中查找出计算资源,并选择最合适的一个或者几个分配给用户作业,知道满足用户需求,当查找开始时,由slave节点发出查询消息,这些消息扮演着蚁群算法中蚂蚁的角色,所有的蚂蚁都遵从信息素多的节点概率大,信息素少的节点概率少的原则选择下一跳的节点,并在经过的路径节点上留下信息素,具体算法如下:(1)模型及其考虑参数将slave将节点域作为一个无向图G(V,E),其中V的区域Area中所有slave节点的集合,E是连接各slave节点的网络集合,在云计算网络中均匀地划分成若干个子区域,然后给每个区域分配相同个数的蚂蚁,每个组的蚂蚁只在各自的区域进行搜索,其度量标准要考虑的有如下参数:预计执行时间:time_cost(e),指路径e尽头的计算资源处理这样作业要消耗的时间;网络延迟:delay(e),指路径e产生的最大网络延迟;网络带宽:bandwidth(e),指路径e所提供的网络最大带宽;用户对云计算资源需求的多样性与偏好性,如何作Qos保证;将预计执行时间和网络延时综合后用变量<img file="2013100179549100001DEST_PATH_IMAGE001.GIF" wi="29" he="42" />(t,e)表示在t时间段内该e尽头为i计算资源的所用量;假设某虚拟机资源<img file="176139DEST_PATH_IMAGE002.GIF" wi="29" he="42" />的特征集合:<img file="2013100179549100001DEST_PATH_IMAGE003.GIF" wi="219" he="42" />其中,<img file="18194DEST_PATH_IMAGE004.GIF" wi="24" he="42" />表示一个K维对角矩阵,分别表示CPU、内存的个数,带宽、费用及故障率的倒数;资源<img file="226452DEST_PATH_IMAGE006.GIF" wi="27" he="21" />的性能描述矩阵向量是:<img file="2013100179549100001DEST_PATH_IMAGE007.GIF" wi="244" he="42" />其中<img file="916191DEST_PATH_IMAGE008.GIF" wi="27" he="42" />表示<img file="800970DEST_PATH_IMAGE004.GIF" wi="24" he="42" />对应的特征值;任务的QoS描述通常可以采用任务完成时间、网络带宽、费用、可靠性等参数指标来量化QoS,如任务完成时间的QoS描述包括开始时间、全部完成时间、结束时间等,使用时可选取任务全部完成时间作为评判指标;通常第i类任务的一般期待向量可描述为:<img file="881053DEST_PATH_IMAGE010.GIF" wi="209" he="21" />其中<img file="DEST_PATH_IMAGE011.GIF" wi="25" he="42" />分别表示CPU、内存、带宽等的一般期待,且满足:<img file="952389DEST_PATH_IMAGE012.GIF" wi="80" he="62" />    (2)蚁群算法寻找最优计算资源描述由于在云计算环境中,资源的具体情况不可知,且网络没有一个固定的拓扑结构,所以整个云环境的结构和资源分布及其实际情况不可预知,在这种情况下,计算资源的位置和质量对数据节点来说是不可知的,利用蚁群算法,能够在未知的网络拓扑中查找出计算资源,并选择最适合的一个或几个分配给用户作业,知道满足用户需求,当查找开始时,由slave节点发出查询消息,这些消息扮演着蚁群算法中蚂蚁的角色, 所有的蚂蚁都遵从信息素多的节点概率大,信息素少的节点概率少的原则选择下一跳的节点,并经过的路径节点上留下信息素;设资源选择的约束函数为<img file="DEST_PATH_IMAGE013.GIF" wi="283" he="83" /><img file="DEST_PATH_IMAGE015.GIF" wi="432" he="146" /><img file="558951DEST_PATH_IMAGE016.GIF" wi="232" he="59" />其中,<img file="DEST_PATH_IMAGE017.GIF" wi="37" he="62" />为t的时刻,前向蚂蚁在i节点上观察到j节点的信息索强度,P为k号蚂蚁在i点选择j点的概率,avid(k)为蚂蚁的回避列表,<img file="365364DEST_PATH_IMAGE018.GIF" wi="136" he="62" />为从节点i到节点j的线路质量,<img file="DEST_PATH_IMAGE019.GIF" wi="13" he="42" />,<img file="995060DEST_PATH_IMAGE020.GIF" wi="12" he="42" />和<img file="DEST_PATH_IMAGE021.GIF" wi="12" he="42" />为信息素、线路质量和计算能力预测值的相对权重,为防止结果过快地收敛在局部最优解上,设定随机系数<img file="794389DEST_PATH_IMAGE022.GIF" wi="67" he="42" />,常数<img file="DEST_PATH_IMAGE023.GIF" wi="75" he="42" />,<img file="184351DEST_PATH_IMAGE024.GIF" wi="19" he="42" />为QoS标准,选择资源和路径的过程就是在不满足QoS的情况下寻找满足限定条件(3)的尽量大的j值或者在满足QoS的情况下寻找满足条件(3)的P值,这两个值的公式(1)用来控制蚂蚁直接选择信息素一线路质量比最大相邻节点的概率。
地址 250014 山东省济南市高新区舜雅路1036号