CN114860385A - 一种基于进化强化学习策略的并行云工作流调度方法 - Google Patents
一种基于进化强化学习策略的并行云工作流调度方法 Download PDFInfo
- Publication number
- CN114860385A CN114860385A CN202210537383.0A CN202210537383A CN114860385A CN 114860385 A CN114860385 A CN 114860385A CN 202210537383 A CN202210537383 A CN 202210537383A CN 114860385 A CN114860385 A CN 114860385A
- Authority
- CN
- China
- Prior art keywords
- actor
- sub
- cost
- population
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 72
- 230000002787 reinforcement Effects 0.000 title claims abstract description 47
- 238000005457 optimization Methods 0.000 claims abstract description 57
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 35
- 230000008569 process Effects 0.000 claims abstract description 24
- 230000009471 action Effects 0.000 claims abstract description 21
- 238000012549 training Methods 0.000 claims abstract description 21
- 230000003993 interaction Effects 0.000 claims abstract description 13
- 230000000295 complement effect Effects 0.000 claims abstract description 11
- 239000003795 chemical substances by application Substances 0.000 claims description 17
- 230000006870 function Effects 0.000 claims description 6
- 230000007613 environmental effect Effects 0.000 claims description 4
- 238000005070 sampling Methods 0.000 claims description 3
- 230000008901 benefit Effects 0.000 abstract description 8
- 239000002245 particle Substances 0.000 abstract description 8
- 230000007246 mechanism Effects 0.000 abstract description 6
- 230000002452 interceptive effect Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- NUFBIAUZAMHTSP-UHFFFAOYSA-N 3-(n-morpholino)-2-hydroxypropanesulfonic acid Chemical compound OS(=O)(=O)CC(O)CN1CCOCC1 NUFBIAUZAMHTSP-UHFFFAOYSA-N 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000011478 gradient descent method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- QVRVXSZKCXFBTE-UHFFFAOYSA-N n-[4-(6,7-dimethoxy-3,4-dihydro-1h-isoquinolin-2-yl)butyl]-2-(2-fluoroethoxy)-5-methylbenzamide Chemical compound C1C=2C=C(OC)C(OC)=CC=2CCN1CCCCNC(=O)C1=CC(C)=CC=C1OCCF QVRVXSZKCXFBTE-UHFFFAOYSA-N 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- 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
-
- 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
- G06F2009/45583—Memory management, e.g. access or allocation
-
- 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
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Physiology (AREA)
- Genetics & Genomics (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于进化强化学***衡工作流执行时间和成本之间的优化,提高了全局搜索能力。
Description
技术领域
本发明属于云计算技术领域,具体涉及一种基于进化强化学习策略的并行云工作流调度方法。
背景技术
云计算的按需、弹性、可扩展资源提供和按使用付费的模式以及强大的计算能力,为企业进行基于Internet的应用托管与分布式部署提供了安全、可靠、低成本的执行环境,已经成为企业实现数字化、智能化转型的必要手段,越来越多的工作流应用正在被迁移到云端。为了保证云消费者(用户)的服务质量QoS并兼顾云提供者的利益,需要高效的云计算任务调度与资源管理技术。然而,调度问题的NP难特性、工作流任务请求的高并发性以及云环境的动态性等,使得工作流调度面临诸多挑战。
目前,云工作流调度方法主要包括启发式、元启发式、两者结合以及基于机器学习的算法。启发式算法是一种基于规则的贪婪算法,往往基于领域专家知识或者针对某些特定问题而设计,当面对复杂的调度问题时,很难找到最优解,且泛化能力不足。元启发式算或者启发式与元启发式结合的算法,主要通过多次的迭代更新来寻找调度问题的最优解,具有一定的通用性,但是由于搜索的随机性,每次运行都可能得到不同的解,且寻优需要高较大的时间开销,难以满足用户对调度的实时性要求。
基于机器学***衡。这类方法在使用时只需前向预测即可求得近优解,求解时间大大缩短,被认为是当今很有潜力的研究方向。有人提出基于Deep-Q-Network(DQN)的多目标工作流调度方法,其中DQN算法利用值函数逼近解决Q-Learning算法的高维数据存储***问题。但由于其采用固定维数的环境状态向量与单一类型的工作流来训练强化学习模型,泛化能力较差。此外,基于梯度的强化学习算法因稀疏或欺骗性奖励所导致的搜索效率低以及对超参数敏感所带来的脆弱收敛性,大大增加了其应用的局限性。
发明内容
有鉴于此,本发明提供了一种基于进化强化学习策略的并行云工作流调度方法,实现了在混合云环境下对多类应用的同时调度。
本发明提供的一种基于进化强化学习策略的并行云工作流调度方法,包括以下步骤:
步骤1、采用DDPG算法建立基于进化强化学习策略的并行云工作流调度模型,所述并行云工作调度模型包含时间种群P1和成本种群P2,且P1、P2分别用于优化工作流执行时间和成本,采用种群中的个体作为DDPG网络中的智能体,即时间种群包含多个时间优化子Actor,成本种群包含多个成本优化子Actor;
步骤2、计算资源池中虚拟机执行待调度任务的时间优化目标值Makspan及成本优化目标值Cost,并将Makspan和Cost分别作为P1、P2种群中时间优化子Actor和成本优化子Actor的输入状态;
步骤3、所述并行云工作调度模型训练过程中,时间优化子Actor和成本优化子Actor分别以时间相关和成本相关的状态作为输入,通过Agent与环境的交互,实现子Actor网络参数的更新;
步骤4、收集P1和P2种群中所有的子Actor,按照Makespan和Cost两个优化目标对这些子Actor进行评价与非支配排序,将得到的所有非支配子Actor保存到集合中,得到Pareto前沿解集;再使用集合中的所有子Actor分别处理新输入的并行工作流应用,通过前向预测输出各自对应的调度方案,即可得到非支配工作流调度方案集合,该调度方案集合即为输出的调度方案。
进一步地,所述并行云工作调度模型的训练过程包括以下步骤:
步骤2.1、重置环境为初始状态,清空任务状态列表Task_List和虚拟机状态列表VM_State_List;
步骤2.2、针对种群中的时间优化子Actor和成本优化子Actor,分别检测当前时间步q时的Makespan相关环境状态和Cost相关环境状态并输入到其对应的子Actor网络,再结合互补启发式策略选择动作aq,即为就绪任务所分配的虚拟机;所述互补启发式策略如下式所示:
其中,是为就绪任务分配的虚拟机,λ(i,j,k)和η(i,j,k)分别表示任务分配到虚拟机vk上的Actor网络输出概率和启发式信息,i为工作流的编号,j为任务的编号,k为虚拟机的编号,δ为[0,1]范围内的随机数,δ0为预先设定的超参数,argmax·函数返回具有最大选择概率的虚拟机的序号;
步骤2.4、在一次交互结束后,若任务状态列表存在状态为未被执行的任务,则执行步骤2.2;若所有任务均被执行,则将一个调度回合的经验序列存入缓冲区B,执行步骤2.5;
步骤2.5、通过均匀随机采样从缓冲区B中抽取经验序列,并基于所抽取的数据学习、训练Actor网络,实现每个子Actor网络的参数更新,同时优化动作选择策略;
步骤2.6、判断累计的完整调度次数是否达到阈值,若达到则所述并行云工作调度模型的训练完成;否则执行步骤2.1。
进一步地,所述步骤2.3或步骤2.4中,当缓冲区B已满或溢出,按时间顺序依次将最早保存的经验序列替换为最新的经验序列。
进一步地,在所述步骤2.4之后还包括以下步骤:
S1、若缓冲区B中存储的经验序列数量达到预设容量,则先执行步骤2.5、再执行S2;否则执行S2;
S2、将P1和P2种群划分为多个群组,不同群组中的个体独立进化;选取各种群中的全局最优子Actor和每个子Actor的历史最优解形成精英档案集HA,选取各群组中的最差子Actor形成待学习集合HW中,采用HA中的精英解对HW中的最差子Actor进行引导并更新,更新过程如下公式所示:
其中,和表示第d次迭代时HW中第e个子Actor的位置和速度,和分别表示第d+1次迭代时HW中第e个子Actor的位置和速度,表示第d次迭代时HW中第e个子Actor的历史最优位置,为经过d次迭代后HW中第e个子Actor所属种群最优解的位置,表示第d次迭代时从HA中随机挑选并用于引导HW中第e个子Actor的精英子Actor的位置,ψ0、ψ1、ψ2和ψ3为权重参数,和为0到1之间的随机数。
进一步地,所述步骤4为:将新的并行工作流调度方案输入到步骤3训练得到的模型中,通过前向预测输出对应的并行工作流调度方案。
进一步地,所述S2中将P1和P2种群划分为多个群组的方式为:群组的大小随着时间步的递进而动态增大。
有益效果:
1.本发明将进化算法与强化学***衡工作流执行时间和成本之间的优化,提高了全局搜索能力。
2.本发明在基于PSO的Agent网络参数优化中,引入了混合精英引导策略,通过每代P1、P2种群的非支配排序,竞争性保留精英个体、更新外部档案集;借助于精英个体对P1、P2种群的引导更新,实现了P1、P2之间的知识交流与协同进化,提高了搜索的多样性。
3.本发明设计了基于动态分组学***衡了强化学习的泛化能力和收敛性之间的矛盾,从而提高了模型的收敛速度,进一步减少了搜索陷入局部最优的可能性。
附图说明
图1为本发明提供的基于进化强化学习策略的并行云工作流调度方法流程图。
图2为本发明提供的基于进化强化学习策略的并行云工作流调度方法在D-5-138数据集下收敛性实验结果图。
图3为本发明提供的基于进化强化学习策略的并行云工作流调度方法在D-5-252数据集下收敛性实验结果图。
图4为本发明提供的基于进化强化学习策略的并行云工作流调度方法和四种对比算法在D-5-138数据集下的Pareto前沿分布图。
图5为本发明提供的基于进化强化学习策略的并行云工作流调度方法和四种对比算法在D-5-252数据集下的Pareto前沿分布图。
图6为本发明提供的基于进化强化学习策略的并行云工作流调度方法和四种对比算法的运行时间对比图。
图7为本发明提供的基于进化强化学习策略的并行云工作流调度方法和四种对比算法得到的调度方案集合。
具体实施方式
下面列举实施例,对本发明进行详细描述。
本发明提出了一种基于进化强化学习策略的并行云工作流调度方法,基本思想是:在深度确定性策略梯度(Deep Deterministic Policy Gradient,DDPG)强化学习算法的基础上,结合群智能优化的多种群进化思想实现了基于进化强化的双目标工作流的调度。首先,在PSO算法中引入多目标多种群(Multi-Objective Multi-Population,MPMO)思想,将种群划分为时间种群P1和成本种群P2两个种群,分别优化不同的工作流调度目标,即执行时间(Makespan)和成本(Cost)。同时,将种群中的个体设计为强化学习中的智能体,通过智能体与环境的迭代交互学习调度知识,在探索潜在调度方案的同时,着重于优化种群特定的调度目标。
其次,在进化过程中,嵌入基于PSO算法的Actor网络参数更新策略,对Actor网络参数进行二级优化;通过多个Actor与环境的并行交互以及两个种群的协同进化,更好地在探索和利用之间获取得平衡,提高动作选择策略搜索的多样性,以避免搜索陷入局部最优解,确保最终收敛到全局最优解。
本发明提出的一种基于强化学习策略的并行云工作流调度方法,包括基于进化强化学习策略的并行云工作流调度模型的搭建、训练以及在并行云工作流调度中的应用,具体包括如下步骤:
步骤1、利用DDPG算法,建立基于进化强化学习策略的并行云工作流调度模型,调度模型包含时间种群P1和成本种群P2,且两个种群P1、P2分别用于对工作流执行时间和成本进行优化,采用种群中的个体作为DDPG网络中的智能体(Actor),即时间种群包含多个时间优化子Actor,成本种群包含多个成本优化子Actor,并将时间优化子Actor和成本优化子Actor统称为子Actor。
其中,DDPG算法主要由Actor和Critic组成,Actor从环境接收状态、选择要执行的动作,并从来自Critic的反馈中学习调度知识。Critic获得Actor和环境交互中所产生的状态和奖励,并据此计算时序差分(Timing Difference,TD)误差,实现自身和Actor的网络参数的更新。
步骤2、计算资源池中的虚拟机执行待调度任务的时间优化目标值或成本优化目标值,并将时间优化目标(Makspan)值和成本优化目标(Cost)值分别作为P1、P2种群中时间优化子Actor和成本优化子Actor的输入状态。
步骤3、基于进化强化学习策略的并行云工作流调度模型训练过程中,时间优化子Actor和成本优化子Actor分别以时间相关和成本相关的状态作为输入,通过Agent与环境的交互,实现子Actor网络参数的更新。模型训练流程如图1所示,具体过程如下:
步骤3.1、重置环境为初始状态。由于开始时尚未进行工作流调度,所以任务状态列表Task_List(记录任务是否已被调度)和虚拟机状态列表VM_State_List(记录虚拟机运行时间及使用成本)均为“空”。
步骤3.2、种群中的每一个时间优化子Actor和成本优化子Actor,分别检测当前时间步的环境状态,即q时的环境状态(Makespan)和(Cost),并输入到其对应的子Actor网络来选择动作aq,即为就绪任务所分配的虚拟机。同时,在动作选择过程中引入互补启发式策略,避免任何一个Actor过度优化自己的目标,从而在Makespan和Cost两个目标之间进行平衡。
互补启发式策略是:在强化学习Agent与环境的交互过程中,每个子Actor在其相应的种群中并行地与环境交互,探索它们各自的调度方案。在每个时间步中,每个子Actor根据其网络输出概率和启发式信息为就绪任务选择合适的资源,即虚拟机。互补启发式策略的具体应用过程如下:对于任务(即并行工作流集合中第i个工作流的第j个任务),首先生成一个[0,1]范围内的随机数δ,并与预先设定超参数δ0进行比较。如果δ≤δ0,那么Actor贪婪地选择具有最大概率的资源,即使用互补启发式信息微调后的Actor网络输出概率,记为[λ(i,j,k)]×[η(i,j,k)]α,其中α是一个权重参数,λ(i,j,k)和η(i,j,k)分别表示任务分配到虚拟机vk上的Actor网络输出概率和启发式信息,i为工作流的编号,j为任务的编号,k为虚拟机的编号。其中,启发式信息是时间优化子Actor或成本优化子Actor对Cost或者Makespan优化目标的补充信息(例如:时间优化子Actor专注Makespan的优化,为了避免其对Makespan的过度优化,为其添加有关另一个优化目标,即成本Cost的启发式信息);否则,Actor通过轮盘选择为任务分配最合适的虚拟机。互补启发式策略如以下公式所示:
其中,argmax·函数返回输入概率向量中最大值元素的序号,即具有最大选择概率的虚拟机,“轮盘选择”是根据资源的累积概率选择虚拟机。
步骤3.3、每个子Actor在其对应的环境执行时间步q的动作aq后,将环境状态更新为时间步q+1时的新状态,即(Makespan)或(Cost),并计算当前时刻q的时间回报或成本回报同时,每个子Actor将经验序列(Makespan)或(Cost)存储到自己的回放缓冲区B中;一旦回放缓冲区已满或溢出,按时间顺序依次将最早保存的经验序列替换为最新的经验序列。
每个子Actor以预设频率从自己的回放缓冲区中随机提取经验序列,并以此训练自己的网络,以优化其动作选择策略并提高搜索解的质量;同时保证P1、P2种群中子Actor的策略分别朝着优化完工时间和成本的方向进行更新。
步骤3.4、在一次交互结束后,检查任务状态列表,判断所有任务是否已经执行完毕。如果仍有任务未被执行,则转步骤3.2;如果所有任务均被执行,则将一个调度回合的经验序列存入缓冲区B,当B已满或溢出时,按时间顺序依次用最新的经验序列替换最早保存的经验序列,执行步骤3.5。
步骤3.5、通过均匀随机采样从B中抽取经验序列,并基于所抽取的数据学习、训练Actor网络,实现每个子Actor网络的参数更新,同时优化动作选择策略,执行步骤3.6。
步骤3.6、判断累计的完整调度次数是否达到预设的上限。若达到预设的次数,则模型训练完成;否则转步骤3.1。
步骤4、收集P1和P2种群中所有的子Actor,按照Makespan和Cost两个优化目标对这些子Actor进行评价与非支配排序,将得到的所有非支配子Actor保存到集合中,得到Pareto前沿解集;再使用集合中的所有子Actor分别处理新输入的并行工作流应用,通过前向预测输出各自对应的调度方案,即可得到非支配工作流调度方案集合,该调度方案集合即为输出的调度方案。
现有技术中,一个DDPG网络包括两个在线网络和两个目标网络,其中,在线网络由Actor的在线策略网络和Critic的在线Q网络组成,并用θμ和θQ分别表示在线策略网络和在线Q网络的参数;目标网络包括Actor的目标策略网络和Critic的目标Q网络,用θμ′和θQ′分别表示目标策略网络和目标Q网络的参数。
两个在线网络的更新方式如下:Actor的在线策略网络应用梯度上升方法,根据返回Critic对上一个动作的评分来更新其网络参数θμ;Critic为基于值函数的方法,通过计算Actor所选动作策略的Q值来评估Actor选择动作的优劣。因此,Critic采用梯度下降方法,通过最小化Q值的损失函数对在线Q网络参数θQ进行更新。
目标策略网络和目标Q网络分别采用与在线策略网络和在线Q网络完全相同的结构。为了使Critic的学习过程更加稳定,利用Soft更新对两个目标网络的参数,即θμ′和θQ′的更新过程进行改进,基于Soft的更新如公式(2)所示:
其中,ω为一个用于控制更新幅度的参数。
此外,由于深度强化学习算法中神经网络采用基于梯度的方法,虽然学习能力较强,但是收敛性和稳定性一般较差,因此,为了进一步提高动作选择策略的多样性,避免搜索陷入局部最优,在步骤3所述的强化学习阶段的模型训练的基础上,本发明还增加了迭代进化阶段,并基于强化学习阶段和迭代进化阶段的结果选择出最终的Actor网络参数,用以预测工作流调度方案。具体来说,提供了采用进化算法实现时间种群P1与成本种群P2的知识交流与协同进化的优化方式,即:首先,将种群P1、P2分别划分为多个小群组,并将P1、P2种群所有群组中最差的子Actor存入待学习集合HW中;其次,构建外部精英档案集HA储存种群中优秀的子Actor,并用精英外部档案集HA中的精英子Actor对待学习集合HW中的子Actor进行引导并更新。具体包括在步骤3.4和步骤3.6之间增加以下步骤:
S1、判断缓冲区B中存储的经验序列数量是否达到预设容量,如果未达到预设容量,则执行S2;如果达到了预设容量,则先执行步骤3.5、再执行S2。
S2、执行种群群组更新策略。
假设lm为种群Pm的大小,m∈{1,2},且P1和P2分别表示时间种群和成本种群。迭代开始时,将种群Pm随机地划分为Nm 个大小为的群组,即其中n∈{1,2,...,Nm}。需要说明:如果则Pm的最后一个群组将包含个Actor。在对Pm进行群组划分后,不同群组即中的个体(粒子)将独立进化。在整个种群动态分组学习过程中,Pm的群组更新策略如下:
在群组划分后的Pm中,每个群组可被视为一个“大Actor”,用gm表示种群Pm中的最优子Actor,用和分别表示Pm第n个群组中的最优子Actor和最差子Actor,且n∈{1,2,...,Nm}。在每次迭代时,利用整个种群(P1和P2)的全局精英个体和种群(P1或P2)内的优秀个体引导每个群组中最差的子Actor进化,而群组内的其他子Actor则直接进入下一代种群。也就是说,一次迭代仅每个群组中最差的子Actor进行更新,即种群Pm每次迭代只更新Nm个粒子。
S3、外部精英档案集构建以及基于混合精英引导的群组更新机制。混合精英引导策略关注每一代产生的精英解,包括每个种群的全局最优子Actor和每个子Actor的历史最优解。假设:集合HE用于存储来自两个种群P1、P2的所有精英个体,即P1、P2的全局最优子Actor和每个子Actor的历史最优解;集合用于存储HE中的非支配解,也称为非支配解集;集合HA用于存储最终的非支配精英解集,也称HA为外部精英档案集。需要指出:如果小于κ(κ为预设的最终非支配精英解集容量),那么将中的所有非支配解保存到HA中;否则,按照拥挤距离对中的所有个体进行降序排序,并将前κ个解输出到HA中。
与此同时,将P1、P2种群每个群组中最差的子Actor存入待学习集合HW中,并用精英外部档案集HA中的精英子Actor对P1、P2种群所有群组的最差子Actor进行引导并更新。也就是说,用HA中的子Actor引导待学习集合HW中的子Actor进化,实现基于混合精英个体引导的群组协同学习,其更新方式类似于PSO的粒子更新。这里子Actor的位置用于存储DDPG的网络参数信息,具体更新公式如下:
其中,和表示第d次迭代时HW中第e个子Actor的位置和速度,和分别表示第d+1次迭代时HW中第e个子Actor的位置和速度,表示第d次迭代时HW中第e个子Actor的历史最优位置,为经过d次迭代后HW中第e个子Actor所属种群最优解的位置,表示第d次迭代时从精英档案集HA中随机挑选并用于引导HW中第e个子Actor的精英子Actor的位置,ψ0、ψ1、ψ2和ψ3为权重参数,和为0到1之间的随机数,用于增强粒子搜索的随机性,提高种群的多样性,最终探索更有希望的帕累托最优解。
需要说明:在种群的每次迭代过程中,群组中最差的子Actor,即不仅通过学习(即群组中的最优解)和gm(即种群Pm中的最优解)来更新其参数,还会朝着外部档案集HA中的精英子Actor方向移动并进化,从而保证种群搜索的多样性,并产生高质量的Pareto前沿解集。可以看出,集合HA存储P1和P2整个进化过程产生的精英解,即通过在每次迭代时对混合集合的非支配排序和拥挤度排序来挑选精英个体而得到。换言之,HA最终保留的解是所有种群的混合精英个体按照“优胜劣汰”法则进化、竞争的结果,这个过程也称为基于混合精英保留的外部档案更新机制。
进一步地基于上述强化学习阶段和迭代进化阶段的结果,原步骤4的实现方式为:将一批新的并行工作流应用输入到步骤3训练得到的模型中,通过前向预测输出对应的并行工作流调度方案。
进一步地,对于一个给定大小为lm的种群,划分的群组越大,则每个群组包含的粒子越多,意味着迭代时要从较大群组的子Actor中挑选最差的一个进行更新,这种做法相对贪婪,可能削弱种群的探索能力,相反,划分的群组越小,则每个群组包含的粒子越少,相当于要从一个较小的群组内挑选最差的一个子Actor进行更新,这将使搜索过程更加多样化,因此为了控制学***衡点。同时,多个小群组的并行迭代探索和整个种群的持续进化,在一定程度上减轻了强化学习模型对参数的敏感性。
由此,本发明分别实现了强化学习阶段和迭代进化阶段的两级优化,具体来说:在强化学习阶段,时间优化子Actor和成本优化子Actor分别以时间相关和成本相关的状态作为输入,通过Agent与环境的交互,实现子Actor网络参数的第一级更新;在迭代进化阶段,本发明分别设计了一种动态分组学习机制和混合精英引导策略,通过动态调整群组的大小来控制学习强度,同时,在群组每次迭代时,利用混合精英引导策略,借助于精英个体引导每个群组中最差的子Actor学习并更新,实现种群整体子Actor网络参数的第二级优化。
为了检验本发明提出的基于进化强化学习策略的并行工作流调度方法的有效性,本发明使用python语言对所提出的并行云工作流调度算法以及工作流调度仿真环境进行编程实现,并通过对比实验验证其性能。为了使实验结果更符合客观实际,将不同规模的5种典型科学工作流CyberShake、Epigenomics、Inspiral、Montage和Sipht组合,构建成两组并行云工作流应用对应的两个数据集。实验选取了MOPSO、NSGA-II、MOACS和WDDQN-RL等典型的多目标云工作流调度算法作为基线对比算法。
首先,为了验证基于动态分组的进化强化学习算法的网络模型收敛性,引入超体积(Hyper-Volume,HV)来评估每个算法得到的调度方案集合的帕累托前沿。为了直观地说明本发明模型(即DG-ERL)的收敛性,记录两组并行云工作流训练过程中各个算法产生的调度解集超体积的变化趋势,如图2、图3所示。由图2、图3可知,随着训练次数的增加,本发明设计的用于并行云工作流调度的强化学习模型趋于收敛,说明了其可行性。
其次,为了进一步测试本发明强化学习模型的调度性能并评估所产生调度解集的质量和多样性,在同一个调度仿真环境中用五种算法分别对每组并行云工作流应用进行调度,并对所产生调度方案进行评估,得到它们的完工时间和总成本,并记录相应的超体积值,实验结果如图4、图5、图7所示。由图4、图5可知,在两组并行云工作流数据集下,本发明提出的方法能获得更好的Pareto前沿解,且这种优势随着数据集中任务数规模的增加变得越来越明显。由图7可知,本发明提出的模型得到的调度方案集合的超体积值更高,说明得到的调度解集多样性更好,进一步说明了其优越性。
最后,为了测试本发明的运行效率,我们还记录了每个算法的运行时间,如图6所示。从图6可以看出,本发明提出的方法利用更少的时间即可得到比MOPSO和NSGA-II更接近最优Pareto前沿的调度解集。虽然运行时间略长于WDDQN-RL,但所获得的调度解集的质量明显优于WDDQN-RL。这就说明了基于进化强化学习策略的并行云工作流方法不仅能获得更好的Pareto前沿解集,而且在运行效率方面也有一定的优势。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于进化强化学习策略的并行云工作流调度方法,其特征在于,包括以下步骤:
步骤1、采用DDPG算法建立基于进化强化学习策略的并行云工作流调度模型,所述并行云工作调度模型包含时间种群P1和成本种群P2,且P1、P2分别用于优化工作流执行时间和成本,采用种群中的个体作为DDPG网络中的智能体,即时间种群包含多个时间优化子Actor,成本种群包含多个成本优化子Actor;
步骤2、计算资源池中虚拟机执行待调度任务的时间优化目标值Makspan及成本优化目标值Cost,并将Makspan和Cost分别作为P1、P2种群中时间优化子Actor和成本优化子Actor的输入状态;
步骤3、所述并行云工作调度模型训练过程中,时间优化子Actor和成本优化子Actor分别以时间相关和成本相关的状态作为输入,通过Agent与环境的交互,实现子Actor网络参数的更新;
2.根据权利要求1所述的并行云工作流调度方法,其特征在于,所述并行云工作调度模型的训练过程包括以下步骤:
步骤2.1、重置环境为初始状态,清空任务状态列表Task_List和虚拟机状态列表VM_State_List;
步骤2.2、针对种群中的时间优化子Actor和成本优化子Actor,分别检测当前时间步q时的Makespan相关环境状态和Cost相关环境状态并输入到其对应的子Actor网络,再结合互补启发式策略选择动作aq,即为就绪任务所分配的虚拟机;所述互补启发式策略如下式所示:
其中,是为就绪任务分配的虚拟机,λ(i,j,k)和η(i,j,k)分别表示任务分配到虚拟机vk上的Actor网络输出概率和启发式信息,i为工作流的编号,j为任务的编号,k为虚拟机的编号,δ为[0,1]范围内的随机数,δ0为预先设定的超参数,argmax·函数返回具有最大选择概率的虚拟机的序号;
步骤2.4、在一次交互结束后,若任务状态列表存在状态为未被执行的任务,则执行步骤2.2;若所有任务均被执行,则将一个调度回合的经验序列存入缓冲区B,执行步骤2.5;
步骤2.5、通过均匀随机采样从缓冲区B中抽取经验序列,并基于所抽取的数据学习、训练Actor网络,实现每个子Actor网络的参数更新,同时优化动作选择策略;
步骤2.6、判断累计的完整调度次数是否达到阈值,若达到则所述并行云工作调度模型的训练完成;否则执行步骤2.1。
3.根据权利要求2所述的并行云工作流调度方法,其特征在于,所述步骤2.3或步骤2.4中,当缓冲区B已满或溢出,按时间顺序依次将最早保存的经验序列替换为最新的经验序列。
4.根据权利要求2所述的并行云工作流调度方法,其特征在于,在所述步骤2.4之后还包括以下步骤:
S1、若缓冲区B中存储的经验序列数量达到预设容量,则先执行步骤2.5、再执行S2;否则执行S2;
S2、将P1和P2种群划分为多个群组,不同群组中的个体独立进化;选取各种群中的全局最优子Actor和每个子Actor的历史最优解形成精英档案集HA,选取各群组中的最差子Actor形成待学习集合HW中,采用HA中的精英解对HW中的最差子Actor进行引导并更新,更新过程如下公式所示:
5.根据权利要求4所述的并行云工作流调度方法,其特征在于,所述步骤4为:将新的并行工作流调度方案输入到步骤3训练得到的模型中,通过前向预测输出对应的并行工作流调度方案。
6.根据权利要求4所述的并行云工作流调度方法,其特征在于,所述S2中将P1和P2种群划分为多个群组的方式为:群组的大小随着时间步的递进而动态增大。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210537383.0A CN114860385B (zh) | 2022-05-17 | 2022-05-17 | 一种基于进化强化学习策略的并行云工作流调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210537383.0A CN114860385B (zh) | 2022-05-17 | 2022-05-17 | 一种基于进化强化学习策略的并行云工作流调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114860385A true CN114860385A (zh) | 2022-08-05 |
CN114860385B CN114860385B (zh) | 2024-06-07 |
Family
ID=82636731
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210537383.0A Active CN114860385B (zh) | 2022-05-17 | 2022-05-17 | 一种基于进化强化学习策略的并行云工作流调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114860385B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150067679A1 (en) * | 2013-08-28 | 2015-03-05 | Connectloud, Inc. | Method and apparatus for software defined cloud workflow recovery |
CN111191934A (zh) * | 2019-12-31 | 2020-05-22 | 北京理工大学 | 一种基于强化学习策略的多目标云工作流调度方法 |
CN111813500A (zh) * | 2020-07-09 | 2020-10-23 | 西北工业大学 | 一种多目标云工作流调度方法及装置 |
US20200370423A1 (en) * | 2019-05-20 | 2020-11-26 | Schlumberger Technology Corporation | Controller optimization via reinforcement learning on asset avatar |
CN112231091A (zh) * | 2020-11-05 | 2021-01-15 | 北京理工大学 | 一种基于强化学习策略的并行云工作流调度方法 |
CN112685165A (zh) * | 2021-01-08 | 2021-04-20 | 北京理工大学 | 一种基于联合强化学习策略的多目标云工作流调度方法 |
CN112685138A (zh) * | 2021-01-08 | 2021-04-20 | 北京理工大学 | 云环境下基于多种群混合智能优化的多工作流调度方法 |
US20210337000A1 (en) * | 2020-04-24 | 2021-10-28 | Mitel Cloud Services, Inc. | Cloud-based communication system for autonomously providing collaborative communication events |
CN114461368A (zh) * | 2022-03-16 | 2022-05-10 | 南京航空航天大学 | 一种基于协同果蝇算法的多目标云工作流调度方法 |
-
2022
- 2022-05-17 CN CN202210537383.0A patent/CN114860385B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150067679A1 (en) * | 2013-08-28 | 2015-03-05 | Connectloud, Inc. | Method and apparatus for software defined cloud workflow recovery |
US20200370423A1 (en) * | 2019-05-20 | 2020-11-26 | Schlumberger Technology Corporation | Controller optimization via reinforcement learning on asset avatar |
CN111191934A (zh) * | 2019-12-31 | 2020-05-22 | 北京理工大学 | 一种基于强化学习策略的多目标云工作流调度方法 |
US20210337000A1 (en) * | 2020-04-24 | 2021-10-28 | Mitel Cloud Services, Inc. | Cloud-based communication system for autonomously providing collaborative communication events |
CN111813500A (zh) * | 2020-07-09 | 2020-10-23 | 西北工业大学 | 一种多目标云工作流调度方法及装置 |
CN112231091A (zh) * | 2020-11-05 | 2021-01-15 | 北京理工大学 | 一种基于强化学习策略的并行云工作流调度方法 |
CN112685165A (zh) * | 2021-01-08 | 2021-04-20 | 北京理工大学 | 一种基于联合强化学习策略的多目标云工作流调度方法 |
CN112685138A (zh) * | 2021-01-08 | 2021-04-20 | 北京理工大学 | 云环境下基于多种群混合智能优化的多工作流调度方法 |
CN114461368A (zh) * | 2022-03-16 | 2022-05-10 | 南京航空航天大学 | 一种基于协同果蝇算法的多目标云工作流调度方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114860385B (zh) | 2024-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111191934B (zh) | 一种基于强化学习策略的多目标云工作流调度方法 | |
Shyalika et al. | Reinforcement learning in dynamic task scheduling: A review | |
Mansouri et al. | Hybrid task scheduling strategy for cloud computing by modified particle swarm optimization and fuzzy theory | |
CN112016812B (zh) | 多无人机任务调度方法、***及存储介质 | |
CN109753751B (zh) | 一种基于机器学习的mec随机任务迁移方法 | |
Son et al. | Multiheuristic approach for resource leveling problem in construction engineering: Hybrid approach | |
CN112685165B (zh) | 一种基于联合强化学习策略的多目标云工作流调度方法 | |
Coello Coello | Constraint-handling techniques used with evolutionary algorithms | |
Zhou et al. | Deep reinforcement learning-based methods for resource scheduling in cloud computing: A review and future directions | |
CN113778648A (zh) | 分层边缘计算环境中基于深度强化学习的任务调度方法 | |
CN106134136A (zh) | 计算针对广域网上的数据传送的长期调度 | |
Lin et al. | AI-driven collaborative resource allocation for task execution in 6G-enabled massive IoT | |
CN113487220B (zh) | 面向静态目标观测的空天异构对地观测资源协同调度方法 | |
CN112685138A (zh) | 云环境下基于多种群混合智能优化的多工作流调度方法 | |
Mirsadeghi et al. | Hybridizing particle swarm optimization with simulated annealing and differential evolution | |
CN114710439B (zh) | 基于深度强化学习的网络能耗与吞吐量联合优化路由方法 | |
CN114154685A (zh) | 智能电网中电能数据调度方法 | |
Manavi et al. | Resource allocation in cloud computing using genetic algorithm and neural network | |
Qi et al. | Multi-compression scale DNN inference acceleration based on cloud-edge-end collaboration | |
Goel et al. | Evolutionary ant colony algorithm using firefly-based transition for solving vehicle routing problems | |
CN114860385B (zh) | 一种基于进化强化学习策略的并行云工作流调度方法 | |
Zhang et al. | Intelligent scheduling of public traffic vehicles based on a hybrid genetic algorithm | |
JPH05319707A (ja) | 群管理エレベータの制御方法 | |
CN113220437B (zh) | 一种工作流多目标调度方法及装置 | |
CN115423324A (zh) | 一种基于改进蚁群优化的uuv集群任务规划方法 |
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 |