CN113157381A - 基于非支配排序和猫头鹰搜索的多工作流调度方法 - Google Patents

基于非支配排序和猫头鹰搜索的多工作流调度方法 Download PDF

Info

Publication number
CN113157381A
CN113157381A CN202010407394.8A CN202010407394A CN113157381A CN 113157381 A CN113157381 A CN 113157381A CN 202010407394 A CN202010407394 A CN 202010407394A CN 113157381 A CN113157381 A CN 113157381A
Authority
CN
China
Prior art keywords
particle
population
task
particles
dominated
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.)
Granted
Application number
CN202010407394.8A
Other languages
English (en)
Other versions
CN113157381B (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.)
Beijing Institute of Technology BIT
Original Assignee
Beijing Institute of Technology BIT
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 Beijing Institute of Technology BIT filed Critical Beijing Institute of Technology BIT
Priority to CN202010407394.8A priority Critical patent/CN113157381B/zh
Publication of CN113157381A publication Critical patent/CN113157381A/zh
Application granted granted Critical
Publication of CN113157381B publication Critical patent/CN113157381B/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/004Artificial life, i.e. computing arrangements simulating life
    • G06N3/006Artificial 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]
    • 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
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • 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)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了基于非支配排序和猫头鹰搜索的多工作流调度方法,通过同时引入非支配排序遗传算法及猫头鹰搜索算法来计算多工作流调度方案的方法,利用非支配排序遗传算法的多样性生成和保持优点,对种群的50%较优个体进行更新,以保证优良个体的多样性,降低了算法非支配解搜索陷入局部最优的可能性。

Description

