基于GA算法的云计算集群负载调度方法技术

技术编号:19549424 阅读:29 留言:0更新日期:2018-11-24 21:35
基于GA算法的云计算集群负载调度方法,包括:S1:读取任务队列,从“服务任务执行时间模型表”中查找出每个任务的运行参数;S2:对运行参数进行编码,将运行参数集合转换为染色体位串集合,生产初始种群Group(g),g=0;S3:计算初始种群中每个个体的适应度值;S4:判断终止条件g>=Gmax(Gmax为最大繁殖代数),如果条件不满足,执行S5,否则转到S8:S5:进行选择操作形成下一代种群Group(g),g+=1,采用模拟退火的选择算法;S6:以概率Pc进行交叉操作;S7:以概率Pm进行变异操作,转到S3;S8:算法终止,输出当前最优调度方案。本发明专利技术大幅度缩短请求任务相应时间,在用户量增多的情况下也能明显改善GIS服务质量,提高用户使用满意度。

Load Scheduling Method of Cloud Computing Cluster Based on GA Algorithms

The load scheduling method of cloud computing cluster based on GA algorithm includes: S1: read the task queue and find out the running parameters of each task from the \service task execution time model table\; S2: encode the running parameters, convert the running parameters set to the chromosome bit string set, and produce the initial population group (g), g = 0 S3; Fitness of each individual in the initial population is calculated; S4: judging termination condition g >= Gmax (Gmax is the maximum reproductive algebra). If the condition is not satisfied, S5 is executed, otherwise S5 is transferred to S8:S5: Selection operation is carried out to form the next generation population group (g), g+= 1, using simulated annealing selection algorithm; S6: crossover exercise with probability Pc. S7: mutation operation with probability Pm, to S3; S8: algorithm termination, output the current optimal scheduling scheme. The invention greatly shortens the corresponding time of the request task, and can obviously improve the service quality of GIS and improve the user's satisfaction in the case of increasing the number of users.

