CN114691292A - 基于改进向日葵算法的虚拟机资源调度方法及装置 - Google Patents

基于改进向日葵算法的虚拟机资源调度方法及装置 Download PDF

Info

Publication number
CN114691292A
CN114691292A CN202210211685.9A CN202210211685A CN114691292A CN 114691292 A CN114691292 A CN 114691292A CN 202210211685 A CN202210211685 A CN 202210211685A CN 114691292 A CN114691292 A CN 114691292A
Authority
CN
China
Prior art keywords
sunflower
virtual machine
resource scheduling
algorithm
sun
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.)
Pending
Application number
CN202210211685.9A
Other languages
English (en)
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.)
China Industrial Control Systems Cyber Emergency Response Team
Original Assignee
China Industrial Control Systems Cyber Emergency Response Team
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 China Industrial Control Systems Cyber Emergency Response Team filed Critical China Industrial Control Systems Cyber Emergency Response Team
Priority to CN202210211685.9A priority Critical patent/CN114691292A/zh
Publication of CN114691292A publication Critical patent/CN114691292A/zh
Pending legal-status Critical Current

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/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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/45583Memory management, e.g. access or allocation
    • 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

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

本发明公开了一种基于改进向日葵算法的虚拟机资源调度方法,包括:初始化各向日葵的资源调度状态,以及,基于计算获得的总能量,确定初始状态下太阳位置所在的向日葵;确定该向日葵吸收的能量;确定总任务最大完成时间以及CPU的利用率;以总任务最大完成时间最小以及总资源消耗对CPU利用率最高为目标,基于向日葵的全局状态更新以及局部状态更新进行授粉产生新向日葵,并对向日葵进行位置更新;基于更新后的各向日葵,更新太阳的位置所在的向日葵。本申请的方法通过改进的授粉策略,实现了在算法开始迭代初期更多的进行全局搜索,在接近结束时更多的进行本地搜索,既能一定程度防止进入局部最优解,同时也可以在接近结束时加快收敛速度。

Description

基于改进向日葵算法的虚拟机资源调度方法及装置
技术领域
本发明涉及云计算技术领域,尤其涉及一种基于改进向日葵算法的虚拟机资源调度方法及装置。
背景技术
云计算作为分布式计算的一个重要分支,允许用户通过互联网访问按需提供的计算服务,如存储、服务器、数据库、软件等资源。云任务调度的目标是对共享资源上的任务进行划分,以减少消耗的资源使服务器利用率最大化。任务调度问题是一个NP-hard问题,通常采用基于博弈论的方法、基于动力学的方法以及基于启发式算法的方法这三大类方法解决这类问题,通常启发式的算法在解决特定问题时有着更好的效果。为了实现上述需求,达到更加理想的分配结果,需要应用启发式的资源调度算法。
启发式算法通常将问题表述为一类优化问题,以寻找最优解的形式来解决问题。用户在申请使用这些资源时,需要向任务管理器模块提交他们的请求,之后调度器从任务管理器中获取请求并在资源信息服务器的帮助下分析所有资源请求。但目前启发式算法效率较低,准确率也无法满足要求。
发明内容
本发明实施例提供一种基于改进向日葵算法的虚拟机资源调度方法及装置,实现以更快的效率和更高的准确率解决云资源调度的问题。
本发明实施例提供一种基于改进向日葵算法的虚拟机资源调度方法,应用于包括M个任务,N台虚拟机以及Z个向日葵的资源调度环境,该向日葵包括M个子项,该子项用于定义该任务在对应的虚拟机上执行的资源调度状态,所述虚拟机资源调度方法包括:
初始化各向日葵的资源调度状态,以及,基于计算获得的总能量,确定初始状态下太阳位置所在的向日葵;
确定该向日葵吸收的能量,其中该向日葵吸收的能量被定义为按照最大完成时间最小以及CPU利用率最高来确定;
确定总任务最大完成时间以及CPU的利用率;
以总任务最大完成时间最小以及总资源消耗对CPU利用率最高为目标,基于向日葵的全局状态更新以及局部状态更新进行授粉产生新向日葵,并对向日葵进行位置更新;
基于更新后的各向日葵,更新太阳的位置所在的向日葵;
判断迭代是否满足条件,在满足条件的情况下,基于输出的太阳的位置所在的向日葵执行资源调度。
在一些实施例中,该向日葵包括M个子项,且各子项均为整数,初始化各向日葵的资源调度状态包括:
在机器能取到编号的上下界范围内,利用包含随机参数的公式生成各向日葵的初始状态。
在一些实施例中,总任务最大完成时间是通过如下方式确定的:
计算第j个任务在第i台虚拟机上的处理时间,乘以,判断任务j是否可在虚拟机i上执行的布尔值;
对M个任务在一台虚拟机上的处理结果求和;
取得N台虚拟机中所得时间的最大值作为总任务最大完成时间。
在一些实施例中,总资源消耗对CPU利用率是通过如下方式确定的:
对M个任务在N台虚拟机上逐一执行的能耗求和;
取能耗求和的平均值作为总的CPU能耗。
在一些实施例中,基于向日葵的全局状态更新以及局部状态更新进行授粉产生新向日葵,并对向日葵进行位置更新包括:
以概率p进行授粉操作,对向日葵进行位置更新;
授粉操作满足:
Figure BDA0003532804620000021
其中,
Figure BDA0003532804620000022
为授粉后产生的新向日葵,αt为控制全局授粉与局部授粉的平衡因子,A为局部条件下的授粉策略,A用于定义当前向日葵与其距离最近的向日葵进行授粉操作计算产生新的位置信息,满足
Figure BDA0003532804620000031
Figure BDA0003532804620000032
B为全局条件下的授粉策略,B用于定义当前向日葵与当前太阳所在位置进行授粉操作,计算产生新的位置信息,满足
Figure BDA0003532804620000033
S*表示当前太阳所在位置,β为控制搜索方向振幅的参数。
在一些实施例中,基于向日葵的全局状态更新以及局部状态更新进行授粉产生新向日葵,并对向日葵进行位置更新还包括:
以1-p的概率进行运动操作,以预设范围的随机步长朝着与太阳位置的连线所指的向量方向运动,对向日葵进行位置更新。
在一些实施例中,基于更新后的各向日葵,更新太阳的位置所在的向日葵包括:
计算更新之后所有向日葵的吸收的能量;
以吸收的能量最优的向日葵作为太阳位置。
本发明实施例还提出一种基于改进向日葵算法的虚拟机资源调度装置,应用于包括M个任务,N台虚拟机以及Z个向日葵的资源调度环境,该向日葵包括M个子项,该子项用于定义该任务在对应的虚拟机上执行的资源调度状态,所述虚拟机资源调度装置包括处理器,被配置为:
初始化各向日葵的资源调度状态,以及,基于计算获得的总能量,确定初始状态下太阳位置所在的向日葵;
确定该向日葵吸收的能量,其中该向日葵吸收的能量被定义为按照最大完成时间最小以及CPU利用率最高来确定;
确定总任务最大完成时间以及CPU的利用率;
以总任务最大完成时间最小以及总资源消耗对CPU利用率最高为目标,基于向日葵的全局状态更新以及局部状态更新进行授粉产生新向日葵,并对向日葵进行位置更新;
基于更新后的各向日葵,更新太阳的位置所在的向日葵;
判断迭代是否满足条件,在满足条件的情况下,基于输出的太阳的位置所在的向日葵执行资源调度。
本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本公开各实施例所述的基于改进向日葵算法的虚拟机资源调度方法的步骤。
本发明实施例通过向日葵算法将各种任务分配策略看做一个向日葵族群,将当前最优的分配策略看做是太阳。通过改进的授粉策略,实现了在算法开始迭代初期更多的进行全局搜索,在接近结束时更多的进行本地搜索,既能一定程度防止进入局部最优解,同时也可以在接近结束时加快收敛速度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本申请的虚拟机资源调度方法的应用框架示意图;
图2为本申请的虚拟机资源调度方法的基本流程图;
图3为本申请的虚拟机资源调度方法的总流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明本发明实施例提供一种基于改进向日葵算法的虚拟机资源调度方法,如图1所示,应用于包括M个任务,N台虚拟机以及Z个向日葵的资源调度环境,该向日葵包括M个子项,该子项用于定义该任务在对应的虚拟机上执行的资源调度状态。具体的向日葵族群P表示为P={S1,S2,S3……Sz},其中每个S都代表一个向日葵,初始由Z个向日葵组成。向日葵S表示为S={si,1,si,2,si,3……si,M},其中Si,j代表第j个任务在这个族群的策略中该在si,j这台虚拟机上执行,由一个正整数表示,每个S中总计M个正整数。如图2所示,所述虚拟机资源调度方法包括:
在步骤S101中,初始化各向日葵的资源调度状态,以及,基于计算获得的总能量,确定初始状态下太阳位置所在的向日葵。初始状态P为由Z个向日葵组成的向日葵族群,Pop={S1,S2,……,Sz},对初始状态Pop确定一个最优解状态S*,在向日葵算法中称其为太阳所在位置,评价当前向日葵状态的两个指标主要为最大完成时间要最小以及资源消耗对CPU利用率最高。
在步骤S102中,确定该向日葵吸收的能量,其中该向日葵吸收的能量被定义为按照最大完成时间最小以及CPU利用率最高来确定。
在步骤S103中,确定总任务最大完成时间以及CPU的利用率。
在步骤S104中,以总任务最大完成时间最小以及总资源消耗对CPU利用率最高为目标,基于向日葵的全局状态更新以及局部状态更新进行授粉产生新向日葵,并对向日葵进行位置更新。
在步骤S105中,基于更新后的各向日葵,更新太阳的位置所在的向日葵。
本实例中向日葵算法将各种任务分配策略看做一个向日葵族群,将当前最优的分配策略看做是太阳位置,向日葵族群每次迭代都会朝着太阳的方向运动一定距离,同时各向日葵还会释放花粉,以一定的几率进行配子并产生新个体的向日葵,本示例中默认每个向日葵只产生一个新花粉配子,由此实现为系统带来一定的扰动,防止进入局部最优解。
在步骤S106中,判断迭代是否满足条件,在满足条件的情况下,基于输出的太阳的位置所在的向日葵执行资源调度。
本发明实施例通过向日葵算法将各种任务分配策略看做一个向日葵族群,将当前最优的分配策略看做是太阳。通过改进的授粉策略,实现了在算法开始迭代初期更多的进行全局搜索,在接近结束时更多的进行本地搜索,既能一定程度防止进入局部最优解,同时也可以在接近结束时加快收敛速度。
在一些实施例中,该向日葵包括M个子项,且各子项均为整数,初始化各向日葵的资源调度状态包括:
在虚拟机能取到编号的上下界范围内,利用包含随机参数的公式生成各向日葵的初始状态。具体的对于向日葵S={si,1,si,2,si,3……si,M},对S进行随机的初始化应为s的最小值加上一个0到1的随机数乘以s的最大值与s的最小值的差,确保取得的s在值域范围内,满足:
Figure BDA0003532804620000061
上述smin和smax为机器能取到编号的上下界,φ为0到1闭区间内的随机数。
在一些实施例中,总任务最大完成时间是通过如下方式确定的:
计算第j个任务在第i台虚拟机上的处理时间,乘以,判断任务j是否可在虚拟机i上执行的布尔值;对M个任务在一台虚拟机上的处理结果求和,满足:
Figure BDA0003532804620000062
其中x代表任务i是否能够在虚拟机j上进行处理的布尔值,P为任务j在机器i上的处理时间,由于虚拟机可以并行工作,因此本实例中考虑执行时间最长的任务需要的时长。
取得N台虚拟机中所得时间的最大值作为总任务最大完成时间。
在一些实施例中,总资源消耗对CPU利用率是通过如下方式确定的:
对M个任务在N台虚拟机上逐一执行的能耗求和,取能耗求和的平均值作为总的CPU能耗,满足:
Figure BDA0003532804620000071
其中Ei,j为任务j在虚拟机i上执行需要消耗的资源,在确定任务数量和虚拟机情况后可得到所有的E值,计算取平均后求得这批任务平均对CPU利用率。
在一些实施例中,如图3所示,基于向日葵的全局状态更新以及局部状态更新进行授粉产生新向日葵,并对向日葵进行位置更新包括:
对于各向日葵,以概率p进行授粉操作,对向日葵进行位置更新;
授粉操作满足:
Figure BDA0003532804620000072
其中,
Figure BDA0003532804620000073
为授粉后产生的新向日葵,A为局部条件下的授粉策略,A用于定义当前向日葵与其距离最近的向日葵进行授粉操作计算产生新的位置信息,满足
Figure BDA0003532804620000074
B为全局条件下的授粉策略,B用于定义当前向日葵与当前太阳所在位置进行授粉操作,计算产生新的位置信息,满足
Figure BDA0003532804620000075
S*表示当前太阳所在位置,β为控制搜索方向振幅的参数,具体的可以取一个3到4之间的均匀随机数,控制太阳位置与向日葵位置距离相距过近导致的无法收敛情况。本实例中αt为控制全局授粉与局部授粉的平衡因子,具体计算方式为:
Figure BDA0003532804620000076
上述αmax与αmin取得0.6和0.4,I为总的迭代轮次。通过这个公式可以在迭代过程中控制αt平滑的随着迭代次数的增加而减小。达到迭代过程中转移授粉策略注意力机制的目的。通过这样的设置从而实现,在最初的时候授粉策略更关注于全局状态下的操作,防止过早收敛进入局部最优解,而在后期更关注于局部状态下的操作,加快最终结果收敛速度,提高调度算法效率。
在一些实施例中,基于向日葵的全局状态更新以及局部状态更新进行授粉产生新向日葵,并对向日葵进行位置更新还包括:
对于各向日葵,以1-p的概率进行运动操作,以预设范围的随机步长朝着与太阳位置的连线所指的向量方向运动,对向日葵进行位置更新。也即对于不执行授粉操作的剩余向日葵,本示例中执行运动操作,执行运动操作的向日葵直接朝着太阳所在位置进行一定距离的移动,移动的计算公式如下:
Figure BDA0003532804620000081
上述r表示0到1开区间的随机数,用以为向日葵的移动策略增加扰动,保证最终可以收敛的同时也能防止过早收敛,两部分的加和表示向日葵朝着太阳位置的移动变化。
在一些实施例中,基于更新后的各向日葵,更新太阳的位置所在的向日葵包括:计算更新之后所有向日葵的吸收的能量,以吸收的能量最优的向日葵作为太阳位置。通过计算每个向日葵当前Ft和Fw来评价应该选择在哪一个向日葵为下一个太阳所在的位置。
判断迭代后是否达到收敛状态以及是否达到最大迭代轮数,不满足条件的继续进行下一轮的迭代。
具体的更新太阳所在位置操作的方式为,求得全部向日葵的能量吸收状况,取得最优的作为新的太阳S*所在位置。
更新迭代轮次一般会设置上限值I,以防止参数设置错误导致的无法快速收敛。输出结果为一个向日葵S中M个数字的集合,代表任务j应该运行在机器i上,从而达到最优的调度方式。
最终输出太阳所在位置的向日葵信息,输出信息表示每个任务该运行在该台虚拟机上能够达到资源利用率最高以及中的运行时间最短。如输出S*={2,3,2,1}代表任务1运行在2号虚拟机上、任务2运行在3号虚拟机上、任务3运行在2号虚拟机上,任务4运行在1号虚拟机上达到的效果最佳。
本发明实施例的方法,在云平台下的资源调度问题上,通过模拟向日葵吸收太阳能量的运动,将整个资源调度过程分为授粉和运动两个阶段的工作,一步步迭代收敛,逼近最优解,为了在正确的解空间下得到全局最优解,本申请通过引入改变授粉操作比例的操作符,提高了算法收敛速度,提高了调度过程求最优解的效率。本发明通过将启发式的向日葵算法引入云调度任务,解决了调度过程中容易出现的资源分配不合理的问题,增加了云平台下资源利用率。
本发明实施例还提出一种基于改进向日葵算法的虚拟机资源调度装置,应用于包括M个任务,N台虚拟机以及Z个向日葵的资源调度环境,该向日葵包括M个子项,该子项用于定义该任务在对应的虚拟机上执行的资源调度状态,所述虚拟机资源调度装置包括处理器,被配置为:
初始化各向日葵的资源调度状态,以及,基于计算获得的总能量,确定初始状态下太阳位置所在的向日葵;
确定该向日葵吸收的能量,其中该向日葵吸收的能量被定义为按照最大完成时间最小以及CPU利用率最高来确定;
确定总任务最大完成时间以及CPU的利用率;
以总任务最大完成时间最小以及总资源消耗对CPU利用率最高为目标,基于向日葵的全局状态更新以及局部状态更新进行授粉产生新向日葵,并对向日葵进行位置更新;
基于更新后的各向日葵,更新太阳的位置所在的向日葵;
判断迭代是否满足条件,在满足条件的情况下,基于输出的太阳的位置所在的向日葵执行资源调度。
本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现本公开各实施例所述的基于改进向日葵算法的虚拟机资源调度方法的步骤。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (9)

