CN102932422B - 基于改进蚁群算法的云环境任务调度方法 - Google Patents

基于改进蚁群算法的云环境任务调度方法 Download PDF

Info

Publication number
CN102932422B
CN102932422B CN201210374595.8A CN201210374595A CN102932422B CN 102932422 B CN102932422 B CN 102932422B CN 201210374595 A CN201210374595 A CN 201210374595A CN 102932422 B CN102932422 B CN 102932422B
Authority
CN
China
Prior art keywords
node
ant
task
cloud environment
life
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.)
Expired - Fee Related
Application number
CN201210374595.8A
Other languages
English (en)
Other versions
CN102932422A (zh
Inventor
程春玲
吴皓
李阳
张登银
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai cloud ladder Mdt InfoTech Ltd
Original Assignee
Nanjing Post and Telecommunication University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Post and Telecommunication University filed Critical Nanjing Post and Telecommunication University
Priority to CN201210374595.8A priority Critical patent/CN102932422B/zh
Publication of CN102932422A publication Critical patent/CN102932422A/zh
Application granted granted Critical
Publication of CN102932422B publication Critical patent/CN102932422B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于改进蚁群算法的云环境任务调度方法。本发明在现有蚁群算法基础上引入了剩余生命信息素(RLP)的概念,通过在搜索过程中兄弟蚂蚁RLP的比较,可以有效地减少重复搜索,提高搜索精度;并进一步给出了兄弟蚂蚁的数目计算方法,使蚂蚁数目能够随着云环境的负载和任务的具体情况动态变化,从而在不给系统增加过重负担的同时保证搜索精度。相比现有技术,本发明方法能够在尽可能满足用户任务执行时间的需求的同时,提高任务的分配效率和执行效率。

Description

基于改进蚁群算法的云环境任务调度方法
技术领域
本发明涉及云环境下的任务调度方法,尤其涉及一种基于改进蚁群算法的云环境任务调度方法,属于分布式计算和计算机网络应用领域。
背景技术
云计算是一种利用互联网实现随时随地、按需、便捷地访问共享资源池(如计算设施、存储设备、应用程序等)的计算模式,是网格计算的发展与商业实现。它将计算任务分布在大量计算机构成的数据中心,从而使得各种应用能够根据需要获取计算能力、存储空间和信息服务。目前,云计算环境由大规模的廉价计算节点构成,如何高效地使用这些节点的计算、存储和宽带等资源尤为重要。云环境下的任务调度策略是合理利用云环境下的资源的一种有效方式,高效的任务调度策略对缩短任务分配时间、提高云环境的资源使用率、确保云计算系统的服务质量(Quality ofService,QoS)、和云服务提供商遵守与用户签订的服务等级协议(Service-Level Agreement,SLA)具有十分重要的意义。
云计算的任务调度主要研究如何将用户提交的任务分配给计算节点以及如何对计算节点进行动态扩展。由于云环境具有节点数量庞大、资源动态分配、节点失效频繁造成节点分布动态变化等特点,因此任务调度必须能适应动态的云计算环境。目前,云环境下的任务调度算法通常从保证用户的QoS和降低云服务提供商的成本两个方面展开研究。用户的QoS主要包括用户按需支付的费用、任务完成时间、可靠性和安全性等因素。而从云计算的服务提供商角度出发,则希望在满足以上用户特定要求的基础上能够降低云系统的能量消耗,减少运营成本。例如,为保证用户任务的执行时间,JiayinLi等人提出一种基于动态反馈的调度算法进行抢占式任务调度,在资源竞争紧张的情况下也能较好地确保任务的完成时间(Jiayin Li,Meikang Qiu,JianWei Liu,et al.Feedback Dynamic Algorithms for Preemptable Job Scheduling in Cloud Systems[J].IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology.2010:561-564);为减少云服务提供商的运营成本,Cao Qi等人提出一种ABC(ActivityBased Costing)任务调度算法,通过衡量任务开销和任务运行表现来获得比传统方法更准确的成本测量结果,从而降低系统资源的开销成本(Cao Qi,ZhiBo Wei,WenMao Gong.An Optimized Algorithm for Task Scheduling Based on Activity Based Costing inCloud Computing[C],3rd International Conference on Advances in Computing and Artificial Intelligence.2009:1-3);
蚁群算法由于其并行分布性、扩展性、易实现和鲁棒性强等优点,非常适合用于云环境下的任务调度。Xin Lu等人利用蚁群算法在云环境中某些节点负载过重的情况下迁移正在执行的任务,从而确保云环境的负载均衡,但当任务较多时任务迁移的代价较大(Xin Lu,Zilong Gu.A load-adapative cloud resource scheduling model based on antcolony algorithm[C],IEEE International Conference on Cloud Computingand Intelligenc e Systems2011:296-300);王永贵,韩瑞莲在任务分配过程中将蚁群算法和遗传算法相结合,有效地缩短了任务分配时间,但是蚁群之间交互性不强,会进行过多的无效搜索(王永贵,韩瑞莲.基于改进蚁群算法的云环境任务调度研究.计算机测量与控制,2011(5):1203-1204,1211);刘永等人在蚁群算法中引入了双向蚂蚁机制,在一定程度上加强了蚂蚁之间的交流,缺点是只有发现资源时才会产生反向蚂蚁,如果云环境下可用资源较少,算法提升的效率不高(刘永,王新华,邢长明等.云计算环境下基于蚁群优化算法的资源调度策略[J].计算机技术与发展,2011(9):19-23,27)。
综上所述,现有的用于云环境下任务调度的蚁群算法存在蚂蚁之间缺乏交流导致搜索效率不高的问题。
发明内容
本发明所要解决的技术问题在于克服现有技术的不足,从加强蚁群之间协作的角度对蚁群算法进行改进,使其适应于资源和负载动态变化的云计算环境,提供一种基于改进蚁群算法的云环境任务调度方法,能够提高蚁群算法在云环境中进行任务调度的搜索效率和精度。
本发明具体采用以下技术方案:
一种基于改进蚁群算法的云环境任务调度方法,管理节点为每个任务分配多只蚂蚁分别进行任务节点的搜索,管理节点根据所述多只蚂蚁的搜索结果进行任务分配,具体包括以下步骤:
步骤1:管理节点为每个任务节点赋予初始信息素;
步骤2:确定每个任务所需派出的蚂蚁数目;
步骤3:为每只蚂蚁设定生命周期及初始剩余生命信息素:生命周期为蚂蚁的最大跳数,初始剩余生命信息素的值和生命周期相等;
步骤4:将所有蚂蚁随机分布在云环境中的任务节点上,并根据所在节点初始化蚂蚁结构表的信息,所述蚂蚁结构表中包括:生命周期、剩余生命信息素、禁忌节点集、最优节点信息;
步骤5:每只蚂蚁搜索下一跳节点时,先获取所搜索到的节点上是否存在与其携带同一任务的其它蚂蚁留存的剩余生命信息素信息,如不存在,则跳至该节点并将自身的剩余生命信息素信息留存于该节点,继续进行下一跳节点的搜索;如存在,则判断如跳至该节点后,自身的剩余生命信息素的值是否大于该节点上当前所留存的剩余生命信息素的值,如大于,则蚂蚁跳至该节点,并用自身的剩余生命信息素的值更新该节点上当前所留存的剩余生命信息素的值,继续进行下一跳节点的搜索;反之,蚂蚁将该节点加入禁忌节点集,然后重新进行下一跳节点的搜索;蚂蚁每跳一步,自身的剩余生命信息素的值减1;当自身的剩余生命信息素的值为0时,蚂蚁停止搜索;
步骤6:蚂蚁跳至下一跳节点后,计算所携带的任务在该节点上的预计执行时间,若预计执行时间小于蚂蚁当前结构表中存储的最小执行时间,则以所述预计执行时间更新蚂蚁当前结构表中存储的最小执行时间,以该节点信息更新蚂蚁当前结构表中存储的最优节点信息;反之,蚂蚁结构表中存储的信息不改变;重复步骤5和步骤6直到所有蚂蚁生命周期结束;
步骤7:每个蚂蚁将他们找到的最优节点信息发送给管理节点,管理节点从这些最优节点中选择合适节点进行任务分配。
优选地,管理节点为任意一个任务m所分配的蚂蚁数目N(m)根据下式确定:
N ( m ) = TaskLength ( m ) + ( Σ i = 1 M ForwardTask ( i ) ) μ AvgCpu · DeadLine ( m ) · log NodeNum
式中,TaskLength(m)表示任务m的长度,ForwardTask(i)表示管理节点中已经分配出去但是还未执行完毕的第i个任务的长度,二者的单位均为兆比特;M为管理节点中已经分配出去但是还未执行完毕的任务总数,AvgCpu为所述云环境中所有节点中各CPU的平均处理能力,单位为MIPS;DeadLine(m)表示任务m所允许的最长执行时间,单位为秒;NodeNum表示所述云环境中当前可用节点的数目;μ是调节因子,其取值范围为(0,1)。
优选地,所述蚂蚁的生命周期按照下式计算得到:
Hp k = NodeNum TaskNum × γ ( m )
其中,Hpk表示为蚂蚁k的生命周期,NodeNum表示所述云环境下可用节点的总数量,TaskNum表示管理节点将一个作业切分后的任务数,γ(m)表示蚂蚁k所携带的任务m的紧迫系数。
所述任务m的紧迫系数γ(m)按照下式确定:
γ ( m ) = DeadLine min DeadLine ( m )
式中,DeadLine(m)表示任务m允许的最长执行时间,DeadLinemin表示所有任务中最小的允许的最长执行时间。
步骤6中,计算所携带的任务在该节点上的预计执行时间,具体按照以下公式:
PreTime ( m , j ) = TaskLen ( m ) p rest ( j ) (m=1,2,3,…M;j=1,2,3,…N)
其中,PreTime(m,j)表示任务m在节点j上的预计执行时间;TaskLen(m)表示任务m的长度;prest(j)表示节点j的剩余CPU处理能力。
任一任务节点i在t时刻的信息素τi(t)按照下式计算:
τ i ( t ) = A ( m i × τ i p ( t ) ) + Bτ i r ( t ) + C τ i h ( t )
式中,mi表示节点i的CPU个数;A、B、C分别为节点i在t时刻的CPU信息素内存信息素带宽信息素的权重系数,且A+B+C=1; 的表达式分别如下:
τ i p ( t ) = p i rest ( t ) p i × 100 %
τ i r ( t ) = r i rest ( t ) r i × 100 %
τ i h ( t ) = h i rest ( t ) h i × 100 %
其中,pi表示节点i的CPU最大处理能力,单位为MIPS;ri表示节点i的最大内存,单位为兆比特;hi表示节点i的最大网络带宽,单位为兆比特/秒; 分别为t时刻节点i的剩余CPU处理能力、剩余内存和带宽容量。
每只蚂蚁搜索下一跳节点时,首先选取相邻节点中转移概率最高的节点,然后对其进行剩余生命信息素的判断;所述转移概率根据下式计算:
P ij k ( t ) = [ τ j ( t ) ] α × [ η j ] β Σ [ τ j ( t ) ] α × [ η j ] β j ∈ { U ( i ) } 0 j ∉ { U ( i ) }
式中,U(i)表示与节点i直接相邻的节点的集合;表示蚂蚁k在t时刻从i节点转移到j节点的概率;τj(t)表示t时刻节点j的信息素;ηj表示节点j的初始信息素,其值等于τj(0);α、β为预设的重要性参数。
相比现有技术,本发明具有以下有益效果:
本发明在现有蚁群算法基础上引入了剩余生命信息素(RLP,Rest-Life-Pheromone),通过在搜索过程中兄弟蚂蚁(Brother Ants,即携带同一任务的蚂蚁)RLP的比较,可以有效地减少重复搜索,提高搜索精度;并进一步给出了兄弟蚂蚁的数目计算方法,使蚂蚁数目能够随着云环境的负载和任务的具体情况动态变化,从而在不给系统增加过重负担的同时保证搜索精度。
附图说明
图1是云计算环境中的任务调度示意图;
图2是本发明方法的任务调度模型;
图3是本发明方法的整体流程示意图;
图4为三种算法的任务执行时间满足率比较结果;
图5为三种算法的任务平均分配时间比较结果;
图6为三种算法的任务平均运行时间比较结果。
具体实施方式
下面结合附图对本发明的技术方案进行详细说明:
云计算环境的任务调度系统,其基本结构如图1所示,由任务调度器和大量计算机、存储设备和连接它们的网络互联设备组成。任务调度器为用户与云计算环境之间的接口,用来实现本发明方法;在一台计算机上可以动态的建立或删除多个虚拟机来满足任务请求。
上述任务调度系统采用图2所示的调度模型,云环境中包含L个节点。用户提交作业Job以后,调度器将会把作业切分成m个任务,每个任务在云环境中寻找满足任务执行时间要求的任务执行效率最高的节点。当任务找到节点后,在该节点上创建虚拟机执行任务。任务完成以后虚拟机自动销毁,节点资源得到释放。
现有基于蚁群算法的任务调度方法,由于蚂蚁之间缺乏有效的沟通协作,从而导致搜索效率较低。本发明针对这一问题,提出了一种改进的蚁群任务调度算法,算法提出了兄弟蚂蚁的概念来加强携带相同任务的蚂蚁之间的协作,并给出兄弟蚂蚁数目的计算方法使之适应云环境动态变化的特点。作为兄弟蚂蚁之间交流的媒介,提出蚂蚁剩余生命信息素的概念来表示蚂蚁的当前搜索能力。在此基础上,提出了一种兄弟蚂蚁协作式任务调度策略,该策略在搜索过程中通过比较云环境下节点上存储的兄弟蚂蚁RLP值来加强蚂蚁之间的协作,从而扩大蚂蚁的有效搜索范围,提高任务调度的效率。
为了实现本发明技术方案,需要对蚂蚁结构表进行改进,使其包括生命周期、剩余生命信息素、禁忌节点集、最优节点信息等信息。本具体实施方式中的蚂蚁结构表如表1所示,包括:任务编号TaskID,任务编号是判断是否兄弟蚂蚁的依据;任务长度TaskLen,表示蚂蚁携带的任务的长度;剩余生命信息素RLP,该值在蚂蚁搜索过程中逐步减少;搜索禁忌节点集Ns,存储蚂蚁已经搜索过的节点和按照规则无需搜索的节点;任务执行节点编号BestId和该节点的信息素BestInfo,这两个选项存储蚂蚁目前找到的执行任务效率最高的节点编号及其信息素;任务预计执行时间PreTime表示任务在该节点上的预测执行时间。
表1蚂蚁结构表
本发明的任务调度方法,如图3所示,具体包括以下步骤:
步骤1)每当用户提交一个作业Job,该Job将会被任务调度器切分成m个任务,任务列表T={T1,T2,…,Tm}。
步骤2)节点信息素初始化:当为一个任务分配资源时,首先需观察云环境下节点的各项硬件状态,例如CPU个数及处理能力,内存和外存的容量以及网络传输速度等,观察节点的这些资源能否满足任务运行要求并判断任务在这些节点上的执行效率,然后确定是否在此节点上分配虚拟机。因此,本发明根据云环境下每个节点的CPU个数和处理能力、内存容量以及网络带宽确定每个节点的初始信息素τ(0),具体按照(1)-(4)式进行计算:
τ i p ( t ) = p i rest ( t ) p i × 100 % - - - ( 1 )
τ i r ( t ) = r i rest ( t ) r i × 100 % - - - ( 2 )
τ i h ( t ) = h i rest ( t ) h i × 100 % - - - ( 3 )
τ i ( t ) = A ( m i × τ i p ( t ) ) + Bτ i r ( t ) + C τ i h ( t ) - - - ( 4 )
其中,pi表示节点i的CPU最大处理能力,单位为MIPS;ri表示节点i的最大内存,单位为兆比特;hi表示i的最大网络带宽,单位为兆比特/秒。mi表示节点i的CPU个数; 分别为t时刻节点i的剩余CPU处理能力,剩余内存和带宽容量; 分别表示节点i在t时刻的CPU、内存和带宽的信息素;A、B、C为分别代表这些参数在任务调度中的重要程度的权重系数,A+B+C=1。当t为0时,τi(0)为节点i的初始信息素。
步骤3)确定每个任务所需派出的蚂蚁数目,即计算兄弟蚂蚁的数目。现有的蚁群算法在每次调度开始时给任务分配的蚂蚁数量是确定的,可能会对较短的任务进行了过多搜索,在云环境中,则给节点增加了额外的负担;而较长任务一般对资源配置要求高,分配固定数量的蚂蚁可能出现搜索结果不够优化的现象。因此,本发明中派遣蚂蚁的数量根据当前携带任务的大小、云环境的当前负载以及任务的执行时间要求计算得出。需要调度的任务越长,云环境下正在执行的任务越多,云环境规模越大,蚂蚁就越不容易找到满足执行要求的节点,因此需要的蚂蚁数量越多;同时任务执行时间要求越严格,需要的蚂蚁数量也越多。由于兄弟蚂蚁的数目受到任务长度、正在执行的任务总数、云环境中可用节点数目和任务执行时间要求的影响,具体而言,为任务m分配的兄弟蚂蚁数为:
N ( m ) = TaskLength ( m ) + ( Σ i = 1 M ForwardTask ( i ) ) μ AvgCpu · DeadLine ( m ) · log NodeNum - - - ( 5 )
式(5)中,TaskLength(m)表示蚂蚁携带的任务m的长度,ForwardTask(i)表示Master节点中已经分配出去但是还未执行完毕的任务i的任务长度,二者的单位均为兆比特;AvgCpu为云环境下节点CPU的平均处理能力,单位为MIPS;DeadLine(m)表示任务m所允许的最长执行时间,单位为秒;NodeNum表示云环境当前可用节点的数目,它随着节点的失效和加入而变化;μ是调节因子,它表达了资源负载对蚂蚁兄弟数目的影响,并将兄弟蚂蚁数目控制在一个适当的范围以内,优选取值为0.7。
步骤4)计算蚂蚁的生命周期以及剩余生命信息素。
在任务调度过程中,云环境中节点的数目越多,紧迫程度越高,则蚂蚁可能需要搜索的范围就越广,因而蚂蚁的生命周期应越长;而在调度过程中同样大小的作业切分的任务总数目越多,即携带任务的蚂蚁数目越多,则每个蚂蚁需要搜索的范围应越小,蚂蚁的生命周期就越短。因此,本发明设计蚂蚁生命周期计算公式如下:
Hp k = NodeNum TaskNum × γ ( m ) - - - ( 6 )
其中,Hpk表示为蚂蚁k的生命周期,蚂蚁k携带任务m,NodeNum表示云环境下可用节点的总数量,TaskNum表示一个作业切分后的任务数,γ(m)表示蚂蚁k携带的任务m的紧迫系数;任务m的紧迫系数γ(m),与任务m允许的最长执行时间DeadLine(m)有关,DeadLine(m)越短,说明任务对执行时间的要求越严格,即任务越紧迫。因此,紧迫系数可按照式(7)计算得到:
γ ( m ) = DeadLine min DeadLine ( m ) - - - ( 7 )
式中,DeadLine(m)表示任务m允许的最长执行时间,DeadLinemin表示所有任务中最小的允许的最长执行时间。
本发明利用剩余生命信息素来表示蚂蚁经过一段时间的搜索后所剩余的搜索能力,其定义式如下:
RLP k ( t ) = HP k , t = 0 RLP k ( t - 1 ) - 1 , t>0          (8)
其中,RLPk(t)表示蚂蚁k在t时刻的剩余生命信息素,其初始值等于蚂蚁的生命周期Hpk。当蚂蚁选择一个节点前,先获取该节点上是否有其兄弟蚂蚁的RLP信息,该信息表明了该兄弟蚂蚁选择此节点时的剩余搜索能力,然后当前蚂蚁会将自身RLP-1的值(即假如当前蚂蚁跳至该节点后的RLP值)和其兄弟蚂蚁留在节点上的RLP值进行比较,若蚂蚁RLP-1的值比节点上存储的RLP值大,则将该节点的RLP值更新,蚂蚁进行正常搜索;反之蚂蚁将该节点加入禁忌节点集,重新选择搜索路径。蚂蚁每跳一步,RLP值减1,当RLP值为0时,蚂蚁停止搜索。
步骤5)蚂蚁的初始派发:将所有蚂蚁随机分布在云环境中的节点上,并根据所在节点初始化蚂蚁结构表的信息。
步骤6)蚂蚁下一跳选择:每只蚂蚁搜索下一跳节点时,先获取所搜索到的节点上是否存在与其携带同一任务的其它蚂蚁留存的剩余生命信息素信息,如不存在,则跳至该节点并将自身的剩余生命信息素信息留存于该节点,继续进行下一跳节点的搜索;如存在,则判断如跳至该节点后,自身的剩余生命信息素的值是否大于该节点上当前所留存的剩余生命信息素的值,如大于,则蚂蚁跳至该节点,并用自身的剩余生命信息素的值更新该节点上当前所留存的剩余生命信息素的值,继续进行下一跳节点的搜索;反之,蚂蚁将该节点加入禁忌节点集,然后重新进行下一跳节点的搜索。上述过程中,每只蚂蚁按照Pij的概率作为搜索准则,首先选取相邻节点中转移概率最高的节点,然后对其进行剩余生命信息素的判断;所述转移概率根据下式计算:
P ij k ( t ) = [ τ j ( t ) ] α × [ η j ] β Σ [ τ j ( t ) ] α × [ η j ] β j ∈ { U ( i ) } 0 j ∉ { U ( i ) } - - - ( 9 )
式中,U(i)表示与节点i直接相邻的节点的集合;表示蚂蚁k在t时刻从i节点转移到j节点的概率;τj(t)表示t时刻节点j的信息素;ηj表示节点j的初始信息素,其值等于τj(0);α、β为预设的重要性参数,其最优取值范围为α=1~5,β=1~5。
步骤7)蚂蚁跳至下一跳节点后,计算所携带的任务在该节点上的预计执行时间,若结果小于蚂蚁结构表中存储的PreTime,则表示该任务在该节点上的执行时间比蚂蚁之前遇到的节点要短,因此根据此节点的信息更新BestId、BestInfo和PreTime;反之蚂蚁结构表中存储的信息不改变;重复步骤6和步骤7直到所有蚂蚁生命周期结束。在任务调度时,由于无法事先知道任务确切的执行时间,因此需要对执行时间ExecTime(m)进行合理的预测。任务的处理时间主要和任务长度及节点的CPU处理能力有关,因此本具体实施方式中根据公式(10)估计任务预计执行时间:
PreTime ( m , j ) = TaskLen ( m ) p rest ( j ) (m=1,2,3,…M;j=1,2,3,…N)(10)
其中,PreTime(m,j)表示任务m在节点j上的预测执行时间;TaskLen(m)表示任务m的长度;prest(j)表示节点j的剩余CPU处理能力。
步骤8)任务分配:每个蚂蚁将他们找到的局部最优解发送给Master节点,Master节点选择其中和任务数量相同个执行时间最短的节点作为最优解,并在这些节点上创建虚拟机执行任务。
为了验证本发明的效果,利用计算机仿真对本发明方法(简称CBATSA算法)、传统蚁群算法和双向蚁群算法的任务执行时间满足率、任务平均分配时间、以及任务平均运行时间进行了比较。任务执行时间满足率表达了任务调度算法对于用户任务执行时间需求的满足程度,体现了对用户QoS需求的保证程度;任务平均分配时间表达了任务调度算法的搜索效率,而任务平均执行时间表达了任务调度算法的搜索精度,二者体现了整个云环境的任务处理效率。
仿真实验中,数据中心的配置参数如下表2所示:
表2数据中心配置参数
本发明算法中,各参数设置如下:α=5,β=1,μ=0.7,A、B、C的取值分别是0.8、0.1、0.1。
最终得到的仿真结果如图4-图6所示,其中图4、图5、图6分别为三种算法的任务执行时间满足率、任务平均分配时间、以及任务平均运行时间的比较结果。根据比较结果可以看出,本发明方法能够在尽可能满足用户任务执行时间的需求的同时,提高任务的分配效率和执行效率。

