CN112231091A - 一种基于强化学习策略的并行云工作流调度方法 - Google Patents
一种基于强化学习策略的并行云工作流调度方法 Download PDFInfo
- Publication number
- CN112231091A CN112231091A CN202011224499.6A CN202011224499A CN112231091A CN 112231091 A CN112231091 A CN 112231091A CN 202011224499 A CN202011224499 A CN 202011224499A CN 112231091 A CN112231091 A CN 112231091A
- Authority
- CN
- China
- Prior art keywords
- task
- resource
- scheduling
- cloud workflow
- cost
- 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 61
- 230000002787 reinforcement Effects 0.000 title claims abstract description 54
- 230000008569 process Effects 0.000 claims abstract description 18
- 239000003795 chemical substances by application Substances 0.000 claims description 59
- 230000009471 action Effects 0.000 claims description 34
- 238000004422 calculation algorithm Methods 0.000 claims description 32
- 238000012549 training Methods 0.000 claims description 30
- 230000000875 corresponding effect Effects 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 15
- 238000013528 artificial neural network Methods 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 12
- 230000003993 interaction Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000008447 perception Effects 0.000 claims description 4
- 230000000306 recurrent effect Effects 0.000 claims description 4
- 238000012804 iterative process Methods 0.000 claims description 3
- 238000005070 sampling Methods 0.000 claims description 3
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 claims description 2
- 230000001537 neural effect Effects 0.000 claims description 2
- 230000002123 temporal effect Effects 0.000 claims 1
- 238000005457 optimization Methods 0.000 abstract description 7
- 230000008859 change Effects 0.000 abstract description 4
- 230000007246 mechanism Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- NUFBIAUZAMHTSP-UHFFFAOYSA-N 3-(n-morpholino)-2-hydroxypropanesulfonic acid Chemical compound OS(=O)(=O)CC(O)CN1CCOCC1 NUFBIAUZAMHTSP-UHFFFAOYSA-N 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 230000000052 comparative effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000015654 memory Effects 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
- 238000011160 research Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000004044 response 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/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
- 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/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于强化学习策略的并行云工作流调度方法,通过在任务选择过程中引入指针网络,并将softmax概率分布作为“指针”来处理可变长度的输入,使工作流调度模型在工作流调度的不同阶段,能够感知待选任务的动态变化,学习更多的任务执行顺序知识,提高调度解的优化性能。
Description
技术领域
本发明属于云计算技术领域,具体涉及一种基于强化学习策略的并行云工作流调度方法。
背景技术
作为一种新型的计算服务提供模式,云计算具有资源弹性配置、按使用付费等特点,可以不受空间和时间约束地向网络用户提供灵活、高效、可拓展的计算与存储等资源服务。用户无需购置服务器等硬件资源,即可通过网络获取计算、存储等服务。随着云计算的快速发展以及科学应用数据的日益庞大和复杂化,越来越多的大规模科学应用被部署在或正被迁移到云数据中心执行。云应用的不断扩大以及云用户请求数量的日益增长,对数据中心的服务请求响应速度提出了越来越高的要求。因此,为了同时响应不同用户的复杂应用请求,需要考虑多个不同规模应用的并行云工作流调度问题,通过开发有效的调度算法来降低云服务提供商的运营成本。为了更好地满足多个用户的服务质量(QoS)要求,需要在减小工作流执行跨度时间的同时,降低其执行成本。因此,基于多目标优化的并行云工作流调度问题成为当前的研究热点。
当前,云工作流调度方法主要包括启发式、元启发式以及两者的混合算法。启发式算法是一种基于规则的贪婪算法,往往依赖于专家经验或者针对某些特定问题而设计。后两种算法是基于迭代优化的随机搜索技术,具有一定的通用性,但是随机性较大,每次运行都可能得到不同的解。考虑到强化学习策略在解决序列决策问题方面的突出优势,有人开始利用强化学习处理工作流调度问题,并提出了基于Deep-Q-Network(DQN)的多目标工作流调度方法。但是,这些基于强化学习策略的工作流调度方法存在以下不足:Agent所用的传统神经网络无法处理维数变化的输入信息,难以感知工作流调度不同阶段中待选任务个数的动态变化,也就无法学习到待选任务相关的知识,从而直接影响调度决策,例如任务选择与任务到资源的映射。
发明内容
有鉴于此,本发明提供了一种基于强化学习策略的并行云工作流调度方法,在同时处理多个不同类型云工作流调度的情况下,实现总的工作流执行跨度时间和成本的同时最小化的调度。
本发明提供的一种基于强化学习策略的并行云工作流调度方法,包括以下步骤:
步骤1、基于指针网络建立任务选择模型,所述任务选择模型根据任务执行时间和执行成本从待调度并行云工作流中选择出当前的待选任务,并计算得到所述待选任务的任务特征信息;基于全连接神经网络建立任务资源映射模型,所述任务资源映射模型根据所述任务特征信息、任务的执行时间和执行成本将所述待选任务映射到资源池中相应的待选资源,并计算得到待选资源的资源特征信息;
步骤2、基于强化学习策略建立并行云工作流调度模型,其中,所述并行云工作流调度模型的环境状态包括待调度并行云工作流中各任务的任务调度状态、资源池中各资源的资源状态,所述并行云工作流调度模型的动作包括所述步骤1得到的所述任务特征信息及资源特征信息,所述并行云工作流调度模型的回报包括工作流执行跨度时间及工作流执行成本;采用强化学习模型的训练方式完成所述并行云工作流调度模型的训练;
步骤3、将待调度并行云工作流输入步骤2得到的并行云工作流调度模型中,得到待调度并行云工作流的调度方案。
进一步地,所述步骤1中的所述任务选择模型包括时间代理和成本代理,所述时间代理和成本代理的结构均包括循环神经层和softmax层;所述任务选择模型根据任务执行时间和执行成本从待调度并行云工作流中选择出当前的待选任务并计算得到所述待选任务的任务特征信息,包括以下步骤:
由调度过程中某个调度时刻的所述待调度并行云工作流的待选任务的特征信息组成向量Ta={ta1,...,tak},其中,k为所述调度时刻的待选任务的总数,tak表示第k个任务的特征信息;
将所述向量Ta分别输入所述时间代理和成本代理中,由所述时间代理和成本代理的循环神经网络计算得到输出向量,再将所述输出向量输入所述softmax层得到任务的时间条件概率分布向量和成本条件概率分布向量;
根据所述时间条件概率分布向量和成本条件概率分布向量选择出优先执行的待选任务j,并输出所述待选任务j的任务特征信息taj,其中,j∈[1,k]。
进一步地,所述根据所述时间条件概率分布向量和成本条件概率分布向量选择出优先执行的待选任务的过程包括:
采用公式(1)根据所述时间条件概率分布向量和成本条件概率分布向量计算任务的选择概率:
Pi=μ*Pi m+(1-μ)*Pi c (1)
其中,Pi m、Pi c分别为时间代理和成本代理选择任务i的概率,μ为感知因子且μ∈(0,1),根据所述选择概率选择出所述待选任务。
进一步地,所述步骤1中所述任务资源映射模型根据任务执行时间和执行成本将所述待选任务映射到资源池中相应的待选资源,包括以下步骤:
将由所述任务特征信息、任务调度状态、资源状态组成的向量输入全连接神经网络,得到所述待选任务的资源选择概率分布向量,根据所述资源选择概率分布向量确定与所述待选任务相匹配的资源作为所述待选资源。
进一步地,所述并行云工作流调度模型的采用WDDQN算法实现,所述WDDQN算法的目标函数的计算公式如公式(2)所示:
其中,rt+1为强化学习算法在迭代过程中产生的回报,γ为折现因子,aH为Q(st+1,a;θt)最大时对应的动作,Q(st+1,aH;θt)为评估网络在状态st+1和动作aH下的动作值函数,为目标网络的参数,为目标网络在状态st和动作at下的动作值函数;ω采用公式(3)计算:
其中,β=η*e-δ,η为预设的超参数,δ采用公式(4)计算:
进一步地,所述步骤2中采用强化学习模型的训练方式完成所述并行云工作流调度模型的训练,包括以下步骤:
步骤6.1、重置环境为初始状态,准备环境和Agent交互;
步骤6.2、执行所述步骤1得到动作a=[taj,vf],更新所述环境状态,计算当前时刻的回报,并将在交互过程中产生的经验序列存储到集合B中;
步骤6.3、当所述集合B中存储的经验序列数量达到预设值时,采用均匀随机采样方法从所述集合B中抽取经验序列,并基于抽取的经验序列网络参数,优化动作选择策略;
若待调度并行云工作流中的所有任务执行完毕,则调度次数自加1,执行步骤6.4;否则执行步骤6.2;
步骤6.4、若调度次数达到设定值,则训练完成,结束本流程;否则执行骤6.1。
进一步地,所述资源为虚拟机。
进一步地,所述资源状态包含虚拟机的已使用时间和成本信息,所述任务状态包含可被调度任务的大小以及任务之间的依赖关系。
有益效果:
1、本发明通过在任务选择过程中引入指针网络,并将softmax概率分布作为“指针”来处理可变长度的输入,使工作流调度模型在工作流调度的不同阶段,能够感知待选任务的动态变化,学习更多的任务执行顺序知识,提高调度解的优化性能。
2、本发明通过设计具有动态目标感知的双Agent综合决策机制,通过调节时间Agent和成本Agent选择动作的权重占比来改变强化学习模型对跨度时间和成本两个目标的优化偏好,增加所产生调度方案的多样性,满足了用户对工作流执行跨度时间和成本两个目标的不同需求。
3、本发明基于具有动态系数的Weighted Double DQN算法,并利用改进的加权双估计器,在Q值的DQN高估和Double-DQN低估之间寻找平衡,提高强化学习算法目标值估算的准确性,优化Agent的动作选择策略,最终产生更好的工作流调度方案。
附图说明
图1为本发明提供的一种基于强化学习策略的并行云工作流调度方法的算法流程图。
图2为本发明提供的一种基于强化学习策略的并行云工作流调度方法采用的强化学习结构框图。
图3为本发明提供的一种基于强化学习策略的并行云工作流调度方法的指针网络结构框图。
图4为本发明提供的一种基于强化学习策略的并行云工作流调度方法在模型训练中的工作流成本收敛性实验结果图。
图5为本发明提供的一种基于强化学习策略的并行云工作流调度方法在模型训练中的工作流跨度时间收敛性实验结果图。
图6为本发明提供的一种基于强化学习策略的并行云工作流调度方法在小规模工作流数据集下的实验结果调度方案主导性对比图。
图7为本发明提供的一种基于强化学习策略的并行云工作流调度方法在中规模工作流数据集下的实验结果调度方案主导性对比图。
图8为本发明提供的一种基于强化学习策略的并行云工作流调度方法与算法MOPSO的对比实验结果调度方案甘特图。
图9为本发明提供的一种基于强化学习策略的并行云工作流调度方法与算法NSGA-II的对比实验结果调度方案甘特图。
图10本发明提供的一种基于强化学习策略的并行云工作流调度方法与基于DQN的多Agent强化学习算法的对比实验结果调度方案甘特图。
图11本发明提供的一种基于强化学习策略的并行云工作流调度方法的实验结果调度方案甘特图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
现有技术中,标准的强化学习算法DQN包含Agent和环境两部分,并采用神经网络逼近动作状态价值函数。其中,Agent和环境的交互过程如下:在时间步t中,首先,Agent接收环境的状态信息(st),选择对环境拟采取的动作(at);其次,将该动作at作用于环境,并获取环境对该动作的回报(rt+1)和环境更新后的下一个状态(st+1);在下一个时间步t+1中,首先,判断回合是否终止。如果回合未结束,Agent获取新的环境状态信息,并与环境进行新的交互,具体框架如图2所示。在模型训练过程中,Agent与环境交互所产生的经验序列et=(st,at,rt+1,st+1)被存入数据库B中,并在迭代时按照预先设定的频率,从B中随机抽取一批序列进行学习,更新动作值函数Q。同时,根据Agent和环境反复交互产生的大量信息,对数据库进行持续更新。其中,环境产生的回报直接影响Agent选择相应动作的趋势。另外,通过序列的随机抽取打破记忆之间的相关性,使Agent更全面地学习状态到动作的映射知识,优化动作选择策略。
经典强化学习算法如DQN和Double DQN(DDQN),分别存在对Q值的过高估计和过低估计问题。为了缓解DQN固有的过度估计,出现了DQN和DDQN算法的结合,即Weight DoubleDQN(WDDQN)。在WDDQN算法中,评估网络参数θt的更新公式如下:
其中,α为学习率,Q(st,at;θt)为评估网络在状态st和动作at下的动作值函数,目标值Yt的计算公式如下:
其中,γ为折现因子,aH为Q(st+1,a;θt)最大时对应的动作,即Q(st+1,aH;θt)为评估网络在状态st+1和动作aH下的动作值函数,为目标网络的参数,为目标网络在状态st和动作at下的动作值函数。其中,参数ω的作用是平衡评估网络和目标网络的Q值,以减少其高估或者低估带来的误差。由于ω无法根据输入的变化调整加权双估计器输出的Q值,从而影响强化学习模型的泛化能力。
本发明提供的一种基于强化学习策略的并行云工作流调度方法,其基本思想是:针对现有强化学习模型在求解工作流调度问题时难以学习待选任务知识的不足,本发明设计了由基于指针网络的任务选择模型和基于全连接神经网络的任务资源匹配模型构成的两级调度机制,由两级调度机制生成强化学习网络中的动作,再将该动作输入基于强化学习策略建立的并行云工作流调度模型完成并行云工作流调度模型的训练,采用训练得到的并行云工作流调度模型完成并行工作流的调度。
本发明提供的一种基于强化学习策略的并行云工作流调度方法,具体包括以下步骤:
步骤1、基于指针网络建立任务选择模型,所述任务选择模型根据任务执行时间和执行成本从待调度并行云工作流中选择出当前的待选任务,并计算得到所述待选任务的任务特征信息;基于全连接神经网络建立任务资源映射模型,所述任务资源映射模型根据所述任务特征信息、任务的执行时间和执行成本将所述待选任务映射到资源池中相应的待选资源,并计算得到待选资源的资源特征信息。具体包括以下步骤:
步骤1.1、构建基于指针网络进行任务选择的第一级调度模型。采用指针网络构建Agent,以实现从动态变化的待选任务集合中选择一个优先执行的任务,具体过程描述如下:
如图3所示,首先,将由待选任务特征信息组成的向量Ta={ta1,...,tak}作为输入,其中,k为工作流调度过程中某一时间步t的待选任务个数,tak表示第k个待选任务的特征信息。输入向量Ta经过一个由Recurrent Neural Network(RNN)组成的网络后,输出向量{y1,...,yk},并进一步通过softmax层处理,得到条件概率分布向量{p(ta1|Ta),…,p(tak|Ta)},供Agent依此条件概率分布选择一个优先执行的任务j,并输出其相应的特征信息taj,其中j∈[1,k]。
步骤1.2、构建基于全连接神经网络进行资源分配的第二级调度模型。将步骤1.1输出的任务特征信息taj和环境状态组成的向量输入到全连接神经网络,得到资源选择的概率分布向量,Agent依此概率分布为任务j匹配一个最合适的资源f,并输出其相应的特征信息vf,实现任务j到资源f的映射,其中f∈[1,m],m为所有可用资源的数量;
由步骤1.1和步骤1.2的输出组成一个动作a=[taj,vf],即将待选任务j分配到虚拟机f上。
步骤2、基于强化学习策略建立并行云工作流调度模型,其中,所述并行云工作流调度模型的环境状态包括待调度并行云工作流中各任务的任务调度状态、资源池中各资源的资源状态,所述并行云工作流调度模型的动作包括所述步骤1得到的所述任务特征信息及资源特征信息,所述并行云工作流调度模型的回报包括工作流执行跨度时间及工作流执行成本;采用强化学习模型的训练方式完成所述并行云工作流调度模型的训练。
步骤2.1、构建调度环境状态,即对环境状态进行描述。状态由当前时刻的虚拟机和任务状态描述两部分构成,虚拟机状态包含虚拟机的已使用时间和成本信息,任务状态包含可被调度任务的大小以及任务之间的依赖关系等信息;
步骤2.2、设计调度环境回报函数。其中,环境产生的回报包括rm和rc两部分,rm表示工作流执行跨度时间的回报,rc表示工作流执行成本的回报,其计算公式如下:
其中,ETj,f为任务j在虚拟机f上的执行时间,Δmakespan为调度任务j前、后的工作流执行跨度时间变化量,Cj,worst和Cj,best分别为任务j在能效最差和能效最优的虚拟机上的执行成本,cf为虚拟机f的单位时间成本。
在步骤1和2构建的基于强化学习策略的并行云工作流调度模型基础上,Agent和环境进行交互以训练相应的强化学习模型。具体过程如下:
步骤2.3、重置环境为初始状态。由于开始时工作流调度尚未进行,所以任务调度状态列表(记录任务是否已被调度)和虚拟机状态列表(记录虚拟机运行时间及使用成本)为空。然后环境与Agent之间的开始交互。
步骤2.4、交互开始后,在第一级调度中,基于指针网络的时间Agent和成本Agent获取当前的环境状态,输出所有待选任务可被选择的概率分布向量,并采用本发明设计的双Agent综合决策机制选择优先执行的任务j及其相应的特征信息taj,j∈[1,k],k为工作流调度过程中某一时间步t的待选任务个数。其中,双Agent综合决策机制是指:Agent能够根据感知因子μ∈(0,1)的大小,对时间和成本两个优化目标进行动态感知,即μ越大,时间Agent选择最终任务的占比越大,而成本Agent选择最终任务的占比越小,反之亦然;
在上述双Agent综合决策机制中,Agent选择第i个待选任务的概率按下式计算:
Pi=μ*Pi m+(1-μ)*Pi c,i∈[1,k] (5)
其中Pi m、Pi c分别为时间Agent和成本Agent选择待选任务i的概率。
步骤2.5、第二级调度中,基于全连接神经网络的时间Agent和成本Agent,接收环境状态和步骤2.4中输出任务j的特征信息taj,为任务j分配合适的虚拟机f,并输出虚拟机f的特征信息vf,完成任务j到资源f的映射,f∈[1,m],m为所有可用资源的数量。其中,双Agent综合决策机制和步骤2.4相同。
步骤2.7、当B中存储的经验序列数量达到预设容量后,利用均匀随机采样方法从B中抽取经验序列,并基于抽取的数据进行学习,同时按式(1)和式(2)更新网络参数,优化动作选择策略。其中,改进的动态WDDQN算法使得ω能根据和β的变化,动态地调整加权双估计器的输出,其计算公式如下:
其中,rt+1为强化学习算法在迭代过程中产生的回报,γ为折现因子。
值得注意的是:两个Agent分别抽取相应的训练样本,即时间Agent和成本Agent分别基于不同的训练样本,按照优化时间和成本的方向进行迭代学习。
步骤2.8、一次训练结束后,通过任务调度状态列表,判断是否所有任务已经执行完毕。如果仍有任务未被执行,则转步骤2.6。
步骤2.9、判断累计的完整调度次数是否达到预设次数。若达到预设次数,则模型训练完成;否则转步骤2.5。
需要指出的是:为增大模型探索的随机性以及增加训练样本的多样性,步骤2.6和步骤2.7按照概率ξ随机选择待选任务和资源,且ξ的值会随着训练次数的增加而减小。在初始阶段,由于模型训练次数较少,主要采用随机方式选择待选任务和资源,并与环境进行交互,以降低初始阶段网络参数的不合理性所带来的影响。随着训练次数的增加,按照强化学习网络输出的概率分布向量进行任务和资源选择的概率将逐步增大。
步骤3、将待调度并行云工作流输入步骤2得到的并行云工作流调度模型中,得到待调度并行云工作流的调度方案。
为了检验本发明提出的基于强化学习策略的并行云工作流调度方法的有效性,本发明使用python语言对本发明所提出的并行云工作流调度算法以及工作流调度仿真环境进行编程实现,并通过与已有算法的对比实验验证其性能。实验选取了典型的多目标云工作流调度算法作对比,包括MOPSO、NSGA-Ⅱ和基于DQN的多Agent算法。
首先,采用并行云工作流训练强化学习模型,通过设置不同的动态目标感知因子μ训练出多组模型。在训练过程中,两个优化目标值的变化趋势如图4和图5所示。由图4、图5可知,随着训练次数的增加,本发明设计的用于并行云工作流调度的强化学习模型趋于收敛,说明了本发明所提出算法的可行性。
其次,在同一调度仿真环境中,对5种典型科学工作流CyberShake、Epigenomics、Inspiral、Montage和Sipht组成的两种规模的并行云工作流应用进行调度,其结果如图6、图7所示(RL和RL+Ptr分别表示基于DQN的多Agent强化学习模型和本发明提出的强化学习模型)。由图6和图7可知,在两种规模的并行工作流下,本发明方法能获得更好的Pareto前沿解。
最后,选择一种规模的并行云工作流应用进行调度,其调度方案的甘特图如图8、图9、图10、图11所示,其中图8、图9、图10、图11分别为MOPSO、NSGA-Ⅱ、基于DQN的多Agent和本发明算法的并行云工作流调度方案甘特图。由图8、图9、图10、图11可知,相比于元启发式算法MOPSO和NSGA-Ⅱ,两种强化学习算法生成的工作流调度方案中,所用虚拟机的总空闲时间更少,虚拟机的利用率更高。这就说明了基于强化学习策略的并行云工作流算法不仅能获得更好的Pareto前沿解,而且在优化资源利用率方面也有明显优势。
值得注意的是,本发明假设所有虚拟机的开启时刻为0,仅当虚拟机执行完分配到其上的所有任务时才会关闭。因此,虚拟机从0时刻开启到完成最后一个任务之间,一直保持开启状态,并持续产生租赁费用。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于强化学习策略的并行云工作流调度方法,其特征在于,包括以下步骤:
步骤1、基于指针网络建立任务选择模型,所述任务选择模型根据任务执行时间和执行成本从待调度并行云工作流中选择出当前的待选任务,并计算得到所述待选任务的任务特征信息;基于全连接神经网络建立任务资源映射模型,所述任务资源映射模型根据所述任务特征信息、任务的执行时间和执行成本将所述待选任务映射到资源池中相应的待选资源,并计算得到待选资源的资源特征信息;
步骤2、基于强化学习策略建立并行云工作流调度模型,其中,所述并行云工作流调度模型的环境状态包括待调度并行云工作流中各任务的任务调度状态、资源池中各资源的资源状态,所述并行云工作流调度模型的动作包括所述步骤1得到的所述任务特征信息及资源特征信息,所述并行云工作流调度模型的回报包括工作流执行跨度时间及工作流执行成本;采用强化学习模型的训练方式完成所述并行云工作流调度模型的训练;
步骤3、将待调度并行云工作流输入步骤2得到的并行云工作流调度模型中,得到待调度并行云工作流的调度方案。
2.根据权利要求1所述的方法,其特征在于,所述步骤1中的所述任务选择模型包括时间代理和成本代理,所述时间代理和成本代理的结构均包括循环神经层和softmax层;所述任务选择模型根据任务执行时间和执行成本从待调度并行云工作流中选择出当前的待选任务并计算得到所述待选任务的任务特征信息,包括以下步骤:
由调度过程中某个调度时刻的所述待调度并行云工作流的待选任务的特征信息组成向量Ta={ta1,...,tak},其中,k为所述调度时刻的待选任务的总数,tak表示第k个任务的特征信息;
将所述向量Ta分别输入所述时间代理和成本代理中,由所述时间代理和成本代理的循环神经网络计算得到输出向量,再将所述输出向量输入所述softmax层得到任务的时间条件概率分布向量和成本条件概率分布向量;
根据所述时间条件概率分布向量和成本条件概率分布向量选择出优先执行的待选任务j,并输出所述待选任务j的任务特征信息taj,其中,j∈[1,k]。
4.根据权利要求1所述的方法,其特征在于,所述步骤1中所述任务资源映射模型根据任务执行时间和执行成本将所述待选任务映射到资源池中相应的待选资源,包括以下步骤:
将由所述任务特征信息、任务调度状态、资源状态组成的向量输入全连接神经网络,得到所述待选任务的资源选择概率分布向量,根据所述资源选择概率分布向量确定与所述待选任务相匹配的资源作为所述待选资源。
6.根据权利要求5所述的方法,其特征在于,所述步骤2中采用强化学习模型的训练方式完成所述并行云工作流调度模型的训练,包括以下步骤:
步骤6.1、重置环境为初始状态,准备环境和Agent交互;
步骤6.2、执行所述步骤1得到动作a=[taj,vf],更新所述环境状态,计算当前时刻的回报,并将在交互过程中产生的经验序列存储到集合B中;
步骤6.3、当所述集合B中存储的经验序列数量达到预设值时,采用均匀随机采样方法从所述集合B中抽取经验序列,并基于抽取的经验序列网络参数,优化动作选择策略;
若待调度并行云工作流中的所有任务执行完毕,则调度次数自加1,执行步骤6.4;否则执行步骤6.2;
步骤6.4、若调度次数达到设定值,则训练完成,结束本流程;否则执行骤6.1。
7.根据权利要求1所述的方法,其特征在于,所述资源为虚拟机。
8.根据权利要求7所述的方法,其特征在于,所述资源状态包含虚拟机的已使用时间和成本信息,所述任务状态包含可被调度任务的大小以及任务之间的依赖关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011224499.6A CN112231091B (zh) | 2020-11-05 | 2020-11-05 | 一种基于强化学习策略的并行云工作流调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011224499.6A CN112231091B (zh) | 2020-11-05 | 2020-11-05 | 一种基于强化学习策略的并行云工作流调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112231091A true CN112231091A (zh) | 2021-01-15 |
CN112231091B CN112231091B (zh) | 2022-08-23 |
Family
ID=74123306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011224499.6A Active CN112231091B (zh) | 2020-11-05 | 2020-11-05 | 一种基于强化学习策略的并行云工作流调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112231091B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113254197A (zh) * | 2021-04-30 | 2021-08-13 | 西安电子科技大学 | 一种基于深度强化学习的网络资源调度方法及系统 |
CN113379397A (zh) * | 2021-07-16 | 2021-09-10 | 北京华博创科科技股份有限公司 | 一种基于机器学习的云工作流架智能管理与调度系统 |
CN113419830A (zh) * | 2021-06-23 | 2021-09-21 | 鹤壁国立光电科技股份有限公司 | 一种基于神经网络的多维度调度方法及系统 |
CN114860385A (zh) * | 2022-05-17 | 2022-08-05 | 北京理工大学 | 一种基于进化强化学习策略的并行云工作流调度方法 |
CN115033343A (zh) * | 2022-05-27 | 2022-09-09 | 河南大学 | 一种云环境下遥感数据流程调度模型的建立方法 |
US20220374276A1 (en) * | 2021-04-28 | 2022-11-24 | Adobe Inc. | Scheduling jobs on interruptible cloud computing instances |
US12014217B2 (en) | 2021-11-30 | 2024-06-18 | Adobe Inc. | Scheduling and control of executable jobs over compute instances |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180004859A1 (en) * | 2016-06-30 | 2018-01-04 | Facebook, Inc. | Computation platform agnostic data classification workflows |
CN110580196A (zh) * | 2019-09-12 | 2019-12-17 | 北京邮电大学 | 一种实现并行任务调度的多任务强化学习方法 |
CN111143036A (zh) * | 2019-12-31 | 2020-05-12 | 广东省电信规划设计院有限公司 | 一种基于强化学习的虚拟机资源调度方法 |
CN111191934A (zh) * | 2019-12-31 | 2020-05-22 | 北京理工大学 | 一种基于强化学习策略的多目标云工作流调度方法 |
-
2020
- 2020-11-05 CN CN202011224499.6A patent/CN112231091B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180004859A1 (en) * | 2016-06-30 | 2018-01-04 | Facebook, Inc. | Computation platform agnostic data classification workflows |
CN110580196A (zh) * | 2019-09-12 | 2019-12-17 | 北京邮电大学 | 一种实现并行任务调度的多任务强化学习方法 |
CN111143036A (zh) * | 2019-12-31 | 2020-05-12 | 广东省电信规划设计院有限公司 | 一种基于强化学习的虚拟机资源调度方法 |
CN111191934A (zh) * | 2019-12-31 | 2020-05-22 | 北京理工大学 | 一种基于强化学习策略的多目标云工作流调度方法 |
Non-Patent Citations (1)
Title |
---|
LI,HUIFANG 等: "DQN based Reinforcement Learning Algorithm for Scheduling Workflows in the Cloud", 《THE 9TH INTERNATIONAL SYMPOSIUM ON COMPUTATIONAL INTELLIGENCE AND INDUSTRIAL APPLICATIONS (ISCIIA2020)》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220374276A1 (en) * | 2021-04-28 | 2022-11-24 | Adobe Inc. | Scheduling jobs on interruptible cloud computing instances |
US11915054B2 (en) * | 2021-04-28 | 2024-02-27 | Adobe Inc. | Scheduling jobs on interruptible cloud computing instances |
CN113254197B (zh) * | 2021-04-30 | 2023-02-03 | 西安电子科技大学 | 一种基于深度强化学习的网络资源调度方法及系统 |
CN113254197A (zh) * | 2021-04-30 | 2021-08-13 | 西安电子科技大学 | 一种基于深度强化学习的网络资源调度方法及系统 |
CN113419830B (zh) * | 2021-06-23 | 2023-02-03 | 鹤壁国立光电科技股份有限公司 | 一种基于神经网络的多维度调度方法及系统 |
CN113419830A (zh) * | 2021-06-23 | 2021-09-21 | 鹤壁国立光电科技股份有限公司 | 一种基于神经网络的多维度调度方法及系统 |
CN113379397B (zh) * | 2021-07-16 | 2023-09-22 | 北京华博创科科技股份有限公司 | 一种基于机器学习的云工作流架智能管理与调度系统 |
CN113379397A (zh) * | 2021-07-16 | 2021-09-10 | 北京华博创科科技股份有限公司 | 一种基于机器学习的云工作流架智能管理与调度系统 |
US12014217B2 (en) | 2021-11-30 | 2024-06-18 | Adobe Inc. | Scheduling and control of executable jobs over compute instances |
CN114860385A (zh) * | 2022-05-17 | 2022-08-05 | 北京理工大学 | 一种基于进化强化学习策略的并行云工作流调度方法 |
CN114860385B (zh) * | 2022-05-17 | 2024-06-07 | 北京理工大学 | 一种基于进化强化学习策略的并行云工作流调度方法 |
CN115033343A (zh) * | 2022-05-27 | 2022-09-09 | 河南大学 | 一种云环境下遥感数据流程调度模型的建立方法 |
CN115033343B (zh) * | 2022-05-27 | 2024-03-01 | 河南大学 | 一种云环境下遥感数据流程调度模型的建立方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112231091B (zh) | 2022-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112231091B (zh) | 一种基于强化学习策略的并行云工作流调度方法 | |
CN111754000B (zh) | 质量感知的边缘智能联邦学习方法及系统 | |
CN110737529B (zh) | 一种面向短时多变大数据作业集群调度自适应性配置方法 | |
CN112685165B (zh) | 一种基于联合强化学习策略的多目标云工作流调度方法 | |
CN112882815A (zh) | 基于深度强化学习的多用户边缘计算优化调度方法 | |
CN106055395A (zh) | 一种基于蚁群优化算法的云环境中截止时间约束工作流调度方法 | |
CN113784410B (zh) | 基于强化学习td3算法的异构无线网络垂直切换方法 | |
Da Silva et al. | A hybrid memetic approach for fully automated multi-objective web service composition | |
CN115480876A (zh) | 基于蚁群算法优化的云计算任务调度方法及系统 | |
CN112685138B (zh) | 云环境下基于多种群混合智能优化的多工作流调度方法 | |
CN114330863A (zh) | 时间序列预测处理方法、装置、存储介质及电子装置 | |
Li et al. | Weighted double deep Q-network based reinforcement learning for bi-objective multi-workflow scheduling in the cloud | |
CN116009990B (zh) | 基于宽注意力机制的云边协同元强化学习计算卸载方法 | |
CN115186097A (zh) | 一种基于知识图谱和强化学习的交互式推荐方法 | |
CN104199870A (zh) | 基于混沌搜索的ls-svm预测模型的建立方法 | |
CN111210072A (zh) | 预测模型训练和用户资源额度确定方法及装置 | |
CN115016889A (zh) | 一种用于云计算的虚拟机优化调度方法 | |
CN111767991B (zh) | 一种基于深度q学习的测控资源调度方法 | |
CN117850999A (zh) | 一种基于图神经网络的异构计算平台任务调度方法 | |
CN117436485A (zh) | 基于权衡时延和精度的多退出点的端-边-云协同系统及方法 | |
CN110097277B (zh) | 基于时间窗的众包任务的动态分配方法 | |
CN117453391A (zh) | 基于rnn和粒子群的端边云异构资源调度方法及装置 | |
CN113220437B (zh) | 一种工作流多目标调度方法及装置 | |
Al-khatib et al. | Optimizing Bandwidth Reservation Decision Time in Vehicular Networks using Batched LSTM. | |
CN116566891A (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 |