基于非支配排序和猫头鹰搜索的多工作流调度方法
技术领域
本发明属于云计算技术领域,具体涉及基于非支配排序和猫头鹰搜索的多工作流调度方法。
背景技术
近年来,随着云计算的普及和应用的不断深入,越来越多的科学应用被部署到云平台上运行。这样,用户便无需购置和维护任何服务器等硬件和软件资源,即可通过远程访问可配置的共享计算资源池,按需获取计算能力、存储空间和信息服务,全身心地投入到自己的科学研究工作中。
云环境下的多工作流调度是旨在寻找合适的云资源来同时执行多个工作流应用,即来自各个不同工作流的任务穿插执行,并同时满足多个用户的服务质量需求。合适的多工作流调度算法,应该能在保证多个用户服务质量QoS需求的同时,提高云服务提供商的利益。因此,云环境下的多工作流调度是一个带约束的多目标优化问题。
目前流行的多目标工作流调度方法,以多目标进化调度方法和多目标群智能优化调度算法为主。具体来说,多目标进化调度方法,具有全局搜索优势以及避免陷入局部最优的能力,但是其搜索时间过长,影响了算法的实时性;多目标群智能优化算法,本质上是一种迭代算法,通过反复迭代来寻找最优解,具有较好的全局搜索能力与快速收敛性,并且能够在较短时间内找到全局最优解,不足之处是缺乏有效的局部搜索机制。
发明内容
有鉴于此,本发明提供了基于非支配排序和猫头鹰搜索的多工作流调度方法,能够实现混合云环境下多工作流的调度。
本发明提供的基于非支配排序和猫头鹰搜索的多工作流调度方法,包括以下步骤:
步骤1、获取具有截止期限和预算约束的多个工作流,根据工作流的截止期限为该工作流所属的任务分配子截止期限,按照所述子截止期限将所有任务排序,形成任务调度序列,采用所述任务调度序列初始化种群形成待处理种群;初始化迭代次数;
步骤2、计算所述待处理种群中粒子对应的调度方案的适应度,所述适应度由工作流的总完工时间、执行成本及能耗表示;采用非支配排序遗传NSGA-II算法,计算种群中所有粒子的密度,并根据所述适应度和密度对待处理种群中所有粒子进行非支配排序得到不同的非支配层,其中最高非支配层即为非支配前沿解集;
步骤3、当所述迭代次数为1时,由所述非支配前沿解集内所有满足所述截止期限和预算约束的非支配前沿解构成外部档案集;否则,利用待处理种群的所述非支配前沿解集与外部档案集中的所有粒子进行比较,更新外部档案集;当所述外部档案集不为空时,选择所述外部档案集中密度最高的解作为全局最优引导解;当所述外部档案集为空时,则选择所述非支配前沿解集中密度最高的解作为全局最优引导解;
步骤4、当所述迭代次数达到设定阈值时,输出所述外部档案集中所有粒子对应的调度方案;否则,采用NSGA-II算法的精英解保留策略,遍历所述非支配层,形成大小相同的较优种群及较差种群,采用NSGA-II算法更新所述较优种群,采用猫头鹰搜索算法根据所述全局最优引导解更新所述较差种群;
步骤5、将所述较优种群与较差种群合并形成整合种群,以所述整合种群更新所述待处理种群;所述迭代次数自加1,执行步骤2。
进一步地,所述步骤2中根据所述适应度将种群中所有粒子进行非支配排序得到不同的非支配层,所述非支配排序采用粒子间两两比较的方式,比较过程中,如果两个粒子中仅有一个为可行解,则选择为可行解的粒子;如果两个粒子均为可行解或非可行解,则选择非支配粒子;
所述非支配粒子为不被其他粒子支配的粒子,即若粒子Xi支配粒子Xj则粒子Xi为非支配粒子;所述粒子Xi支配粒子Xj需要至少满足下列情况之一:
粒子Xi的总完工时间、执行成本和能耗均分别优于粒子Xj的总完工时间、执行成本和能耗;粒子Xi的总完工时间、执行成本和能耗三个指标中存在一个指标与粒子Xj的相应指标的取值相同,另外两个指标则分别优于粒子Xj的相应指标;粒子Xi的总完工时间、执行成本和能耗三个指标中存在两个指标均与粒子Xj的相应指标的取值相同,另外一个指标则优于粒子Xj的相应指标。
进一步地,所述步骤4中的猫头鹰搜索算法为基于混沌序列的猫头鹰搜索算法,采用所述基于混沌序列的猫头鹰搜索算法根据所述全局最优引导解更新所述较差种群的过程包括以下步骤:
步骤4.1、对较差种群P2中的每个粒子
Figure BDA0002491875340000031
计算
Figure BDA0002491875340000032
与当前全局最优引导解V之间的距离信息
Figure BDA0002491875340000033
同时计算
Figure BDA0002491875340000034
的强度变化量
Figure BDA0002491875340000035
并根据混沌系统的规律对随机参数rat进行更新,即rat+1=μ×rat×(1-rat),其中,rat为第t代的随机参数,且0≤rat≤1;μ为混沌控制参数;
步骤4.2、根据强度变化量,更新较差种群P2中的每个粒子
Figure BDA0002491875340000036
并根据混沌系统的规律采用公式(1)计算新的步长参数值βt+1
Figure BDA0002491875340000041
其中,βmin和βmax分别表示步长参数β取值的上、下界;
步骤4.3、对更新后的较差种群P2进行非支配排序得到非支配前沿解集,在非支配前沿解集的每个粒子Xs附近区域进行局部搜索,寻找更优解,具体步骤如下:
步骤4.3.1、初始化混沌局部搜索循环次数k为1;
步骤4.3.2、初始化混沌局部搜索的维度值d为随机整数,且0≤d<|T|,其中T为前粒子的任务集合;
步骤4.3.3、根据任务td的可用资源数量,采用公式(2)计算当前粒子中任务td所对应的第d维元素xd的新混沌变量值xd new
Figure BDA0002491875340000042
其中,|ARd|为任务td的可用资源集合ARd中总的资源数,将新的混沌变量值xd new对应的调度方案保存为新粒子CXk
步骤4.3.4、若循环次数k小于设定的阈值,则k自加1,执行步骤4.3.2;若循环次数k大于或等于设定的阈值,则分别计算所有新粒子的适应度,并求出其中的最优解CX*,选择CX*与原粒子Xs中的非支配粒子更新原粒子Xs
进一步地,所述步骤2中计算所述待处理种群中粒子对应的调度方案的适应度,所述适应度中的总完工时间计算过程包括以下步骤:
步骤2.1、采用公式(3)计算粒子中任务的开始执行时间:
Figure BDA0002491875340000043
其中,ti为粒子的任务集合T中的第i个任务,tentry为工作流入口子任务;
Figure BDA0002491875340000051
为执行任务ti的资源
Figure BDA0002491875340000052
的可用时间,如果资源
Figure BDA0002491875340000053
未启动,那么
Figure BDA0002491875340000054
为资源
Figure BDA0002491875340000055
的启动时间,否则
Figure BDA0002491875340000056
为资源
Figure BDA0002491875340000057
上当前执行的最后一个任务的完工时间;pred(ti)表示任务ti的父任务集合;FT(tp)为任务ti的父任务tp的完工时间;max{}表示取最大值的操作;
步骤2.2、采用公式(4)计算粒子中任务的完工时间:
FT(ti)=ST(ti)+ET(ti)+TT(ti)+soft(ti) (4)
其中,ET(ti)为任务ti的执行时间,TT(ti)为任务ti的输入文件的读取时间,soft(ti)为任务ti执行所需软件的加载时间;
步骤2.3、粒子的总完工时间makespan的计算公式为:
Figure BDA0002491875340000058
有益效果:
1、本发明采用同时引入非支配排序遗传算法及猫头鹰搜索算法来计算多工作流调度方案的方法,利用非支配排序遗传算法的多样性生成和保持优点,对种群的50%较优个体进行更新,以保证优良个体的多样性,降低了算法非支配解搜索陷入局部最优的可能性;利用猫头鹰搜索算法的计算简单及收敛速度快的优点,有效缩短了搜索时间,提高了搜索效率;同时通过搜索流程的设置,提高了搜索解的质量,寻找满足用户截止期限和预算约束的非支配调度方案集合,降低了所有工作流的执行能耗;
2、本发明通过改进基本猫头鹰搜索算法,用混沌序列替换基本猫头鹰搜索算法的参数,并引入参数随机性和遍历性以增强算法的全局搜索能力;同时,在猫头鹰搜索算法找到的当前非支配前沿解附近,利用混沌序列进行混沌局部搜索,进一步提高了算法的局部搜索能力;将改进的猫头鹰搜索算法用于解决绿色混合云环境下的多工作流调度问题,以期同时优化工作流的完工时间、执行成本和能耗,为双约束多目标优化问题提供了一条新的解决途径,并通过动态电压频率调整的方式,实现降低执行能耗的目标。
附图说明
图1为本发明提供的基于非支配排序和猫头鹰搜索的多工作流调度方法的流程图。
图2为本发明提供的基于非支配排序和猫头鹰搜索的多工作流调度方法与其它算法在约束因子为0.25条件下的实验结果对比图。
图3为本发明提供的基于非支配排序和猫头鹰搜索的多工作流调度方法与其它算法在约束因子为0.5条件下的实验结果对比图。
图4为本发明提供的基于非支配排序和猫头鹰搜索的多工作流调度方法与其它算法在约束因子为0.75条件下的实验结果对比图。
图5为本发明提供的基于非支配排序和猫头鹰搜索的多工作流调度方法与其它算法在三个约束因子下得到的非支配前沿解数量对比图。
图6为本发明提供的基于非支配排序和猫头鹰搜索的多工作流调度方法与其它算法的超体积指标对比图。
图7为本发明提供的基于非支配排序和猫头鹰搜索的多工作流调度方法与其它算法的平均运行时间对比图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明提供的基于非支配排序和猫头鹰搜索的多工作流调度方法,其基本思想是采用猫头鹰搜索机制和非支配排序遗传机制,在混合公有云和私有云的资源环境中,同时处理多个工作流的调度问题,在满足多个用户指定的工作流截止期限和预算约束的同时,优化多工作流的总完工时间和执行成本,并进一步降低私有云资源的能耗。
本发明所引入的猫头鹰搜索算法是一种基于种群行为的新型智能优化算法,具有计算简单、收敛速度快的优点,但算法易陷入局部最优。猫头鹰搜索算法主要步骤包括:1、根据实际问题采用均匀分布随机初始化一组解决方案作为初始种群;2、使用问题的目标函数评估每个个体的适应度,进而筛选当前最优解;3、利用每个个体的归一化目标值以及个体与当前最优解之间的欧式距离来计算其强度变化量;4、根据声强平方反比定律和每个个体的强度变化量更新种群中的每个个体;5、根据迭代次数线性降低步长参数;6、判断是否达到预设的迭代条件,如果已达到,则结束循环,输出最优解;否则,转到步骤2,继续循环。
本发明提供的基于非支配排序和猫头鹰搜索的多工作流调度方法,流程如图1所示,具体包括以下步骤:
步骤1、获取具有截止期限和预算约束的多个工作流,根据工作流的截止期限为该工作流所属的任务分配子截止期限,按照子截止期限将所有任务排序,形成任务调度序列,采用任务调度序列初始化种群形成待处理种群;初始化迭代次数。
本发明中种群初始化是根据私有云资源和已租赁的公有云资源对每个粒子进行初始化形成初始种群的过程。本发明中,每个粒子对应多个工作流的一个调度方案,粒子的每一维代表工作流的任务,每一维的元素为执行此任务的资源(例如,虚拟机)在其可用资源列表中的编号(或序号)。所有粒子采用相同的任务调度序列,不同粒子的区别在于粒子中每个维度的数值的不同,即粒子中各任务所选的资源不同。粒子的初始化过程为,利用多个工作流的总任务数、每个工作流中各个任务可用的资源(例如,虚拟机)的数目以及设定的种群大小,对粒子进行随机初始化,即在可选范围内随机设定粒子的每一维度的数值。
步骤2、计算待处理种群中粒子对应的调度方案的适应度,适应度由工作流的总完工时间、执行成本及能耗表示;采用非支配排序遗传算法(NSGA-II算法),计算种群中所有粒子的密度,并根据适应度和密度对待处理种群中所有粒子进行非支配排序得到不同的非支配层,其中最高非支配层即为非支配前沿解集。
根据步骤1中得到的任务调度序列,依次计算任务的完工时间、执行成本、能耗等,每个粒子对应的多工作流总完工时间makespan、执行成本cost、能耗energy,可分别按如下公式计算计算:
Figure BDA0002491875340000081
Figure BDA0002491875340000082
Figure BDA0002491875340000083
式中,T表示多工作流的子任务集合,ti表示集合T中的第i个任务,FT(ti)和ST(ti)分别表示任务ti的完工时间和开始执行时间;
Figure BDA0002491875340000084
表示“向上取整”函数,tu表示资源计费的时间单位,
Figure BDA0002491875340000085
表示执行任务ti的虚拟机
Figure BDA0002491875340000086
的租用单价;Pind参数是系统的恒定电源,Ceff参数为有效负载电容,
Figure BDA0002491875340000087
表示执行任务ti时虚拟机
Figure BDA0002491875340000088
的频率,ET(ti)表示任务ti的执行时间。
本发明中,针对多工作流的特点,为了提高任务开始执行和完工时间计算的准确性,将工作流入口任务与其它任务进行区分计算,具体可采用如下公式进行计算:
Figure BDA0002491875340000089
FT(ti)=ST(ti)+ET(ti)+TT(ti)+soft(ti) (5)
其中,tentry为工作流入口子任务;
Figure BDA00024918753400000810
为执行任务ti的资源
Figure BDA00024918753400000811
的可用时间,如果资源
Figure BDA0002491875340000091
未启动,那么
Figure BDA0002491875340000092
Figure BDA0002491875340000093
的启动时间,否则
Figure BDA0002491875340000094
Figure BDA0002491875340000095
上当前执行的最后一个任务的完工时间;pred(ti)表示任务ti的父任务集合;FT(tp)为任务ti的父任务tp的完工时间,TT(ti)为任务ti的输入文件的读取时间,soft(ti)为任务ti执行所需软件的加载时间。若
Figure BDA0002491875340000096
上已经加载了任务ti执行所需的软件,那么加载时间soft(ti)为0;否则FT(ti)的计算中需要考虑软件加载时间soft(ti)。采用现有方法计算任务ti的执行时间ET(ti)和其输入文件的读取时间TT(ti),具体计算方法如下:
Figure BDA0002491875340000097
Figure BDA0002491875340000098
Figure BDA0002491875340000099
式中,Length(ti)表示任务ti的指令长度,
Figure BDA00024918753400000910
表示执行任务ti的虚拟机
Figure BDA00024918753400000911
的处理能力,
Figure BDA00024918753400000912
表示执行任务ti时虚拟机
Figure BDA00024918753400000913
的频率,且在满足ti子截止期限的同时进行动态电压频率调整;TT(tp,ti)和data(tp,ti)分别表示父任务tp和子任务ti之间的文件传输时间和文件大小,bw表示虚拟机之间通信线路的带宽。
本发明中,根据计算得到的粒子适应度来定义粒子是否为可行解,即若粒子中每个工作流的完工时间均满足其用户设定的截止期限,且每个工作流的执行成本均满足其用户设定的预算约束时,称该粒子为可行解;否则,只要其中任一个约束条件不能被满足,称该粒子为非可行解。若两个粒子中只有一个粒子为可行解,则选择为可行解的粒子;如果两个粒子都是可行解或非可行解,则根据下面定义的个体适应度支配关系,选择非支配粒子。
设粒子Xi对应的完工时间、执行成本和能耗分别为TETi、TECi和energyi,粒子Xj的相应参数分别为:TETj、TECj和energyj。非支配粒子为不被其他粒子支配的粒子,即若粒子Xi支配粒子Xj则粒子Xi为非支配粒子;粒子Xi支配粒子Xj需要至少满足下列情况之一:
(1)粒子Xi对应的总完工时间、执行成本和能耗都优于Xj,即:
TETi<TETj and TECi<TECj and energyi<energyj
(2)粒子Xi对应的总完工时间、执行成本和能耗中有一个目标值与Xj相同,另外两个目标分别优于Xj,即:
TETi=TETj and TECi<TECj and energyi<energyj
TETi<TETj and TECi=TECj and energyi<energyj
TETi<TETj and TECi<TECj and energyi=energyj
(3)粒子Xi对应的总完工时间、执行成本和能耗中有两个目标值都与Xj相同,另外一个目标优于Xj,即:
TETi=TETj and TECi=TECj and energyi<energyj
TETi=TETj and TECi<TECj and energyi=energyj
TETi<TETj and TECi=TECj and energyi=energyj
步骤3、当迭代次数为1时,由非支配前沿解集内所有满足截止期限和预算约束的非支配前沿解构成外部档案集;否则,利用待处理种群的非支配前沿解集与外部档案集中的所有粒子进行比较,更新外部档案集;当外部档案集不为空时,选择外部档案集中密度最高的解作为全局最优引导解;当外部档案集为空时,则选择非支配前沿解集中密度最高的解作为全局最优引导解。
其中,外部档案集的更新过程采用现有技术的方式,即通过将每个新产生的可行非支配解Xg与外部档案集中的所有个体进行比较,实现对外部档案集的更新:
(1)若Xg支配外部档案集中的某个个体,则从外部档案集中移除被Xg支配的个体,并将Xg添加进外部档案集中;
(2)若Xg被外部档案集中某个个体所支配,则不添加Xg至外部档案集中;
(3)若Xg既不支配外部档案集中的任何一个个体,也不被外部档案集中任何一个个体所支配,则将Xg添加进外部档案集中。
步骤4、当迭代次数达到设定阈值时,输出外部档案集中所有粒子对应的调度方案;否则,采用NSGA-II算法的精英解保留策略,遍历非支配层,形成大小相同的较优种群及较差种群,采用NSGA-II算法更新较优种群,采用猫头鹰搜索算法根据全局最优引导解更新较差种群。
种群的分组过程为:采用NSGA-II算法的精英解保留策略,根据快速非支配排序机制和个体解的密度值对种群个体进行分组。也就是说,从高到低遍历种群的非支配层,将非支配层越高或者一个非支配层中密度值越大的个体组成的集合定义为较优种群P1,而剩余个体自动构成较差种群P2,且P1和P2两个子种群的大小相同。种群的更新过程为:采用非支配排序遗传机制对较优种群P1进行更新,采用猫头鹰搜索机制对较差种群P2进行更新。
为了克服现有猫头鹰搜索算法存在易于陷入局部最优的缺陷,本发明改进了基本猫头鹰搜索算法,提出了基于混沌序列的猫头鹰搜索算法,利用混沌序列和非支配排序遗传算法对已有猫头鹰搜索算法进行改进,一是用混沌序列替换基本猫头鹰搜索算法的参数,并引入参数随机性和遍历性以增强算法的全局搜索能力;二是在猫头鹰搜索算法获得的当前非支配前沿解附近区域,利用混沌序列进行局部搜索,以提高算法的局部搜索能力;三是针对群智能优化算法容易陷入局部最优的问题,通过非支配排序遗传算法模拟染色体交叉变异的多样性生成和保持机制,来更新种群中的部分较优个体,在保证个体多样性的同时,避免搜索非支配解时陷入局部最优;四是通过动态电压频率调整方式,达到降低工作流执行能耗的目的。
采用基于混沌序列的猫头鹰搜索算法根据全局最优引导解更新较差种群的过程包括以下步骤:
步骤4.1、对较差种群P2中的每个粒子
Figure BDA0002491875340000111
计算
Figure BDA0002491875340000112
与当前全局最优引导解V之间的距离信息
Figure BDA0002491875340000121
同时计算
Figure BDA0002491875340000122
的强度变化量
Figure BDA0002491875340000123
并根据混沌系统的规律对随机参数rat进行更新,即在基本猫头鹰搜索算法中rat为随机数,而本发明通过引入混沌系数rat的取值与迭代次数相关,具体如下:
Figure BDA0002491875340000124
Figure BDA0002491875340000125
rat+1=μ×rat×(1-rat) (11)
式中,
Figure BDA0002491875340000126
表示第t代的种群P2中第s个粒子,V表示全局最优引导解;energy(V)表示全局最优引导解V对应的执行能耗,rat表示第t代的随机参数,且在[0,1]范围内取值;μ为混沌控制参数。
步骤4.2、根据强度变化量
Figure BDA0002491875340000127
更新较差种群P2中的每个粒子
Figure BDA0002491875340000128
如下:
Figure BDA0002491875340000129
其中,βt表示第t代的步长参数,根据混沌系统的规律计算新的步长参数值βt+1
Figure BDA00024918753400001210
式中,βmin和βmax分别表示步长参数β取值的上、下界。
步骤4.3、对更新后的种群进行适应度评价和快速非支配排序,在非支配前沿解集的每个调度方案附近区域进行局部搜索,以寻找更优的解。也就是说,对非支配前沿解集中的每个粒子
Figure BDA00024918753400001211
进行混沌局部搜索操作,并计算搜索得到的新解的适应度值,若其优于原粒子
Figure BDA00024918753400001212
的解,则用当前新解对应的粒子替换原粒子。对非支配前沿解集中每个粒子
Figure BDA00024918753400001213
进行以下操作:
步骤4.3.1、初始化混沌局部搜索循环次数k(1≤k≤K)为1,并初始化维度参数d,即在[0,|T|)内,产生一个均匀分布的随机整数d,作为混沌局部搜索的维度值;
步骤4.3.2、根据任务td的可用虚拟机数量,按(14)式计算当前粒子第d维元素xd的新混沌变量值xd new
Figure BDA0002491875340000131
式中,|ARd|为粒子第d维元素对应任务td的可用虚拟机集合ARd的总的资源数,将新的混沌变量值xd new对应的调度方案保存为新粒子CXk
步骤4.3.3、判断循环次数k是否小于预设的K次。若循环次数k小于K,则k=k+1,然后转步骤4.3.1;若循环次数k大于或等于K,则分别计算新个体CX1,CX2,...,CXK的适应度,并找出其中的最优解CX*,将其与原粒子Xs对应的调度方案进行比较,若CX*优于原粒子Xs,则用CX*替换Xs
步骤5、将较优种群与较差种群合并形成整合种群,以整合种群更新待处理种群;迭代次数自加1,执行步骤2。
实施例:
为了检验本发明提出的利用基于混沌序列和非支配排序的猫头鹰搜索算法(HCNSG-OSA)进行绿色云环境下多工作流调度的效果,本专利使用云工作流仿真模拟工具WorkflowSim来模拟混合云,并优化了相应的参数设置接口,以针对不同用户提交的工作流设置相应的截止期限和预算约束。实验选取了基于混沌序列的猫头鹰搜索算法(chaotic-OSA)和几个流行的多目标智能优化算法作对比,如混合粒子群算法(HPSO)、多目标差分进化算法(MODE)、非支配排序遗传算法(NSGA-II)。
针对随机生成的5个小规模工作流,并使用13个不同处理能力的虚拟机,在3个约束因子(例如:0.25,0.5,0.75)下进行调度仿真实验。所有上述算法都是随机搜索算法,所以每个实验运行15次以进行统计分析。选取多工作流的总完工时间、执行成本和能耗,以及非支配前沿解的数量、超体积和算法平均运行时间作为评价指标,对算法的调度性能进行评估比较,其实验对比结果如图2至图6所示。
由图2、图3、图4可知,在紧约束下,即约束因子为0.25时,MODE算法不能找到同时满足截止期限和预算约束的调度方案。此外,在不同的约束因子下,本专利提出的算法均能找到较好的非支配前沿解集。虽然,在所找到的非支配前沿解集中,存在一部分个体被MODE算法支配的情况,但总体上看,其给出的非支配前沿解集具有更好的多样性。从图5可以看出,在大多数情况下,本发明提出的算法均可以获得较多的非支配前沿解,且在15次实验中,本算法所搜索到的总体非支配解数目占较大优势。也就是说,本发明提出的算法可以产生更多的优化调度方案供用户选择。由图6可知,在松约束条件下,OSA算法的超体积较小;在约束因子为0.25和0.5时,本发明提出的算法表现最好,能得到较大的超体积。由图7可以看出,MODE算法的执行时间开销较大,是本专利提出算法的2倍以上。
综上,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (4)

