CN113986518B - 一种基于蚁群算法的实时云任务多目标优化调度方法 - Google Patents
一种基于蚁群算法的实时云任务多目标优化调度方法 Download PDFInfo
- Publication number
- CN113986518B CN113986518B CN202111617335.4A CN202111617335A CN113986518B CN 113986518 B CN113986518 B CN 113986518B CN 202111617335 A CN202111617335 A CN 202111617335A CN 113986518 B CN113986518 B CN 113986518B
- Authority
- CN
- China
- Prior art keywords
- task
- virtual machine
- energy consumption
- time
- ant colony
- 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/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/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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial 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]
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
-
- 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)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于蚁群算法的实时云任务多目标优化调度方法。所述方法包括以下步骤:建立云任务调度的多目标函数;将任务的截止时间约束条件引入蚁群算法的信息素更新规则中,得到改进的蚁群算法,根据多目标函数,采用改进的蚁群算法进行迭代寻优,找到任务与云系统的虚拟机之间最优的映射方案,根据该方案将任务调度到对应的虚拟机上;在虚拟机的等待队列中,基于回填算法的特性,根据任务的截止时间约束条件,对虚拟机队列中的任务进行重新排序,进一步满足实时任务的截止时间要求,完成实时云任务多目标优化调度。本发明保障任务的截止时间要求的同时最小化数据中心产生的能耗,实现多个目标的平衡。
Description
技术领域
本发明数据处理中云计算任务优化调度领域,具体涉及一种基于蚁群算法的实时云任务多目标优化调度方法。
背景技术
云数据中心包含大量的服务器,从而需要消耗大量的能源,并释放出大量的碳。随着云计算的流行,云数据中心的数量将会逐渐增加,对于能源的需求也越来越高,因此,如何降低能耗已经成为数据中心的一个主要问题,也是大多数研究者致力于研究的热点。降低数据中心能耗的方法包括负载均衡以及虚拟机整合技术,负载均衡技术通过将负载均衡地分发到可用的资源上,从而提高资源的利用率并降低资源的消耗。(Y. Gao, Y. Wang,S. K. Gupta, and M. Pedram, “An energy and deadlineaware resourceprovisioning, scheduling and optimization frameworkfor cloud systems,” 2013Int. Conf. Hardware/Software Codesign Syst.Synth., CODES+ISSS 2013, 2013. ;X. Zhu, L. T. Yang, H. Chen, J. Wang, S. Yin, and X. Liu, “Real-Time TasksOriented Energy-Aware Scheduling in Virtualized Clouds,” IEEETrans. CloudComput., vol. 2, no. 2, pp. 168–180, 2014.)研究表明,空闲资源的能源消耗至少是峰值能耗的60%-70%,虚拟机整合技术被用于解决空闲资源消耗大量能源的问题。虚拟机整合通过热迁移技术将较低利用率服务器上的VM迁移到少量的服务器上,并将空载的服务器切换到节能模式或者关闭服务器,从而大大降低能耗。虽然虚拟机(VM)整合技术能够很大程度上能降低能耗,但同时也会产生通讯成本,而如果能够在调度阶段考虑到能耗和负载均衡,将能够减少VM整合的触发,从而减少通讯成本。
在云计算环境中,由于资源的异构性、弹性伸缩和可扩展性,使得实现高性能的调度具有很大的挑战性。云计算中的调度问题大致可以分为两个层面,第一是将用户提交的任务调度到可用的虚拟资源(如虚拟机)上执行,第二是将VM在可用的主机上创建或者迁移到某台主机。
由于优化调度具有NP难问题的复杂性,这意味着解决问题的时间将以指数级增长,当问题的规模增大时,算法将遭受维度爆炸。因此,当前的大多数算法都是寻找一个可接受的次优解。近年来,元启发式算法及其变体被逐渐应用于云计算环境中的调度问题,这是因为元启发式算法的高效性以及能够在线性时间内寻找到近似最优解,包括蚁群算法、遗传算法、粒子群优化算法等。云任务调度问题可以定义为,给定一组任务以及任务所需要满足的QoS指标(如截止时间),和一组虚拟机(VM)的集合,寻找一个最优的任务和VM的映射方案,从而满足任务的QoS指标和最优化系统的性能,如能耗、完工时间、负载均衡。然而,在多目标优化中,通常多个指标存在冲突,如为了最小化任务逾期率,大部分任务将会被调度到高性能的计算资源上执行,这将会导致能耗、完工时间的增加,负载不均衡。而为了最小化能耗,任务倾向于选择性能较低的计算资源,使得大部分任务无法在截止期限内完成,从而违反用户的QoS。因此,如何在这种多目标优化调度中找到一个权衡点,实现每个目标最优化,是一个极具挑战的问题。文献(S. Sahoo, B. Sahoo, and A. K. Turuk, “ALearning Automata-based Scheduling for Deadline Sensitive Task in The Cloud,”IEEE Trans.Serv. Comput., vol. 1374, no. c, pp. 1–1, 2019.)使用学习自动机实现对截止时间敏感型任务的多目标优化调度,该文献将截止时间作为学习体与环境交互的条件,并以能耗和完工时间为目标函数进行寻优,从而保证任务的截止时间要求。该文献所提方法虽然能够一定程度上保证任务的截止时间要求和减少能耗,但却无法找到一种最优的调度方案,实现多个目标的平衡,在满足任务的截止时间要求时该方法会相应的增加一定的能耗。
发明内容
为了实现实时任务截止时间要求和能耗更好的权衡,本发明提出了一种基于蚁群算法的实时云任务多目标优化调度方法,在保障任务的截止时间要求的同时最小化数据中心产生的能耗。本发明将改进的蚁群算法作为一个全局的调度器将到达云数据中心的任务分配到合适的虚拟机上,进一步的,在虚拟机等待队列中,基于回填算法的特性对等待队列中的任务进行重新排序,进一步保证任务的截止时间要求。
本发明的目的至少通过如下技术方案之一实现。
一种基于蚁群算法的实时云任务多目标优化调度方法,包括以下步骤:
S1、建立云任务调度的多目标函数;
S2、将任务的截止时间约束条件引入蚁群算法的信息素更新规则中,得到改进的蚁群算法,根据多目标函数,采用改进的蚁群算法进行迭代寻优,找到任务与云系统的虚拟机之间最优的映射方案,根据该方案将任务调度到对应的虚拟机上;
S3、在虚拟机的等待队列中,基于回填算法的特性,根据任务的截止时间约束条件,对虚拟机队列中的任务进行重新排序,进一步满足实时任务的截止时间要求,完成实时云任务多目标优化调度。
进一步地,步骤S1中,所述云任务调度的多目标函数由完工时间和云数据中心的能耗加权组成,所述完工时间为所有虚拟机执行完任务所需时间;云任务调度的多目标函数F的定义公式如下:
其中,是权重因子;表示完工时间,表示可能的最大完工时间,表示
任务i的截止时间,用于归一化完工时间,表示任务数量;表示所有虚拟机执行
完所有任务云系统的总能耗,表示云系统可能产生的最大能耗,表示任务i在虚
拟机j上执行所需能耗,用于归一化总能耗,表示云系统中虚拟机的数量。
进一步地,数据中心的能耗模型只考虑虚拟机执行任务时的能耗,虚拟机产生的能耗由活动状态时的能耗和空闲状态时的能耗组成;活动状态时的能耗表示虚拟机执行任务时产生的能耗,空闲状态时的能耗表示虚拟机没有执行任务时产生的能耗;云系统中第j台虚拟机产生的能耗定义如下:
进一步地,步骤S2中,将任务的截止时间约束条件引入蚁群算法的信息素更新规则中,得到改进后的信息素更新规则,进而得到改进的蚁群算法;通过改进后的信息素更新规则,使得改进的蚁群算法在迭代寻优过程中不仅根据目标函数进行寻优,同时蚂蚁的寻优方向将受到改进的信息素的约束,使得蚁群算法能够找到一种最优的任务与虚拟机之间的映射方案,满足任务截止时间条件的同时减少虚拟机产生的能耗。
进一步地,改进后的信息素更新规则具体如下:
其中,公式(6)是局部信息素更新公式,公式(7)是全局信息素更新公式;是信息
素蒸发系数;表示任务i分配到虚拟机j的信息素值,表示初始信息素值;是惩罚系
数,;表示任务i在虚拟机j上执行完的时间;表示任务i的截止时间;
局部信息素更新公式(6)表示,将任务i分配到虚拟机j上时,若虚拟机j执行完任
务i的时间能够满足任务i的截止时间要求,则根据标准蚁群算法的局部信息素更新
规则进行信息素更新,否则信息素将受到惩罚,将信息素减少,降低其它蚂蚁选择
虚拟机j的概率;
在全局信息素更新公式(7)中,表示蚁群算法迭代至今的最优调度方案,表示最优调度方案 中的信息素组合的信息素值;全局信息素更新公式(7)表示,
在当前的最优调度方案中,只有满足任务截止时间要求的信息素组合才被允许释放信
息素,否则,这些组合只蒸发信息素,而不释放信息素,从而增加其它能够满足任务截止时
间的虚拟机被选择的机会。
进一步地,改进的蚁群算法的启发式信息的定义如下:
其中,表示任务i分配给虚拟机j的启发式信息,表示任务i在虚拟机j上
所需要的预估执行时间,表示任务i在虚拟机j上执行时所产生的能耗,公式(8)表示,若
将任务i分配到虚拟机j上无法满足任务i的截止时间要求时,则启发式信息将被设置为
一个足够小的值,使得在迭代寻优过程中,任务i选择虚拟机j的概率接近于0。
进一步地,步骤S3中,对于每一个分配到虚拟机j的任务i,将执行以下步骤:
S3.1、若虚拟机j处于空闲状态,则任务i直接在虚拟机j上执行;否则跳至步骤S3.2;
S3.2、若虚拟机j的等待队列为空,则任务i直接插入虚拟机j的等待队列中;否则跳至步骤S3.3;
S3.4、基于回填算法的特性对虚拟机等待队列中的任务和未分配的任务进行重新排序。
进一步地,步骤S3.4中,基于回填算法的特性对虚拟机等待队列和未分配的任务中的任务进行重新排序的步骤如下:
S3.4.1、若虚拟机的等待队列中队尾的任务v执行完的时间满足任务v的截止
时间要求,并且将分配到虚拟机j的任务i插入到任务v之前导致执行完任务i后再执行任
务v满足任务v的截止时间要求,则执行回填策略,将任务i回填到任务v之前,返回步骤S3
继续分配下一个分配到虚拟机j的任务;否则跳至步骤S3.4.2;
S3.4.2、若分配到虚拟机j的任务i进入虚拟机j的等待队列的队尾后执行完的时
间不满足截止时间要求,并且下一个分配到虚拟机j的任务k插入到任务i前时,任务k
进入虚拟机j的等待队列的队尾后执行完的时间满足截止时间要求,则执行回填策
略,将任务k回填到任务i之前,否则,直接将任务i插入到虚拟机j的等待队列的队尾,任务i
将延时完成。
与现有技术相比,本发明具有如下的优点与技术效果:
1.提出了一种云计算环境下针对实时任务的多目标优化调度框架,将蚁群算法作为一个全局调度器将到达云数据中心的任务分配到合适的虚拟机上,在虚拟机中基于回填算法的特性对虚拟机队列中的任务进行重新排序,从而保障任务的截止时间要求的同时最小化数据中心产生的能耗。
2.使用改进的蚁群算法对多目标函数进行迭代寻优,将任务的截止时间引入蚁群算法的更新规则中,使得蚁群算法在迭代过程中不仅根据目标函数进行寻优,同时受到信息素的约束,从而实现多个目标的平衡。
3.在虚拟机队列中,基于回填算法的特性对虚拟机队列中的任务进行重新排序,改善短任务或者截止期限紧缩的任务被长任务或者截止期限宽松的任务占据计算资源而无法在截止期限前完成的问题,进一步保证任务的截止时间要求。
附图说明
图1为本发明实施例中云计算平台多目标优化调度框架图;
图2a为本发明实施例中执行回填算法前的任务排列图;
图2b为本发明实施例中不执行回填算法的任务排列图;
图2c为本发明实施例中执行回填算法后的任务排列图。
具体实施方式
为了使本发明的技术方案及优点更加清楚明白,以下结合附图,进行对本发明的具体实施进行详细说明,但本发明的实施和保护不限于此。
首先说明本发明中的术语:
蚁群优化算法(AntColonyOptimizationAlgorithm):蚁群优化算法是一种元启发式算法,基于现实世界蚂蚁觅食行为而建立的一种仿生优化算法。在真实的蚂蚁种群中,信息素是用来交流的一种化学物质,蚂蚁在寻找食物的过程中通过感知其它蚂蚁释放的信息素从而找到食物的所在地。蚁群算法中,信息素和启发式信息是指导蚁群寻优的两个重要因子。信息素表示蚂蚁对某个选择的偏好程度,启发式信息是蚂蚁对某个选择的期望值。
回填算法(BackFilling):回填算法被广泛应用于云计算中提高资源的利用率。回填算法通过发现计算资源中空闲的时间槽,并选择合适大小的任务放到时间槽中执行,从而提高资源的利用率,并降低截止期限任务的逾期率。
实施例:
一种基于蚁群算法的实时云任务多目标优化调度方法,如图1所示,包括以下步骤:
S1、建立云任务调度的多目标函数;
所述云任务调度的多目标函数由完工时间和云数据中心的能耗加权组成,所述完工时间为所有虚拟机执行完任务所需时间;云任务调度的多目标函数F的定义公式如下:
其中,是权重因子,权重因子根据实际应用场景需求进行调整;设置>0.5
时,满足用户的服务质量(QoS)需求,提高任务的响应时间;设置<0.5时,满足能耗感知的
场景需求;设置等于0或者1时,多目标优化调度问题退化为单目标优化调度;表示完
工时间,表示可能的最大完工时间,表示任务i的截止时间,用于归一化完工时间,表示任务数量;表示所有虚拟机执行完所有任务云系统的总能耗,表示
云系统可能产生的最大能耗,表示任务i在虚拟机j上执行所需能耗,用于归一化总能耗,表示云系统中虚拟机的数量。
数据中心的能耗模型只考虑虚拟机执行任务时的能耗,虚拟机产生的能耗由活动状态时的能耗和空闲状态时的能耗组成;活动状态时的能耗表示虚拟机执行任务时产生的能耗,空闲状态时的能耗表示虚拟机没有执行任务时产生的能耗;云系统中第j台虚拟机产生的能耗定义如下:
S2、将任务的截止时间约束条件引入蚁群算法的信息素更新规则中,得到改进的蚁群算法,根据多目标函数,采用改进的蚁群算法进行迭代寻优,找到任务与云系统的虚拟机之间最优的映射方案,根据该方案将任务调度到对应的虚拟机上;
将任务的截止时间约束条件引入蚁群算法的信息素更新规则中,得到改进后的信息素更新规则,进而得到改进的蚁群算法;通过改进后的信息素更新规则,使得改进的蚁群算法在迭代寻优过程中不仅根据目标函数进行寻优,同时蚂蚁的寻优方向将受到改进的信息素的约束,使得蚁群算法能够找到一种最优的任务与虚拟机之间的映射方案,满足任务截止时间条件的同时减少虚拟机产生的能耗。
改进后的信息素更新规则具体如下:
其中,公式(6)是局部信息素更新公式,公式(7)是全局信息素更新公式;是信息
素蒸发系数;表示任务i分配到虚拟机j的信息素值,表示初始信息素值;是惩罚
系数,;表示任务i在虚拟机j上执行完的时间;表示任务i的截止时间;
局部信息素更新公式(6)表示,将任务i分配到虚拟机j上时,若虚拟机j执行完任
务i的时间能够满足任务i的截止时间要求,则根据标准蚁群算法的局部信息素更新
规则进行信息素更新,否则信息素将受到惩罚,将信息素减少,降低其它蚂蚁选择
虚拟机j的概率;
在全局信息素更新公式(7)中,表示蚁群算法迭代至今的最优调度方案,表示最优调度方案 中的信息素组合的信息素值;全局信息素更新公式(7)表示,
在当前的最优调度方案中,只有满足任务截止时间要求的信息素组合才被允许释放信
息素,否则,这些组合只蒸发信息素,而不释放信息素,从而增加其它能够满足任务截止时
间的虚拟机被选择的机会。
改进的蚁群算法的启发式信息的定义如下:
其中,表示任务i分配给虚拟机j的启发式信息,表示任务i在虚拟机j上
所需要的预估执行时间,表示任务i在虚拟机j上执行时所产生的能耗,公式(8)表示,若
将任务i分配到虚拟机j上无法满足任务i的截止时间要求时,则启发式信息将被设置为
一个足够小的值,使得在迭代寻优过程中,任务i选择虚拟机j的概率接近于0。
S3、在虚拟机的等待队列中,基于回填算法的特性,根据任务的截止时间约束条件,对虚拟机队列中的任务进行重新排序,进一步满足实时任务的截止时间要求,完成实时云任务多目标优化调度;
对于每一个分配到虚拟机j的任务i,将执行以下步骤:
S3.1、若虚拟机j处于空闲状态,则任务i直接在虚拟机j上执行;否则跳至步骤S3.2;
S3.2、若虚拟机j的等待队列为空,则任务i直接插入虚拟机j的等待队列中;否则跳至步骤S3.3;
S3.4、基于回填算法的特性对虚拟机等待队列中的任务和未分配的任务进行重新排序,具体包括以下步骤:
S3.4.1、若虚拟机的等待队列中队尾的任务v执行完的时间满足任务v的截止
时间要求,并且将分配到虚拟机j的任务i插入到任务v之前导致执行完任务i后再执行任
务v满足任务v的截止时间要求,则执行回填策略,将任务i回填到任务v之前,返回步骤S3
继续分配下一个分配到虚拟机j的任务;否则跳至步骤S3.4.2;
S3.4.2、若分配到虚拟机j的任务i进入虚拟机j的等待队列的队尾后执行完的时
间不满足截止时间要求,并且下一个分配到虚拟机j的任务k插入到任务i前时,任务k
进入虚拟机j的等待队列的队尾后执行完的时间满足截止时间要求,则执行回填策
略,将任务k回填到任务i之前,否则,直接将任务i插入到虚拟机j的等待队列的队尾,任务i
将延时完成。
本实施例中,为了更好的理解步骤S3中所述的基于回填算法的特性对虚拟机队列中的任务进行重新排序的方法,如图2a、图2b所示,在时刻t=10和t=11时,第五任务T5和第六任务T6、第七任务T7到达云数据中心,第五任务T5和第六任务T6被IACO调度器调度到第一虚拟机VM1上执行,第七任务T7被调度到第二虚拟机执行;在时刻t=10时,第一虚拟机VM1执行完成第一任务T1,正在执行第三任务T3,第二虚拟机VM2执行完成第二任务T2,正在执行第四任务T4;第五任务T5的执行时间和截止期限分别为4和18,第六任务T6的执行时间和截止期限分别为2和15,而第七任务T7的执行时间和截止时间分别为4和18;由于第三任务T3和第四任务T4还未执行完成,因此第五任务T5和第六任务T6需要在第一虚拟机的等待队列中等待被调度执行,而第七任务T7需要在第二虚拟机等待队列中等待被调度执行,如果按照先来先服务FCFS的调度算法执行等待队列中的任务,如图2 b所示,则在第一虚拟机中,只有第五任务T5能满足截止期限要求,而第六任务T6无法满足。由于在第三任务T3执行完成时,第五任务T5和第六任务T6已经到达,因此,对每一个到达的任务执行修改的回填算法(Modified BackFilling,MBF)。
如图2 c所示,当第五任务T5到达时,由于第三任务T3还未执行完成,并且VM等待队列为空,则直接入队,第六任务T6到达时,由于等待队列不为空,则任务T6根据第五任务T5的执行结束时间计算自己的执行结束时间,由于不满足截止期限要求,则执行回填策略,将第六任务T6回填到第五任务T5之前,若回填之后满足截止期限要求,并且不破坏第五任务T5的截止期限要求或者第五任务T5本身不满足截止期限要求,则完成回填,否则,不执行回填策略。如图2 c,通过执行修改的回填算法(Modified BackFilling,MBF),第五任务T5和第六任务T6都能满足截止期限。
若第五任务T5的截止期限为15,此时第五任务T5本身不满足截止期限要求,而执行回填算法后能够满足第六任务T6的的截止期限,因此将第六任务T6回填到T5之前,如图2c;若第六任务T6的截止期限为13,通过执行回填算法依旧无法满足第六任务T6的截止期限要求,则直接将第六任务T6插入第一虚拟机VM1的等待队列队尾,如图2b。
上述流程为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (9)
1.一种基于蚁群算法的实时云任务多目标优化调度方法,其特征在于,包括以下步骤:
S1、建立云任务调度的多目标函数;所述云任务调度的多目标函数由完工时间和云数据中心的能耗加权组成,所述完工时间为所有虚拟机执行完任务所需时间;以任务的完成时间、执行完任务所需能耗为目标,使用线性加权法建立云任务调度的多目标函数;
云任务调度的多目标函数F的定义公式如下:
其中,ω是权重因子;Φ表示完工时间,Φmax表示可能的最大完工时间,di表示任务i的截止时间,用于归一化完工时间Φ,M表示任务数量;Etotal表示所有虚拟机执行完所有任务云系统的总能耗,Emax表示云系统可能产生的最大能耗,表示任务i在虚拟机j上执行所需能耗,用于归一化总能耗Etotal,N表示云系统中虚拟机的数量;
S2、将任务的截止时间约束条件引入蚁群算法的信息素更新规则中,得到改进的蚁群算法,根据多目标函数,采用改进的蚁群算法进行迭代寻优,找到任务与云系统的虚拟机之间最优的映射方案,根据该方案将任务调度到对应的虚拟机上;
S3、在虚拟机的等待队列中,基于回填算法的特性,根据任务的截止时间约束条件,对虚拟机队列中的任务进行重新排序,进一步满足实时任务的截止时间要求,完成实时云任务多目标优化调度。
3.根据权利要求1所述的一种基于蚁群算法的实时云任务多目标优化调度方法,其特征在于,权重因子ω根据实际应用场景需求进行调整;
设置ω>0.5时,满足用户的服务质量需求,提高任务的响应时间;
设置ω<0.5时,满足能耗感知的场景需求;
设置ω等于0或者1时,多目标优化调度问题退化为单目标优化调度。
5.根据权利要求1所述的一种基于蚁群算法的实时云任务多目标优化调度方法,其特征在于,步骤S2中,将任务的截止时间约束条件引入蚁群算法的信息素更新规则中,得到改进后的信息素更新规则,进而得到改进的蚁群算法;通过改进后的信息素更新规则,使得改进的蚁群算法在迭代寻优过程中不仅根据目标函数进行寻优,同时蚂蚁的寻优方向将受到改进的信息素的约束,使得蚁群算法能够找到一种最优的任务与虚拟机之间的映射方案,满足任务截止时间条件的同时减少虚拟机产生的能耗。
6.根据权利要求5所述的一种基于蚁群算法的实时云任务多目标优化调度方法,其特征在于,改进后的信息素更新规则具体如下:
其中,公式(6)是局部信息素更新公式,公式(7)是全局信息素更新公式;ξ是信息素蒸发系数;τi,j表示任务i分配到虚拟机j的信息素值,τ0表示初始信息素值;是惩罚系数, 表示任务i在虚拟机j上执行完的时间;di表示任务i的截止时间;
局部信息素更新公式(6)表示,将任务i分配到虚拟机j上时,若虚拟机j执行完任务i的时间能够满足任务i的截止时间di要求,则根据标准蚁群算法的局部信息素更新规则进行信息素更新,否则信息素τi,j将受到惩罚,将信息素τi,j减少,降低其它蚂蚁选择虚拟机j的概率;
在全局信息素更新公式(7)中,S*表示蚁群算法迭代至今的最优调度方案,F(S*)表示最优调度方案S*中的信息素组合的信息素值,全局信息素更新公式(7)表示,在当前的最优调度方案S*中,只有满足任务截止时间要求的信息素组合才被允许释放信息素,否则,这些组合只蒸发信息素,而不释放信息素,从而增加其它能够满足任务截止时间的虚拟机被选择的机会。
9.根据权利要求8所述的一种基于蚁群算法的实时云任务多目标优化调度方法,其特征在于,步骤S3.4中,基于回填算法的特性对虚拟机等待队列和未分配的任务中的任务进行重新排序的步骤如下:
S3.4.1、若虚拟机的等待队列中队尾的任务v执行完的时间满足任务v的截止时间dv要求,并且将分配到虚拟机j的任务i插入到任务v之前导致执行完任务i后再执行任务v满足任务v的截止时间dv要求,则执行回填策略,将任务i回填到任务v之前,返回步骤S3继续分配下一个分配到虚拟机j的任务;否则跳至步骤S3.4.2;
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111617335.4A CN113986518B (zh) | 2021-12-28 | 2021-12-28 | 一种基于蚁群算法的实时云任务多目标优化调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111617335.4A CN113986518B (zh) | 2021-12-28 | 2021-12-28 | 一种基于蚁群算法的实时云任务多目标优化调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113986518A CN113986518A (zh) | 2022-01-28 |
CN113986518B true CN113986518B (zh) | 2022-05-24 |
Family
ID=79734619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111617335.4A Active CN113986518B (zh) | 2021-12-28 | 2021-12-28 | 一种基于蚁群算法的实时云任务多目标优化调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113986518B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112379972B (zh) * | 2020-11-20 | 2023-01-06 | 华南理工大学 | 一种运用蚁群算法优化科学工作流的虚拟机放置方法 |
CN115277445B (zh) * | 2022-07-11 | 2023-08-15 | 北京理工大学 | 一种基于QoS目标的微服务系统调度优化方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970609A (zh) * | 2014-04-24 | 2014-08-06 | 南京信息工程大学 | 一种基于改进蚁群算法的云数据中心任务调度方法 |
CN106951059A (zh) * | 2017-03-28 | 2017-07-14 | 中国石油大学(华东) | 基于dvs与改进蚁群算法的云数据中心节能方法 |
CN109634742A (zh) * | 2018-11-15 | 2019-04-16 | 华南理工大学 | 一种基于蚁群算法的时间约束科学工作流优化方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213585A (zh) * | 2018-08-22 | 2019-01-15 | 广东工业大学 | 一种基于融合遗传算法和蚁群算法的云平台能耗优化管理方法 |
CN109800071A (zh) * | 2019-01-03 | 2019-05-24 | 华南理工大学 | 一种基于改进遗传算法的云计算任务调度方法 |
CN113326135B (zh) * | 2021-06-21 | 2023-08-22 | 桂林航天工业学院 | 一种多目标下的云资源调度方法 |
-
2021
- 2021-12-28 CN CN202111617335.4A patent/CN113986518B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103970609A (zh) * | 2014-04-24 | 2014-08-06 | 南京信息工程大学 | 一种基于改进蚁群算法的云数据中心任务调度方法 |
CN106951059A (zh) * | 2017-03-28 | 2017-07-14 | 中国石油大学(华东) | 基于dvs与改进蚁群算法的云数据中心节能方法 |
CN109634742A (zh) * | 2018-11-15 | 2019-04-16 | 华南理工大学 | 一种基于蚁群算法的时间约束科学工作流优化方法 |
Non-Patent Citations (3)
Title |
---|
Energy-efficient collaborative optimization for VM scheduling in cloud computing;Fagui Liu et.al;《Computer Networks》;20211123;第1-11页 * |
云计算平台任务调度算法研究;袁佳欣;《中国优秀博硕士学位论文全文文数据库(硕士)信息科技辑》;20190215(第2期);第18-20页 * |
基于改进蚁群算法的云资源调度策略研究;唐娜;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20190615(第9期);第I、1-30页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113986518A (zh) | 2022-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Abualigah et al. | A novel hybrid antlion optimization algorithm for multi-objective task scheduling problems in cloud computing environments | |
Hussein et al. | A placement architecture for a container as a service (CaaS) in a cloud environment | |
CN113986518B (zh) | 一种基于蚁群算法的实时云任务多目标优化调度方法 | |
CN108182115B (zh) | 一种云环境下的虚拟机负载均衡方法 | |
Rekha et al. | Efficient task allocation approach using genetic algorithm for cloud environment | |
Pacini et al. | Distributed job scheduling based on Swarm Intelligence: A survey | |
Fu et al. | Task scheduling of cloud computing based on hybrid particle swarm algorithm and genetic algorithm | |
Keshk et al. | Cloud task scheduling for load balancing based on intelligent strategy | |
CN107341041B (zh) | 基于优先队列的云任务多维约束回填调度方法 | |
Seethalakshmi et al. | Hybrid gradient descent spider monkey optimization (HGDSMO) algorithm for efficient resource scheduling for big data processing in heterogenous environment | |
Zhang et al. | Novel efficient particle swarm optimization algorithms for solving QoS‐demanded bag‐of‐tasks scheduling problems with profit maximization on hybrid clouds | |
Tong et al. | DDQN-TS: A novel bi-objective intelligent scheduling algorithm in the cloud environment | |
Supreeth et al. | Hybrid genetic algorithm and modified-particle swarm optimization algorithm (GA-MPSO) for predicting scheduling virtual machines in educational cloud platforms | |
Mejahed et al. | A multi-objective algorithm for virtual machine placement in cloud environments using a hybrid of particle swarm optimization and flower pollination optimization | |
Peng et al. | A reinforcement learning-based mixed job scheduler scheme for cloud computing under SLA constraint | |
Asghari et al. | Combined use of coral reefs optimization and reinforcement learning for improving resource utilization and load balancing in cloud environments | |
Elsedimy et al. | MOTS‐ACO: An improved ant colony optimiser for multi‐objective task scheduling optimisation problem in cloud data centres | |
Pacini et al. | A bio-inspired scheduler for minimizing makespan and flowtime of computational mechanics applications on federated clouds | |
He et al. | A two-stage scheduling method for deadline-constrained task in cloud computing | |
Durai et al. | Hybrid Invasive Weed Improved Grasshopper Optimization Algorithm for Cloud Load Balancing. | |
Awad et al. | A swarm intelligence-based approach for dynamic data replication in a cloud environment | |
Hu et al. | Research of scheduling strategy on OpenStack | |
Medhat et al. | An Ant Algorithm for cloud task scheduling | |
Gupta et al. | Cloudlet scheduling using merged CSO algorithm | |
Vinothini et al. | Meta-heuristic firefly approach to multi-servers load balancing with independent and dependent server availability consideration |
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 |