1.一种基于改进向日葵算法的虚拟机资源调度方法,其特征在于,应用于包括M个任务,N台虚拟机以及Z个向日葵的资源调度环境,该向日葵包括M个子项,该子项用于定义该任务在对应的虚拟机上执行的资源调度状态,所述虚拟机资源调度方法包括:
初始化各向日葵的资源调度状态,以及,基于计算获得的总能量,确定初始状态下太阳位置所在的向日葵;
确定该向日葵吸收的能量,其中该向日葵吸收的能量被定义为按照最大完成时间最小以及CPU利用率最高来确定;
确定总任务最大完成时间以及CPU的利用率;
以总任务最大完成时间最小以及总资源消耗对CPU利用率最高为目标,基于向日葵的全局状态更新以及局部状态更新进行授粉产生新向日葵,并对向日葵进行位置更新;
基于更新后的各向日葵,更新太阳的位置所在的向日葵;
判断迭代是否满足条件,在满足条件的情况下,基于输出的太阳的位置所在的向日葵执行资源调度。
2.如权利要求1所述的基于改进向日葵算法的虚拟机资源调度方法,其特征在于,该向日葵包括M个子项,且各子项均为整数,初始化各向日葵的资源调度状态包括:
在机器能取到编号的上下界范围内,利用包含随机参数的公式生成各向日葵的初始状态。
3.如权利要求1所述的基于改进向日葵算法的虚拟机资源调度方法,其特征在于,总任务最大完成时间是通过如下方式确定的:
计算第j个任务在第i台虚拟机上的处理时间,乘以,判断任务j是否可在虚拟机i上执行的布尔值;
对M个任务在一台虚拟机上的处理结果求和;
取得N台虚拟机中所得时间的最大值作为总任务最大完成时间。
4.如权利要求1所述的基于改进向日葵算法的虚拟机资源调度方法,其特征在于,总资源消耗对CPU利用率是通过如下方式确定的:
对M个任务在N台虚拟机上逐一执行的能耗求和;
取能耗求和的平均值作为总的CPU能耗。
5.如权利要求1所述的基于改进向日葵算法的虚拟机资源调度方法,其特征在于,基于向日葵的全局状态更新以及局部状态更新进行授粉产生新向日葵,并对向日葵进行位置更新包括:
以概率p进行授粉操作,对向日葵进行位置更新;
授粉操作满足:
Figure FDA0003532804610000021
其中,
Figure FDA0003532804610000022
为授粉后产生的新向日葵,αt为控制全局授粉与局部授粉的平衡因子,A为局部条件下的授粉策略,A用于定义当前向日葵与其距离最近的向日葵进行授粉操作计算产生新的位置信息,满足
Figure FDA0003532804610000023
Figure FDA0003532804610000024
B为全局条件下的授粉策略,B用于定义当前向日葵与当前太阳所在位置进行授粉操作,计算产生新的位置信息,满足
Figure FDA0003532804610000025
S*表示当前太阳所在位置,β为控制搜索方向振幅的参数。
6.如权利要求5所述的基于改进向日葵算法的虚拟机资源调度方法,其特征在于,基于向日葵的全局状态更新以及局部状态更新进行授粉产生新向日葵,并对向日葵进行位置更新还包括:
以1-p的概率进行运动操作,以预设范围的随机步长朝着与太阳位置的连线所指的向量方向运动,对向日葵进行位置更新。
7.如权利要求5所述的基于改进向日葵算法的虚拟机资源调度方法,其特征在于,基于更新后的各向日葵,更新太阳的位置所在的向日葵包括:
计算更新之后所有向日葵的吸收的能量;
以吸收的能量最优的向日葵作为太阳位置。
8.一种基于改进向日葵算法的虚拟机资源调度装置,其特征在于,应用于包括M个任务,N台虚拟机以及Z个向日葵的资源调度环境,该向日葵包括M个子项,该子项用于定义该任务在对应的虚拟机上执行的资源调度状态,所述虚拟机资源调度装置包括处理器,被配置为:
初始化各向日葵的资源调度状态,以及,基于计算获得的总能量,确定初始状态下太阳位置所在的向日葵;
确定该向日葵吸收的能量,其中该向日葵吸收的能量被定义为按照最大完成时间最小以及CPU利用率最高来确定;
确定总任务最大完成时间以及CPU的利用率;
以总任务最大完成时间最小以及总资源消耗对CPU利用率最高为目标,基于向日葵的全局状态更新以及局部状态更新进行授粉产生新向日葵,并对向日葵进行位置更新;
基于更新后的各向日葵,更新太阳的位置所在的向日葵;
判断迭代是否满足条件,在满足条件的情况下,基于输出的太阳的位置所在的向日葵执行资源调度。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的基于改进向日葵算法的虚拟机资源调度方法的步骤。
CN202210211685.9A 2022-03-04 2022-03-04 基于改进向日葵算法的虚拟机资源调度方法及装置 Pending CN114691292A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210211685.9A CN114691292A (zh) 2022-03-04 2022-03-04 基于改进向日葵算法的虚拟机资源调度方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210211685.9A CN114691292A (zh) 2022-03-04 2022-03-04 基于改进向日葵算法的虚拟机资源调度方法及装置