1.基于非支配排序和猫头鹰搜索的多工作流调度方法,其特征在于,包括以下步骤:
步骤1、获取具有截止期限和预算约束的多个工作流,根据工作流的截止期限为该工作流所属的任务分配子截止期限,按照所述子截止期限将所有任务排序,形成任务调度序列,采用所述任务调度序列初始化种群形成待处理种群;初始化迭代次数;
步骤2、计算所述待处理种群中粒子对应的调度方案的适应度,所述适应度由工作流的总完工时间、执行成本及能耗表示;采用非支配排序遗传NSGA-II算法,计算种群中所有粒子的密度,并根据所述适应度和密度对待处理种群中所有粒子进行非支配排序得到不同的非支配层,其中最高非支配层即为非支配前沿解集;
步骤3、当所述迭代次数为1时,由所述非支配前沿解集内所有满足所述截止期限和预算约束的非支配前沿解构成外部档案集;否则,利用待处理种群的所述非支配前沿解集与外部档案集中的所有粒子进行比较,更新外部档案集;当所述外部档案集不为空时,选择所述外部档案集中密度最高的解作为全局最优引导解;当所述外部档案集为空时,则选择所述非支配前沿解集中密度最高的解作为全局最优引导解;
步骤4、当所述迭代次数达到设定阈值时,输出所述外部档案集中所有粒子对应的调度方案;否则,采用NSGA-II算法的精英解保留策略,遍历所述非支配层,形成大小相同的较优种群及较差种群,采用NSGA-II算法更新所述较优种群,采用猫头鹰搜索算法根据所述全局最优引导解更新所述较差种群;
步骤5、将所述较优种群与较差种群合并形成整合种群,以所述整合种群更新所述待处理种群;所述迭代次数自加1,执行步骤2。
2.根据权利要求1所述的方法,其特征在于,所述步骤2中根据所述适应度将种群中所有粒子进行非支配排序得到不同的非支配层,所述非支配排序采用粒子间两两比较的方式,比较过程中,如果两个粒子中仅有一个为可行解,则选择为可行解的粒子;如果两个粒子均为可行解或非可行解,则选择非支配粒子;
所述非支配粒子为不被其他粒子支配的粒子,即若粒子Xi支配粒子Xj则粒子Xi为非支配粒子;所述粒子Xi支配粒子Xj需要至少满足下列情况之一:
粒子Xi的总完工时间、执行成本和能耗均分别优于粒子Xj的总完工时间、执行成本和能耗;粒子Xi的总完工时间、执行成本和能耗三个指标中存在一个指标与粒子Xj的相应指标的取值相同,另外两个指标则分别优于粒子Xj的相应指标;粒子Xi的总完工时间、执行成本和能耗三个指标中存在两个指标均与粒子Xj的相应指标的取值相同,另外一个指标则优于粒子Xj的相应指标。
3.根据权利要求2所述的方法,其特征在于,所述步骤4中的猫头鹰搜索算法为基于混沌序列的猫头鹰搜索算法,采用所述基于混沌序列的猫头鹰搜索算法根据所述全局最优引导解更新所述较差种群的过程包括以下步骤:
步骤4.1、对较差种群P2中的每个粒子
Figure RE-FDA0003065725000000021
计算
Figure RE-FDA0003065725000000022
与当前全局最优引导解V之间的距离信息
Figure RE-FDA0003065725000000023
同时计算
Figure RE-FDA0003065725000000024
的强度变化量
Figure RE-FDA0003065725000000025
并根据混沌系统的规律对随机参数rat进行更新,即rat+1=μ×rat×(1-rat),其中,rat为第t代的随机参数,且0≤rat≤1;μ为混沌控制参数;
步骤4.2、根据强度变化量,更新较差种群P2中的每个粒子
Figure RE-FDA0003065725000000026
并根据混沌系统的规律采用公式(1)计算新的步长参数值βt+1
Figure RE-FDA0003065725000000027
其中,βmin和βmax分别表示步长参数β取值的上、下界;
步骤4.3、对更新后的较差种群P2进行非支配排序得到非支配前沿解集,在非支配前沿解集的每个粒子Xs附近区域进行局部搜索,寻找更优解,具体步骤如下:
步骤4.3.1、初始化混沌局部搜索循环次数k为1;
步骤4.3.2、初始化混沌局部搜索的维度值d为随机整数,且0≤d<|T|,其中T为前粒子的任务集合;
步骤4.3.3、根据任务td的可用资源数量,采用公式(2)计算当前粒子中任务td所对应的第d维元素xd的新混沌变量值xd new
Figure RE-FDA0003065725000000031
其中,|ARd|为任务td的可用资源集合ARd中总的资源数,将新的混沌变量值xd new对应的调度方案保存为新粒子CXk
步骤4.3.4、若循环次数k小于设定的阈值,则k自加1,执行步骤4.3.2;若循环次数k大于或等于设定的阈值,则分别计算所有新粒子的适应度,并求出其中的最优解CX*,选择CX*与原粒子Xs中的非支配粒子更新原粒子Xs
4.根据权利要求1所述的方法,其特征在于,所述步骤2中计算所述待处理种群中粒子对应的调度方案的适应度,所述适应度中的总完工时间计算过程包括以下步骤:
步骤2.1、采用公式(3)计算粒子中任务的开始执行时间:
Figure RE-FDA0003065725000000032
其中,ti为粒子的任务集合T中的第i个任务,tentry为工作流入口子任务;
Figure RE-FDA0003065725000000033
为执行任务ti的资源
Figure RE-FDA0003065725000000034
的可用时间,如果资源
Figure RE-FDA0003065725000000035
未启动,那么
Figure RE-FDA0003065725000000036
为资源
Figure RE-FDA0003065725000000037
的启动时间,否则
Figure RE-FDA0003065725000000038
为资源
Figure RE-FDA0003065725000000039
上当前执行的最后一个任务的完工时间;pred(ti)表示任务ti的父任务集合;FT(tp)为任务ti的父任务tp的完工时间;max{} 表示取最大值的操作;
步骤2.2、采用公式(4)计算粒子中任务的完工时间:
FT(ti)=ST(ti)+ET(ti)+TT(ti)+soft(ti) (4)
其中,ET(ti)为任务ti的执行时间,TT(ti)为任务ti的输入文件的读取时间,soft(ti)为任务ti执行所需软件的加载时间;
步骤2.3、粒子的总完工时间makespan的计算公式为:
Figure RE-FDA0003065725000000041
CN202010407394.8A 2020-05-14 2020-05-14 基于非支配排序和猫头鹰搜索的多工作流调度方法 Active CN113157381B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010407394.8A CN113157381B (zh) 2020-05-14 2020-05-14 基于非支配排序和猫头鹰搜索的多工作流调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010407394.8A CN113157381B (zh) 2020-05-14 2020-05-14 基于非支配排序和猫头鹰搜索的多工作流调度方法

