CN113986518B - 一种基于蚁群算法的实时云任务多目标优化调度方法 - Google Patents

一种基于蚁群算法的实时云任务多目标优化调度方法 Download PDF

Info

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
Application number
CN202111617335.4A
Other languages
English (en)
Other versions
CN113986518A (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.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
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 South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN202111617335.4A priority Critical patent/CN113986518B/zh
Publication of CN113986518A publication Critical patent/CN113986518A/zh
Application granted granted Critical
Publication of CN113986518B publication Critical patent/CN113986518B/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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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
    • 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)
  • 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的定义公式如下:
Figure 807629DEST_PATH_IMAGE001
其中,
Figure 971107DEST_PATH_IMAGE002
是权重因子;
Figure 449712DEST_PATH_IMAGE003
表示完工时间,
Figure 238064DEST_PATH_IMAGE004
表示可能的最大完工时间,
Figure 322212DEST_PATH_IMAGE005
表示 任务i的截止时间,用于归一化完工时间
Figure 922171DEST_PATH_IMAGE003
Figure 91334DEST_PATH_IMAGE006
表示任务数量;
Figure 542431DEST_PATH_IMAGE007
表示所有虚拟机执行 完所有任务云系统的总能耗,
Figure 660910DEST_PATH_IMAGE008
表示云系统可能产生的最大能耗,
Figure 455208DEST_PATH_IMAGE009
表示任务i在虚 拟机j上执行所需能耗,用于归一化总能耗
Figure 659138DEST_PATH_IMAGE007
Figure 648347DEST_PATH_IMAGE010
表示云系统中虚拟机的数量。
进一步地,所有虚拟机执行完所有任务云系统的总能耗
Figure 949228DEST_PATH_IMAGE007
的计算公式如下:
Figure 77940DEST_PATH_IMAGE011
其中,
Figure 712709DEST_PATH_IMAGE012
表示云系统中第j台虚拟机产生的能耗。
进一步地,权重因子
Figure 54345DEST_PATH_IMAGE002
根据实际应用场景需求进行调整;
设置
Figure 131105DEST_PATH_IMAGE002
>0.5时,满足用户的服务质量(QoS)需求,提高任务的响应时间;
设置
Figure 712609DEST_PATH_IMAGE002
<0.5时,满足能耗感知的场景需求;
设置
Figure 162569DEST_PATH_IMAGE002
等于0或者1时,多目标优化调度问题退化为单目标优化调度。
进一步地,数据中心的能耗模型只考虑虚拟机执行任务时的能耗,虚拟机产生的能耗由活动状态时的能耗和空闲状态时的能耗组成;活动状态时的能耗表示虚拟机执行任务时产生的能耗,空闲状态时的能耗表示虚拟机没有执行任务时产生的能耗;云系统中第j台虚拟机产生的能耗定义如下:
Figure 753301DEST_PATH_IMAGE013
其中,
Figure 927578DEST_PATH_IMAGE014
表示虚拟机j活动状态时的能耗,
Figure 945563DEST_PATH_IMAGE015
表示虚拟机j空闲状态时的能 耗。
进一步地,步骤S2中,将任务的截止时间约束条件引入蚁群算法的信息素更新规则中,得到改进后的信息素更新规则,进而得到改进的蚁群算法;通过改进后的信息素更新规则,使得改进的蚁群算法在迭代寻优过程中不仅根据目标函数进行寻优,同时蚂蚁的寻优方向将受到改进的信息素的约束,使得蚁群算法能够找到一种最优的任务与虚拟机之间的映射方案,满足任务截止时间条件的同时减少虚拟机产生的能耗。
进一步地,改进后的信息素更新规则具体如下:
Figure 679557DEST_PATH_IMAGE016
其中,公式(6)是局部信息素更新公式,公式(7)是全局信息素更新公式;
Figure 73980DEST_PATH_IMAGE017
是信息 素蒸发系数;
Figure 63015DEST_PATH_IMAGE018
表示任务i分配到虚拟机j的信息素值,
Figure 788919DEST_PATH_IMAGE019
表示初始信息素值;
Figure 574708DEST_PATH_IMAGE020
是惩罚系 数,
Figure 382608DEST_PATH_IMAGE021
Figure 163833DEST_PATH_IMAGE022
表示任务i在虚拟机j上执行完的时间;
Figure 336669DEST_PATH_IMAGE005
表示任务i的截止时间;
局部信息素更新公式(6)表示,将任务i分配到虚拟机j上时,若虚拟机j执行完任 务i的时间
Figure 701048DEST_PATH_IMAGE022
能够满足任务i的截止时间
Figure 726290DEST_PATH_IMAGE005
要求,则根据标准蚁群算法的局部信息素更新 规则进行信息素更新,否则信息素
Figure 129065DEST_PATH_IMAGE018
将受到惩罚,将信息素
Figure 925333DEST_PATH_IMAGE018
减少,降低其它蚂蚁选择 虚拟机j的概率;
在全局信息素更新公式(7)中,
Figure 990722DEST_PATH_IMAGE023
表示蚁群算法迭代至今的最优调度方案,
Figure 367125DEST_PATH_IMAGE024
表示最优调度方案
Figure 145112DEST_PATH_IMAGE025
中的信息素组合的信息素值;全局信息素更新公式(7)表示, 在当前的最优调度方案
Figure 33653DEST_PATH_IMAGE023
中,只有满足任务截止时间要求的信息素组合才被允许释放信 息素,否则,这些组合只蒸发信息素,而不释放信息素,从而增加其它能够满足任务截止时 间的虚拟机被选择的机会。
进一步地,改进的蚁群算法的启发式信息的定义如下:
Figure 586339DEST_PATH_IMAGE026
其中,
Figure 929945DEST_PATH_IMAGE027
表示任务i分配给虚拟机j的启发式信息,
Figure 874024DEST_PATH_IMAGE028
表示任务i在虚拟机j上 所需要的预估执行时间,
Figure 35532DEST_PATH_IMAGE009
表示任务i在虚拟机j上执行时所产生的能耗,公式(8)表示,若 将任务i分配到虚拟机j上无法满足任务i的截止时间
Figure 668989DEST_PATH_IMAGE005
要求时,则启发式信息将被设置为 一个足够小的值,使得在迭代寻优过程中,任务i选择虚拟机j的概率接近于0。
进一步地,步骤S3中,对于每一个分配到虚拟机j的任务i,将执行以下步骤:
S3.1、若虚拟机j处于空闲状态,则任务i直接在虚拟机j上执行;否则跳至步骤S3.2;
S3.2、若虚拟机j的等待队列为空,则任务i直接插入虚拟机j的等待队列中;否则跳至步骤S3.3;
S3.3、若在虚拟机j的等待队列中最后一个任务m执行完成后,虚拟机j执行完任务 i的时间
Figure 697512DEST_PATH_IMAGE022
能够满足任务i的截止时间
Figure 21397DEST_PATH_IMAGE005
要求,则任务i进入虚拟机j的等待队列中;否则跳 至步骤S3.4;
S3.4、基于回填算法的特性对虚拟机等待队列中的任务和未分配的任务进行重新排序。
进一步地,步骤S3.4中,基于回填算法的特性对虚拟机等待队列和未分配的任务中的任务进行重新排序的步骤如下:
S3.4.1、若虚拟机的等待队列中队尾的任务v执行完的时间
Figure 64789DEST_PATH_IMAGE029
满足任务v的截止 时间
Figure 146663DEST_PATH_IMAGE030
要求,并且将分配到虚拟机j的任务i插入到任务v之前导致执行完任务i后再执行任 务v满足任务v的截止时间
Figure 103511DEST_PATH_IMAGE030
要求,则执行回填策略,将任务i回填到任务v之前,返回步骤S3 继续分配下一个分配到虚拟机j的任务;否则跳至步骤S3.4.2;
S3.4.2、若分配到虚拟机j的任务i进入虚拟机j的等待队列的队尾后执行完的时 间
Figure 16322DEST_PATH_IMAGE022
不满足截止时间
Figure 761775DEST_PATH_IMAGE005
要求,并且下一个分配到虚拟机j的任务k插入到任务i前时,任务k 进入虚拟机j的等待队列的队尾后执行完的时间
Figure 110104DEST_PATH_IMAGE031
满足截止时间
Figure 208991DEST_PATH_IMAGE032
要求,则执行回填策 略,将任务k回填到任务i之前,否则,直接将任务i插入到虚拟机j的等待队列的队尾,任务i 将延时完成。
与现有技术相比,本发明具有如下的优点与技术效果:
1.提出了一种云计算环境下针对实时任务的多目标优化调度框架,将蚁群算法作为一个全局调度器将到达云数据中心的任务分配到合适的虚拟机上,在虚拟机中基于回填算法的特性对虚拟机队列中的任务进行重新排序,从而保障任务的截止时间要求的同时最小化数据中心产生的能耗。
2.使用改进的蚁群算法对多目标函数进行迭代寻优,将任务的截止时间引入蚁群算法的更新规则中,使得蚁群算法在迭代过程中不仅根据目标函数进行寻优,同时受到信息素的约束,从而实现多个目标的平衡。
3.在虚拟机队列中,基于回填算法的特性对虚拟机队列中的任务进行重新排序,改善短任务或者截止期限紧缩的任务被长任务或者截止期限宽松的任务占据计算资源而无法在截止期限前完成的问题,进一步保证任务的截止时间要求。
附图说明
图1为本发明实施例中云计算平台多目标优化调度框架图;
图2a为本发明实施例中执行回填算法前的任务排列图;
图2b为本发明实施例中不执行回填算法的任务排列图;
图2c为本发明实施例中执行回填算法后的任务排列图。
具体实施方式
为了使本发明的技术方案及优点更加清楚明白,以下结合附图,进行对本发明的具体实施进行详细说明,但本发明的实施和保护不限于此。
首先说明本发明中的术语:
蚁群优化算法(AntColonyOptimizationAlgorithm):蚁群优化算法是一种元启发式算法,基于现实世界蚂蚁觅食行为而建立的一种仿生优化算法。在真实的蚂蚁种群中,信息素是用来交流的一种化学物质,蚂蚁在寻找食物的过程中通过感知其它蚂蚁释放的信息素从而找到食物的所在地。蚁群算法中,信息素和启发式信息是指导蚁群寻优的两个重要因子。信息素表示蚂蚁对某个选择的偏好程度,启发式信息是蚂蚁对某个选择的期望值。
回填算法(BackFilling):回填算法被广泛应用于云计算中提高资源的利用率。回填算法通过发现计算资源中空闲的时间槽,并选择合适大小的任务放到时间槽中执行,从而提高资源的利用率,并降低截止期限任务的逾期率。
实施例:
一种基于蚁群算法的实时云任务多目标优化调度方法,如图1所示,包括以下步骤:
S1、建立云任务调度的多目标函数;
所述云任务调度的多目标函数由完工时间和云数据中心的能耗加权组成,所述完工时间为所有虚拟机执行完任务所需时间;云任务调度的多目标函数F的定义公式如下:
Figure 140692DEST_PATH_IMAGE001
其中,
Figure 525887DEST_PATH_IMAGE002
是权重因子,权重因子
Figure 17305DEST_PATH_IMAGE002
根据实际应用场景需求进行调整;设置
Figure 247779DEST_PATH_IMAGE002
>0.5 时,满足用户的服务质量(QoS)需求,提高任务的响应时间;设置
Figure 682653DEST_PATH_IMAGE002
<0.5时,满足能耗感知的 场景需求;设置
Figure 793346DEST_PATH_IMAGE002
等于0或者1时,多目标优化调度问题退化为单目标优化调度;
Figure 303218DEST_PATH_IMAGE003
表示完 工时间,
Figure 602962DEST_PATH_IMAGE004
表示可能的最大完工时间,
Figure 95605DEST_PATH_IMAGE005
表示任务i的截止时间,用于归一化完工时间
Figure 562883DEST_PATH_IMAGE003
Figure 898399DEST_PATH_IMAGE006
表示任务数量;
Figure 681065DEST_PATH_IMAGE007
表示所有虚拟机执行完所有任务云系统的总能耗,
Figure 356110DEST_PATH_IMAGE008
表示 云系统可能产生的最大能耗,
Figure 463131DEST_PATH_IMAGE009
表示任务i在虚拟机j上执行所需能耗,用于归一化总能耗
Figure 754785DEST_PATH_IMAGE007
Figure 661911DEST_PATH_IMAGE010
表示云系统中虚拟机的数量。
所有虚拟机执行完所有任务云系统的总能耗
Figure 792980DEST_PATH_IMAGE007
的计算公式如下:
Figure 585749DEST_PATH_IMAGE011
其中,
Figure 912169DEST_PATH_IMAGE012
表示云系统中第j台虚拟机产生的能耗。
数据中心的能耗模型只考虑虚拟机执行任务时的能耗,虚拟机产生的能耗由活动状态时的能耗和空闲状态时的能耗组成;活动状态时的能耗表示虚拟机执行任务时产生的能耗,空闲状态时的能耗表示虚拟机没有执行任务时产生的能耗;云系统中第j台虚拟机产生的能耗定义如下:
Figure 419724DEST_PATH_IMAGE013
其中,
Figure 69361DEST_PATH_IMAGE014
表示虚拟机j活动状态时的能耗,
Figure 987026DEST_PATH_IMAGE015
表示虚拟机j空闲状态时的能耗。
S2、将任务的截止时间约束条件引入蚁群算法的信息素更新规则中,得到改进的蚁群算法,根据多目标函数,采用改进的蚁群算法进行迭代寻优,找到任务与云系统的虚拟机之间最优的映射方案,根据该方案将任务调度到对应的虚拟机上;
将任务的截止时间约束条件引入蚁群算法的信息素更新规则中,得到改进后的信息素更新规则,进而得到改进的蚁群算法;通过改进后的信息素更新规则,使得改进的蚁群算法在迭代寻优过程中不仅根据目标函数进行寻优,同时蚂蚁的寻优方向将受到改进的信息素的约束,使得蚁群算法能够找到一种最优的任务与虚拟机之间的映射方案,满足任务截止时间条件的同时减少虚拟机产生的能耗。
改进后的信息素更新规则具体如下:
Figure 276710DEST_PATH_IMAGE016
其中,公式(6)是局部信息素更新公式,公式(7)是全局信息素更新公式;
Figure 260060DEST_PATH_IMAGE017
是信息 素蒸发系数;
Figure 488172DEST_PATH_IMAGE018
表示任务i分配到虚拟机j的信息素值,
Figure 898775DEST_PATH_IMAGE019
表示初始信息素值;
Figure 527684DEST_PATH_IMAGE020
是惩罚 系数,
Figure 790692DEST_PATH_IMAGE021
Figure 420781DEST_PATH_IMAGE022
表示任务i在虚拟机j上执行完的时间;
Figure 799023DEST_PATH_IMAGE005
表示任务i的截止时间;
局部信息素更新公式(6)表示,将任务i分配到虚拟机j上时,若虚拟机j执行完任 务i的时间
Figure 180807DEST_PATH_IMAGE022
能够满足任务i的截止时间
Figure 37118DEST_PATH_IMAGE005
要求,则根据标准蚁群算法的局部信息素更新 规则进行信息素更新,否则信息素
Figure 584031DEST_PATH_IMAGE018
将受到惩罚,将信息素
Figure 31978DEST_PATH_IMAGE018
减少,降低其它蚂蚁选择 虚拟机j的概率;
在全局信息素更新公式(7)中,
Figure 228954DEST_PATH_IMAGE023
表示蚁群算法迭代至今的最优调度方案,
Figure 888956DEST_PATH_IMAGE024
表示最优调度方案
Figure 946167DEST_PATH_IMAGE025
中的信息素组合的信息素值;全局信息素更新公式(7)表示, 在当前的最优调度方案
Figure 541577DEST_PATH_IMAGE023
中,只有满足任务截止时间要求的信息素组合才被允许释放信 息素,否则,这些组合只蒸发信息素,而不释放信息素,从而增加其它能够满足任务截止时 间的虚拟机被选择的机会。
改进的蚁群算法的启发式信息的定义如下:
Figure 514867DEST_PATH_IMAGE026
其中,
Figure 187681DEST_PATH_IMAGE027
表示任务i分配给虚拟机j的启发式信息,
Figure 906588DEST_PATH_IMAGE028
表示任务i在虚拟机j上 所需要的预估执行时间,
Figure 656589DEST_PATH_IMAGE009
表示任务i在虚拟机j上执行时所产生的能耗,公式(8)表示,若 将任务i分配到虚拟机j上无法满足任务i的截止时间
Figure 359316DEST_PATH_IMAGE005
要求时,则启发式信息将被设置为 一个足够小的值,使得在迭代寻优过程中,任务i选择虚拟机j的概率接近于0。
S3、在虚拟机的等待队列中,基于回填算法的特性,根据任务的截止时间约束条件,对虚拟机队列中的任务进行重新排序,进一步满足实时任务的截止时间要求,完成实时云任务多目标优化调度;
对于每一个分配到虚拟机j的任务i,将执行以下步骤:
S3.1、若虚拟机j处于空闲状态,则任务i直接在虚拟机j上执行;否则跳至步骤S3.2;
S3.2、若虚拟机j的等待队列为空,则任务i直接插入虚拟机j的等待队列中;否则跳至步骤S3.3;
S3.3、若在虚拟机j的等待队列中最后一个任务m执行完成后,虚拟机j执行完任务 i的时间
Figure 507925DEST_PATH_IMAGE022
能够满足任务i的截止时间
Figure 291727DEST_PATH_IMAGE005
要求,则任务i进入虚拟机j的等待队列中;否则跳 至步骤S3.4;
S3.4、基于回填算法的特性对虚拟机等待队列中的任务和未分配的任务进行重新排序,具体包括以下步骤:
S3.4.1、若虚拟机的等待队列中队尾的任务v执行完的时间
Figure 556837DEST_PATH_IMAGE029
满足任务v的截止 时间
Figure 424823DEST_PATH_IMAGE030
要求,并且将分配到虚拟机j的任务i插入到任务v之前导致执行完任务i后再执行任 务v满足任务v的截止时间
Figure 699160DEST_PATH_IMAGE030
要求,则执行回填策略,将任务i回填到任务v之前,返回步骤S3 继续分配下一个分配到虚拟机j的任务;否则跳至步骤S3.4.2;
S3.4.2、若分配到虚拟机j的任务i进入虚拟机j的等待队列的队尾后执行完的时 间
Figure 579610DEST_PATH_IMAGE022
不满足截止时间
Figure 711162DEST_PATH_IMAGE005
要求,并且下一个分配到虚拟机j的任务k插入到任务i前时,任务k 进入虚拟机j的等待队列的队尾后执行完的时间
Figure 394341DEST_PATH_IMAGE031
满足截止时间
Figure 862582DEST_PATH_IMAGE032
要求,则执行回填策 略,将任务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的定义公式如下:
Figure FDA0003517622080000011
Figure FDA0003517622080000012
Figure FDA0003517622080000013
其中,ω是权重因子;Φ表示完工时间,Φmax表示可能的最大完工时间,di表示任务i的截止时间,用于归一化完工时间Φ,M表示任务数量;Etotal表示所有虚拟机执行完所有任务云系统的总能耗,Emax表示云系统可能产生的最大能耗,
Figure FDA0003517622080000014
表示任务i在虚拟机j上执行所需能耗,用于归一化总能耗Etotal,N表示云系统中虚拟机的数量;
S2、将任务的截止时间约束条件引入蚁群算法的信息素更新规则中,得到改进的蚁群算法,根据多目标函数,采用改进的蚁群算法进行迭代寻优,找到任务与云系统的虚拟机之间最优的映射方案,根据该方案将任务调度到对应的虚拟机上;
S3、在虚拟机的等待队列中,基于回填算法的特性,根据任务的截止时间约束条件,对虚拟机队列中的任务进行重新排序,进一步满足实时任务的截止时间要求,完成实时云任务多目标优化调度。
2.根据权利要求1所述的一种基于蚁群算法的实时云任务多目标优化调度方法,其特征在于,所有虚拟机执行完所有任务云系统的总能耗Etotal的计算公式如下:
Figure FDA0003517622080000021
其中,Ej表示云系统中第j台虚拟机产生的能耗。
3.根据权利要求1所述的一种基于蚁群算法的实时云任务多目标优化调度方法,其特征在于,权重因子ω根据实际应用场景需求进行调整;
设置ω>0.5时,满足用户的服务质量需求,提高任务的响应时间;
设置ω<0.5时,满足能耗感知的场景需求;
设置ω等于0或者1时,多目标优化调度问题退化为单目标优化调度。
4.根据权利要求2所述的一种基于蚁群算法的实时云任务多目标优化调度方法,其特征在于,虚拟机产生的能耗由活动状态时的能耗和空闲状态时的能耗组成;活动状态时的能耗表示虚拟机执行任务时产生的能耗,空闲状态时的能耗表示虚拟机没有执行任务时产生的能耗;云系统中第j台虚拟机产生的能耗定义如下:
Figure FDA0003517622080000022
其中,
Figure FDA0003517622080000023
表示虚拟机j活动状态时的能耗,
Figure FDA0003517622080000024
表示虚拟机j空闲状态时的能耗。
5.根据权利要求1所述的一种基于蚁群算法的实时云任务多目标优化调度方法,其特征在于,步骤S2中,将任务的截止时间约束条件引入蚁群算法的信息素更新规则中,得到改进后的信息素更新规则,进而得到改进的蚁群算法;通过改进后的信息素更新规则,使得改进的蚁群算法在迭代寻优过程中不仅根据目标函数进行寻优,同时蚂蚁的寻优方向将受到改进的信息素的约束,使得蚁群算法能够找到一种最优的任务与虚拟机之间的映射方案,满足任务截止时间条件的同时减少虚拟机产生的能耗。
6.根据权利要求5所述的一种基于蚁群算法的实时云任务多目标优化调度方法,其特征在于,改进后的信息素更新规则具体如下:
Figure FDA0003517622080000031
Figure FDA0003517622080000032
其中,公式(6)是局部信息素更新公式,公式(7)是全局信息素更新公式;ξ是信息素蒸发系数;τi,j表示任务i分配到虚拟机j的信息素值,τ0表示初始信息素值;
Figure FDA0003517622080000033
是惩罚系数,
Figure FDA0003517622080000034
Figure FDA0003517622080000035
表示任务i在虚拟机j上执行完的时间;di表示任务i的截止时间;
局部信息素更新公式(6)表示,将任务i分配到虚拟机j上时,若虚拟机j执行完任务i的时间
Figure FDA0003517622080000036
能够满足任务i的截止时间di要求,则根据标准蚁群算法的局部信息素更新规则进行信息素更新,否则信息素τi,j将受到惩罚,将信息素τi,j减少,降低其它蚂蚁选择虚拟机j的概率;
在全局信息素更新公式(7)中,S*表示蚁群算法迭代至今的最优调度方案,F(S*)表示最优调度方案S*中的信息素组合的信息素值,全局信息素更新公式(7)表示,在当前的最优调度方案S*中,只有满足任务截止时间要求的信息素组合才被允许释放信息素,否则,这些组合只蒸发信息素,而不释放信息素,从而增加其它能够满足任务截止时间的虚拟机被选择的机会。
7.根据权利要求6所述的一种基于蚁群算法的实时云任务多目标优化调度方法,其特征在于,改进的蚁群算法的启发式信息的定义如下:
Figure FDA0003517622080000037
其中,ηi,j表示任务i分配给虚拟机j的启发式信息,
Figure FDA0003517622080000038
表示任务i在虚拟机j上所需要的预估执行时间,
Figure FDA0003517622080000039
表示任务i在虚拟机j上执行时所产生的能耗,公式(8)表示,若将任务i分配到虚拟机j上无法满足任务i的截止时间di要求时,则启发式信息将被设置为一个足够小的值,使得在迭代寻优过程中,任务i选择虚拟机j的概率接近于0。
8.根据权利要求1所述的一种基于蚁群算法的实时云任务多目标优化调度方法,其特征在于,步骤S3中,对于每一个分配到虚拟机j的任务i,将执行以下步骤:
S3.1、若虚拟机j处于空闲状态,则任务i直接在虚拟机j上执行;否则跳至步骤S3.2;
S3.2、若虚拟机j的等待队列为空,则任务i直接插入虚拟机j的等待队列中;否则跳至步骤S3.3;
S3.3、若在虚拟机j的等待队列中最后一个任务m执行完成后,虚拟机j执行完任务i的时间
Figure FDA0003517622080000041
能够满足任务i的截止时间di要求,则任务i进入虚拟机j的等待队列中;否则跳至步骤S3.4;
S3.4、基于回填算法的特性对虚拟机等待队列中的任务和未分配的任务进行重新排序。
9.根据权利要求8所述的一种基于蚁群算法的实时云任务多目标优化调度方法,其特征在于,步骤S3.4中,基于回填算法的特性对虚拟机等待队列和未分配的任务中的任务进行重新排序的步骤如下:
S3.4.1、若虚拟机的等待队列中队尾的任务v执行完的时间
Figure FDA0003517622080000042
满足任务v的截止时间dv要求,并且将分配到虚拟机j的任务i插入到任务v之前导致执行完任务i后再执行任务v满足任务v的截止时间dv要求,则执行回填策略,将任务i回填到任务v之前,返回步骤S3继续分配下一个分配到虚拟机j的任务;否则跳至步骤S3.4.2;
S3.4.2、若分配到虚拟机j的任务i进入虚拟机j的等待队列的队尾后执行完的时间
Figure FDA0003517622080000043
不满足截止时间di要求,并且下一个分配到虚拟机j的任务k插入到任务i前时,任务k进入虚拟机j的等待队列的队尾后执行完的时间
Figure FDA0003517622080000044
满足截止时间dk要求,则执行回填策略,将任务k回填到任务i之前,否则,直接将任务i插入到虚拟机j的等待队列的队尾,任务i将延时完成。
CN202111617335.4A 2021-12-28 2021-12-28 一种基于蚁群算法的实时云任务多目标优化调度方法 Active CN113986518B (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 桂林航天工业学院 一种多目标下的云资源调度方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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