CN113448687B - 云环境下基于强化学习的超启发式任务调度方法及系统 - Google Patents
云环境下基于强化学习的超启发式任务调度方法及系统 Download PDFInfo
- Publication number
- CN113448687B CN113448687B CN202110705390.2A CN202110705390A CN113448687B CN 113448687 B CN113448687 B CN 113448687B CN 202110705390 A CN202110705390 A CN 202110705390A CN 113448687 B CN113448687 B CN 113448687B
- Authority
- CN
- China
- Prior art keywords
- heuristic
- task scheduling
- cloud environment
- solution
- low
- 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
Links
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
- 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
-
- 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/08—Learning methods
-
- 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/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于任务调度领域,提供了一种云环境下基于强化学习的超启发式任务调度方法及系统。其中,该方法包括获取云环境下任务调度相关信息及虚拟机运行参数,并初始化解集及高级启发式方法的各项参数;其中,解集中的元素由一系列设定长度的序列值构成,序列值为相应任务在各个虚拟机上运行消耗的时间;随机选择低级启发式方法,并初始化相应低级启发式方法参数,直至达到当前低级启发式方法迭代停止条件,更新候选解解集,得到当前的最优解;计算当前低级启发式方法迭代的奖励值,更新奖励表;根据奖励表继续选择低层启发式方法,迁移候选解,直至得到最优解,以实现最短的时间内完成云环境下任务调度工作。
Description
技术领域
本发明属于任务调度领域,尤其涉及一种云环境下基于强化学习的超启发式任务调度方法及系统。
背景技术
本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成在先技术。
云计算中的资源通过虚拟化技术在用户之间共享。虚拟化技术是云计算的关键功能之一。它实现了物理资源的动态共享,实现了多个程序在物理服务器上不同虚拟机上的执行。通过虚拟化技术,云提供商可以以更低的能耗和维护成本实现不同用户的个性化定制。
在云计算中,云资源提供商将基于物理资源创建多个虚拟机(VM),以处理用户提交的计算任务。计算任务通过调度算法分配给某个虚拟机。此时,调度算法能否将任务分配到合适的虚拟机上成为影响云计算环境下信息资源分配效率的关键因素。它不仅影响云服务质量和云资源的利用效率,而且对云服务的稳定性、用户的满意度和提供商的运营成本都有着重要的影响。因此,高效的调度算法对于云计算中心是必不可少的。
目前,在云环境下,通常采用基于规则的算法或启发式算法来实现任务调度。发明人发现,上述算法存在以下问题:1)无论是传统的基于规则的算法还是启发式算法,其求解的性能仍有提升的空间。目前,基于规则的调度算法具有性能稳定、易于实现等优点。然而,复杂云环境下的大规模任务调度往往是一个NP-hard问题,而基于规则的调度算法如max-min、线性规划无法解决。研究人员还将mata启发式算法应用于复杂云环境下的大规模任务调度问题,如粒子群优化算法、蚁群算法、鸡群优化算法等。实践表明,虽然这些启发式算法可以在较短的执行时间内获得更好的调度方案,但仍有很大的改进空间。这是因为启发式算法往往是为了解决某一特定问题而设计的,但实际应用中的情况却千差万别。当用启发式算法求解其它领域的问题时,容易收敛并陷入局部最优。2)调度算法不能准确地获得任务的计算复杂度。调度算法以任务信息为基础。调度算法可以获得计算任务类型、相关文件大小和计算结果的准确信息。然而,任务的复杂度,即单位计算能力所消耗的时间,无法准确地评估。这导致许多仿真环境下性能优良的调度算法在实际应用场景中的性能较差。
发明内容
为了解决上述背景技术中存在的技术问题,本发明提供一种云环境下基于强化学习的超启发式任务调度方法及系统,其准确估计任务的复杂度,从而提高任务调度结果的精度。
为了实现上述目的,本发明采用如下技术方案:
本发明的第一个方面提供一种云环境下基于强化学习的超启发式任务调度方法。
一种云环境下基于强化学习的超启发式任务调度方法,包括:
获取云环境下任务调度相关信息及虚拟机运行参数,并初始化解集及高级启发式方法的各项参数;其中,解集中的元素由一系列设定长度的序列值构成,序列值为相应任务在各个虚拟机上运行消耗的时间;
随机选择低级启发式方法,并初始化相应低级启发式方法参数,直至达到当前低级启发式方法迭代停止条件,更新候选解解集,得到当前的最优解;
计算当前低级启发式方法迭代的奖励值,更新奖励表;
根据奖励表继续选择低层启发式方法,迁移候选解,直至得到最优解,以实现最短的时间内完成云环境下任务调度工作。
本发明的第二个方面提供一种云环境下基于强化学习的超启发式任务调度系统。
一种云环境下基于强化学习的超启发式任务调度系统,包括:
参数获取模块,其用于获取云环境下任务调度相关信息及虚拟机运行参数,并初始化解集及高级启发式方法的各项参数;其中,解集中的元素由一系列设定长度的序列值构成,序列值为相应任务在各个虚拟机上运行消耗的时间;
候选解解集更新模块,其用于随机选择低级启发式方法,并初始化相应低级启发式方法参数,直至达到当前低级启发式方法迭代停止条件,更新候选解解集,得到当前的最优解;
奖励表更新模块,其用于计算当前低级启发式方法迭代的奖励值,更新奖励表;
候选解迁移模块,其用于根据奖励表继续选择低层启发式方法,迁移候选解,直至得到最优解,以实现最短的时间内完成云环境下任务调度工作。
本发明的第三个方面提供一种计算机可读存储介质。
一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述所述的云环境下基于强化学习的超启发式任务调度方法中的步骤。
本发明的第四个方面提供一种计算机设备。
一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述所述的云环境下基于强化学习的超启发式任务调度方法中的步骤。
与现有技术相比,本发明的有益效果是:
(1)本发明提出了一种基于强化学习的超启发式任务调度方法,高级启发式策略是基于奖赏表的,奖赏表通过迭代更新。低级启发式候选池由四种常见的启发式算法组成,这四种算法也构成了动作集。
(2)本发明提出了一种基于makespan和种群多样性的奖励表更新方法。奖励值的第一部分来自调度方案的最大完工时间和基于当前状态信息的最大期望奖励。另一部分奖励价值取决于种群多样性的增加。
(3)本发明为了保证解的连续性和多样性,在加入随机扰动后,将当前低级启发式算法生成的高质量候选解转移到下一次迭代中。
(4)本发明提出了一种基于任务类别和相关数据量的任务计算复杂度估计方法。该方法以线性回归方法为基础,有效地降低了任务复杂度估计的误差。这有助于避免实际任务调度时算法性能的下降,还提出了一种基于强化学习的高级选择策略,使HHRL具有自我更新和在线学习的能力。
本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
图1是本发明实施例的云环境下基于强化学习的超启发式任务调度方法流程图;
图2是本发明实施例的各种算法所得方差比较图;
图3是本发明实施例的不同任务数量的makespan的收敛曲线图;
图4是本发明实施例的不同任务数量的种群多样性的收敛曲线图;
图5是本发明实施例的候选解多样性对LLH选择的影响;
图6(a)是本发明实施例的类型1的任务复杂度的线性回归;
图6(b)是本发明实施例的类型2的任务复杂度的线性回归;
图6(c)是本发明实施例的类型3的任务复杂度的线性回归;
图7是本发明实施例的实验结果的方差;
图8是本发明实施例的任务调度示例图;
图9是本发明实施例的调度策略生成图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
应该指出,以下详细说明都是例示性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
为了解决上述问题,混合启发式算法和超启发式算法也被应用到任务调度中。它们结合了多种启发式算法的优点,可以得到更宽的搜索范围和更好的调度结果。然而,目前应用于云环境的超启发式算法不具备学习能力,只能由研究人员根据自己的经验进行设置。提出了一种基于强化学习的超启发式算法(HHRL),HHRL采用基于强化学习的高级选择策略。状态信息是由候选解的生成时间和多样性形成的。采用粒子群优化(PSO),模糊粒子群优化(F-PSO),遗传算法(GA),人工蚁群优化(ACO)形成行动列表。HHLR是一种具有在线学习能力的云环境下的调度算法。经过迭代到高层选择策略的收敛,该算法可以充分利用每种低级算法的特点,在不同的优化阶段选择不同的算法,获得更广泛的搜索空间和更好的候选解。
实施例一
如图1、图8和图9所示,本实施例的一种云环境下基于强化学习的超启发式任务调度方法,其具体包括如下步骤:
获取云环境下任务调度相关信息及虚拟机运行参数,并初始化解集及高级启发式方法的各项参数;其中,解集中的元素由一系列设定长度的序列值构成,序列值为相应任务在各个虚拟机上运行消耗的时间;
随机选择低级启发式方法,并初始化相应低级启发式方法参数,直至达到当前低级启发式方法迭代停止条件,更新候选解解集,得到当前的最优解;
计算当前低级启发式方法迭代的奖励值,更新奖励表;
根据奖励表继续选择低层启发式方法,迁移候选解,直至得到最优解,以实现最短的时间内完成云环境下任务调度工作。
任务调度问题:
云计算中心虚拟化物理资源,建立多个不同性能的虚拟机。在实际应用中,由于虚拟机的创建和初始化会导致不必要的时间和能量的消耗,用户提交的任务通常在现有的vm上执行。VMn的一部分性能可以表示为{pesnumbern,mipn,bwn},其中widthj表示用于传输相关数据的带宽,mipj表示CPU的信息处理速度。taskm的特征表示为{complexitym,sizem,resultm},其中complexitym表示任务的计算复杂度,sizem表示任务的相关数据大小,resultm表示计算结果的相关数据大小。云计算任务调度算法(TSCC)的本质是将任务调度到合适的虚拟机上,在较短的时间内完成任务的执行。由于虚拟机和任务具有不同的特点,不同调度方案的结果会有很大的不同。例如,只需要上传少量相关数据,但计算复杂度极高。这个任务的瓶颈是信息处理速度而不是带宽。任务可以在信息处理速度快、带宽小的虚拟机上快速执行,但在信息处理速度低、带宽大的情况下,需要耗费大量的时间。调度算法的作用是在较宽的解空间内寻找求解当前任务序列的最优解。下面将详细描述TSCC模型。
云计算系统(CCS)由大量的物理机(PM)组成。
其中PMi表示云计算系统(CCS)中的物理资源,构建在物理机上的虚拟机可以表示为:
其中VMj表示在PMi中创建的VM。的性能可以表示为:
VMn=[pesnumbern,mipn,bwn] (3)
其中pernumbern表示CPU核数,mipn表示核心信息处理速度,bwn为网络带宽。任务集T可表示为:
taskm的特点如下:
taskm=[complexitym,sizem,resultm] (5)
其中complexitym表示任务的计算复杂度,sizem表示任务的相关数据大小,resultm表示计算结果的相关数据大小。
上载所用的时间UCTm可以表示为:
UCTm=sizem/bwn (6)
假设taskm于时刻SUTm开始上载到VMn,上传完成时间FUTm为:
FUTm=UCTm+SUTm (7)
VMn上的执行成本时间ECTm可以表示为:
ECTm=complexitym/pesnumbern×mipn (8)
假设taskm上传完成后需要等待WTm,则taskm的执行结束时间FETm可以表示为:
FETm=FUTm+WTm+ECTm (9)
下载结束的时间成本DCTm可以表示为:
DCTm=resultm/bwn (10)
预计完成时间EFTm为:
EFTm=FETm+DCTm (11)
假设EFTm,n表示taskm在VMn上完成计算的预期完成时间,则Ntask×Nvm大小矩阵表示在每个虚拟机上运行任务所需的预期完成时间:
域中可行的解决方案可以表示为:
启发式调度算法:
算法描述为寻找启发式算法的启发式算法。随着研究的发展,启发式算法被用来管理或操作一系列低级的启发式算法来解决各种组合优化问题。超启发式算法与传统启发式算法的区别如表1所示。
一般来说,超启发式算法的目标是将智能计算技术扩展到更多的领域,降低启发式算法设计的难度。典型的超启发式算法由控制域和问题域组成。问题域包含约束条件、基本函数、评价函数和一些由领域专家设计的低级启发式(LLH);控制域中的高级启发式(HLH)由超启发式专家设计,包括如何利用低级启发式构造可行解或提高解的质量解决。定义了问题域和控制域之间的标准接口,用于两层之间的信息传递。一般超启发式算法在云计算中的任务调度应用如图1所示,伪代码如算法1所示。
表1超启发式算法和传统启发式算法的区别
针对云计算中的任务调度问题,提出了基于强化学习的超启发式算法。并采用任务计算复杂度评估方法,准确获取任务的执行成本时间。算法2给出了HHRL的伪码。
基于强化学习的超启发式算法:
将描述基于强化学习的超启发式算法,并将其用于解决云计算中的任务调度问题。此外,还采用了任务计算复杂度估计方法,准确地获得了任务的执行代价时间。
行动信息:
动作信息由蚁群算法、遗传算法、模糊粒子群算法和粒子群算法组成。粒子群优化算法具有快速求解的能力,但其性能有待提高。模糊PSO算法利用模糊逻辑系统提高了传统PSO算法的效率,并且不会降低迭代速度。蚁群算法能有效地保证候选解的多样性,避免过早陷入局部最优。由于遗传算法产生的候选解模拟了基因序列,也可以用来表示任务调度的候选解,因此遗传算法在任务调度中表现得非常出色。
状态信息:
状态信息由makespan和候选解的多样性组成。第三节介绍了有效期的计算方法。因为在元启发式算法中,其他候选解都会拟合到最优解。最优解与其他候选解之间的差异可以反映当前候选解集的多样性。在HHRL中,候选解的多样性用最优解与其它候选解之间的汉明距离来表示解决方案候选解决方案集可以表示为:,
更新奖励表:
高级启发式方法(HLH)选择低级启发式算法(LLH)。经过n轮迭代,可以得到当前算法的执行结果。奖励的价值在于它由两部分组成。由当前迭代结果的makespan和上一次迭代得到的makespan确定的奖励值的第一部分。当前LLH迭代的奖励值可以表示为:
R1(s,a)=1/1+e-σ×makespan/Nnum (17)
其中Nnum表示任务数量,a表示动作信息,s表示状态信息,由makespan和UDCS的值区间组成,σ表示常数,可以保证makespan在有效范围内对R1有显著影响,在范围外具有一定的边际效应。其中,makespan即任务序列执行完成时间,UDCS表示种群复杂度。
奖励值的更新公式可以表示为:
R1(s,a)=R1(s,a)+α[r+λmaxa'R1'(s,a)-R1(s,a)] (18)
其中maxs'R'(s',a')表示给定新状态和新状态s'下所有可能操作的最大期望未来;有限状态state集合,s表示某个特定状态;有限动作action集合,a表示某个特定动作;r表示固定奖励值,为一设定好的常数;λ表示折扣率,也是固定常数,用以控制奖励项所占比重。
R2(s,a)=udcsn-udcsn-1 (19)
其中udcsn表示当前迭代中候选解的单元多样性,udcsn-1表示上一次迭代候选解的单元多样性。总奖励价值可以表示为:
R(s,a)=R1(s,a)+R2(s,a) (20)
LLH的选择:
选择LLH时,HLH由当前奖励表在状态信息下的奖励值确定。奖励值最高的LLH有50%的概率被选中,其他动作随机选择。
候选方案的转移:
当前LLH完成迭代后,HLH将再次选择LLH方法,需要将当前候选解信息传递到新一轮LLH迭代中,以实现解的连续性。然而,随着LLH的迭代,候选解集趋于接近当前最优解,候选解的多样性也会降低。为了保证候选解的多样性,在迁移候选解时,只保留满足差分条件的最优解和5个次优解。50%的候选解将由上述传递解的随机扰动产生。剩余的候选解决方案将随机生成。
一种任务计算复杂度评估方法:
云计算任务调度算法(TSCC)的本质是将任务调度到合适的虚拟机上,在较短的时间内完成任务的执行。例如,CPU密集型任务应与信息处理速度高的资源相匹配;I/O密集型任务应与大带宽相匹配;内存密集型任务应与内存使用率低的资源相匹配。
在仿真环境中,可以准确地获得任务的特征。然而,在实际应用环境中,虽然可以准确地获得任务类型和相关数据的大小,但其计算复杂度却无法准确估计。由于任务的计算复杂度与任务类型有关,因此与任务相关数据的大小不是线性相关的。计算复杂度是任务调度中一个重要的先验信息。计算复杂度不准确会导致调度算法性能下降,无法获得高质量的调度结果。提出了一种估计三种常见云计算任务复杂度的方法。对于某种类型的任务,其计算复杂度往往与相关数据的大小有关。任务复杂度的回归公式可以表示为:
complexity=a+b·X+e(21)
评估所提出的任务调度方法的性能,并与其他传统的和元启发式算法进行了比较。在CloudSim和实际云任务上的实验结果表明,该方法能显著提高候选解的质量和稳定性。
CloudSim实验:
在这个实验中,我们使用cloudsim4.0来测试这些算法。对makespan的性能进行了评估,并与现有的元启发式技术如PSO、F-PSO、GA和ACO以及FIFO和Max-min等启发式技术进行了比较,每个算法的参数如表2所示。
表2参数设置
表3显示了CloudSim的实验设置。为了展示该算法在任务数方面的可扩展性,在500、1000、3000、5000个任务下进行了实验测试,并与其他算法进行了比较。通过最优值、平均值和方差分析了算法的性能。实验还分析了LLH选择与状态信息的关系。
表4给出了传统算法与提出的HHRL算法30次的平均结果和最佳结果。结果的方差如图2所示,makespan的收敛过程如图3所示。从这些结果可以看出,HHRL算法在性能指标上优于传统算法。
表3 Cloudsim参数
如表4所示,虽然任务数不同,但HHRL总能得到较小的最优值和平均值,这意味着HHRL可以获得更好的调度结果。如图2所示,HHRL和HHSA的方差显著小于其他方法。另一方面,随着任务数的增加,方差并不像传统方法那样显著增加。结果表明,两种超启发式算法的性能都比较稳定。例如,遗传算法和HHSA的最优结果相差不大,但平均结果和方差差异显著。由于超启发式算法可以带来更大的搜索范围,大大避免陷入局部最优,并且在大多数迭代中都能得到高质量的解。
表4实验结果1
在元启发式算法的迭代过程中,候选解的多样性对优化结果有重要影响。随着候选解对最优解的不断拟合,候选解的多样性将降低。如果候选解的多样性下降过快,很容易陷入局部最优,无法得到好的候选解。HHRL和其他元启发式算法的候选解多样性的变化如图4所示。
从这个结果可以看出,PSO和F-PSO的候选解的多样性将逐渐减小,然后趋于稳定并保持在较高水平。候选解的高度多样性意味着粒子群算在许多地方陷入局部最优,而没有找到高质量的调度结果。相反,蚁群算法和遗传算法的候选解的多样性可以得到收敛性和更好的调度结果,但候选解集完全符合最优解,导致严重的局部优化。HHSA有分集检测算子。当候选解的多样性低于预先设定的阈值时,引入扰动信息来提高候选解的多样性因此,其候选解决方案的多样性差异很大。HHRL对候选解的多样性进行了奖励,有效地避免了候选解多样性的过度收敛或剧烈波动。这保证了搜索范围和算法效率之间的平衡。
作为HHRL状态信息的候选解的多样性直接影响到LLH的选择。为了分析候选解的多样性对LLH选择的影响,本工作统计了30次HHRL运行中获得的6000个LLH选择,结果如图5所示。
以候选解的单位差为判据,将候选解的多样性分为高、中、低三种情况。
其中popsize代表LLH的人口规模。这三种情况的分类可以表示为:
这三种情况的分类可以表示为:
在实验中,有1126个高,2856个中等和2018个低。当粒子群优化算法处于高状态时,粒子群优化算法很少被选中。在HHRL迭代开始时,候选解多样性的增加会导致较小的奖励值,而缩短makespan则会带来更多的奖励值。因此,遗传算法可以显著地减少制造周期,因此被多次选择。相反,当UDCS处于低状态时,PSO和F-PSO的选择次数更多。由于PSO和f-PSO能够有效地保持候选解的多样性,因此可以带来较大的回报价值。
表5统计学结果
在仿真环境中,任务的计算复杂度被认为是准确的。由于任务类型的不同,在实际应用场景中很难估计任务的复杂度。这会显著影响调度效果。对于所有的任务,它们的计算复杂度与相关文件的大小并不呈简单的线性关系,因为任务类型不同。例如,用2000MB的数据集在虚拟机上训练神经网络模型比只进行测试要消耗更多的计算能力。然而,对于特定类型的任务,数据大小和计算复杂度之间存在线性关系。这使得我们能够估计计算复杂度。为了验证该方法对提高调度效果的效果,对CNN模型训练、CNN模型测试和RNN模型测试进行了线性回归分析。实验结果如图6(a)-图6(c)和表5所示,主机的实验环境如表6所示。CNN模型包括基于vgg-16和resnet-34的分类模型和生成模型。RNN模型包括基于GRU的文本生成。如图6和表5所示,相似任务的计算复杂度与相关数据的大小之间存在显著的线性关系。三种线性关系的斜率明显不同,其中1型的斜率非常高。RMSE对一组测量值的大小误差都比较敏感,能很好地反映预测的精度。类型1的RMSE值显著高于其他类型,这是由于CNN训练过程的随机性,导致实际计算成本的波动。R平方是反映因变量可靠性的一个统计指标,可以反映线性回归拟合的程度。类型1和类型2的R平方均大于0.8,说明可以准确地预测计算复杂度。三种类型的P值均小于0.05,说明不满足上述线性关系的可能性极小。
表6主机参数
主机配置如表6所示,实验步骤如下。首先得到每种类型的100个任务在主机上的执行时间,称为复杂度1,得到不同类型任务的计算复杂度与相关数据大小的线性关系。然后预测所有任务的计算复杂度,称为复杂度2。此外,还有一个基于相关数据大小的复杂性3。在Cloudsim中,得到了复杂度为3的调度结果1和复杂度为2的调度结果2。根据这两个调度结果,可以得到基于复杂度1的makespan,这是两个调度结果的实际结果。表7和图7给出了传统算法与提出的HHRL算法之间30次的平均结果和最佳结果。从结果1可以看出,由于计算复杂度不能精确估计,大大增加了调度的随机性和偶然性,因此几种元启发式算法得到了相似的最优值和平均值。同时,结果2与模拟实验相似。HHRL总能得到较小的最佳值、平均值和方差。这意味着HHRL可以得到更好的调度结果,并且具有稳定的调度效果。与result1和result2相比,每种算法的调度效果都有所改善。这说明了该方法的有效性。
表7实验结果2
随着云计算在越来越多领域的应用,如何在云环境中有效地利用资源成为一个具有很高应用价值的研究课题。过去,许多启发式和元启发式任务调度策略被应用于云计算的任务调度中。然而,总有两个问题无法解决。一是上述算法的性能还有很大的提升空间,二是在实际应用场景中,用户提交的任务的计算复杂度不能准确评估。到针对上述问题,本文提出了一种基于强化学习的超启发式算法(HHRL)。HHRL通过改变候选解的makespan和多样性来获得奖励值,使HHRL具有自我更新和在线学习的能力。HHRL的动作表由四种Mata启发式算法GA、ACO、PSO、F-PSO构成。为了获得精确的调度结果,本实施例提出了一种基于线性回归的云环境下任务计算复杂度评估方法。首先,在Cloudsim中对云环境下的任务调度进行了仿真,结果表明HHRL的性能更加稳定,可以获得更好的调度结果。通过对每种算法候选解的多样性分析可知,HHRL能有效地保证候选解的多样性和稳定性,避免陷入局部最优或收敛不稳定性。同时,还解释了LLH的选择频率与候选解多样性的关系。另一方面,本文提出的任务复杂度评估方法是有效的。基于计算复杂度的评估结果与仿真环境下的结果相似,明显优于原方法。
实施例二
本实施例提供了一种云环境下基于强化学习的超启发式任务调度系统,其包括:
参数获取模块,其用于获取云环境下任务调度相关信息及虚拟机运行参数,并初始化解集及高级启发式方法的各项参数;其中,解集中的元素由一系列设定长度的序列值构成,序列值为相应任务在各个虚拟机上运行消耗的时间;
候选解解集更新模块,其用于随机选择低级启发式方法,并初始化相应低级启发式方法参数,直至达到当前低级启发式方法迭代停止条件,更新候选解解集,得到当前的最优解;
奖励表更新模块,其用于计算当前低级启发式方法迭代的奖励值,更新奖励表;
候选解迁移模块,其用于根据奖励表继续选择低层启发式方法,迁移候选解,直至得到最优解,以实现最短的时间内完成云环境下任务调度工作。
此处需要说明的是,本实施例的各个模块,与实施例一中的各个步骤一一对应,其具体实施过程相同,此处不再累述。
实施例三
本实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述实施例一所述的云环境下基于强化学习的超启发式任务调度方法中的步骤。
实施例四
本实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述实施例一所述的云环境下基于强化学习的超启发式任务调度方法中的步骤。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种云环境下基于强化学习的超启发式任务调度方法,其特征在于,包括:
获取云环境下任务调度相关信息及虚拟机运行参数,并初始化解集及高级启发式方法的各项参数;其中,解集中的元素由一系列设定长度的序列值构成,序列值为相应任务在各个虚拟机上运行消耗的时间;
随机选择低级启发式方法,并初始化相应低级启发式方法参数,直至达到当前低级启发式方法迭代停止条件,更新候选解解集,得到当前的最优解;
计算当前低级启发式方法迭代的奖励值,更新奖励表;
根据奖励表继续选择低层启发式方法,迁移候选解,直至得到最优解,以实现最短的时间内完成云环境下任务调度工作;
当前低级启发式方法迭代所获奖励的第一部分由当前迭代结果的makespan和上一次迭代得到的makespan所决定;
当前迭代结果R1(s,a)为:
R1(s,a)=1/1+e-σ×makespan/Nnum
其中a表示动作信息,s表示状态信息,由makespan和UDCS的值区间组成,σ表示常数,Nnum表示任务数量,makespan表示任务完成时间,UDCS表示候选解种群多样性。
2.如权利要求1所述的云环境下基于强化学习的超启发式任务调度方法,其特征在于,在迁移候选解时,只保留满足差分条件的最优解和5个次优解。
3.如权利要求1所述的云环境下基于强化学习的超启发式任务调度方法,其特征在于,50%的候选解将由传递解的随机扰动产生,剩余的候选解决方案将随机生成。
4.如权利要求1所述的云环境下基于强化学习的超启发式任务调度方法,其特征在于,奖励值的更新公式为:
R1(s,a)=R1(s,a)+α[r+λmaxa′R1'(s,a)-R1(s,a)]
其中maxS′R′(s′,a′)表示给定新状态和新状态s′下所有可能操作的最大期望未来;R1(s,a)为前迭代结果的makespan;有限状态state集合,s表示某个特定状态;有限动作action集合,a表示某个特定动作;r表示固定奖励值,为设定的常数;λ表示折扣率,也是固定常数,用以控制奖励项所占比重。
5.如权利要求1所述的云环境下基于强化学习的超启发式任务调度方法,其特征在于,上一次迭代得到的makespan确定的奖励值的第一部分:
R2(s,a)=udcsn-udcsn-1
其中udcsn表示当前迭代中候选解的单元多样性,udcsn-1表示上一次迭代候选解的单元多样性。
6.一种云环境下基于强化学习的超启发式任务调度系统,其特征在于,包括:
参数获取模块,其用于获取云环境下任务调度相关信息及虚拟机运行参数,并初始化解集及高级启发式方法的各项参数;其中,解集中的元素由一系列设定长度的序列值构成,序列值为相应任务在各个虚拟机上运行消耗的时间;
候选解解集更新模块,其用于随机选择低级启发式方法,并初始化相应低级启发式方法参数,直至达到当前低级启发式方法迭代停止条件,更新候选解解集,得到当前的最优解;
奖励表更新模块,其用于计算当前低级启发式方法迭代的奖励值,更新奖励表;
候选解迁移模块,其用于根据奖励表继续选择低层启发式方法,迁移候选解,直至得到最优解,以实现最短的时间内完成云环境下任务调度工作;
当前低级启发式方法迭代所获奖励的第一部分由当前迭代结果的makespan和上一次迭代得到的makespan所决定;
当前迭代结果的R1(s,a)为:
R1(s,a)=1/1+e-σ×makespan/Nnum
其中a表示动作信息,s表示状态信息,由makespan和UDCS的值区间组成,σ表示常数,Nnum表示任务数量,makespan表示任务完成时间,UDCS表示候选解种群多样性。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-5中任一项所述的云环境下基于强化学习的超启发式任务调度方法中的步骤。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-5中任一项所述的云环境下基于强化学习的超启发式任务调度方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110705390.2A CN113448687B (zh) | 2021-06-24 | 2021-06-24 | 云环境下基于强化学习的超启发式任务调度方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110705390.2A CN113448687B (zh) | 2021-06-24 | 2021-06-24 | 云环境下基于强化学习的超启发式任务调度方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113448687A CN113448687A (zh) | 2021-09-28 |
CN113448687B true CN113448687B (zh) | 2022-07-26 |
Family
ID=77812471
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110705390.2A Active CN113448687B (zh) | 2021-06-24 | 2021-06-24 | 云环境下基于强化学习的超启发式任务调度方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113448687B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115018180B (zh) * | 2022-06-23 | 2024-06-07 | 昆明理工大学 | 一种锡工艺品原料节能配送与加工的超启发式调度方法、系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112101773A (zh) * | 2020-09-10 | 2020-12-18 | 齐鲁工业大学 | 一种用于流程工业的多智能体系统任务调度方法及系统 |
CN112567399A (zh) * | 2019-09-23 | 2021-03-26 | 阿里巴巴集团控股有限公司 | 用于路由优化的系统和方法 |
CN112799823A (zh) * | 2021-03-31 | 2021-05-14 | 中国人民解放军国防科技大学 | 边缘计算任务的在线分派调度方法和系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10977551B2 (en) * | 2016-12-14 | 2021-04-13 | Microsoft Technology Licensing, Llc | Hybrid reward architecture for reinforcement learning |
US11184234B2 (en) * | 2019-04-16 | 2021-11-23 | Ciena Corporation | Self-optimizing fabric architecture and self-assembling network |
US11663051B2 (en) * | 2020-01-07 | 2023-05-30 | International Business Machines Corporation | Workflow pipeline optimization based on machine learning operation for determining wait time between successive executions of the workflow |
CN112488315B (zh) * | 2020-11-30 | 2022-11-04 | 合肥工业大学 | 一种基于深度强化学习和遗传算法的分批调度优化方法 |
CN112987664B (zh) * | 2021-02-09 | 2022-03-01 | 东北大学 | 一种基于深度强化学习的流水车间调度方法 |
-
2021
- 2021-06-24 CN CN202110705390.2A patent/CN113448687B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112567399A (zh) * | 2019-09-23 | 2021-03-26 | 阿里巴巴集团控股有限公司 | 用于路由优化的系统和方法 |
CN112101773A (zh) * | 2020-09-10 | 2020-12-18 | 齐鲁工业大学 | 一种用于流程工业的多智能体系统任务调度方法及系统 |
CN112799823A (zh) * | 2021-03-31 | 2021-05-14 | 中国人民解放军国防科技大学 | 边缘计算任务的在线分派调度方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113448687A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Liu et al. | A hierarchical framework of cloud resource allocation and power management using deep reinforcement learning | |
CN109324875B (zh) | 一种基于强化学习的数据中心服务器功耗管理与优化方法 | |
Maia et al. | An improved multi-objective genetic algorithm with heuristic initialization for service placement and load distribution in edge computing | |
CN111026549B (zh) | 一种电力信息通信设备自动化测试资源调度方法 | |
Farahnakian et al. | Energy-aware dynamic VM consolidation in cloud data centers using ant colony system | |
CN113157422A (zh) | 基于深度强化学习的云数据中心集群资源调度方法及装置 | |
CN111143039B (zh) | 一种虚拟机的调度方法、装置及计算机存储介质 | |
US11609784B2 (en) | Method for distributing a computational process, workload distribution device and system for distributing a computational process | |
Xu et al. | Cost-efficient negotiation over multiple resources with reinforcement learning | |
Qiu et al. | Reinforcement learning for resource management in multi-tenant serverless platforms | |
CN114895773A (zh) | 异构多核处理器的能耗优化方法、系统、装置及存储介质 | |
CN115168027A (zh) | 一种基于深度强化学习的算力资源度量方法 | |
CN113448687B (zh) | 云环境下基于强化学习的超启发式任务调度方法及系统 | |
CN115373836A (zh) | 计算网络、算力度量方法、调度装置及相关产品 | |
Sun et al. | Learning-based Adaptation Framework for Elastic Software Systems. | |
Zheng et al. | Shockwave: Fair and efficient cluster scheduling for dynamic adaptation in machine learning | |
KR20220150126A (ko) | 사물인터넷 환경에서 분산 머신 러닝 학습을 위한 코딩 및 인센티브 기반 메커니즘 | |
CN111061618B (zh) | 云平台仿真系统、云平台性能测试方法和计算机设备 | |
Devagnanam et al. | Design and development of exponential lion algorithm for optimal allocation of cluster resources in cloud | |
CN112256422A (zh) | 基于q学习的异构平台任务调度方法及系统 | |
Bai et al. | Automated customization of on-device inference for quality-of-experience enhancement | |
CN116795198A (zh) | 数据中心的能耗优化方法、装置及存储介质 | |
CN117311808A (zh) | 用于控制由计算机系统对计算机程序的执行的装置、设备、方法和计算机程序 | |
Tong et al. | Energy and performance-efficient dynamic consolidate vms using deep-q neural network | |
Monil et al. | Incorporating Migration Control in VM Selection Strategies to Enhance Performance. |
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 |