Publications (2)

Publication Number Publication Date
CN113157381A true CN113157381A (zh) 2021-07-23
CN113157381B CN113157381B (zh) 2022-07-05

Family

ID=76882108

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010407394.8A Active CN113157381B (zh) 2020-05-14 2020-05-14 基于非支配排序和猫头鹰搜索的多工作流调度方法

Country Status (1)

Country Link
CN (1) CN113157381B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114578087A (zh) * 2022-01-24 2022-06-03 华北电力大学(保定) 基于非支配排序和随机模拟算法的风速不确定性度量方法
CN115730432A (zh) * 2022-11-09 2023-03-03 国网湖南省电力有限公司 物联网数据处理任务的调度方法及系统、设备、存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180308068A1 (en) * 2012-07-30 2018-10-25 Verint Americas Inc. System and Method of Scheduling Work within a Workflow with Defined Process Goals
CN109710372A (zh) * 2018-11-12 2019-05-03 北京理工大学 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法
CN109992355A (zh) * 2019-01-30 2019-07-09 北京理工大学 一种基于改进非支配遗传算法的多目标云工作流调度方法
CN110543151A (zh) * 2019-08-12 2019-12-06 陕西科技大学 基于改进nsga-ⅱ求解车间节能调度问题的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180308068A1 (en) * 2012-07-30 2018-10-25 Verint Americas Inc. System and Method of Scheduling Work within a Workflow with Defined Process Goals
CN109710372A (zh) * 2018-11-12 2019-05-03 北京理工大学 一种基于猫头鹰搜索算法的计算密集型云工作流调度方法
CN109992355A (zh) * 2019-01-30 2019-07-09 北京理工大学 一种基于改进非支配遗传算法的多目标云工作流调度方法
CN110543151A (zh) * 2019-08-12 2019-12-06 陕西科技大学 基于改进nsga-ⅱ求解车间节能调度问题的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
郑宇超等: "一种DAG云任务多目标调度算法", 《微电子学与计算机》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114578087A (zh) * 2022-01-24 2022-06-03 华北电力大学(保定) 基于非支配排序和随机模拟算法的风速不确定性度量方法
CN114578087B (zh) * 2022-01-24 2023-10-13 华北电力大学(保定) 基于非支配排序和随机模拟算法的风速不确定性度量方法
CN115730432A (zh) * 2022-11-09 2023-03-03 国网湖南省电力有限公司 物联网数据处理任务的调度方法及系统、设备、存储介质
CN115730432B (zh) * 2022-11-09 2024-05-28 国网湖南省电力有限公司 物联网数据处理任务的调度方法及系统、设备、存储介质