Claims (9)

1.一种基于改进蚁群算法的云环境任务调度方法,管理节点为每个任务分配多只蚂蚁分别进行任务节点的搜索,管理节点根据所述多只蚂蚁的搜索结果进行任务分配,其特征在于,具体包括以下步骤: 
步骤1:管理节点为每个任务节点赋予初始信息素; 
步骤2:确定每个任务所需派出的蚂蚁数目; 
步骤3:为每只蚂蚁设定生命周期及初始剩余生命信息素:生命周期为蚂蚁的最大跳数,初始剩余生命信息素的值和生命周期相等; 
步骤4:将所有蚂蚁随机分布在云环境中的任务节点上,并根据所在节点初始化蚂蚁结构表的信息,所述蚂蚁结构表中包括:生命周期、剩余生命信息素、禁忌节点集、最优节点信息; 
步骤5:每只蚂蚁搜索下一跳节点时,先获取所搜索到的节点上是否存在与其携带同一任务的其它蚂蚁留存的剩余生命信息素信息,如不存在,则跳至该节点并将自身的剩余生命信息素信息留存于该节点,继续进行下一跳节点的搜索;如存在,则判断如跳至该节点后,自身的剩余生命信息素的值是否大于该节点上当前所留存的剩余生命信息素的值,如大于,则蚂蚁跳至该节点,并用自身的剩余生命信息素的值更新该节点上当前所留存的剩余生命信息素的值,继续进行下一跳节点的搜索;反之,蚂蚁将该节点加入禁忌节点集,然后重新进行下一跳节点的搜索;蚂蚁每跳一步,自身的剩余生命信息素的值减1;当自身的剩余生命信息素的值为0时,蚂蚁停止搜索; 
步骤6:蚂蚁跳至下一跳节点后,计算所携带的任务在该节点上的预计执行时间,若预计执行时间小于蚂蚁当前结构表中存储的最小执行时间,则以所述预计执行时间更新蚂蚁当前结构表中存储的最小执行时间,以该节点信息更新蚂蚁当前结构表中存储的最优节点信息;反之,蚂蚁结构表中存储的信息不改变;重复步骤5和步骤6直到所有蚂蚁生命周期结束; 
步骤7:每个蚂蚁将他们找到的最优节点信息发送给管理节点,管理节点从这些最优节点中选择合适节点进行任务分配。 
2.如权利要求1所述基于改进蚁群算法的云环境任务调度方法,其特征在于,管理节点为任意一个任务m所分配的蚂蚁数目N(m)根据下式确定: 
式中,TaskLength(m)表示任务m的长度,ForwardTask(i)表示管理节点中已经分配出去但是还未执行完毕的第i个任务的长度,二者的单位均为兆比特;M为管理节点中已经分配出去但是还未执行完毕的任务总数,AvgCpu为所述云环境中所有节点中各CPU的平均处理能力,单位为MIPS;DeadLine(m)表示任务m所允许的最长执行时间,单位为秒;NodeNum表示所述云环境中当前可用节点的数目;μ是调节因子,其取值范围为(0,1)。 
3.如权利要求2所述基于改进蚁群算法的云环境任务调度方法,其特征在于,调节因子μ的值为0.7。 
4.权利要求1所述基于改进蚁群算法的云环境任务调度方法,其特征在于,所述蚂蚁的生命周期按照下式计算得到: 
其中,Hpk表示为蚂蚁k的生命周期,NodeNum表示所述云环境下可用节点的总数量,TaskNum表示管理节点将一个作业切分后的任务数,γ(m)表示蚂蚁k所携带的任务m的紧迫系数。 
5.权利要求4所述基于改进蚁群算法的云环境任务调度方法,其特征在于,所述任务m的紧迫系数γ(m)按照下式确定: 
式中,DeadLine(m)表示任务m允许的最长执行时间,DeadLinemin表示所有任务中最小的允许的最长执行时间。 
6.权利要求1-5任一项所述基于改进蚁群算法的云环境任务调度方法,其特征在于,步骤6中,计算所携带的任务在该节点上的预计执行时间,具体按照以下公式: 
其中,PreTime(m,j)表示任务m在节点j上的预计执行时间;TaskLen(m)表示任务m 的长度;prest(j)表示节点j的剩余CPU处理能力。 
7.如权利要求1-5任一项所述基于改进蚁群算法的云环境任务调度方法,其特征在于,任一任务节点i在t时刻的信息素τi(t)按照下式计算: 
式中,mi表示节点i的CPU个数;A、B、C分别为节点i在t时刻的CPU信息素内存信息素带宽信息素的权重系数,且A+B+C=1;的表达式分别如下: 
其中,pi表示节点i的CPU最大处理能力,单位为MIPS;ri表示节点i的最大内存,单位为M;hi表示节点i的最大网络带宽,单位为兆比特/秒;分别为t时刻节点i的剩余CPU处理能力、剩余内存和带宽容量。 
8.如权利要求7所述基于改进蚁群算法的云环境任务调度方法,其特征在于,每只蚂蚁搜索下一跳节点时,首先选取相邻节点中转移概率最高的节点,然后对其进行剩余生命信息素的判断;所述转移概率根据下式计算: 
式中,U(i)表示与节点i直接相邻的节点的集合;表示蚂蚁k在t时刻从i节点转移到j节点的概率;τj(t)表示t时刻节点j的信息素;ηj表示节点j的初始信息素,其值等于τj(0);α、β为预设的重要性参数。 
9.如权利要求8所述基于改进蚁群算法的云环境任务调度方法,其特征在于,α、β的取值范围为α=1~5,β=1~5。 
CN201210374595.8A 2012-09-29 2012-09-29 基于改进蚁群算法的云环境任务调度方法 Expired - Fee Related CN102932422B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210374595.8A CN102932422B (zh) 2012-09-29 2012-09-29 基于改进蚁群算法的云环境任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210374595.8A CN102932422B (zh) 2012-09-29 2012-09-29 基于改进蚁群算法的云环境任务调度方法

