一种无线云计算系统资源分配方法与流程

文档序号:14735842发布日期:2018-06-19 20:28阅读:181来源:国知局
一种无线云计算系统资源分配方法与流程

本发明涉及通信领域的无线计算资源分配方法,具体涉及一种云计算系统资源分配方法。



背景技术:

云计算是指IT基础设施的交付和使用模式,通过网络以按需和易扩展的方式获得所需的计算资源,是分布式计算、网络存储、虚拟化、负载均衡等传统计算机技术和网络技术发展融合的产物。随着云计算的普及,越来越多的人享受着这种优质的服务带来的便利。云计算的核心思想就是将大量用网络连接的计算资源统一管理和调度,构成一个计算资源池向用户提供按需服务。

无线云计算系统资源的调配技术能够显著的降低高并发所造成的系统资源的浪费,解决系统的堵塞问题,提高用户的低延时体验。在多计算中心和大量用户的计算任务请求不均衡到达的情景下,若只使用系统本地的计算资源,用户到达率高的区域会造成用户堵塞,同时,用户到达率低的区域,系统的计算资源会被浪费。



技术实现要素:

发明目的:基于以上信息,本发明针对无线云计算系统给出新的分配算法。通过新的用户分配方案,将用户拥挤的区域的部分用户转移到用户少的区域,使得用户的堵塞率显著下降,系统的计算资源得到均衡的分配。

技术方案:一种无线云计算系统资源分配方法,包含以下步骤:

(1)将一块地理区域划分为若干等面积方形区域(简称方域)并对每个方域进行编码,在每个方域部署一个计算中心。对每个计算中心,通过进行用户并发测试获取其跳跃到达率,并收集每个方域内的用户实际到达率。

(2)利用跳跃到达率和实际到达率初始化蚁群算法。对于每个方域计算初始的蚂蚁量和蚂蚁素,初始化蚂蚁表、蚂蚁素表、禁忌表。

首先,将由于地理因素没有部署计算中心的方域加入禁忌表;然后,基于跳跃到达率、实际到达率计算出每个方域内的蚂蚁量和蚂蚁素,将蚂蚁量和蚂蚁素大于零的方域分别加入蚂蚁表和蚂蚁素表,蚂蚁素和蚂蚁量等于零的方域加入禁忌表。

其中,禁忌表记录不能接受用户转移的方域的编码。蚂蚁量表示一个方域单位时间内需要转移的用户量,计算方法如下:在一个方域内,若用户的实际到达率大于跳跃到达率,蚂蚁量为用户的实际到达率减去跳跃到达率;若用户的实际到达率小于等于跳跃到达率,蚂蚁量为零。蚂蚁素表示一个方域单位时间内能够接受的用户量,计算方法为:在一个方域内,若用户的实际到达率小于跳跃到达率,蚂蚁素为跳跃到达率减去用户的实际到达率;若用户的实际到达率大于等于跳跃到达率,则蚂蚁素为零。

(3)将每个计算任务看作蚂蚁,对每个蚂蚁进行转移,并更新蚂蚁表、蚂蚁素表、禁忌表。具体流程为:对每个蚂蚁,计算出邻域的蚂蚁素与邻域数乘积之和。然后将孤蚁随机转移到任一邻域,此孤蚁原来所在的方域加入禁忌表,被转移方域加入蚂蚁表;对非孤蚁进行概率转移,将非孤蚁蚂蚁量按照各个邻域接受和进一步转移蚂蚁的能力大小进行分配,求出新的蚂蚁量和蚂蚁素;转移结束后,将非孤蚁方域的蚂蚁量置零,并加入禁忌表;然后检查蚂蚁素表,若蚂蚁素为零,则将对应方域加入禁忌表;若蚂蚁素为负,将对应方域加入蚂蚁表,将其蚂蚁量设置为负蚂蚁素值。

(4)重复步骤(2)、(3),直到蚂蚁表中所有的蚂蚁量全为零或者蚂蚁素表中的蚂蚁素全为零。

有益效果:本发明针对无线云计算系统提出了跳跃到达率这一概念,通过将人工蚁群算法和禁忌搜索算法进行结合,提出一种新的算法,迭代进行蚂蚁量的转移和转移信息的更新,直到满足终止条件,从而将无线云计算系统中在跳跃到达率之上的用户转移到跳跃到达率之下的区域。利用该算法能够使系统的计算资源得到均衡的分配,显著降低用户的计算耗时,降低该系统的用户堵塞的次数和比例,并且资源的分配方案可以随着用户动态到达的不均衡状态随时调整,使得用户的体验始终处在最优的状态。

附图说明

图1为云计算系统资源分配场景示意图。

图2为本发明方法的整体流程图。

图3为一个计算中心的跳跃到达率示意图。

图4为每个蚂蚁转移的流程图。

图5为计算结果示意图。

具体实施方式

下面结合附图对本发明的技术方案作进一步说明。

如图1所示,云计算的资源分配目的是将用户从拥挤的计算中心转移到空闲的计算中心。本发明提出的一种无线云计算系统资源分配方法,参照图2,包含以下步骤:

(1)将一块地理区域划分为若干等面积方形区域(简称方域)并对每个方域进行编码,在每个方域部署一个计算中心。对每个计算中心,通过进行用户并发测试获取其跳跃到达率,并收集每个方域内的用户实际到达率。

其中,每个计算中心由若干数量的计算单元组成,计算单元可以理解为能够提供稳定计算能力和一定的通讯能力的机器,可以是一台计算机。若某个方域中含有河流山川等特殊的地理条件,则不会部署计算中心。计算中心的部署会考虑地理条件是因为受限于电力供应、温度范围、散热条件等因素。如果将计算中心的部署在河流山川等人迹罕至的地方,没有人使用,没有多大意义。注意这里所说的是特殊的地理条件,大部分的区域是可以部署的。另外,这个区域可以是很小的区域,例如,可以在河边部署,但不在河里面部署。

对每个计算中心,通过进行用户并发测试,获取其跳跃到达率。收集每个方域内的用户实际到达率,即实际中用户的到达率。并发测试是指计算机的模拟测试,在模拟测试中,利用计算机模拟用户按照不同的到达率进入系统进行计算,测定不同的到达率情况下,用户的计算用时makespan。跳跃到达率是指在一个计算中心内,使得用户计算时间显著增长的用户临界到达率。这里的“显著增长”是指用户的平均计算时间成倍增长如从2000左右上升至一万到两万多(单位是秒)的情况。临界到达率是一个到达率值,超过这个到达率后,用户的计算用时会产生跳跃增长,也就是十倍左右的增长。参照图3,示出了一个计算中心的跳跃到达率示意图,从图中可以看到,当用户的到达率超过跳跃到达率,用户计算用时makespan急剧增长。

(2)利用跳跃到达率和实际到达率初始化蚁群算法。对于每个方域计算初始的蚂蚁量和蚂蚁素,初始化蚂蚁表、蚂蚁素表、禁忌表。

首先,将由于地理因素没有部署计算中心的方域加入禁忌表,禁忌表是一个表格,里面记录了不能接受用户转移的方域的编码,用户转移指的是用户的计算任务转移。

然后,基于跳跃到达率、实际到达率计算出每个方域内的蚂蚁量和蚂蚁素,将蚂蚁量和蚂蚁素大于零的方域分别加入蚂蚁表和蚂蚁素表,蚂蚁素和蚂蚁量等于零的方域加入禁忌表。其中,蚂蚁量表示一个方域单位时间内需要转移的用户量,本文中用户量指的是用户的计算任务数量。这些要转移的用户的计算任务是通过计算差值得到的。计算方法如下:在一个方域内,若用户的实际到达率大于跳跃到达率,蚂蚁量为用户的实际到达率减去跳跃到达率;若用户的实际到达率小于等于跳跃到达率,蚂蚁量为零。蚂蚁素表示一个方域单位时间内能够接受的用户量。计算方法为:在一个方域内,若用户的实际到达率小于跳跃到达率,蚂蚁素为跳跃到达率减去用户的实际到达率;若用户的实际到达率大于等于跳跃到达率,则蚂蚁素为零。

这里,禁忌表中的方域可以接受本方域内的计算任务,但是不接受别的方域的计算任务转移到本方域计算的。原因是本方域内的用户到达率已经达到了跳跃到达率。如果接受新的计算任务的转移,则会堵塞,用户的计算时间会发生十倍左右的增长。当然禁忌方域中,也有一些是由于河流山川等而没有部署计算中心的方域。

(3)将每个计算任务看作蚂蚁,对每个蚂蚁进行转移,并更新蚂蚁表、蚂蚁素表、禁忌表。参照图4,蚂蚁转移的具体流程为:

(31)对每个蚂蚁,计算出邻域的蚂蚁素与邻域数乘积之和。邻域的定义为:对于一个方域,和它有公共边的方域称为此方域的邻域。计算方法为:首先将每个邻域的蚂蚁素和此邻域的邻域数进行乘积运算,然后将不同邻域的乘积求和,记为S1。邻域中的蚂蚁素表示了此邻域接受蚂蚁转移的量。邻域的邻域数用来衡量邻域接受转移后进一步转移蚂蚁的能力大小。两者的乘积用来衡量一个邻域接受和进一步转移蚂蚁的能力大小。S1用来标记一个方域周围邻域能够接受和进一步转移蚂蚁的能力之和。

(32)对孤蚁进行随机转移。孤蚁的定义为:若一个蚂蚁的邻域的蚂蚁素之和为零,称这个蚂蚁为孤蚁。将孤蚁随机转移到周围的任一邻域,此孤蚁原来所在的方域加入禁忌表,被转移方域加入蚂蚁表。

(33)对非孤蚁进行概率转移。非孤蚁方域蚂蚁量向非孤蚁方域的某一邻域的转移量的计算方法为:首先将任一邻域的蚂蚁素与该邻域的邻域数量相乘,得到乘积P0,然后将此乘积P0除以该非孤蚁方域的邻域的蚂蚁素与邻域数乘积之和S1。P0和S1的比值记为Pro。Pro体现了某一邻域接受和进一步转移蚂蚁的能力在所有邻域接受和进一步转移蚂蚁的能力之和中所占的比重。最后将非孤蚁方域的蚂蚁量与Pro相乘,所得的乘积就是此非孤蚁方域向该邻域的转移量。也就是说将蚂蚁量按照各个邻域接受和进一步转移蚂蚁的能力大小进行分配。对蚂蚁表中的每个蚂蚁按照计算出的到每个邻域的转移量进行转移,求出新的蚂蚁量和蚂蚁素。转移结束后,将非孤蚁方域的蚂蚁量置零,并将该方域加入禁忌表。

(34)检查蚂蚁素表。对蚂蚁素表中的每个蚂蚁素项,若蚂蚁素为零,则将此方域加入禁忌表;若蚂蚁素为负,将此方域加入蚂蚁表,蚂蚁量设置为负蚂蚁素。

(4)重复步骤(2)、(3)直到蚂蚁表中所有的蚂蚁量全为零或者蚂蚁素表中的蚂蚁素全为零。具体地,循环执行步骤(2)、(3),若蚂蚁表中的所有蚂蚁量都为零,说明所有的蚂蚁都已经转移完成。结束循环;若蚂蚁素表中的蚂蚁素全部为零,说明没有能够接受转移的方域,这是由于计算资源不足造成的,循环也结束。

利用本发明的算法在系统上进行仿真,验证结果如图5所示,可以看出,通过使用本方法进行资源分配,能够使各个方域的堵塞率下降到0.08以下。堵塞发生率是一个概率值,用计算机通过多次测试,将堵塞的次数与测试次数进行比值运算得到。可见,利用本发明的方法使得系统的性能得以很大的提高,用户的体验有了极大的改善。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1