Also Published As

Publication number Publication date
CN113157381B (zh) 2022-07-05

Similar Documents

Publication Publication Date Title
Mansouri et al. Hybrid task scheduling strategy for cloud computing by modified particle swarm optimization and fuzzy theory
Kaur et al. A novel multi-objective bacteria foraging optimization algorithm (MOBFOA) for multi-objective scheduling
Zhu et al. An efficient evolutionary grey wolf optimizer for multi-objective flexible job shop scheduling problem with hierarchical job precedence constraints
CN112286677B (zh) 一种面向资源受限边缘云的物联网应用优化部署方法
CN110489229B (zh) 一种多目标任务调度方法及系统
CN110543953B (zh) 基于狼群算法的空间约束下多目标拆卸线设置方法
CN112685138B (zh) 云环境下基于多种群混合智能优化的多工作流调度方法
CN113157381B (zh) 基于非支配排序和猫头鹰搜索的多工作流调度方法
CN108320059B (zh) 一种工作流调度进化寻优方法及终端设备
CN110008023B (zh) 基于遗传算法的云计算系统预算约束随机任务调度方法
Liu et al. Collaborative optimization scheduling of cloud service resources based on improved genetic algorithm
CN112559171A (zh) 一种移动边缘计算环境下基于延迟接受的多用户任务卸载方法
CN116307213A (zh) 一种基于nsga-iii算法的自动配棉方法及装置
CN117075545A (zh) 一种多目标柔性作业车间调度方法、电子设备、介质
CN115421885B (zh) 一种分布式多目标云任务的调度方法、装置及云服务系统
CN110633784B (zh) 一种多规则人工蜂群改进算法
CN113220437B (zh) 一种工作流多目标调度方法及装置
Yusof et al. Constraint-chromosome genetic algorithm for flexible manufacturing system machine-loading problem
CN112905307B (zh) 一种基于贫富优化算法的多目标云工作流调度方法
CN116321189A (zh) 一种面向边缘计算中基于深度强化学习的服务器部署方法
CN114691327A (zh) 面向两阶段任务调度的多目标群智能优化方法与系统
Sarayloo et al. Imperialistic competitive algorithm for solving a dynamic cell formation problem with production planning
CN110689320A (zh) 一种基于协同进化算法的大规模多目标项目调度方法
CN112328364B (zh) 一种基于农田肥力算法的计算密集型云工作流调度方法
CN116225658A (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
GR01 Patent grant
GR01 Patent grant