Publications (2)

Publication Number Publication Date
CN102932422A CN102932422A (zh) 2013-02-13
CN102932422B true CN102932422B (zh) 2014-12-10

Family

ID=47647119

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210374595.8A Expired - Fee Related CN102932422B (zh) 2012-09-29 2012-09-29 基于改进蚁群算法的云环境任务调度方法

Country Status (1)

Country Link
CN (1) CN102932422B (zh)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103279674A (zh) * 2013-06-06 2013-09-04 宁波图腾物联科技有限公司 一种基于蚁群算法的船舶搜救方法
CN103631657B (zh) * 2013-11-19 2017-08-25 浪潮电子信息产业股份有限公司 一种基于MapReduce的任务调度方法
CN103970609B (zh) * 2014-04-24 2017-03-08 南京信息工程大学 一种基于改进蚁群算法的云数据中心任务调度方法
CN104158904B (zh) * 2014-08-28 2017-07-28 重庆邮电大学 一种云辅助移动p2p网络协同下载方法
CN104270418B (zh) * 2014-09-15 2017-09-15 中国人民解放军理工大学 面向用户需求Deadline的云代理预约分配方法
CN106095555A (zh) * 2016-06-17 2016-11-09 河海大学常州校区 基于蚁群算法的wsan中执行器任务调度方法
CN106022475B (zh) * 2016-07-13 2018-08-03 南京邮电大学 基于动态自适应混沌蚁群算法的Web服务组合方法
CN106230716B (zh) * 2016-07-22 2019-05-21 江苏省电力公司信息通信分公司 基于蚁群算法的路径搜索方法及电力通信业务调配方法
CN106844049A (zh) * 2017-01-13 2017-06-13 广西电网有限责任公司电力科学研究院 一种分布式计算系统的任务分配方法
CN106951059A (zh) * 2017-03-28 2017-07-14 中国石油大学(华东) 基于dvs与改进蚁群算法的云数据中心节能方法
CN107273209B (zh) * 2017-06-09 2020-11-03 北京工业大学 基于最小生成树聚类改进遗传算法的Hadoop任务调度方法
CN107728639B (zh) * 2017-09-08 2020-11-10 哈尔滨工程大学 一种时间窗约束下的异构多auv系统任务协调方法
CN109783186A (zh) * 2017-11-15 2019-05-21 中国电力科学研究院有限公司 一种检测云平台的任务调度方法及系统
CN110086855B (zh) * 2019-03-29 2021-11-05 江苏开拓信息与系统有限公司 基于蚁群算法的Spark任务智能感知调度方法
CN110888728B (zh) * 2019-12-03 2022-06-28 中电工业互联网有限公司 一种Kettle集群服务器的任务调度方法
CN111324444B (zh) * 2020-03-24 2023-05-09 广东工业大学 一种云计算任务调度方法及装置
CN112559135B (zh) * 2020-12-24 2023-09-26 重庆邮电大学 一种基于QoS的容器云资源的调度方法
CN112784457B (zh) * 2021-01-19 2022-05-20 中国人民解放军国防科技大学 基于遗传算法的薄膜结构加强带布局优化方法及系统
CN113127206B (zh) * 2021-04-30 2022-03-11 东北大学秦皇岛分校 一种基于改进蚁群算法的云环境任务调度方法
CN113342510B (zh) * 2021-08-05 2021-11-02 国能大渡河大数据服务有限公司 一种水电流域应急指挥云边计算资源协同处理方法
CN114780247B (zh) * 2022-05-17 2022-12-13 中国地质大学(北京) 一种流速和资源感知的流应用调度方法及系统
CN115118728B (zh) * 2022-06-21 2024-01-19 福州大学 基于蚁群算法的边缘负载均衡任务调度方法
CN115277445B (zh) * 2022-07-11 2023-08-15 北京理工大学 一种基于QoS目标的微服务系统调度优化方法
CN117319505B (zh) * 2023-11-30 2024-02-06 天勰力(山东)卫星技术有限公司 一种面向软件定义卫星共享网络的星上任务抢单系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101118609A (zh) * 2007-09-13 2008-02-06 北京航空航天大学 一种解决大规模tsp的云模型小生境自适应蚁群优化方法
CN102567851A (zh) * 2011-12-29 2012-07-11 武汉理工大学 一种云计算环境下安全感知的科学工作流数据布局方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7536424B2 (en) * 2004-05-02 2009-05-19 Yoram Barzilai System and methods for efficiently managing incremental data backup revisions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101118609A (zh) * 2007-09-13 2008-02-06 北京航空航天大学 一种解决大规模tsp的云模型小生境自适应蚁群优化方法
CN102567851A (zh) * 2011-12-29 2012-07-11 武汉理工大学 一种云计算环境下安全感知的科学工作流数据布局方法