【技术实现步骤摘要】
基于GA算法的云计算集群负载调度方法
本专利技术涉及网络负载调度领域,具体涉及一种基于GA算法的云计算集群负载调度方法。
技术介绍
云计算应用的迅速发展,对其性能和服务质量提出了更高的要求,多核处理器以及虚拟化技术的兴起,为云计算集群的进一步发展,现有技术中常用负载均衡调度常用方法来进行调度,负载均衡调度算法是集群的一个关键技术,己经有众多的调度算法在不同场景下得到了有效的使用。在多用户高并发的Web系统中,负载均衡算法的好坏直接影响了QoS,一直以来都是计算机和相关领域研究的一个热点。通常,该算法划分为静态负载均衡算法和动态负载均衡算法。①静态负载均衡算法该算法主要从待执行的任务角度来考虑,可以认为系统己经获知任务的运行特性,比如任务的类型,运行所需要花费的时间代价。然后负载均衡算法根据这样已知的任务特性,计算出最优的任务调度分配方式。如何尽量准确的获取任务的运行特性,以及如何根据这些信息规划出最优调度方案,是该算法所要关注的核心问题。但是静态调度算法未考虑集群运行状态,而集群的运行状态是不断变化的,静态算法不免会出现分配不均的情况,浪费系统资源利用率。②动态负载均衡算法一个重要的算法是从集群的运行状态的角度来考虑,需要负载均衡器及时的获取集群当前资源如CPU、内存、网络等的使用状态,以及任务的运行状态。算法在进行调度之前,会根据系统运行状态评价各节点负载情况,一般都会将当前任务分配给负载最小的节点,从而实现任务的调度。如何准确而及时的获取集群运行状态并做出负载评估是该算法的核心问题。相对于静态负载均衡算法,动态的负载均衡算法考虑了集群系统的变化情况,并针对性的对分配做出调整。负载分配的问题具有普遍性,可以考虑从其他领域引入一些新方法新思路来解决问题。相关科学家对基于空间数据库的几何空间操作做了对比得出的结论是绝大多数空间操作都需要消耗高额CPU和大量I/O,空间数据的复杂性决定了空间操作是一种CPU和I/O密集型计算任务,而不同类型的空间操作的复杂度的差异也非常大。空间查询不仅要根据査询条件计算空间对象的索引,还要将查询到的对象进行读取和对象化建模,是一种以I/O为主,CPU计算为辅的任务;空间叠加分析是一种二元运算,不仅要将大量数据从存储设备装入内存,还需要进行复杂空间运算,其复杂程度往往要高出空间查询一个或多个数量级。在一个具有空间查询、动态制图、空间数据编辑、空间分析、网络分析等不同复杂度的云计算集群系统,面临的压力一方面是用户量大,另一方面是因请求任务之间的巨大差异性而放大的集群节点之间的负载不平衡。简单的负载均衡算法如轮询法,对于负载请求差异较大的集群是不适合的,一些更为复杂的动态负载均衡算法可以应对这样的需求,但其本身的复杂性和对系统计算和通讯资源的占用会引入一些新的问题,影响着云计算集群的发展进程。
技术实现思路
针对现有技术的不足,本专利技术的目的旨在提供一种虚拟化云计算集群负载均衡算法,使得请求任务相应时间最短,在用户量增多的情况下也能明显改善GIS服务质量,提高用户使用满意度。为实现上述目的,本专利技术采用如下技术方案:基于GA算法的云计算集群负载调度方法,包括:S1:读取任务队列,从“服务任务执行时间模型表”中查找出每个任务的运行参数;S2:对运行参数进行编码,将运行参数集合转换为染色体位串集合,生产初始种群Group(g),g=0;S3:计算初始种群中每个个体的适应度值;S4:判断终止条件g>=Gmax(Gmax为最大繁殖代数),如果条件不满足,执行S5,否则转到S8:S5:进行选择操作形成下一代种群Group(g),g+=1,采用模拟退火的选择算法;S6:以概率Pc进行交叉操作;S7:以概率Pm进行变异操作,转到S3;S8:算法终止,输出当前最优调度方案。进一步的,所述染色体位串中一个基因代表一个待分配的任务,一个基因表示为(t,l,p,n),其中t表示任务编号,l表示任务规模,即任务的预期执行时间,p表示任务优先级,p是一个布尔值,用1(True)表示高优先级,在节点内部任务执行时会被优先排序,0(False)表示低优先级,会被推后执行,n表示该任务被分配到的集群节点服务器编号,n的值采取随机的方式生成,即从n的取值范围0<n<Ns中随机选取正整数给n赋值,形成一个染色体;一个染色体由一组带分配的任务构成,一个染色体对应一个负载调度方案,一个染色体的表达方式为{(t,l,p,n)|t>C,l>0,p=0|1,0<n<Ns},其中C为负载策略转换阀值(C=K*Ns),1为正整数,Ns为集群节点数量。进一步的,所述适应度值由适应度函数表示,所述适应度函数定位为其中反映集群节点负载均衡程度的节点负载量偏差集群节点平均负载量为节点负载总量为其中集群节点负载量(Li)为当前分配负载值(Lc)与预期(算法分配)负载值(Le)之和即Li=Lc+Le,节点当前负载任务数为Tc,第n个任务预期执行时间为ctn,预期负载任务数为Te,第n个任务预期执行时间为etn。进一步的,所述当前分配负载值(Lc)和节点当前负载任务数Tc统称集群节点当前负载信息,集群节点当前负载信息采用负载量快照的方式获取。进一步的,所述负载量快照的方式是指在执行调度方案时,将任务分配情况同步记录到任务执行实时状态快照表中,各节点也将任务执行状态反馈到负载均衡器中,以及时更新状态的记录;并在执行适应度评价时,会生成任务实时状态快照表,然后对任务实时状态快照表进行计算和分析,得出当前负载量的值。进一步的,所述任务实时状态快照表记录着任务ID、任务优先级、预期执行时间、开始时间及状态。进一步的,所述预期执行时间由“GIS服务任务执行时间模型表”中的平均执行时间获得,幵始时间为任务向节点分配的时间,状态值包括“0”和“1”,“0”表示任务执行失败,“1”表示任务分配成功,若任务执行成功,则从实时任务表中将该调度任务删除,表中只保留未执行或执行失败的任务记录,执行失败的任务也会定期做处理,重新尝试执行或是向客户端反映任务执行失败。进一步的,所述步骤S5中模拟退火的选择算法表示为p(ai)为选择概率,n为种群G={a1,a2,...,an}的个数,其中个体ai的适应值为f(ai),T为退火温度。进一步的,所述步骤S6中以概率Pc进行交叉操作包括:S61.从当前种群里按一定规则选择一组适应值高的个体组成交配池,从交配池中随机选取一对个体;S62.从染色体位串中随机选取一个或多个位置作为待交叉的位置;S63.根据交叉概率Pc进行交叉,其中交叉概率Pc设置为0.4~0.9,将配对的个体在交叉位置处,互换各自的位串内容,形成两个新的个体。进一步的,所述步骤S7中的变异概率Pm为0.001~0.1。本专利技术的有益效果在于:根据GIS运算和应用的特殊性和复杂性,建立了基于任务优先级和执行时间的GIS任务模型,作为遗传算法基因编码依据,对请求任务划分优先级,在调度中,让响应时间短、经常使用的操作被优先执行,从而提高用户满意度;设计了用于负载均衡的遗传算法,包括适应度函数、遗传算子以及控制参数,并形成了算法流程,使得集群中的硬件资源得到最优化的利用,避本文档来自技高网
...

