CN109491761A - 基于eda-ga混合算法的云计算多目标任务调度方法 - Google Patents
基于eda-ga混合算法的云计算多目标任务调度方法 Download PDFInfo
- Publication number
- CN109491761A CN109491761A CN201811316114.1A CN201811316114A CN109491761A CN 109491761 A CN109491761 A CN 109491761A CN 201811316114 A CN201811316114 A CN 201811316114A CN 109491761 A CN109491761 A CN 109491761A
- Authority
- CN
- China
- Prior art keywords
- task
- sub
- population
- tasks
- cloud computing
- 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 54
- 238000012545 processing Methods 0.000 claims abstract description 25
- 230000000694 effects Effects 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 11
- 238000005070 sampling Methods 0.000 claims description 9
- 238000011156 evaluation Methods 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 claims description 7
- 230000035772 mutation Effects 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 4
- 230000026676 system process Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 230000008901 benefit Effects 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 108090000623 proteins and genes Proteins 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 210000000349 chromosome Anatomy 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000008303 genetic mechanism Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- 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
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5072—Grid computing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Biophysics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Mathematical Physics (AREA)
- Biomedical Technology (AREA)
- Genetics & Genomics (AREA)
- Artificial Intelligence (AREA)
- Physiology (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出了一种基于EDA‑GA混合算法的云计算多目标任务调度方法。本发明基于云用户所提交任务的多样性与差异性,以及云计算资源的异步性,通过对任务特性进行分析与计算,最终形成一个合理的任务处理队列。基于EDA‑GA混合算法,以降低任务完成时间、提高资源利用率、保持系统负载均衡为目标,对任务进行合理调度。本发明提供的任务调度方法,能够在云计算环境下对用户提交的任务进行合理有效的调度,满足系统多个目标需求。
Description
技术领域
本发明涉及云计算领域,特别涉及基于EDA-GA混合算法的云计算多目标任务调度方法。
背景技术
在信息化的今天,随着用户数量和需求的日益增加以及互联网的不断扩大,云计算应运而生,它是在并行计算、网格计算的基础上发展而来的。云计算与其他计算技术相比较,具有很多独特的优点,主要包括三个方面:一是按需服务的可扩展性,能够考虑到用户特定的约束和要求;二是灵活性,能够通过持续控制资源及其优化来支持;三是虚拟化,是将用户与物理基础设施分离的工具。云计算技术已经渗透到当前各类社会领域中,广泛应用于电信、电子政务、制造、教育科研、医疗等领域,例如,以我国微云以及百度云为代表的存储云为广大用户提供了可靠安全的数据存储服务、安全备份、归档管理以及记录服务,为应用资源主体提供了极大的便利。伴随着云计算技术的快速发展与广泛应用,其优势功能越发明显,逐步迈向成熟应用的阶段。
任务调度是云计算的关键技术之一,任务调度是在满足用户需求以及提高云系统性能的前提下,将用户提交的任务合理地分配到虚拟机上。任务调度算法是用户与云服务提供商之间的纽带,好的任务调度调度算法不仅能保证用户得到较好的用户体验,满足用户对于便捷、安全、人性化的要求,而且能够为云服务提供商降低能耗和运营成本,平衡系统负载,提高资源利用率,从而促进云计算的良好发展。
目前,传统任务调度方法具有一定的缺陷,例如,只能实现单个目标,无法满足用户与云系统的多个目标需求。同时,基于云计算的任务调度问题已经被证明属于NP完全问题。因此,设计一种满足多个目标的任务调度方法具有重要的实际意义和理论意义。
发明内容
针对现有方法的缺陷,本发明提出了一种基于EDA-GA混合算法的云计算多目标任务调度方法。该方法基于用户任务的多样性与差异性以及云计算资源的异步性与动态性,设计一种决定任务处理队列的方法以确定任务调度顺序,进而设计一种满足降低任务完成时间、符合用户SLA要求、提高资源利用率、保持系统负载均衡等多个目标的任务调度方法。
基于EDA-GA混合算法的云计算多目标任务调度方法,可以分为以下几个部分:
A、分析系统的整体架构和目标,并对云计算中的任务调度机制建立模型;
B、设计一种合理的任务队列排列方法;
C、设计一种面向云计算多目标任务调度的EDA-GA混合算法。
部分A中,从系统目标、约束条件等方面对云计算系统进行分析,并对任务调度机制建立模型。本发明中,云计算任务调度的目标包括降低任务完成时间、满足用户SLA要求、保持负载均衡、提高资源利用率等。在进行任务调度时,当云系统收到用户提交的任务后,它采用批处理方式处理任务,该步骤是由任务管理器进行管理,任务管理器可以按照用户要求决定最终的任务处理队列。同时,资源管理器可以实时获得当前虚拟机资源的计算能力、利用率等。在得到任务管理器与资源管理器的相关信息以后,调度器开始任务调度工作。调度时需要满足一定的约束条件,比如,一个任务只能在一台虚拟机上执行且仅被执行一次,任务需要根据任务管理器中形成的任务队列顺序依次进行调度等。约束函数具体如下:
min{TFT},max{TU}
TFT≥FTi,i=1,...,n (4)
TFT是整体完成时间,TU是虚拟机资源利用率;
xi,j,r代表了任务i是虚拟机j上第r个处理的任务;
公式(1)代表了用户提交的任务能够得到处理且仅能被处理一次;公式(2)是为了避免虚拟机之间的处理时间冲突;公式(3)代表分配到虚拟机上的任务是依次被执行的;公式(4)代表整体完成时间大于或等于所有任务的完成时间。
部分B中,由于云计算用户的大量增加,用户向云计算系统提交的任务量快速增长,并且这些任务具有一些自身的特性,如任务的种类可能属于计算密集型、内存密集型或I/O密集型。而且云计算中的资源是异构的,不同计算资源之间存在差异,因此任务在不同虚拟机资源上执行的时间会不同。同时,任务具有用户设定的截止时间这个属性,截止时间代表云计算系统在处理用户任务时,完成该任务并向用户返回结果的时间应在该截止时间之前,否则会发生SLA违规。再次,任务可以拥有自己的优先级,优先级代表该任务执行的紧迫程度。根据以上三种任务特性,首先得到任务在所有可用资源上的执行效果差,再结合截止时间、优先级两个属性,设计合理的权重公式得到每个任务的权重,最后依据权重值的大小对任务进行排序,从而形成最终的任务处理队列。
部分C中,将EDA算法与GA算法相结合,设计一种EDA-GA混合算法来满足云计算多目标任务调度的需求。EDA算法是一种分布式估计算法,它其中的概率模型和采样方法是其核心步骤,概率模型能够根据优秀可行解统计出相应的概率密度模式,采样方法能够根据生成的概率模式产生新的解。GA算法是一种基于生物繁殖过程中亲代遗传基因重组的遗传机制和自然选择机制的启发式算法,它分为初始化种群、选择、交叉和变异等步骤,选择能够将优秀的可行解选择出来,交叉和变异是为了根据选择出来的优秀可行解产生出新的个体,从而扩大解的搜索范围,防止过早收敛。
根据以上两种算法的优缺点对比,EDA算法具有收敛速度快的优点,但容易陷入局部最优,而GA算法具有搜索能力强的特点,可以有效弥补EDA算法的不足。针对以上问题,本发明中基于EDA-GA混合算法的云计算多目标任务调度方法首先设置了三种子种群,分别为完成时间优先-子种群(T-FP)、利用率优先-子种群(U-FP)和学习-子种群(L-FP),这三种子种群具有不同的调度目标,因此具有不同的调度策略。完成时间优先-子种群是以任务的完成时间最短为目标,它优先将任务分配到完成时间最小的虚拟机资源上。利用率优先-子种群是以提高资源利用率、保持系统负载均衡为目标,它优先将任务分配到最为空闲的虚拟机资源上,尽量保证所有虚拟机资源上的负载量均衡,从而避免资源浪费或虚拟机过载引起处理效率下降。学习-子种群是根据前面两种子种群的分配结果,进行一定的学习,它是通过抽样启发式方法来进行初始化,然后根据其他两种子种群的优秀解进行更新。本发明的EDA-GA混合算法,在算法前期,三种子种群根据自身目标,利用EDA算法的概率模型实现任务到虚拟机的分配,然后对每个子种群中的个体进行适应度评估,将适应度值高的优秀个体选择出来,建立概率模型并进行采样,产生新的解。进而利用GA算法,对新产生的解进行编码,并以一定的概率进行交叉和变异操作,最后再进行适应度评估,以一定比例保留满足目标的优秀个体,与EDA阶段的优秀个体进行组合,形成新的子种群。最后对三种子种群进行更新,得到每个子种群的局部最优解,利用局部最优解来更新全局最优解,反复迭代,最终输出满足整体多个目标的最优解。
附图说明
图1为本发明的云计算任务调度机制的整体框架图;
图2为本发明的云计算多目标任务调度方法中任务队列排列方法示意图;
图3为本发明的云计算多目标任务调度方法中收集虚拟机信息的过程示意图;
图4为本发明的基于EDA-GA混合算法的云计算多目标任务调度方法的流程图。
具体实施方式
为使本发明的目标、技术方案更加清楚明了,下面将结合附图对本发明的实施方法进行详细描述。
本发明的整体思路是针对用户提交任务的多样性与差异性,提出一种任务队列排列方法,将任务在所有可用虚拟机资源上的执行效果差、截止时间、优先级设计进权重公式中,计算得到所有任务的权重值,并根据权重值的大小进行排列,形成最终的任务处理队列,为之后的调度过程提供合理的调度顺序。针对任务调度时虚拟机资源实时变化的问题,通过资源管理器实时获得虚拟机的负载情况,从而为虚拟机分配提供参考,进而提高资源利用率并保持系统负载均衡。在此基础上,设计了三种子种群:完成时间优先-子种群、利用率优先-子种群和学习-子种群,利用EDA-GA混合算法,得到局部最优解,并利用彼此的最优解进行局部更新,最后选择各自的优秀解进行全局更新,直至达到终止条件,输出本发明中满足系统多目标的全局最优解。
接下来以本发明的一个优选实施例来详细说明本发明的技术方案。
图1介绍了本发明中任务调度机制的总体框架,如图所示,主要包括以下几个方面:
①多个用户提交任务至任务管理器,任务管理器依据任务特性以及权重公式对任务的调度顺序进行排列,形成最终的任务处理队列;
②局部资源管理器实时获取各个虚拟机的负载状况,包括当前的计算能力、资源利用率等;
③全局资源管理器收取来自所有局部资源管理器的信息,对所有可用虚拟机资源进行统一管理;
④任务调度器根据任务处理队列和虚拟机的负载状况,将用户请求的任务按照系统目标分配至相应的虚拟机,并准备执行任务。
一、任务管理器决定任务处理队列的方法如下:
用户向云计算系统提交的任务具有自身的特性,如任务大小、任务的截止时间、任务优先级等。任务管理器采用批处理的方式对任务进行处理,在获取以上三个因素以后,首先得到任务在所有可用虚拟机资源上执行的效果差,然后结合截止时间、优先级依据权重公式计算得到任务的权重值,最后根据权重值的大小对任务顺序进行排列,形成最终的任务处理队列。
如图2所示,任务队列排列方法的具体步骤如下:
①根据任务管理器以及资源管理器,获得任务大小和当前所有虚拟机资源的计算能力,并计算任务在虚拟机上的执行时间矩阵,计算公式如下:
假设用户提交的任务总数量为n,创建的虚拟机总数量为m,所以ETC矩阵是n×m,Ti表示任务i的大小,Sj表示虚拟机j的计算速度;
②根据①中计算得到的任务执行时间矩阵,求出该任务的平均执行时间和最小执行时间,计算公式如下:
Tmin=min(ETC(n,0),ETC(n,1),…,ETC(n,m-1)) (7)
③利用AMM(AverageMinusMinimum)算法原理,将该任务的平均执行时间减去最小执行时间得到一个差值,该差值即为执行效果差Q(i),差值越大的任务应尽可能越早地被调度到更合适的虚拟上,从而避免因调度不合适而引起整体完成时间的增加,计算公式如下:
Q(i)=Tavg(i)-Tmin(i) (8)
④利用设计的权重公式,将任务的执行效果差、截止时间、优先级代入公式中进行计算,得到任务的权重值,权重公式如下:
其中,和都是用来将执行效果差和截止时间量化到与任务优先级相同的范围中;DL(i)表示任务i的截止完成时间,TDL表示所有任务中的最大截止完成时间;P(i)表示任务i的优先级,用0到9之间的整数进行标注,数字越小,代表优先级越高。
α,β,γ为权重参数值,且α+β+γ=1。本发明的目标之一是降低用户任务完成时间、满足用户SLA要求,而用户SLA要求在本发明中是根据截止时间进行约束的。因此,α与β的权重值相对γ较大,分别设置为0.4,0.4,γ设置为0.2。
⑤根据计算得到的所有任务的权重值大小,按照从小到大的顺序对任务进行排列,形成最终的任务处理队列。权重值越小,代表该任务应越早被调度。
二、资源管理器获取虚拟机信息的方法如下:
如图3所示,获取虚拟机信息的过程如下:
全局资源管理器按照一定的时间间隔定期收集各个局部资源管理器的监控模块发送来的监控数据包,监控数据包中包含相关虚拟机计算资源的使用情况、正在执行的任务数量以及等待被执行的任务数量等信息。
全局资源管理器根据以上信息,计算得到任务在每个虚拟机资源上的执行时间,采用的方法如下:
①局部资源管理器的监控模块实时获取虚拟机的计算资源的使用情况和计算速度;
②任务管理器接收到任务以后,可以获取该任务的大小;
③用任务大小除以虚拟机的计算速度,得到该任务在该虚拟机上的执行时间。
计算得到虚拟机的资源利用率,采用的方法如下:
①局部资源管理器获取当前虚拟机上已分配的任务数量、计算资源总量、任务请求的资源量等信息;
②根据得到的计算资源总量、任务请求的资源量,计算当前可用的资源量,公式如下:
total_resourcej是虚拟机j计算资源总量;
k是分配到虚拟机j上的任务个数;
request_resourcei是任务i请求虚拟机j的计算资源量。
③根据可用计算资源量、当前任务请求的计算资源量,计算若任务i分配到虚拟机资源j上后,虚拟机j上的可用资源利用率,公式如下:
④将以上所获得虚拟机的负载、资源利用率等信息记录到局部资源管理器中的监控数据包,并发送给全局资源管理器。
三、任务调度器采用EDA-GA混合算法实现云计算多目标任务调度的方法如下:
任务调度器根据全局资源管理器提供的各个虚拟机的负载、利用率、计算速度等信息,以及任务管理器提供的任务处理队列,依据系统目标,将用户请求的任务调度至合适的虚拟机上。本发明中,设计了三种子种群,每个子种群具有自己的调度策略,具体如下:
①完成时间优先-子种群(T-FP):该种群以完成时间最短为调度目标,当接收到某个任务时,计算该任务在所有可用虚拟机资源上的完成时间,完成时间为等待时间和处理时间之和,然后将该任务调度到具有最短完成时间的虚拟机上;
②利用率优先-子种群(U-FP):该种群以提高虚拟机的资源利用率为目标,当接收到某个任务时,获得当前时刻所有虚拟机的资源利用率,然后将任务调度到具有最小资源利用率的虚拟机上;
③学习-子种群(L-FP):通过抽样启发式进行初始化,通过完成时间优先-子种群和利用率优先-子种群的优秀解进行更新,并利用适应度函数进行评估,通过迭代方式逐渐接近最优解。
1、系统目标函数的确定方法如下:
本发明的目标为降低用户完成时间、提高资源利用率、保持系统负载均衡,由于本发明的利用率-优先子种群在进行虚拟机分配时,优先将任务分配到最为闲置的虚拟机上,该分配方法不仅能够提高虚拟机的资源利用率,也使系统负载越来越均衡,整体系统的负载均衡度可用如下公式表示:
timej是虚拟机执行分配到其上的所有任务的时间总和;
由于云计算环境中虚拟机是并行运行的,因此所有任务的完成时间为所有虚拟机中的最大完成时间,表示为CompleteTime;
DBL的值越大,表示所有虚拟机的利用率越高,系统负载越均衡。
本发明中,系统目标函数定义为如下公式:
和是权重系数,代表了任务完成时间和负载均衡在系统目标中所占的比重,本发明中由于两个目标都较为重要,因此将其都设置为0.5。
GValue的值越大,表示该调度方案在降低用户任务完成时间、提高资源利用率、保持系统负载均衡方面的效果越好。
2、运用EDA算法建立概率模式并进行采样,方法如下:
①根据CompleteTime、DBL、GValue以上三个值,按照一定的百分比将每个子种群中的优秀个体选择出来;
②完成时间优先-子种群和利用率优先-子种群交换彼此选择出来的优秀个体,并在保留原子种群的一定数量的优秀个体的基础上,建立概率模式。学习-子种群不同于其他两个子种群,它是将其他两个子种群的优秀个体都结合起来,并保留一定数量的自身种群的个体,建立概率模式;
③在采样阶段,三个子种群分别根据建立好的概率模式,采用轮盘赌的方法进行采样,产生与原种群相同规模的新种群。
3、运用GA算法扩大解的搜索范围,方法如下:
在得到以上产生的新种群的基础上,对新种群进行编码,编码方式为按照任务顺序,将每个任务所分配的虚拟机号对应到每个基因位。编码完成后,按照一定的概率进行交叉、变异操作,然后根据GValue的值评估每条染色体上调度方案的适应度,并按照降序顺序排列。从最大值开始,可以得到每个子种群的局部最优解,进而根据局部最优解得到全局最优解。
4、进行更新,方法如下:
完成时间优先-子种群和利用率优先-子种群都是在保留原子种群一定数量的优秀个体的基础上,结合彼此种群的优秀个体,进行下一代的更新。学习-子种群在保留原子种群一定数量的优秀个体的基础上,结合其他两种子种群的优秀个体,进行下一代的更新。更新公式如下:
Pij(g)是在第g次迭代中,任务i被分配到虚拟上机j的概率;λ是学习率,将其设置为0.5;E是优秀种群的大小。
本发明中,将完成时间优先-子种群、利用率优先-子种群各设置为整体种群的25%,将学习-子种群设置为整体种群的50%。
图4显示了本发明的基于EDA-GA混合算法的云计算多目标任务调度方法的基本流程,如图所示,任务调度流程包括:
Step1:接收用户的任务请求;
Step2:基于任务特性,根据所设计的权重公式计算各个任务的权重值,依据权重值的大小按顺序对任务进行排列,形成最终的任务处理队列;
Step3:初始化整体种群的规模,并按照1:2:1的比例,将整体种群划分为完成时间优先子种群(T-FP)、学习-子种群(L-FP)和利用率优先-子种群(U-FP);
Step4:对每个子种群进行初始化,按照各自种群的调度目标,将任务队列中的任务调度到合适的虚拟机上;
Step5:按照三个子种群各自的目标函数,对种群中的个体进行评估,保留一定比例的优秀个体;
Step6:完成时间优先子种群和利用率优先-子种群交换彼此的优秀个体,学习-子种群接收其他两个子种群的优秀个体;
Step7:根据交换后得到的新种群,利用EDA算法,建立概率模式,并利用轮盘赌方法进行采样,产生出新的个体,并根据整体目标函数进行适应度评估,保留一定数量的优秀个体;
Step8:将Step7中得到的新个体利用GA算法,通过编码、交叉、变异等步骤产生新的个体,并进行适应度评估,保留一定数量的优秀个体;
Step9:将Step7和Step8中筛选出来的优秀个体结合,形成新的子种群,并进行适应度评估,得到各个子种群的局部最优解;
Step10:根据局部最优解获得全局最优解;
Step11:三个子种群根据更新公式进行更新,并进行下一次迭代;
Step12:判断是否满足终止条件,若满足,则输出全局最优解;若不满足,则跳转到Step5。
Claims (4)
1.基于EDA-GA混合算法的云计算多目标任务调度方法,其特征在于,云用户提交的任务具有多样性与差异性,而且云计算资源具有异步性和动态性。本发明根据以上信息,得到一个合理的任务处理队列,并根据系统的多个目标对任务进行有效调度,从而找到一种最优化的任务调度方案。主要包括以下部分:
A、分析系统的整体架构和目标,并对云计算的任务调度机制建立模型;
B、设计一种合理的任务队列排列方法;
C、设计一种面向云计算多目标任务调度的EDA-GA混合算法。
2.根据权利要求1所述的基于EDA-GA混合算法的云计算多目标任务调度方法,其特征在于,所述的部分A中,从系统目标、约束条件等方面对云计算系统进行分析,并对任务调度机制建立模型。云计算任务调度的目标包括降低用户任务完成时间、满足用户SLA要求、保持负载均衡、提高资源利用率等。在进行任务调度时,当云系统收到用户提交的任务后,它采用批处理方式处理任务,该步骤是由任务管理器进行管理,任务管理器可以按照用户要求决定最终的任务处理队列。同时,资源管理器可以实时获得当前虚拟机资源的计算能力、利用率等。在得到任务管理器与资源管理器的相关信息以后,调度器开始任务调度工作,调度时需要满足一定的约束条件,如一个任务只能在一台虚拟机上执行且仅被执行一次,任务需要根据任务管理器中形成的任务队列顺序依次进行调度。
3.根据权利要求1所述的基于EDA-GA混合算法的云计算多目标任务调度方法,其特征在于,所述的部分B中,由于云计算用户的大量增加,用户向云计算系统提交的任务量快速增长,并且这些任务具有一些自身的特性,如任务的种类可能属于计算密集型、内存密集型或I/O密集型。而且云计算中资源是异构的,不同计算资源之间存在差异,因此任务在不同虚拟机资源上执行的时间会不同。同时,任务具有用户设定的截止时间和优先级两个特性。根据以上三种任务特性,首先得到任务在所有可用虚拟机资源上的执行效果差,再结合截止时间、优先级两个属性,设计合理的权重公式得到每个任务的权重,最后依据权重值的大小对任务进行排序,从而形成最终的任务处理队列。具体步骤如下:
①根据任务管理器以及资源管理器,获得任务大小和当前所有虚拟机资源的计算能力,并计算任务在虚拟机上的执行时间矩阵,计算公式如下:
假设用户提交的任务总数量为n,创建的虚拟机总数量为m,所以ETC矩阵是n×m,Ti表示任务i的大小,Sj表示虚拟机j的计算速度;
②根据①中计算得到的任务执行时间矩阵,求出该任务的平均执行时间和最小执行时间,计算公式如下:
Tmin=min(ETC(n,0),ETC(n,1),…,ETC(n,m-1))
③利用AMM(AverageMinusMinimum)算法原理,将该任务的平均执行时间减去最小执行时间得到一个差值,该差值即为执行效果差Q(i),差值越大的任务应尽可能越早地被调度到更合适的虚拟上,从而避免因调度不合适而引起整体完成时间的增加,计算公式如下:
Q(i)=Tavg(i)-Tmin(i)
④利用设计的权重公式,将任务的执行效果差、截止时间、优先级代入公式中进行计算,得到该任务的权重值,计算公式如下:
其中,和都是用来将任务的执行效果差和截止时间量化到与任务优先级相同的范围中;DL(i)表示任务i的截止完成时间,TDL表示所有任务中的最大截止完成时间;P(i)表示任务i的优先级,用0到9之间的整数进行标注,数字越小,代表优先级越高。
α,β,γ为权重参数值,且α+β+γ=1。本发明的目标之一是降低用户任务完成时间、满足用户SLA要求,而用户SLA要求在本发明中是根据截止时间进行约束的。因此,α与β的权重值相对γ较大,分别设置为0.4,0.4,γ设置为0.2。
⑤根据所有任务的权重值大小,按照从小到大的顺序对任务进行排列,形成最终的任务处理队列。权重值越小,代表该任务应越早被调度。
4.根据权利要求1所述的基于EDA-GA混合算法的云计算多目标任务调度方法,其特征在于,所述的部分C中,任务调度器根据全局资源管理器中提供的各个虚拟机的负载、利用率、计算速度等信息,以及任务管理器提供的任务处理队列,将请求的任务调度至合适的虚拟机上。根据系统目标,设计了三种子种群,每个子种群具有自己的调度策略,具体如下:
①完成时间优先-子种群(T-FP):该种群以完成时间最短为调度目标,当接收到某个任务时,计算该任务在所有可用虚拟机资源上的完成时间,完成时间为等待时间和处理时间之和,然后将该任务调度到具有最短完成时间的虚拟机上;
②利用率优先-子种群(U-FP):该种群以提高虚拟机的资源利用率为目标,当接收到某个任务时,获得当前时刻所有虚拟机的资源利用率,然后将任务调度到具有最小资源利用率的虚拟机上;
③学习-子种群(L-FP):通过抽样启发式进行初始化,通过完成时间优先-子种群和利用率优先-子种群的优秀解进行更新,并利用适应度函数进行评估,通过迭代方式逐渐接近最优解。
本发明的EDA-GA混合算法,在算法前期,三种子种群根据自身目标,利用EDA算法的概率模型实现任务到虚拟机的分配,然后对每个子种群中的个体进行适应度评估,将适应度值高的优秀个体选择出来,建立概率模型并进行采样,产生新的解。进而利用GA算法,对新产生的解编码,并以一定的概率进行交叉和变异操作,最后再进行适应度评估,以一定比例保留满足目标的优秀解,与EDA阶段的优秀解进行组合,形成新的子种群。最后对三种子种群进行更新,得到每个子种群的局部最优解,利用局部最优解来更新全局最优解,反复迭代,最终输出满足系统多个目标的最优解。
其中,本发明的目标函数定义为如下公式:
CompleteTime为整体完成时间,DBL为整体系统的负载均衡度。
和是权重系数,代表了任务完成时间和负载均衡在系统目标中所占的比重,本发明中由于两个目标都较为重要,因此将其都设置为0.5。
GValue的值越大,表示该调度方案在降低用户任务完成时间、提高资源利用率、保持系统负载均衡方面的效果越好。
基于EDA-GA混合算法的云计算多目标任务调度方法的具体步骤如下:
Step1:接收用户的任务请求;
Step2:基于任务特性,根据所设计的权重公式计算各个任务的权重值,依据权重值的大小按顺序对任务进行排列,形成最终的任务处理队列;
Step3:初始化整体种群的规模,并按照1:2:1的比例,将整体种群划分为完成时间优先子种群、学习-子种群和利用率优先-子种群;
Step4:对每个子种群进行初始化,按照各自种群的调度目标,将任务队列中的任务调度到合适的虚拟机上;
Step5:按照三个子种群各自的目标函数,对种群中的个体进行评估,保留一定比例的优秀个体;
Step6:完成时间优先子种群和利用率优先-子种群交换彼此的优秀个体,学习-子种群接收其他两个子种群的优秀个体;
Step7:根据交换后得到的新种群,利用EDA算法,建立概率模式,并利用轮盘赌方法进行采样,产生出新的个体,并根据整体目标函数进行适应度评估,保留一定数量的优秀个体;
Step8:将Step7中得到的新个体利用GA算法,通过编码、交叉、变异等步骤产生新的个体,并进行适应度评估,保留一定数量的优秀个体;
Step9:将Step7和Step8中筛选出来的优秀个体结合,形成新的子种群,并进行适应度评估,得到各个子种群的局部最优解;
Step10:根据局部最优解获得全局最优解;
Step11:三个子种群根据更新公式进行更新,并进行下一次迭代;
Step12:判断是否满足终止条件,若满足,则输出全局最优解;若不满足,则跳转到Step5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811316114.1A CN109491761A (zh) | 2018-11-07 | 2018-11-07 | 基于eda-ga混合算法的云计算多目标任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811316114.1A CN109491761A (zh) | 2018-11-07 | 2018-11-07 | 基于eda-ga混合算法的云计算多目标任务调度方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109491761A true CN109491761A (zh) | 2019-03-19 |
Family
ID=65694210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811316114.1A Pending CN109491761A (zh) | 2018-11-07 | 2018-11-07 | 基于eda-ga混合算法的云计算多目标任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109491761A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782355A (zh) * | 2020-06-03 | 2020-10-16 | 上海交通大学 | 一种基于混合负载的云计算任务调度方法及系统 |
CN111857988A (zh) * | 2020-06-19 | 2020-10-30 | 北京航空航天大学 | 一种基于任务管理系统的容器任务调度方法及装置 |
CN112099931A (zh) * | 2020-10-09 | 2020-12-18 | 海南大学 | 任务调度方法及装置 |
CN112148491A (zh) * | 2020-09-27 | 2020-12-29 | 京东数字科技控股股份有限公司 | 数据处理方法及装置 |
CN112256415A (zh) * | 2020-10-19 | 2021-01-22 | 福州大学 | 基于pso-ga的微云负载均衡任务调度方法 |
CN113220428A (zh) * | 2021-04-23 | 2021-08-06 | 复旦大学 | 针对云计算系统实时性需求的动态任务调度算法 |
CN113722112A (zh) * | 2021-11-03 | 2021-11-30 | 武汉元鼎创天信息科技有限公司 | 一种服务资源负载均衡处理方法及系统 |
CN114327767A (zh) * | 2021-12-28 | 2022-04-12 | 元心信息科技集团有限公司 | 任务处理的方法、装置、电子设备及计算机可读存储介质 |
CN114518944A (zh) * | 2021-12-30 | 2022-05-20 | 河南大学 | 一种异构环境下的批处理独立任务调度方法 |
CN116932164A (zh) * | 2023-07-25 | 2023-10-24 | 和光舒卷(广东)数字科技有限公司 | 一种基于云平台的多任务调度方法及其系统 |
CN117519953A (zh) * | 2024-01-08 | 2024-02-06 | 北京大学 | 一种面向服务器无感知计算的分离式内存管理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103957267A (zh) * | 2014-05-08 | 2014-07-30 | 中国人民解放军总参谋部气象水文空间天气总站 | 一种多网络多任务多节点数据分发方法 |
CN104657221A (zh) * | 2015-03-12 | 2015-05-27 | 广东石油化工学院 | 一种云计算中基于任务分类的多队列错峰调度模型及方法 |
CN106126317A (zh) * | 2016-06-24 | 2016-11-16 | 安徽师范大学 | 应用于云计算环境的虚拟机调度方法 |
CN106936892A (zh) * | 2017-01-09 | 2017-07-07 | 北京邮电大学 | 一种自组织云多对多计算迁移方法及系统 |
-
2018
- 2018-11-07 CN CN201811316114.1A patent/CN109491761A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103957267A (zh) * | 2014-05-08 | 2014-07-30 | 中国人民解放军总参谋部气象水文空间天气总站 | 一种多网络多任务多节点数据分发方法 |
CN104657221A (zh) * | 2015-03-12 | 2015-05-27 | 广东石油化工学院 | 一种云计算中基于任务分类的多队列错峰调度模型及方法 |
CN106126317A (zh) * | 2016-06-24 | 2016-11-16 | 安徽师范大学 | 应用于云计算环境的虚拟机调度方法 |
CN106936892A (zh) * | 2017-01-09 | 2017-07-07 | 北京邮电大学 | 一种自组织云多对多计算迁移方法及系统 |
Non-Patent Citations (2)
Title |
---|
B. S. P. REDDY ,C. S. P. RAO: "A hybrid multi-objective GA for simultaneous scheduling of machines and AGVs in FMS", 《SPRINGERLINK》 * |
刘祝智,王恺: "基于EDA-GA的置换流水车间调度算法", 《运筹与模糊学》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111782355A (zh) * | 2020-06-03 | 2020-10-16 | 上海交通大学 | 一种基于混合负载的云计算任务调度方法及系统 |
CN111782355B (zh) * | 2020-06-03 | 2024-05-28 | 上海交通大学 | 一种基于混合负载的云计算任务调度方法及系统 |
CN111857988A (zh) * | 2020-06-19 | 2020-10-30 | 北京航空航天大学 | 一种基于任务管理系统的容器任务调度方法及装置 |
CN111857988B (zh) * | 2020-06-19 | 2022-11-18 | 北京航空航天大学 | 一种基于任务管理系统的容器任务调度方法及装置 |
CN112148491A (zh) * | 2020-09-27 | 2020-12-29 | 京东数字科技控股股份有限公司 | 数据处理方法及装置 |
CN112148491B (zh) * | 2020-09-27 | 2023-12-05 | 京东科技控股股份有限公司 | 数据处理方法及装置 |
CN112099931A (zh) * | 2020-10-09 | 2020-12-18 | 海南大学 | 任务调度方法及装置 |
CN112256415A (zh) * | 2020-10-19 | 2021-01-22 | 福州大学 | 基于pso-ga的微云负载均衡任务调度方法 |
CN112256415B (zh) * | 2020-10-19 | 2023-08-04 | 福州大学 | 基于pso-ga的微云负载均衡任务调度方法 |
CN113220428B (zh) * | 2021-04-23 | 2022-06-21 | 复旦大学 | 针对云计算系统实时性需求的动态任务调度方法 |
CN113220428A (zh) * | 2021-04-23 | 2021-08-06 | 复旦大学 | 针对云计算系统实时性需求的动态任务调度算法 |
CN113722112B (zh) * | 2021-11-03 | 2022-01-11 | 武汉元鼎创天信息科技有限公司 | 一种服务资源负载均衡处理方法及系统 |
CN113722112A (zh) * | 2021-11-03 | 2021-11-30 | 武汉元鼎创天信息科技有限公司 | 一种服务资源负载均衡处理方法及系统 |
CN114327767A (zh) * | 2021-12-28 | 2022-04-12 | 元心信息科技集团有限公司 | 任务处理的方法、装置、电子设备及计算机可读存储介质 |
CN114518944A (zh) * | 2021-12-30 | 2022-05-20 | 河南大学 | 一种异构环境下的批处理独立任务调度方法 |
CN114518944B (zh) * | 2021-12-30 | 2024-07-16 | 河南大学 | 一种异构环境下的批处理独立任务调度方法 |
CN116932164A (zh) * | 2023-07-25 | 2023-10-24 | 和光舒卷(广东)数字科技有限公司 | 一种基于云平台的多任务调度方法及其系统 |
CN116932164B (zh) * | 2023-07-25 | 2024-03-29 | 和光舒卷(广东)数字科技有限公司 | 一种基于云平台的多任务调度方法及其系统 |
CN117519953A (zh) * | 2024-01-08 | 2024-02-06 | 北京大学 | 一种面向服务器无感知计算的分离式内存管理方法 |
CN117519953B (zh) * | 2024-01-08 | 2024-04-05 | 北京大学 | 一种面向服务器无感知计算的分离式内存管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109491761A (zh) | 基于eda-ga混合算法的云计算多目标任务调度方法 | |
Yi et al. | Task optimization and scheduling of distributed cyber–physical system based on improved ant colony algorithm | |
CN110275758B (zh) | 一种虚拟网络功能智能迁移方法 | |
CN108182115B (zh) | 一种云环境下的虚拟机负载均衡方法 | |
CN103605567B (zh) | 面向实时性需求变化的云计算任务调度方法 | |
CN102780759B (zh) | 基于调度目标空间的云计算资源调度方法 | |
CN104657221A (zh) | 一种云计算中基于任务分类的多队列错峰调度模型及方法 | |
CN112306658B (zh) | 一种多能源系统数字孪生应用管理调度方法 | |
CN111782627B (zh) | 面向广域高性能计算环境的任务与数据协同调度方法 | |
Dong et al. | A high-efficient joint’cloud-edge’aware strategy for task deployment and load balancing | |
Tong et al. | DDQN-TS: A novel bi-objective intelligent scheduling algorithm in the cloud environment | |
CN111813506A (zh) | 一种基于粒子群算法资源感知计算迁移方法、装置及介质 | |
CN111611062A (zh) | 云边协同分层计算方法及云边协同分层计算系统 | |
CN114647515A (zh) | 一种面向gpu集群的动态资源调度方法 | |
Liu et al. | Grouping-based fine-grained job scheduling in grid computing | |
CN117032902A (zh) | 一种基于负载的改进离散粒子群算法的云任务调度方法 | |
Wang et al. | Dynamic multiworkflow deadline and budget constrained scheduling in heterogeneous distributed systems | |
CN105005503A (zh) | 基于元胞自动机的云计算负载均衡任务调度方法 | |
He | Optimization of edge delay sensitive task scheduling based on genetic algorithm | |
CN114675953A (zh) | 资源动态调度方法、装置、设备及计算机可读存储介质 | |
CN106802822A (zh) | 一种基于飞蛾算法的云数据中心认知资源调度方法 | |
CN113190342A (zh) | 用于云-边协同网络的多应用细粒度卸载的方法与系统架构 | |
Hu et al. | An improved adaptive genetic algorithm in cloud computing | |
Fan et al. | Research on improved 2D-BPSO-based VM-container hybrid hierarchical cloud resource scheduling mechanism | |
Yu | [Retracted] Research on Optimization Strategy of Task Scheduling Software Based on Genetic Algorithm in Cloud Computing Environment |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190319 |