CN116302389A - 一种基于改进蚁群算法的任务调度方法 - Google Patents
一种基于改进蚁群算法的任务调度方法 Download PDFInfo
- Publication number
- CN116302389A CN116302389A CN202310011320.6A CN202310011320A CN116302389A CN 116302389 A CN116302389 A CN 116302389A CN 202310011320 A CN202310011320 A CN 202310011320A CN 116302389 A CN116302389 A CN 116302389A
- Authority
- CN
- China
- Prior art keywords
- task
- virtual machine
- pheromone
- path
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 239000003016 pheromone Substances 0.000 claims abstract description 59
- 230000008569 process Effects 0.000 claims abstract description 15
- 230000005540 biological transmission Effects 0.000 claims abstract description 10
- 238000005457 optimization Methods 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims abstract description 5
- 241000257303 Hymenoptera Species 0.000 claims description 22
- 230000002431 foraging effect Effects 0.000 claims description 8
- 230000007704 transition Effects 0.000 claims description 6
- 230000000694 effects Effects 0.000 claims description 5
- 230000003631 expected effect Effects 0.000 claims description 2
- 241000894007 species Species 0.000 claims description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于改进蚁群算法的任务调度方法,基于改进蚁群算法的调度方法,综合考虑云计算系统计算节点负载能力、任务等待时间、负载均衡性能等因素,优化了传统蚁群算法中的信息素更新策略与启发式因子来避免局部最优和实现快速收敛,引入了奖惩措施更新信息素,并根据任务选择虚拟机执行时的传输时间、执行时间、等待时间来对启发式因子的计算进行优化。在调度中不仅缩短了任务的完成时间,提高了云资源利用率,还可以达到负载均衡的目的。本发明方法实现了任务调度中负载均衡度的优化,减少了任务的完成时间。
Description
技术领域
本发明涉及一种任务调度技术,特别涉及一种基于改进蚁群算法的任务调度方法。
背景技术
云计算是分布式计算的一种,作为异构的分布式计算平台,集分布式计算、网格计算、并行计算于一体的的商业发展。旨在为用户提供便捷的可用资源,包括网络、软件、服务器、存储等。在云计算环境中,用户可通过付费的方式,使用云提供商提供的基础设施或服务。云计算调度中心可以根据用户提交的作业请求为其分配各种所需资源。由于成千上万的用户同时使用云环境并且任务数量繁重,因此使用任务调度方法对云平台保持稳定性能具有重要影响与极大的实际理论研究意义。
调度是指在云环境下根据资源和任务的实时情况,将任务分配或迁移到合适资源上执行的过程,而其中就会涉及到任务执行时间、成本花费、负载均衡度、能源消耗等多个目标的参数优化与指标评测,进而可能牵扯到整个云计算平台的性能。所以如何使用高效的调度策略成为了云计算领域中的一个重要研究问题。
云计算环境下的调度本质是一个映射的过程,在相应条件下根据资源、任务二者的状态信息,将云用户提交的相互独立的任务映射到对应的虚拟机资源上执行并返回最终处理结果。由于云计算的高灵活性与动态可扩展性,当大量用户共享云资源同时进行调度,会给系统负载带来严峻考验。所以任务调度的主要目标是在用户提交的任务与云资源之间找到最适合的映射关系,即最优调度策略,以便在满足用户任务需求的前提下最大程度的减少任务完成时间与所耗成本,从而提高云资源使用效率。
发明内容
针对云计算环境下的调度优化问题,提出了一种基于改进蚁群算法的任务调度方法,综合考虑云计算系统计算节点负载能力、任务等待时间、负载均衡性能等因素,优化了传统蚁群算法中的信息素更新策略与启发式因子来避免局部最优和实现快速收敛。基于蚁群算法实现了任务调度中负载均衡度的优化,减少了任务的完成时间。
本发明的技术方案为:一种基于改进蚁群算法的任务调度方法,具体包括如下步骤:1)初始化各项参数,包括蚂蚁数量x、信息素浓度τij(t)、启发式因子ηij(t)、奖惩系数δ、禁忌表allowedk以及任务、虚拟机的集合;
2)将x只蚂蚁随机分配到相应的虚拟机资源节点;
3)假设在云计算环境中,有m个虚拟机等待执行任务,有n个待处理任务,蚂蚁x只,当蚂蚁寻找食物时会在路径上留下信息素,下一只蚂蚁会依据信息素浓度来选择觅食路径;
4)当蚂蚁移动到新的虚拟机上后,更新每只蚂蚁经过各自路径的信息素,并将已选择的虚拟机加入至禁忌表中;
5)循环执行步骤2)到步骤4),直到蚁群中的所有蚂蚁都找到一个可行路径为止;
6)比较所有可行路径,根据奖惩措施,对较优路径的信息素进行“奖励”,对较差路径上的信息素进行“惩罚”,并更新所有路径的全局信息素;
7)判断当前迭代次数是否达到预设迭代次数,是则停止搜索,输出相应的最佳路径,即全局最优调度方案。
进一步,所述步骤3)实现具体方法:根据概率转移公式,计算每只蚂蚁移动到禁忌表外的虚拟机集合中下一资源节点的概率,概率转移公式根据下式确定:
式中,表示蚂蚁k为任务i选择资源vmj的概率;τij(t)表示在t时刻任务i在虚拟机vmj上执行的信息素浓度;α表示信息素启发系数,代表蚂蚁觅食路径上的信息素浓度对其的影响程度;ηij(t)为启发式因子;β表示期望启发系数,代表期望对路径选择的作用,其大小反映的是蚁群寻优过程种先验性、确定性因素作用的强度;allowedk表示蚂蚁可以选择的下一个虚拟机的集合,也即除在禁忌表以外的其他路径,τik(t)表示在t时刻任务i在虚拟机vmk上执行的信息素浓度;ηik(t)表示t时刻任务i在虚拟机vmk上执行的启发式因子。
进一步,所述步骤4)更新每只蚂蚁经过各自路径的信息素的同时,在t时刻任务i选择虚拟机vmj执行的启发式因子ηij(t)加以考虑任务的等待时间并根据下式确定:
任务的完成时间是指从提交云任务到在虚拟机上完成云任务的全过程,也就是说,单个任务的完成时间由传输时间、等待时间和在虚拟机上的执行时间组成;式中,i表示当前任务,j表示当前虚拟机,transTimeij表示任务i在虚拟机vmj上的传输时间,exeTimeij表示任务i在虚拟机vmj上的执行时间,waitTimeij表示任务i在虚拟机vmj上的等待时间;
式中CLij表示传递到第j台虚拟机的任务i的任务长度,BWj表示第j台虚拟机的带宽。
任务i在虚拟机vmj上的执行时间按照下式计算得到:
式中TLj表示第j台虚拟机上的总任务量,MIPSj表示第j台虚拟机的计算能力。
进一步,所述步骤6)信息素的奖惩方式根据下式确定:
式中表示改进蚁群算法信息素更新后的浓度;/>表示更新前的信息素浓度;δ为算法引入的奖惩系数;T为系统常数;Lnow为当前路径的总长度;Llast为上一次搜索的路径总长度;当新路径较之前短的时候,给予奖励措施,对信息素浓度增加/>当新路径较之前更长则予以惩罚,在当前信息素浓度基础上减去/>
本发明的有益效果在于:本发明基于改进蚁群算法的任务调度方法,基于改进蚁群算法的调度方法,在信息素更新与启发因子的改进两方面进行改进。介绍了蚁群优化算法任务调度模型、路径选择的概率、蚂蚁信息素的改变。基于传统蚁群算法收敛速度慢和搜索效率低的问题,引入了奖惩措施更新信息素,并根据任务ti选择虚拟机vmj执行时的传输时间、执行时间、等待时间来对启发式因子ηij(t)的计算进行优化。在调度中不仅缩短了任务的完成时间,提高了云资源利用率,还可以达到负载均衡的目的。
附图说明
图1为本发明基于改进蚁群算法的任务调度方法流程图;
图2为云计算环境下任务调度框架图。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
如图1所示基于改进蚁群算法的任务调度方法流程图,方法包括如下步骤:
步骤1、初始化各项参数,包括蚂蚁数量x、信息素浓度τij(t)、启发式因子ηij(t)、奖惩系数δ、禁忌表allowedk以及任务、虚拟机的集合。
步骤2、将x只蚂蚁随机分配到相应的虚拟机资源节点(蚂蚁数量x如果数量设置过大,将会使每条路径上信息素趋于平均,使正反馈作用减弱,从而使收敛速度减慢;如果蚂蚁数量x设置过小,可能会导致一些从来没有被搜索过的路径信息素浓度减少为0,从而使算法过早收敛,解的全局最优性降低。一般将蚂蚁数量设置为目标数的1.5倍)。
步骤3、假设在云计算环境中,有m个虚拟机等待执行任务,有n个待处理任务,蚂蚁x只,当蚂蚁寻找食物时会在路径上留下信息素,下一只蚂蚁会依据信息素浓度来选择觅食路径。如图2所示云计算环境下任务调度框架图,根据概率转移公式,计算每只蚂蚁移动到禁忌表外的虚拟机集合中下一资源节点的概率,概率转移公式根据下式确定:
式中,表示蚂蚁k为任务i选择资源vmj的概率;τij(t)表示在t时刻任务i在虚拟机vmj上执行的信息素浓度;α表示信息素启发系数,代表蚂蚁觅食路径上的信息素浓度对其的影响程度,α的值与其对蚂蚁路径选择的影响成正比,值越大,蚂蚁选择以前走过路径的可能性越大,会使蚁群更容易的收敛,导致搜索的随机性减弱不利于寻找全局最优解,过小的话就没有了信息素的意义;ηij(t)为启发式因子;β表示期望启发系数,代表期望对路径选择的作用,其大小反映的是蚁群寻优过程种先验性、确定性因素作用的强度,当它越大也更容易导致收敛过快,一般取值为α=1,β=5。allowedk表示蚂蚁可以选择的下一个虚拟机的集合,也即除在禁忌表以外的其他路径,τik(t)表示在t时刻任务i在虚拟机vmk上执行的信息素浓度;ηik(t)表示t时刻任务i在虚拟机vmk上执行的启发式因子。
步骤4、当蚂蚁移动到新的虚拟机上后,更新每只蚂蚁经过各自路径的信息素,并将已选择的虚拟机加入至禁忌表中,同时在t时刻任务i选择虚拟机vmj执行的启发式因子ηij(t)会加以考虑任务的等待时间并根据下式确定:
任务的完成时间是指从提交云任务到在虚拟机上完成云任务的全过程,也就是说,单个任务的完成时间由传输时间、等待时间和在虚拟机上的执行时间组成。式中,i表示当前任务,j表示当前虚拟机,transTimeij表示任务i在虚拟机vmj上的传输时间,exeTimeij表示任务i在虚拟机vmj上的执行时间,waitTimeij表示任务i在虚拟机vmj上的等待时间。
在任务i选择虚拟机vmj执行后,计算该任务的传输时间,计算公式如下:
式中CLij表示传递到第j台虚拟机的任务i的任务长度,BWj表示第j台虚拟机的带宽。
任务i在虚拟机vmj上的执行时间按照下式计算得到:
式中TLj表示第j台虚拟机上的总任务量,MIPSj表示第j台虚拟机的计算能力。
步骤5、循环执行步骤2到步骤4,直到蚁群中的所有蚂蚁都找到一个可行路径(即所有任务到各自虚拟机的分配方案)为止。
步骤6、比较所有可行路径,根据奖惩措施,对较优路径的信息素进行“奖励”,对较差路径上的信息素进行“惩罚”,并更新所有路径的全局信息素。信息素浓度的大小在任务调度中代表路径的远近,信息素浓度越高表示对应的路径距离越短,分配方案更优,信息素的奖惩方式根据下式确定:
式中表示改进蚁群算法信息素更新后的浓度,/>表示更新前的信息素浓度,δ为算法引入的奖惩系数,T为系统常数,Lnow为当前路径的总长度,Llast为上一次搜索的路径总长度。当新路径较之前短的时候,给予奖励措施,对信息素浓度增加/>当新路径较之前更长则予以惩罚,在当前信息素浓度基础上减去/>
式中奖惩系数δ与系统常数T的值一般取δ=1.3,T=100。
步骤7、判断当前迭代次数是否达到预设迭代次数,是则停止搜索,输出相应的最佳路径,即全局最优调度方案。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (4)
1.一种基于改进蚁群算法的任务调度方法,其特征在于,具体包括如下步骤:
1)初始化各项参数,包括蚂蚁数量x、信息素浓度τij(t)、启发式因子ηij(t)、奖惩系数δ、禁忌表allowedk以及任务、虚拟机的集合;
2)将x只蚂蚁随机分配到相应的虚拟机资源节点;
3)假设在云计算环境中,有m个虚拟机等待执行任务,有n个待处理任务,蚂蚁x只,当蚂蚁寻找食物时会在路径上留下信息素,下一只蚂蚁会依据信息素浓度来选择觅食路径;
4)当蚂蚁移动到新的虚拟机上后,更新每只蚂蚁经过各自路径的信息素,并将已选择的虚拟机加入至禁忌表中;
5)循环执行步骤2)到步骤4),直到蚁群中的所有蚂蚁都找到一个可行路径为止;
6)比较所有可行路径,根据奖惩措施,对较优路径的信息素进行“奖励”,对较差路径上的信息素进行“惩罚”,并更新所有路径的全局信息素;
7)判断当前迭代次数是否达到预设迭代次数,是则停止搜索,输出相应的最佳路径,即全局最优调度方案。
2.根据权利要求1所述基于改进蚁群算法的任务调度方法,其特征在于,所述步骤3)实现具体方法:根据概率转移公式,计算每只蚂蚁移动到禁忌表外的虚拟机集合中下一资源节点的概率,概率转移公式根据下式确定:
3.根据权利要求1或2所述基于改进蚁群算法的任务调度方法,其特征在于,所述步骤4)更新每只蚂蚁经过各自路径的信息素的同时,在t时刻任务i选择虚拟机vmj执行的启发式因子ηij(t)加以考虑任务的等待时间并根据下式确定:
任务的完成时间是指从提交云任务到在虚拟机上完成云任务的全过程,也就是说,单个任务的完成时间由传输时间、等待时间和在虚拟机上的执行时间组成;式中,i表示当前任务,j表示当前虚拟机,transTimeij表示任务i在虚拟机vmj上的传输时间,exeTimeij表示任务i在虚拟机vmj上的执行时间,waitTimeij表示任务i在虚拟机vmj上的等待时间;
式中CLij表示传递到第j台虚拟机的任务i的任务长度,BWj表示第j台虚拟机的带宽。
任务i在虚拟机vmj上的执行时间按照下式计算得到:
式中TLj表示第j台虚拟机上的总任务量,MIPSj表示第j台虚拟机的计算能力。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310011320.6A CN116302389A (zh) | 2023-01-05 | 2023-01-05 | 一种基于改进蚁群算法的任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310011320.6A CN116302389A (zh) | 2023-01-05 | 2023-01-05 | 一种基于改进蚁群算法的任务调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116302389A true CN116302389A (zh) | 2023-06-23 |
Family
ID=86802145
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310011320.6A Pending CN116302389A (zh) | 2023-01-05 | 2023-01-05 | 一种基于改进蚁群算法的任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116302389A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117319505A (zh) * | 2023-11-30 | 2023-12-29 | 天勰力(山东)卫星技术有限公司 | 一种面向软件定义卫星共享网络的星上任务抢单系统 |
CN117785381A (zh) * | 2023-12-19 | 2024-03-29 | 江南大学 | 一种基于多种群蚁群算法的虚拟机部署规划方法 |
CN117933667A (zh) * | 2024-03-21 | 2024-04-26 | 广州疆海科技有限公司 | 虚拟电厂的资源调度方法、装置、计算机设备和存储介质 |
-
2023
- 2023-01-05 CN CN202310011320.6A patent/CN116302389A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117319505A (zh) * | 2023-11-30 | 2023-12-29 | 天勰力(山东)卫星技术有限公司 | 一种面向软件定义卫星共享网络的星上任务抢单系统 |
CN117319505B (zh) * | 2023-11-30 | 2024-02-06 | 天勰力(山东)卫星技术有限公司 | 一种面向软件定义卫星共享网络的星上任务抢单系统 |
CN117785381A (zh) * | 2023-12-19 | 2024-03-29 | 江南大学 | 一种基于多种群蚁群算法的虚拟机部署规划方法 |
CN117933667A (zh) * | 2024-03-21 | 2024-04-26 | 广州疆海科技有限公司 | 虚拟电厂的资源调度方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110737529B (zh) | 一种面向短时多变大数据作业集群调度自适应性配置方法 | |
CN116302389A (zh) | 一种基于改进蚁群算法的任务调度方法 | |
CN110489229B (zh) | 一种多目标任务调度方法及系统 | |
US10474504B2 (en) | Distributed node intra-group task scheduling method and system | |
CN112988345B (zh) | 一种基于移动边缘计算的依赖型任务卸载方法及装置 | |
Al-maamari et al. | Task scheduling using hybrid algorithm in cloud computing environments | |
US8843929B1 (en) | Scheduling in computer clusters | |
CN102932422A (zh) | 基于改进蚁群算法的云环境任务调度方法 | |
CN105975342A (zh) | 基于改进布谷鸟搜索算法的云计算任务调度方法及系统 | |
CN114968510A (zh) | 一种基于改进蚁群算法的多目标动态任务调度方法和系统 | |
CN111913800B (zh) | 基于l-aco的云中微服务成本优化的资源分配方法 | |
Wei et al. | A cloud manufacturing resource allocation model based on ant colony optimization algorithm | |
CN110321217A (zh) | 一种多目标的云资源调度方法、装置、设备及存储介质 | |
CN107291544A (zh) | 任务调度的方法及装置、分布式任务执行系统 | |
Zhou et al. | A novel task scheduling algorithm integrated with priority and greedy strategy in cloud computing | |
CN110362379A (zh) | 基于改进蚁群算法的虚拟机调度方法 | |
KR20230007941A (ko) | 에지 컴퓨팅 기반 산업용 사물 인터넷 환경에서 강화학습을 활용한 태스크 오프로딩 방법 | |
CN109710372A (zh) | 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法 | |
CN118394520A (zh) | 一种基于云边端协同的任务负载均衡调度方法 | |
CN106407007B (zh) | 面向弹性分析流程的云资源配置优化方法 | |
CN117608806A (zh) | 智能电网云边协同机制下计算任务雾-雾-云优化方法 | |
Zhao et al. | A parallel-batch multi-objective job scheduling algorithm in edge computing | |
Naik et al. | Developing a cloud computing data center virtual machine consolidation based on multi-objective hybrid fruit-fly cuckoo search algorithm | |
Javadi-Moghaddam et al. | Resource allocation in cloud computing using advanced imperialist competitive algorithm. | |
CN116089083A (zh) | 一种多目标数据中心资源调度方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |