CN110119317B - 一种基于遗传算法的云计算任务调度方法和系统 - Google Patents

一种基于遗传算法的云计算任务调度方法和系统 Download PDF

Info

Publication number
CN110119317B
CN110119317B CN201910426632.7A CN201910426632A CN110119317B CN 110119317 B CN110119317 B CN 110119317B CN 201910426632 A CN201910426632 A CN 201910426632A CN 110119317 B CN110119317 B CN 110119317B
Authority
CN
China
Prior art keywords
population
task
subtask
overhead
module
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.)
Active
Application number
CN201910426632.7A
Other languages
English (en)
Other versions
CN110119317A (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.)
Hunan University
Original Assignee
Hunan 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 Hunan University filed Critical Hunan University
Priority to CN201910426632.7A priority Critical patent/CN110119317B/zh
Publication of CN110119317A publication Critical patent/CN110119317A/zh
Application granted granted Critical
Publication of CN110119317B publication Critical patent/CN110119317B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Mathematical Physics (AREA)
  • Physiology (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Genetics & Genomics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于遗传算法的云计算任务调度方法,包括:从客户端接收资源分配请求,根据资源分配请求为所有子任务随机生成概率矩阵λ,采用广度优先搜索算法对步骤(1)中的任务依赖关系图进行处理,从而得到多个子任务序列,依次将每个子任务序列中的每个子任务分配给概率矩阵中该子任务所属任务单元所在行的最大随机概率值所对应的物理机,进而形成父种群,计算每个物理机处理对应的任务单元的时间开销和能量开销,根据该时间开销和能量开销获取父种群中每个元素所对应的所有物理机的总时间开销和总能量开销,从而构成向量集合。本发明能解决现有云计算领域缺乏一种能同时实现降低云计算时间开销和云数据中心能耗的有效机制的技术问题。

Description

一种基于遗传算法的云计算任务调度方法和系统
技术领域
本发明属于云计算技术领域,更具体地,涉及一种基于遗传算法的云计算任务调度方法和系统。
背景技术
随着互联网接入的普及和网络中数据所呈现的“3V”性(即高速(Velocity),量大(Volume)和多样性(Variety)),云计算在工业、学术以及社会中的地位越来越重要。一般而言,云计算由分布式计算、网格计算、效用计算和自主计算组成,它提供具有高性能和高扩展性的按需计算和存储服务。然而,伴随着云计算过程中计算量的不断增加,云数据中心能耗也相应地持续上升,这已经成为云计算领域的一个突出问题。为了解决这一问题,研究者开发出了云计算任务调度机制,用于提高云计算的整体性能,并有效降低数据中心的能耗。现有的云计算任务调度方法主要包括以降低时间开销(即提高整体计算性能)为目的的任务调度方法、以及以降低能耗为目的的任务调度方法。但是现有的方法,如果能够降低时间开销(Makespan),势必会导致云数据中心的能耗增加;如果能够降低云数据中心的能耗,势必会牺牲时间成本。目前,云计算领域缺乏一种能同时实现降低云计算时间开销和云数据中心能耗的有效机制。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于遗传算法的云计算任务调度方法和系统。其目的在于,解决现有云计算领域缺乏一种能同时实现降低云计算时间开销和云数据中心能耗的有效机制的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于遗传算法的云计算任务调度方法,包括以下步骤:
(1)从客户端接收资源分配请求,该资源分配请求包括客户端的数量p、以及物理机的数量m、任务被划分成的多个任务单元{TD1,TD2,…,TDk}其中任务单元TDu中包括多个子任务{TSu1,TSu2,…,TSur},且有r<=m、以及任务依赖关系图,其中k表示任务单元的总数,r表示任务单元TDu中子任务的总数;
(2)根据资源分配请求为所有子任务随机生成概率矩阵λ,其等于:
Figure BDA0002067667340000021
其中xuv表示子任务TSu分配到物理机PMv中的概率,其为随机产生,u∈[1,k],v∈[1,m];
(3)采用广度优先搜索算法对步骤(1)中的任务依赖关系图进行处理,从而得到多个子任务序列η1、η2、…ηn,每个子任务序列中包括任务依赖关系图中所有按照任务处理优先级顺序从大到小排列的子任务,其中n表示得到的子任务序列的总数量;
(4)依次将步骤(3)中得到的每个子任务序列中的每个子任务分配给步骤(2)得到的概率矩阵λ中该子任务所属任务单元所在行的最大随机概率值所对应的物理机,进而形成父种群S={S1,S2,…,Sn},其中种群中的元素Sz表示第z个子任务序列中的每个子任务被对应的物理机后形成的子任务与物理机的映射关系;
(5)计算每个物理机处理对应的任务单元的时间开销和能量开销,根据该时间开销和能量开销获取步骤(4)得到的父种群S中每个元素所对应的所有物理机的总时间开销和总能量开销,从而构成向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)},其中ctx表示父种群S中的第x个元素所对应的所有物理机的总时间开销,cpx表示父种群S中的第x个元素所对应的所有物理机的总能量开销,且有x∈[1,n];
(6)判断当前的迭代次数是否已经达到迭代阈值,如果是则过程结束,否则进入步骤(7);
(7)通过匹配选择算法(Matching selection algorithm)从父种群S中选择元素,并先后采用模拟二进制交叉算法(Simulated binary crossover algorithm)和变异算法(Variation algorithm)对选择的元素进行处理,从而产生新的子代种群Q;
(8)根据步骤(5)得到的每个物理机处理对应的任务单元的时间开销和能量开销获取步骤(7)得到的子代种群Q中每个元素所对应的所有物理机的总时间开销和总能量开销,从而构成目标向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)},其中cty表示子代种群Q中的第y个元素所对应的所有物理机的总时间开销,cpx表示子代种群Q中的第y个元素所对应的所有物理机的总能量开销,且有y∈[1,n];
(9)将步骤(8)得到的目标向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)}与步骤(5)得到的目标向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)}进行融合,并将子代种群Q与父种群S进行融合从而得到混合种群;
(10)通过环境选择策略从步骤(9)得到的混合种群中选择n个优秀解集构成新的种群,并返回步骤(6),其中选择的过程中需考虑步骤(9)中融合后的目标向量集合在由物理机的总时间开销和总能量开销构成的二维目标空间上的收敛性和分布性。
优选地,步骤(5)中计算时间开销是采用以下公式:
CT(i)=Taux+Tex
其中Taux为第i个任务单元传输到物理机所需的时间,而Tex为物理机对该任务单元进行处理所需要的时间;
计算能量开销f2是采用以下公式:
f2=EC+ECE
其中EC表示物理机处理第i个任务单元的计算能耗,ECE表示处理第i个任务单元的物理机与另外一台物理机之间的通信能耗。
优选地,步骤(10)具体包括以下子步骤:
(10-1)使用非支配排序算法将混合种群划分为多层集合(F1、F2、…,、FL、FL+1、…、FNumber),其中第一层集合F1的处理优先级高于第二层集合F2的处理优先级,第二层集合F2的处理优先级高于第三层集合F3的处理优先级,…,以此类推,Number表示总的层数,FL是多层集合中的中间一个元素且为临界层;
(10-2)将步骤(10-1)中得到的多层集合中的所有元素根据处理优先级顺序从大到小依次放入空的下一代种群中,其中当下一代种群的大小超过子任务序列的总数量n时,则停止放入操作,并通过邻域惩罚方法从临界层FL中挑选多个元素添加到下一代种群中,直到下一代种群大小等于子任务序列的总数量n为止;
(10-3)对步骤(10-2)中的临界层FL中各个元素对应的所有物理机的总时间开销和总能量开销求和,得到各个元素的收敛信息;并根据临界层FL中各个元素对应的总时间开销和总能量开销计算该元素与临界层FL中其他各个元素之间的欧氏距离,作为该元素的分布信息;
(10-4)根据步骤(10-3)得到的临界层FL中各个元素的分布信息确定邻域阈值T;
(10-5)使用邻域惩罚方法对临界层FL中的各个元素进行邻域惩罚操作。
优选地,步骤(10-4)具体为,首先获取临界层FL中每个元素的所有分布信息中的最小值,然后从临界层FL中所有元素对应的最小值中选择最大值,作为邻域阈值T。
优选地,步骤(10-5)具体包括以下子步骤:
(10-5-1)根据步骤(10-3)得到的临界层FL中所有元素的收敛信息选择收敛信息最小的元素p,并将其放入下一代种群中;
(10-5-2)根据步骤(10-3)得到的临界层FL中所有元素的分布信息将临界层FL中与元素p的欧式距离小于邻域阈值T的元素放入惩罚集合中;
(10-5-3)判断惩罚集合中的元素个数是否超过惩罚阈值G,如果超过则转入步骤(10-5-4),否则转入步骤(10-5-5);
(10-5-4)将惩罚集合分割成分布性好的元素集合和分布性差的元素集合,并将分布性好的元素集合中的元素移入临界层,将分布性差的元素集合中的元素移入惩罚集合中,然后转入步骤(10-5-5);
(10-5-5)判断下一代种群的大小是否等于n,如果不等于则返回步骤(10-5-1),否则返回步骤(6);
优选地,步骤(10-5-4)具体为,首先计算惩罚集合中的各个元素与下一代种群中的元素的最小欧式距离,然后对惩罚集合中的元素根据这些欧式距离值从小到大进行排序,最后将前G个元素视为分布性差的元素移入分布性差的元素集合中,将其它元素视为分布性好的元素移入分布性好的元素集合中。
按照本发明的另一方面,提供了一种基于遗传算法的云计算任务调度系统,包括:
第一模块,用于从客户端接收资源分配请求,该资源分配请求包括客户端的数量p、以及物理机的数量m、任务被划分成的多个任务单元{TD1,TD2,…,TDk}、以及任务依赖关系图,其中k表示任务单元的总数,r表示任务单元TDu中子任务的总数;
第二模块,用于根据资源分配请求为所有子任务随机生成概率矩阵λ,其等于:
Figure BDA0002067667340000061
其中xuv表示子任务TSu分配到物理机PMv中的概率,其为随机产生,u∈[1,k],v∈[1,m];
第三模块,用于采用广度优先搜索算法对第一模块中的任务依赖关系图进行处理,从而得到多个子任务序列η1、η2、…ηn,每个子任务序列中包括任务依赖关系图中所有按照任务处理优先级顺序从大到小排列的子任务,其中n表示得到的子任务序列的总数量;
第四模块,用于依次将第三模块中得到的每个子任务序列中的每个子任务分配给第二模块得到的概率矩阵λ中该子任务所属任务单元所在行的最大随机概率值所对应的物理机,进而形成父种群S={S1,S2,…,Sn},其中种群中的元素Sz表示第z个子任务序列中的每个子任务被对应的物理机后形成的子任务与物理机的映射关系;
第五模块,用于计算每个物理机处理对应的任务单元的时间开销和能量开销,根据该时间开销和能量开销获取第四模块得到的父种群S中每个元素所对应的所有物理机的总时间开销和总能量开销,从而构成向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)},其中ctx表示父种群S中的第x个元素所对应的所有物理机的总时间开销,cpx表示父种群S中的第x个元素所对应的所有物理机的总能量开销,且有x∈[1,n];
第六模块,用于判断当前的迭代次数是否已经达到迭代阈值,如果是则过程结束,否则进入第七模块;
第七模块,用于通过匹配选择算法(Matching selection algorithm)从父种群S中选择元素,并先后采用模拟二进制交叉算法(Simulated binary crossover algorithm)和变异算法(Variation algorithm)对选择的元素进行处理,从而产生新的子代种群Q;
第八模块,用于根据第五模块得到的每个物理机处理对应的任务单元的时间开销和能量开销获取第七模块得到的子代种群Q中每个元素所对应的所有物理机的总时间开销和总能量开销,从而构成目标向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)},其中cty表示子代种群Q中的第y个元素所对应的所有物理机的总时间开销,cpx表示子代种群Q中的第y个元素所对应的所有物理机的总能量开销,且有y∈[1,n];
第九模块,用于将第八模块得到的目标向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)}与第五模块得到的目标向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)}进行融合,并将子代种群Q与父种群S进行融合从而得到混合种群;
第十模块,用于通过环境选择策略从第九模块得到的混合种群中选择n个优秀解集构成新的种群,并返回第六模块,其中选择的过程中需考虑第九模块中融合后的目标向量集合在由物理机的总时间开销和总能量开销构成的二维目标空间上的收敛性和分布性。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)由于本发明采用了步骤(1)到步骤(11),通过模拟自然界中生物的遗传和进化等机理(例如,步骤(7)中的模拟二进制交叉算法和变异算法)随机生成种群,并直接以目标函数值(物理机的总时间开销和总能量开销)作为搜索信息从中挑选优越元素进行迭代进化,摒弃了传统的基于求导的最优概念,综合考虑了云计算的时间开销和云数据中心的能耗,并能够搜索到全局最优解。
(2)由于本发明采用了步骤(10-1)到步骤(10-5),通过非支配排序和邻域惩罚方法进行优越元素的选择,解决了遗传算法收敛速度差以及精度不高的缺陷,并同时能够实现降低云计算时间开销,并降低云数据中心的能耗。
(3)云计算的时间开销与数据中心的能耗优化是一组冲突问题,本发明不仅更适合此类问题的求解,而且计算成本相对较小。
(4)本发明的使用不依赖于函数模型,优化结果与初始条件无关,适应范围广。
附图说明
图1是本发明所应用到的云计算架构的示意图。
图2是本发明基于遗传算法的云计算任务调度方法的流程图。
图3是本发明步骤(1)中获取的任务依赖关系图的示例。
图4是图3中各个子任务被分配到四个虚拟机的概率矩阵的示例。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
遗传算法是一种全局优化算法,它被验证能够有效地优化多目标优化问题,并且具有较好的普适性。与传统的优化方法不同,遗传算法不需要了解问题的特性。它被广泛地运用到求解NP-hard问题中。遗传算法模拟自然选择和自然遗传过程中的竞争、繁殖、交叉和基因突变现象,在每次迭代中都保留一组候选解,并按某种指标从解集中选取较优的解,利用遗传算子(选择、交叉和变异)对这些解进行重组,产生新一代的候选解集,重复此操作,直到满足某种终止条件为止。
本发明设计了一种新的云计算调度模型,该模型将完成时间和能耗这两个目标构成二维优化问题,这两个目标具有冲突性,一个目标性能的提升会导致另一个目标性能的下降。因此,本发明考虑遗传算法的特性,提出一种新的遗传算法对该模型进行优化并获得一组优越解。
图1为典型的云计算架构,云计算架构由四部分组成:网络门户、信息服务器、任务调度器和云数据中心(Data center)。网络门户提供用户上传任务单元的接口,这些任务单元将进一步划分为若干个更小的任务到多个物理机(Physical machine,简称PM)上执行。信息服务器保存资源利用的详细信息和其他日志信息,以帮助调度器将任务调度到数据中心的PM中。调度器从网络门户接受任务单元,并使用信息服务器选择云数据中心中适当的PM。任务单元完成执行后,资源的结果和新状态将被发送回信息服务器中,以进行另一个调度。
如图2所示,本发明基于遗传算法的云计算任务调度方法包括以下步骤:
(1)从客户端接收资源分配请求,该资源分配请求包括客户端的数量p、以及物理机的数量m、任务被划分成的多个任务单元{TD1,TD2,…,TDk}其中任务单元TDu中包括多个子任务{TSu1,TSu2,…,TSur},且有r<=m、以及任务依赖关系图,其中k表示任务单元的总数,r表示任务单元TDu中子任务的总数。任务依赖关系图反映了同一任务单元的子任务之间、以及不同任务单元的子任务之间的依赖关系;
具体而言,如图3所示,是本步骤中的任务依赖关系图的示例。其中任务单元TD与其子任务TS的关系如下表1的示例所示:
表1
Figure BDA0002067667340000091
(2)根据资源分配请求为所有子任务随机生成概率矩阵λ,其等于:
Figure BDA0002067667340000101
其中xuv表示子任务TSu分配到物理机PMv中的概率,其为随机产生,且矩阵中每一行所有元素的和为1,u∈[1,k],v∈[1,m]。
如图4所示,其是图3中各个子任务被分配到四个虚拟机的概率矩阵的一个示例。
(3)采用广度优先搜索算法(Breadth first search algorithm)对步骤(1)中的任务依赖关系图进行处理,从而得到多个子任务序列η1、η2、…ηn,每个子任务序列中包括任务依赖关系图中所有按照任务处理优先级顺序从大到小排列的子任务,其中n表示得到的子任务序列的总数量;
(4)依次将步骤(3)中得到的每个子任务序列中的每个子任务分配给步骤(2)得到的概率矩阵λ中该子任务所属任务单元所在行的最大随机概率值所对应的物理机,进而形成父种群S={S1,S2,…,Sn},其中种群中的元素Sz表示第z个子任务序列中的每个子任务被对应的物理机后形成的子任务与物理机的映射关系;
下表2以示例的方式示出步骤(4)处理后,每个子任务被分配到的物理机:
表2
Figure BDA0002067667340000102
(5)计算每个物理机处理对应的任务单元的时间开销和能量开销,根据该时间开销和能量开销获取步骤(4)得到的父种群S中每个元素所对应的所有物理机的总时间开销和总能量开销,从而构成向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)},其中ctx表示父种群S中的第x个元素所对应的所有物理机的总时间开销,cpx表示父种群S中的第x个元素所对应的所有物理机的总能量开销,且有x∈[1,n];
具体而言,计算时间开销是采用以下公式:
CT(i)=Taux+Tex
其中Taux为第i个任务单元传输到物理机所需的时间,而Tex为物理机对该任务单元进行处理所需要的时间。计算能量开销f2是采用以下公式:
f2=EC+ECE
其中EC表示物理机处理第i个任务单元的计算能耗,ECE表示处理第i个任务单元的物理机与另外一台物理机之间的通信能耗。
(6)判断当前的迭代次数是否已经达到迭代阈值,如果是则过程结束,否则进入步骤(7);
在本实施方式中,迭代阈值设置为300次。
(7)通过匹配选择算法(Matching selection algorithm)从父种群S中选择元素,并先后采用模拟二进制交叉算法(Simulated binary crossover algorithm)和变异算法(Variation algorithm)对选择的元素进行处理,从而产生新的子代种群Q;
(8)根据步骤(5)得到的每个物理机处理对应的任务单元的时间开销和能量开销获取步骤(7)得到的子代种群Q中每个元素所对应的所有物理机的总时间开销和总能量开销,从而构成目标向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)},其中cty表示子代种群Q中的第y个元素所对应的所有物理机的总时间开销,cpx表示子代种群Q中的第y个元素所对应的所有物理机的总能量开销,且有y∈[1,n];
(9)将步骤(8)得到的目标向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)}与步骤(5)得到的目标向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)}进行融合,并将子代种群Q与父种群S进行融合从而得到混合种群;
(10)通过环境选择策略(Environment selection strategy)从步骤(9)得到的混合种群中选择n个优秀解集构成新的种群,并返回步骤(6),其中选择的过程中需考虑步骤(9)中融合后的目标向量集合在由物理机的总时间开销和总能量开销构成的二维目标空间上的收敛性和分布性。
环境选择策略包括两部分组成:非支配排序操作和邻域惩罚操作。
本步骤具体包括以下子步骤:
(10-1)使用非支配排序算法(Non-dominant sort algorithm)将混合种群划分为多层集合(F1、F2、…,、FL、FL+1、…、FNumber),其中第一层集合F1的处理优先级高于第二层集合F2的处理优先级,第二层集合F2的处理优先级高于第三层集合F3的处理优先级,…,以此类推,Number表示总的层数,每一层集合中的元素都是互不支配的(即不可比较的,因此这些层称为非支配层),FL是多层集合中的中间一个元素,且为临界层。
(10-2)将步骤(10-1)中得到的多层集合中的所有元素根据处理优先级顺序从大到小依次放入空的下一代种群中,其中当下一代种群的大小超过子任务序列的总数量n时,则停止放入操作,并通过邻域惩罚方法从临界层FL中挑选多个元素添加到下一代种群中,直到下一代种群大小等于子任务序列的总数量n为止;
(10-3)对步骤(10-2)中的临界层FL中各个元素对应的所有物理机的总时间开销和总能量开销求和,得到各个元素的收敛信息;并根据临界层FL中各个元素对应的总时间开销和总能量开销计算该元素与临界层FL中其他各个元素之间的欧氏距离,作为该元素的分布信息;
(10-4)根据步骤(10-3)得到的临界层FL中各个元素的分布信息确定邻域阈值T。
具体地,首先获取临界层FL中每个元素的所有分布信息中的最小值,然后从临界层FL中所有元素对应的最小值中选择最大值,作为邻域阈值T。
(10-5)使用邻域惩罚方法对临界层FL中的各个元素进行邻域惩罚操作;
如图4所示,本步骤包括以下子步骤:
(10-5-1)根据步骤(10-3)得到的临界层FL中所有元素的收敛信息选择收敛信息最小的元素p,并将其放入下一代种群中;
(10-5-2)根据步骤(10-3)得到的临界层FL中所有元素的分布信息将临界层FL中与元素p的欧式距离小于邻域阈值T的元素放入惩罚集合中;
(10-5-3)判断惩罚集合中的元素个数是否超过惩罚阈值G(该惩罚阈值G是通过多层集合中临界层FL之前的元素的数量减去子任务序列的总数量n所得),如果超过则转入步骤(10-5-4),否则转入步骤(10-5-5);
(10-5-4)将惩罚集合分割成分布性好的元素集合和分布性差的元素集合,并将分布性好的元素集合中的元素移入临界层,将分布性差的元素集合中的元素移入惩罚集合中,然后转入步骤(10-5-5);
分割操作首先计算惩罚集合中的各个元素与下一代种群中的元素的最小欧式距离。然后对惩罚集合中的元素根据这些欧式距离值从小到大进行排序。最后将前G个元素视为分布性差的元素移入分布性差的元素集合中,将其它元素视为分布性好的元素移入分布性好的元素集合中。
(10-5-5)判断下一代种群的大小是否等于n,如果不等于则返回步骤(10-5-1),否则返回步骤(6)。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种基于遗传算法的云计算任务调度方法,其特征在于,包括以下步骤:
(1)从客户端接收资源分配请求,该资源分配请求包括客户端的数量p、以及物理机的数量m、任务被划分成的多个任务单元{TD1,TD2,…,TDk},其中任务单元TDu中包括多个子任务{TSu1,TSu2,…,TSur},且有r<=m、以及任务依赖关系图,其中k表示任务单元的总数,r表示任务单元TDu中子任务的总数;
(2)根据资源分配请求为所有子任务随机生成概率矩阵λ,其等于:
Figure FDA0002757260790000011
其中xiv表示子任务TSu分配到物理机PMv中的概率,其为随机产生,u∈[1,k],v∈[1,m];
(3)采用广度优先搜索算法对步骤(1)中的任务依赖关系图进行处理,从而得到多个子任务序列η1、η2、…ηn,每个子任务序列中包括任务依赖关系图中所有按照任务处理优先级顺序从大到小排列的子任务,其中n表示得到的子任务序列的总数量;
(4)依次将步骤(3)中得到的每个子任务序列中的每个子任务分配给步骤(2)得到的概率矩阵λ中该子任务所属任务单元所在行的最大随机概率值所对应的物理机,进而形成父种群S={S1,S2,…,Sn},其中种群中的元素Sz表示第z个子任务序列中的每个子任务被对应的物理机后形成的子任务与物理机的映射关系;
(5)计算每个物理机处理对应的任务单元的时间开销和能量开销,根据该时间开销和能量开销获取步骤(4)得到的父种群S中每个元素所对应的所有物理机的总时间开销和总能量开销,从而构成向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)},其中ctx表示父种群S中的第x个元素所对应的所有物理机的总时间开销,cpx表示父种群S中的第x个元素所对应的所有物理机的总能量开销,且有x∈[1,n];
(6)判断当前的迭代次数是否已经达到迭代阈值,如果是则过程结束,否则进入步骤(7);
(7)通过匹配选择算法从父种群S中选择元素,并先后采用模拟二进制交叉算法和变异算法对选择的元素进行处理,从而产生新的子代种群Q;
(8)根据步骤(5)得到的每个物理机处理对应的任务单元的时间开销和能量开销获取步骤(7)得到的子代种群Q中每个元素所对应的所有物理机的总时间开销和总能量开销,从而构成目标向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)},其中cty表示子代种群Q中的第y个元素所对应的所有物理机的总时间开销,cpx表示子代种群Q中的第y个元素所对应的所有物理机的总能量开销,且有y∈[1,n];
(9)将步骤(8)得到的目标向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)}与步骤(5)得到的目标向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)}进行融合,并将子代种群Q与父种群S进行融合从而得到混合种群;
(10)通过环境选择策略从步骤(9)得到的混合种群中选择n个优秀解集构成新的种群,并返回步骤(6),其中选择的过程中需考虑步骤(9)中融合后的目标向量集合在由物理机的总时间开销和总能量开销构成的二维目标空间上的收敛性和分布性。
2.根据权利要求1所述的云计算任务调度方法,其特征在于,
步骤(5)中计算时间开销是采用以下公式:
CT(i)=Taux+Tex
其中Taux为第i个任务单元传输到物理机所需的时间,而Tex为物理机对该任务单元进行处理所需要的时间;
计算能量开销f2是采用以下公式:
f2=EC+ECE
其中EC表示物理机处理第i个任务单元的计算能耗,ECE表示处理第i个任务单元的物理机与另外一台物理机之间的通信能耗。
3.根据权利要求1或2所述的云计算任务调度方法,其特征在于,步骤(10)具体包括以下子步骤:
(10-1)使用非支配排序算法将混合种群划分为多层集合(F1、F2、…,、FL、FL+1、…、FNumber),其中第一层集合F1的处理优先级高于第二层集合F2的处理优先级,第二层集合F2的处理优先级高于第三层集合F3的处理优先级,…,以此类推,Number表示总的层数,FL是多层集合中的中间一个元素且为临界层;
(10-2)将步骤(10-1)中得到的多层集合中的所有元素根据处理优先级顺序从大到小依次放入空的下一代种群中,其中当下一代种群的大小超过子任务序列的总数量n时,则停止放入操作,并通过邻域惩罚方法从临界层FL中挑选多个元素添加到下一代种群中,直到下一代种群大小等于子任务序列的总数量n为止;
(10-3)对步骤(10-2)中的临界层FL中各个元素对应的所有物理机的总时间开销和总能量开销求和,得到各个元素的收敛信息;并根据临界层FL中各个元素对应的总时间开销和总能量开销计算该元素与临界层FL中其他各个元素之间的欧氏距离,作为该元素的分布信息;
(10-4)根据步骤(10-3)得到的临界层FL中各个元素的分布信息确定邻域阈值T;
(10-5)使用邻域惩罚方法对临界层FL中的各个元素进行邻域惩罚操作。
4.根据权利要求3所述的云计算任务调度方法,其特征在于,步骤(10-4)具体为,首先获取临界层FL中每个元素的所有分布信息中的最小值,然后从临界层FL中所有元素对应的最小值中选择最大值,作为邻域阈值T。
5.根据权利要求4所述的云计算任务调度方法,其特征在于,步骤(10-5)具体包括以下子步骤:
(10-5-1)根据步骤(10-3)得到的临界层FL中所有元素的收敛信息选择收敛信息最小的元素p,并将其放入下一代种群中;
(10-5-2)根据步骤(10-3)得到的临界层FL中所有元素的分布信息将临界层FL中与元素p的欧式距离小于邻域阈值T的元素放入惩罚集合中;
(10-5-3)判断惩罚集合中的元素个数是否超过惩罚阈值G,如果超过则转入步骤(10-5-4),否则转入步骤(10-5-5);
(10-5-4)将惩罚集合分割成分布性好的元素集合和分布性差的元素集合,并将分布性好的元素集合中的元素移入临界层,将分布性差的元素集合中的元素移入惩罚集合中,然后转入步骤(10-5-5);
(10-5-5)判断下一代种群的大小是否等于n,如果不等于则返回步骤(10-5-1),否则返回步骤(6)。
6.根据权利要求5所述的云计算任务调度方法,其特征在于,步骤(10-5-4)具体为,首先计算惩罚集合中的各个元素与下一代种群中的元素的最小欧式距离,然后对惩罚集合中的元素根据这些欧式距离值从小到大进行排序,最后将前G个元素视为分布性差的元素移入分布性差的元素集合中,将其它元素视为分布性好的元素移入分布性好的元素集合中。
7.一种基于遗传算法的云计算任务调度系统,其特征在于,包括:
第一模块,用于从客户端接收资源分配请求,该资源分配请求包括客户端的数量p、以及物理机的数量m、任务被划分成的多个任务单元{TD1,TD2,…,TDk}其中任务单元TDu中包括多个子任务{TSu1,TSu2,…,TSur},且有r<=m、以及任务依赖关系图,其中k表示任务单元的总数,r表示任务单元TDu中子任务的总数;
第二模块,用于根据资源分配请求为所有子任务随机生成概率矩阵λ,其等于:
Figure FDA0002757260790000051
其中xuv表示子任务TSu分配到物理机PMv中的概率,其为随机产生,u∈[1,k],v∈[1,m];
第三模块,用于采用广度优先搜索算法对第一模块中的任务依赖关系图进行处理,从而得到多个子任务序列η1、η2、…ηn,每个子任务序列中包括任务依赖关系图中所有按照任务处理优先级顺序从大到小排列的子任务,其中n表示得到的子任务序列的总数量;
第四模块,用于依次将第三模块中得到的每个子任务序列中的每个子任务分配给第二模块得到的概率矩阵λ中该子任务所属任务单元所在行的最大随机概率值所对应的物理机,进而形成父种群S={S1,S2,…,Sn},其中种群中的元素Sz表示第z个子任务序列中的每个子任务被对应的物理机后形成的子任务与物理机的映射关系;
第五模块,用于计算每个物理机处理对应的任务单元的时间开销和能量开销,根据该时间开销和能量开销获取第四模块得到的父种群S中每个元素所对应的所有物理机的总时间开销和总能量开销,从而构成向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)},其中ctx表示父种群S中的第x个元素所对应的所有物理机的总时间开销,cpx表示父种群S中的第x个元素所对应的所有物理机的总能量开销,且有x∈[1,n];
第六模块,用于判断当前的迭代次数是否已经达到迭代阈值,如果是则过程结束,否则进入第七模块;
第七模块,用于通过匹配选择算法从父种群S中选择元素,并先后采用模拟二进制交叉算法和变异算法对选择的元素进行处理,从而产生新的子代种群Q;
第八模块,用于根据第五模块得到的每个物理机处理对应的任务单元的时间开销和能量开销获取第七模块得到的子代种群Q中每个元素所对应的所有物理机的总时间开销和总能量开销,从而构成目标向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)},其中cty表示子代种群Q中的第y个元素所对应的所有物理机的总时间开销,cpx表示子代种群Q中的第y个元素所对应的所有物理机的总能量开销,且有y∈[1,n];
第九模块,用于将第八模块得到的目标向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)}与第五模块得到的目标向量集合{(ct1,cp1),(ct2,cp2),…,(ctn,cpn)}进行融合,并将子代种群Q与父种群S进行融合从而得到混合种群;
第十模块,用于通过环境选择策略从第九模块得到的混合种群中选择n个优秀解集构成新的种群,并返回第六模块,其中选择的过程中需考虑第九模块中融合后的目标向量集合在由物理机的总时间开销和总能量开销构成的二维目标空间上的收敛性和分布性。
CN201910426632.7A 2019-05-22 2019-05-22 一种基于遗传算法的云计算任务调度方法和系统 Active CN110119317B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910426632.7A CN110119317B (zh) 2019-05-22 2019-05-22 一种基于遗传算法的云计算任务调度方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910426632.7A CN110119317B (zh) 2019-05-22 2019-05-22 一种基于遗传算法的云计算任务调度方法和系统

Publications (2)

Publication Number Publication Date
CN110119317A CN110119317A (zh) 2019-08-13
CN110119317B true CN110119317B (zh) 2021-02-26

Family

ID=67523023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910426632.7A Active CN110119317B (zh) 2019-05-22 2019-05-22 一种基于遗传算法的云计算任务调度方法和系统

Country Status (1)

Country Link
CN (1) CN110119317B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111026534B (zh) * 2019-12-10 2023-12-22 浙江工业大学 云计算环境下基于多种群遗传算法的工作流执行优化方法
CN112379985B (zh) * 2020-11-16 2022-10-14 深圳供电局有限公司 一种云边缘计算环境下的计算任务分配方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102256369A (zh) * 2011-06-28 2011-11-23 武汉理工大学 基于能量和通信开销的无线传感器网格任务调度方法
KR20130030646A (ko) * 2011-09-19 2013-03-27 제주대학교 산학협력단 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법 및 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 장치
CN108880663A (zh) * 2018-07-20 2018-11-23 大连大学 基于改进遗传算法的天地一体化网络资源分配方法
CN109240818A (zh) * 2018-09-04 2019-01-18 中南大学 一种边缘计算网络中基于用户体验的任务卸载方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102256369A (zh) * 2011-06-28 2011-11-23 武汉理工大学 基于能量和通信开销的无线传感器网格任务调度方法
KR20130030646A (ko) * 2011-09-19 2013-03-27 제주대학교 산학협력단 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 방법 및 유전 알고리즘을 이용한 전력 소비 태스크 스케쥴링 장치
CN108880663A (zh) * 2018-07-20 2018-11-23 大连大学 基于改进遗传算法的天地一体化网络资源分配方法
CN109240818A (zh) * 2018-09-04 2019-01-18 中南大学 一种边缘计算网络中基于用户体验的任务卸载方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
基于进阶粒子群优化算法的云计算资源调度策略研究;校莉;《软件导刊》;20160531;全文 *
异构系统中DAG任务调度的双螺旋结构遗传算法;徐雨明;《计算机研究与发展》;20140630;全文 *