Publications (1)

Publication Number Publication Date
CN114691292A true CN114691292A (zh) 2022-07-01

Family

ID=82138109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210211685.9A Pending CN114691292A (zh) 2022-03-04 2022-03-04 基于改进向日葵算法的虚拟机资源调度方法及装置

Country Status (1)

Country Link
CN (1) CN114691292A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115439020A (zh) * 2022-10-26 2022-12-06 无锡天云数据中心科技有限公司 一种数据中心建设过程中的多系统应急联动方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115439020A (zh) * 2022-10-26 2022-12-06 无锡天云数据中心科技有限公司 一种数据中心建设过程中的多系统应急联动方法及系统
CN115439020B (zh) * 2022-10-26 2023-09-01 无锡天云数据中心科技有限公司 一种数据中心建设过程中的多系统应急联动方法及系统

Similar Documents

Publication Publication Date Title
CN110321217B (zh) 一种多目标的云资源调度方法、装置、设备及存储介质
CN114691363A (zh) 基于深度强化学习的云数据中心自适应高效资源分配方法
CN110688219B (zh) 基于反向混沌布谷鸟搜索的自适应权重负载均衡算法
Xiao et al. A cooperative coevolution hyper-heuristic framework for workflow scheduling problem
CN115454612A (zh) 一种基于维度学习策略和灰狼优化的云平台任务调度方法
CN111240796B (zh) 一种基于改进mmas的负载均衡调度方法
Shishira et al. Survey on meta heuristic optimization techniques in cloud computing
CN109857532A (zh) 基于蒙特卡洛树搜索的dag任务调度方法
CN114610474A (zh) 一种异构超算环境下多策略的作业调度方法及系统
CN114691292A (zh) 基于改进向日葵算法的虚拟机资源调度方法及装置
CN117032902A (zh) 一种基于负载的改进离散粒子群算法的云任务调度方法
CN116089031A (zh) 一种基于蚁群优化算法的异构任务调度方法
Zhao et al. List scheduling algorithm based on pre-scheduling for heterogeneous computing
CN113132471B (zh) 云服务预算优化调度方法、装置、设备和存储介质
CN111027665A (zh) 一种基于改进混沌蝙蝠群算法的云制造调度方法
CN107329826A (zh) 一种基于Cloudsim平台上的启发式融合资源动态调度算法
CN113900779A (zh) 任务执行方法、装置、电子设备及存储介质
CN117555683A (zh) 基于深度强化学习的云集群资源调度方法
CN109193662B (zh) 计及不平衡功率分摊的最危险负荷裕度计算方法及系统
Ge et al. Multi-dimensional QoS cloud computing task scheduling strategy based on improved ant colony algorithm
CN112698911B (zh) 一种基于深度强化学习的云作业调度方法
Medhat et al. An Ant Algorithm for cloud task scheduling
CN116089083A (zh) 一种多目标数据中心资源调度方法
CN111047040A (zh) 基于IFPA算法的Web服务组合方法
CN116932198A (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