Also Published As

Publication number Publication date
CN102932422A (zh) 2013-02-13

Similar Documents

Publication Publication Date Title
CN102932422B (zh) 基于改进蚁群算法的云环境任务调度方法
Huang et al. SSUR: an approach to optimizing virtual machine allocation strategy based on user requirements for cloud data center
CN102063336B (zh) 一种分布式计算多应用功能异步并发调度方法
US9218213B2 (en) Dynamic placement of heterogeneous workloads
Bittencourt et al. A performance‐oriented adaptive scheduler for dependent tasks on grids
CN103838621B (zh) 用于调度例行作业的方法和系统、调度节点
CN103118124A (zh) 一种基于分层多代理的云计算负载均衡方法
Liu et al. A survey on virtual machine scheduling in cloud computing
CN102739785B (zh) 基于网络带宽估计的云计算任务调度方法
CN101202765A (zh) 一种基于历史反馈的服务网格调度方法
Li et al. An effective scheduling strategy based on hypergraph partition in geographically distributed datacenters
CN107291544A (zh) 任务调度的方法及装置、分布式任务执行系统
CN106201701A (zh) 一种带任务重复的工作流调度算法
Tang et al. Dependent task offloading for multiple jobs in edge computing
Hasan et al. HSO: A Hybrid Swarm Optimization Algorithm for Reducing Energy Consumption in the Cloudlets
Mahato et al. Balanced task allocation in the on‐demand computing‐based transaction processing system using social spider optimization
CN107070965B (zh) 一种虚拟化容器资源下的多工作流资源供给方法
Xiang et al. Computing power allocation and traffic scheduling for edge service provisioning
Qayyum et al. IoT-Orchestration based nanogrid energy management system and optimal time-aware scheduling for efficient energy usage in nanogrid
Huang et al. Computation offloading for multimedia workflows with deadline constraints in cloudlet-based mobile cloud
Dubey et al. QoS driven task scheduling in cloud computing
Li et al. Deep reinforcement learning-based power and caching joint optimal allocation over mobile edge computing
Yakubu et al. Priority based delay time scheduling for quality of service in cloud computing networks
Tang et al. Edge computing energy-efficient resource scheduling based on deep reinforcement learning and imitation learning
Wen et al. Load balancing consideration of both transmission and process responding time for multi-task assignment

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20130213

Assignee: Jiangsu Nanyou IOT Technology Park Ltd.

Assignor: Nanjing Post & Telecommunication Univ.

Contract record no.: 2016320000219

Denomination of invention: Cloud environment task scheduling method based on improved ant colony algorithm

Granted publication date: 20141210

License type: Common License

Record date: 20161121

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
EC01 Cancellation of recordation of patent licensing contract

Assignee: Jiangsu Nanyou IOT Technology Park Ltd.

Assignor: Nanjing Post & Telecommunication Univ.

Contract record no.: 2016320000219

Date of cancellation: 20180116

EC01 Cancellation of recordation of patent licensing contract
TR01 Transfer of patent right

Effective date of registration: 20180808

Address after: 200000 Shanghai, China (Shanghai) free trade trial area 211, 500 Po Bo Road.

Patentee after: Shanghai cloud ladder Mdt InfoTech Ltd

Address before: 210003 new model road, Nanjing, Nanjing, Jiangsu

Patentee before: Nanjing Post & Telecommunication Univ.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20141210

Termination date: 20190929

CF01 Termination of patent right due to non-payment of annual fee