Also Published As

Publication number Publication date
CN110119317A (zh) 2019-08-13

Similar Documents

Publication Publication Date Title
Rekha et al. Efficient task allocation approach using genetic algorithm for cloud environment
Lin et al. Fast GA-based project scheduling for computing resources allocation in a cloud manufacturing system
Hamad et al. Genetic-based task scheduling algorithm in cloud computing environment
CN112685138B (zh) 云环境下基于多种群混合智能优化的多工作流调度方法
CN109491761A (zh) 基于eda-ga混合算法的云计算多目标任务调度方法
CN110321217B (zh) 一种多目标的云资源调度方法、装置、设备及存储介质
Song et al. Scheduling workflows with composite tasks: A nested particle swarm optimization approach
CN104035816A (zh) 一种基于改进nsga-ii的云计算任务调度方法
CN107273197B (zh) 基于正交实验改进的谱聚类遗传算法的Hadoop任务调度方法
CN110119317B (zh) 一种基于遗传算法的云计算任务调度方法和系统
CN110008023B (zh) 基于遗传算法的云计算系统预算约束随机任务调度方法
CN108833302B (zh) 云环境下基于模糊聚类及严格双边匹配的资源分配方法
Yin et al. An improved genetic algorithm for task scheduling in cloud computing
Kaur et al. Deadline constrained scheduling of scientific workflows on cloud using hybrid genetic algorithm
CN110362379A (zh) 基于改进蚁群算法的虚拟机调度方法
CN111027665A (zh) 一种基于改进混沌蝙蝠群算法的云制造调度方法
CN106155799B (zh) 基于遗传算法的Codelet调度方法
CN114980216B (zh) 基于移动边缘计算的依赖型任务卸载系统及方法
Zhang et al. Task scheduling of cloud computing based on Improved CHC algorithm
CN116089083A (zh) 一种多目标数据中心资源调度方法
Hongzhen et al. Evolution of service composition based on QoS under the cloud computing environment
Huang et al. A new SSO-based algorithm for the bi-objective time-constrained task scheduling problem in cloud computing services
Kathrine et al. Job scheduling algorithms in grid computing–survey
CN110297704B (zh) 一种融入反向学习和试探感知的粒子群优化方法及系统
Gong et al. Research and Simulation Implementation of Fog Calculation Resource Allocation Algorithm

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
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Li Kenli

Inventor after: Liu Yuan

Inventor after: Zhu Ningbo

Inventor after: Liu Chubo

Inventor after: Quan Zhe

Inventor after: Li Keqin

Inventor before: Zhu Ningbo

Inventor before: Liu Yuan

Inventor before: Liu Chubo

Inventor before: Quan Zhe

Inventor before: Li Kenli

Inventor before: Li Keqin

Inventor before: Liao Xiangke