【技术保护点】
1.基于GA算法的云计算集群负载调度方法,其特征在于,包括:S1:读取任务队列,从“服务任务执行时间模型表”中查找出每个任务的运行参数;S2:对运行参数进行编码,将运行参数集合转换为染色体位串集合,生产初始种群Group(g),g=0;S3:计算初始种群中每个个体的适应度值;S4:判断终止条件g>=Gmax(Gmax为最大繁殖代数),如果条件不满足,执行S5,否则转到S8:S5:进行选择操作形成下一代种群Group(g),g+=1,采用模拟退火的选择算法;S6:以概率Pc进行交叉操作;S7:以概率Pm进行变异操作,转到S3;S8:算法终止,输出当前最优调度方案。

【技术特征摘要】
1.基于GA算法的云计算集群负载调度方法,其特征在于,包括:S1:读取任务队列,从“服务任务执行时间模型表”中查找出每个任务的运行参数;S2:对运行参数进行编码,将运行参数集合转换为染色体位串集合,生产初始种群Group(g),g=0;S3:计算初始种群中每个个体的适应度值;S4:判断终止条件g>=Gmax(Gmax为最大繁殖代数),如果条件不满足,执行S5,否则转到S8:S5:进行选择操作形成下一代种群Group(g),g+=1,采用模拟退火的选择算法;S6:以概率Pc进行交叉操作;S7:以概率Pm进行变异操作,转到S3;S8:算法终止,输出当前最优调度方案。2.根据权利要求1所述的基于GA算法的云计算集群负载调度方法,其特征在于,所述染色体位串中一个基因代表一个待分配的任务,一个基因表示为(t,l,p,n),其中t表示任务编号,l表示任务规模,即任务的预期执行时间,p表示任务优先级,p是一个布尔值,用1(True)表示高优先级,在节点内部任务执行时会被优先排序,0(False)表示低优先级,会被推后执行,n表示该任务被分配到的集群节点服务器编号,n的值采取随机的方式生成,即从n的取值范围0<n<Ns中随机选取正整数给n赋值,形成一个染色体;一个染色体由一组带分配的任务构成,一个染色体对应一个负载调度方案,一个染色体的表达方式为{(t,l,p,n)|t>C,l>0,p=0|1,0<n<Ns},其中C为负载策略转换阀值(C=K*Ns),1为正整数,Ns为集群节点数量。3.根据权利要求1所述的基于GA算法的云计算集群负载调度方法,其特征在于,所述适应度值由适应度函数表示,所述适应度函数定位为其中反映集群节点负载均衡程度的节点负载量偏差集群节点平均负载量为节点负载总量为其中集群节点负载量(Li)为当前分配负载值(Lc)与预期(算法分配)负载值(Le)之和即Li=Lc+Le,节点当前负载任务数为Tc,第n个任务预期执行时间为ctn,预期负载任务数为Te,第n个任务预期执行时间为etn。4.根据权利要求1所述的...

【专利技术属性】
技术研发人员:阮浩德陈静吴晓生马星马力
申请(专利权)人:广东省城乡规划设计研究院
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1