CN116033026A - 一种资源调度方法 - Google Patents

一种资源调度方法 Download PDF

Info

Publication number
CN116033026A
CN116033026A CN202211564395.9A CN202211564395A CN116033026A CN 116033026 A CN116033026 A CN 116033026A CN 202211564395 A CN202211564395 A CN 202211564395A CN 116033026 A CN116033026 A CN 116033026A
Authority
CN
China
Prior art keywords
service
food source
service execution
cost
value
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
CN202211564395.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.)
Guangdong Nengge Knowledge Technology Co ltd
Guangdong University of Technology
Original Assignee
Guangdong Nengge Knowledge Technology Co ltd
Guangdong University of Technology
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 Guangdong Nengge Knowledge Technology Co ltd, Guangdong University of Technology filed Critical Guangdong Nengge Knowledge Technology Co ltd
Priority to CN202211564395.9A priority Critical patent/CN116033026A/zh
Publication of CN116033026A publication Critical patent/CN116033026A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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

Abstract

本发明公开了一种资源调度方法,通过获取用户提出的服务请求,根据服务请求建立服务请求模型;根据评价指标和约束条件构建所述服务请求模型的适应度函数,基于服务执行时间、服务执行成本来计算每个服务在服务组件的适应度值并选择合适的服务组件,在服务组件之间创建负载平衡,采用人工蜂群算法和Q‑learning算法解决云计算中多用户并发下的服务组件资源调度问题,可以帮助人工蜂群算法更快地收敛,有助于确定合适可用资源环境的服务顺序,简单高效地确定最合适的服务调度方案,并且本发明实施例还具有收敛精度高、收敛速度快,时间复杂度低、探索度高的有益效果。本发明实施例可以广泛应用于资源调度技术领域。

Description

一种资源调度方法
技术领域
本发明涉及资源调度技术领域,尤其是一种资源调度方法。
背景技术
工业网络物理系统支持组件化服务,从工业云计算的角度来看,软件组件应跨异构边缘设备动态组合,以执行各种功能。工业网络物理系统中一个重要应用是服务调度,多服务调度的最终目标是实现可持续的服务。然而,当多用户向服务管理器同时发送多个服务请求命令时,会出现一些服务资源冲突问题,即资源冲突管理问题,需要进行服务组件的资源调度。
目前有启发式算法、元启发式算法、混合元启发式算法甚至机器学习方法来解决云计算环境中的服务调度和负载平衡问题。Jena提出了一种基于人工蜂群算法的方法,用于云计算环境中的能效、处理时间、成本和计算资源利用。使用多目标人工蜂群算法将服务分配给数据中心。但启发式算法收敛精度低、收敛速度慢,时间复杂度较高。一些机器学习方法探索性行为较弱,易陷入局部最优解问题。
发明内容
有鉴于此,本发明实施例提供一种效率高、收敛快的资源调度方法。
本发明实施例提供了一种资源调度方法,包括:获取用户提出的服务请求,根据所述服务请求建立服务请求模型;根据评价指标和约束条件构建所述服务请求模型的适应度函数;其中,所述评价指标为服务执行时间和服务执行成本;所述约束条件为资源利用率和服务执行超时率;采用人工蜂群算法和Q-learning算法结合求解所述适应度函数,将所述适应度函数的值满足误差条件的调度方案确定为优化目标;根据所述优化目标进行服务组件资源调度。
可选地,所述获取用户提出的服务请求,根据所述服务请求建立服务请求模型,包括:获取用户提出的服务请求;根据所述服务请求的服务名称获取服务组件集和服务集;根据所述服务组件集和所述服务集构建服务请求模型。
可选地,所述根据评价指标和约束条件构建所述服务请求模型的适应度函数,包括:根据服务执行时间构建服务执行时间的适应度函数;根据服务执行成本构建服务执行成本的适应度函数;计算资源利用率以及超时率;根据所述服务执行时间的适应度函数、所述服务执行成本的适应度函数、所述资源利用率以及所述超时率构建所述服务请求模型的适应度函数。
可选地,所述根据服务执行时间构建服务执行时间的适应度函数,包括:计算每个服务组件中的服务执行总时间;根据所述服务执行时间总时间确定所有组件中执行总时间的最大值以及完成所有服务所需的最小完成时间;根据所述服务执行时间和所述最小完成时间构建服务请求模型中服务执行时间的适应度函数。
可选地,所述根据服务执行成本构建服务执行成本的适应度函数,包括:计算每个服务组件上处理的所有服务的服务执行成本总和;根据所述服务执行成本总和确定所述服务组件处理的服务执行成本最小值;根据所述服务执行成本总和以及所述服务执行成本最小值构建服务请求模型中服务执行成本的适应度函数。
可选地,所述计算每个服务组件中的服务执行总时间的计算公式为:
Figure BDA0003986049010000021
其中,所述vi代表第i个服务组件;所述sjki代表第j个用户中的服务sjk被分配给服务组件vi执行;所述ExtTime(sjki)代表服务sjk在vi中处理服务的执行时间;所述length(sjk)代表服务sjk的长度;所述CPU(vi)代表处理服务sjk的CPU速率。
可选地,所述计算每个服务组件上处理的所有服务的服务执行成本总和,包括:计算在服务组件中执行单个服务时的单个服务执行成本;根据所述单个服务执行成本计算在所有组件上执行所有服务的总和,作为服务执行成本总和。
可选地,所述计算在服务组件中执行单个服务时的单个服务执行成本的计算公式为:
Cost(sjki)=(c1·ExtTime(sjki))+(c2·ExtTime(sjki))+(c3·ExtTime(sjki))
其中,sjki代表第j个用户中的服务sjk被分配给服务组件vi执行;Cost(sjki)代表第jk个服务在第i个服务组件中的服务执行成本;c1代表在vi中单位时间的CPU使用成本;c2代表在vi中单位时间的内存使用成本;c3代表在vi中单位时间的带宽使用成本;ExtTime(sjki)代表sjk在vi中处理服务的执行时间;
所述根据所述单个服务执行成本计算在所有组件上执行所有服务的总和的计算公式为:
Figure BDA0003986049010000022
其中,TCost代表服务执行成本总和;m代表服务组件总数;i代表第i个服务组件;n代表用户总数;j代表第j个用户;p代表服务总数;k代表第k个服务;sjki代表第j个用户中的服务sjk被分配给服务组件vi执行;Cost(sjki)代表服务sjk在第i个服务组件中的服务执行成本。
可选地,所述采用人工蜂群算法和Q-learning算法结合求解所述适应度函数,将所述适应度函数的值满足误差条件的调度方案确定为优化目标,包括:初始化蜂群、食物源并配置算法参数;根据Q-learning算法构建Q表;其中,所述Q表用于存储所有预期状态、行动以及Q值;所述Q值由所述状态以及所述行动组合确定。
在雇佣蜂阶段,雇佣蜂确定当前食物源的相邻食物源位置,根据所述相邻食物源的位置更新所述Q表;在跟随蜂阶段,跟随蜂从所述Q表中根据轮盘赌方法随机选取雇佣蜂食物源;根据所选取的雇佣蜂食物源获取新食物源;将所述新食物源替代所选取的所述雇佣蜂食物源;当所述新食物源适应度值超过所选取的所述雇佣蜂食物源,则更新Q值;在侦查蜂阶段,当获取适应度值超过所选取的所述雇佣蜂食物源的所述新食物源失败的次数超过预定阈值,则随机搜索新的食物来源,并更新Q表;其中,所述适应度值由适应度函数计算得到;重复所述在雇佣蜂阶段,雇佣蜂确定当前食物源的相邻食物源位置,根据所述相邻食物源的位置更新所述Q表,直至达到最大迭代次数或Q表中的行动方案的适应度值满足误差条件;将所述Q表中的最终行动方案确定为最佳服务组件资源调度方案。
可选地,所述Q值由所述状态以及所述行动组合确定,包括:所述Q值的计算公式为:
Figure BDA0003986049010000031
其中,Qt+1(bt,at)是在t+1时刻的Q值;α是学习率;at是在t时刻的行动;át是在t时刻的最优行动;γ是折扣系数;rt是在状态bt下执行行动所获得的惩罚或奖励;δ是过渡函数;
Figure BDA0003986049010000032
是对最佳值的估计。
本发明的实施例具有以下有益效果:当用户向目标系统提出服务请求时,对所述服务请求建立服务请求模型;根据评价指标和约束条件构建所述服务请求模型的适应度函数,基于服务执行时间、服务执行成本来计算每个服务在服务组件的适应度值并选择合适的服务组件,在服务组件之间创建负载平衡,采用人工蜂群算法和Q-learning算法解决云计算中多用户并发下的服务组件资源调度问题,可以帮助人工蜂群算法更快地收敛,有助于确定合适可用资源环境的服务顺序,简单高效地确定最合适的服务调度方案,并且本发明实施例还具有收敛精度高、收敛速度快,时间复杂度低、探索度高的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的方法步骤流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有资源调度技术中存在的资源冲突管理问题,本发明实施例提供了一种资源调度方法,包括:获取用户提出的服务请求,根据服务请求建立服务请求模型;根据评价指标和约束条件构建服务请求模型的适应度函数;其中,评价指标为服务执行时间和服务执行成本;约束条件为资源利用率和服务执行超时率;采用人工蜂群算法和Q-learning算法结合求解适应度函数,将适应度函数的值满足误差条件的调度方案确定为优化目标;根据优化目标进行服务组件资源调度。
具体地,在本发明实施例中,目标系统为工业网络物理系统,该工业网络物理系统中的软件组件为跨异构面源设备动态组合,能够执行各种功能。参照图1,图1是本发明实施例提供的方法步骤流程图,本发明实施例包括以下步骤S100~S400:
S100、获取用户提出的服务请求,根据所述服务请求建立服务请求模型。
具体地,步骤S100包括以下步骤S110~S130:
S110、获取用户提出的服务请求。
具体地,获取用户提出的服务请求,该服务请求中的服务信息序列包括服务名称、服务指令数、服务所需内存、服务所需CPU资源,服务最晚执行时间等。
S120、根据服务请求的服务名称获取服务组件集和服务集。
具体地,通过服务名称分类查询服务组件库中的可用组件,获得服务组件集,并将所有的服务请求作为服务集。
S130、根据服务组件集和服务集构建服务请求模型。
根据服务组件集和服务集,本发明实施例服务组件集的表达式可以为:
V={v1,v2,…,vi,…,vm}
其中,V代表服务组件的集合;m代表云网络中可用服务组件的总数;vi代表第i个组件节点。
服务组件库中的每个服务组件均有其自己的服务资源,例如CPU(中央处理器)、RAM(随机存取存储器)和带宽等。
用户集的表达式可以为:
U={u1,u2,...,uj,...,un}
其中,U代表用户集;n代表总用户数;uj代表第j个用户。
uj中包含用户所需服务序列,如uj={sj1,sj2,...,sjp};其中,p为单个用户的服务总数。总服务集为S,需要处理的服务请求数为q;其中用户uj中服务sjk被分配给组件vi由sjki表示,所以第i个服务组件的服务可以由vi={sabi,scdi,...,syzi}表示,服务集为S。将服务组件集和服务集构建为服务请求模型。
S200、根据评价指标和约束条件构建服务请求模型的适应度函数;其中,评价指标为服务执行时间和服务执行成本;约束条件为资源利用率和服务执行超时率。
具体地,服务执行时间即目标系统完成最后一个服务的时间,每一个服务组件都有不同的服务执行时间来完成由服务实行时间确定的服务;服务执行成本则可以根据CPU使用成本、内存使用成本以及带宽使用成本来确定;资源利用率是根据发送到不同服务节点的资源负载率和系统平均负载率的差异而确定的;超时率则由超过最晚完成时间的服务数以及服务集中的总服务数确定。步骤S200包括以下步骤S210~S280:
S210、计算每个服务组件中的服务执行总时间。
本发明实施例计算每个服务组件中服务执行总时间的表达式为:
Figure BDA0003986049010000051
其中,ET(vi)是每个组件的服务执行总时间;ExtTime(sjki)代表服务sjk在组件vi中处理的执行时间。length(sjk)代表服务sjk的长度,服务的长度根据其指令数确定;CPU(vi)是处理服务sjk的组件的CPU速率。
S220、根据服务执行时间总时间确定所有组件中执行总时间的最大值以及完成所有服务所需的最小完成时间。
具体地,根据服务执行总时间确定所有组件中执行总时间的最大值以及完成所有服务所需的最小完成时间,上述执行总时间最大值的表达式可以为:
Makespan=Max(ET(vi)),1≤i≤m
其中,Makespan代表执行总时间最大值;ET(vi)代表每个组件的服务执行总时间;m代表云网络中可用服务组件的总数;vi代表第i个组件节点。
上述最小完成时间是执行总时间最大值的下限,其表征目标系统完成所有服务所需的最短时间,最小完成时间的表达式可以为:
MinMakespan=Min(ET(vi)),1≤i≤m
其中,MinMakespan代表最小完成时间;ET(vi)代表每个组件的服务执行总时间;m代表云网络中可用服务组件的总数;vi代表第i个组件节点。
S230、根据服务执行时间和最小完成时间构建服务请求模型中服务执行时间的适应度函数。
具体地,根据上述服务执行时间和最小完成时间可以构建服务请求模型中服务执行时间的适应度函数,本发明实施例的服务执行时间适应度函数表达式可以为:
Figure BDA0003986049010000061
其中,F1代表服务执行时间适应度函数值;Makespan代表执行总时间最大值;MinMakespan代表最小完成时间。
S240、计算每个服务组件上处理的所有服务的服务执行成本总和。
具体地,本发明实施例计算每个服务组件上处理的所有服务的服务执行成本总和表达式可以为:
Cost(sjki)=(c1·ExtTime(sjki))+(c2·ExtTime(sjki))+(c3·ExtTime(sjki))
其中,Cost(sjki)代表每个服务组件上的服务执行成本总和;c1代表时间单位的CPU使用成本;c2代表时间单位的内存使用成本;c3代表单位时间的带宽使用成本。
根据每个服务组件上的服务执行成本总和计算在所有组件上处理所有服务的成本总和,表达式为:
Figure BDA0003986049010000062
其中,TCost代表所有组件的服务执行成本总和;Cost(sjki)代表每个服务组件上的服务执行成本总和;m代表云网络上所有服务组件总数;n代表总用户数;p代表单个用户的服务数。
S250、根据服务执行成本总和确定服务组件处理的服务执行成本最小值。
具体地,根据服务执行成本总和确定服务组件处理的服务执行成本最小值,其表达式可以为:
Figure BDA0003986049010000071
其中,MinTCost代表服务执行成本最小值;Cost(sjki)代表每个服务组件上的服务执行成本;m代表云网络上所有服务组件总数;vi代表第f个组件节点。
S260、根据服务执行成本总和以及服务执行成本最小值构建服务请求模型中服务执行成本的适应度函数。
具体地,根据上述服务执行成本总和以及上述服务执行成本最小值构建服务请求模型中服务执行成本的适应度函数,该适应度函数的表达式可以为:
Figure BDA0003986049010000072
其中,F2代表服务执行成本的适应度函数值;MinTCost代表服务执行成本最小值;Cost代表所有组件的服务执行成本总和。
S270、计算资源利用率以及超时率。
具体地,资源利用率是根据发送到不同服务节点的资源负载率和系统平均负载率的差异而确定的。vi的节点负载率Li的表达式可以为:
Figure BDA0003986049010000073
其中,Li代表服务组件节点vi的节点负载率;TCi代表服务组件节点vi上可用的总CPU资源;RCi代表服务组件节点vi上处理分配的服务所需的CPU资源;TMi代表服务组件节点vi上可用的总内存;RMi代表服务组件节点vi上处理分配的服务所需的内存;ω1代表CPU的权重,ω2代表内存的权重,ω12=1。
目标系统的平均负载率AL的表达式可以为:
Figure BDA0003986049010000074
其中,AL代表目标系统的平均负载率;m为云网络中所有服务组件总数;Li代表服务组件节点vi的节点负载率。
根据上述表达式,本发明实施例的资源利用率表达式为:
Figure BDA0003986049010000075
其中,G1代表资源利用率;AL代表目标系统的平均负载率;Li代表服务组件节点vi的节点负载率。
超时率则由超过最晚完成时间的服务数以及服务集中的总服务数确定,当资源分配超出最晚完成时间则会造成故障,即此服务分配失败。在本发明的实施例中,资源分配超时率的表达式可以为:
Figure BDA0003986049010000081
其中,G2为超时率;l为超出最晚完成时间的服务数,q为服务集S中的总服务数。
S280、根据服务执行时间的适应度函数、服务执行成本的适应度函数、资源利用率以及超时率构建服务请求模型的适应度函数。
具体地,根据服务执行时间的适应度函数、服务执行成本的适应度函数、资源利用率以及超时率构建服务请求模型的适应度函数,该服务请求模型的适应度函数可以为:
F=γ1·F12·F2
G1<μ
G2<σ
其中,F为服务请求的适应度函数,γ1和γ2是执行时间、总成本之间的平衡系数,μ和σ为约束函数系数。
通过求解该服务请求模型的适应度函数,可以在约束条件下最大化适应度函数F可以得到更好的服务组件资源调度序列。
S300、采用人工蜂群算法和Q-learning算法结合求解适应度函数,将适应度函数的值满足误差条件的调度方案确定为优化目标。
具体地,步骤S300包括以下步骤S310~S390:
S310、初始化蜂群、食物源并配置算法参数。
具体地,初始化蜂群,生成食物源,并配置算法参数;其中,算法参数包括蜂群总数、雇佣蜂数量、跟随蜂数量、最大迭代次数。食物源是随机生成的,其随机生成表达式为:
Figure BDA0003986049010000082
其中,
Figure BDA0003986049010000083
是第j个优化参数的下界,
Figure BDA0003986049010000084
是第j个优化参数的上界。
S320、根据Q-learning算法构建Q表;其中,Q表用于存储所有预期状态、行动以及Q值;Q值由状态以及行动组合确定。
具体地,Q-learning算法的主要目的是通过智能体和环境之间的试错学习,智能体能够通过状态接收环境状况,选择影响环境的行动以获得最佳回报,并从过去的错误中进行学习。由于环境的不确定性,智能体选择对相同的情况或状态执行相同的操作,但不一定能获得相同的结果。在本发明实施例中,环境中的状态集B={b1,b2,...,bm},则每个状态都有动作集A={a1,a2,...,am},智能体在状态bt的t时刻选择行动at,通过过渡过程进入下一个状态bt+1,通过过渡过程,从环境中获得奖励rt+1;其中bt∈B,at∈A,bt+1∈B。
创建一个Q表用于存储所有预期的状态、行动以及Q值;Q值由状态以及行动组合确定。要处理这些服务,必须选择适当的操作来最大化每个状态的Q值,Q值函数取决于状态中动作的选择。本发明实施例中的Q值计算公式可以为:
Figure BDA0003986049010000091
其中,Qt+1(bt,at)是在t+1时刻的Q值;α是学习率,由α=1/(1+访问状态bt的总次数)计算得出;at是在t时刻的学习率;γ(0<γ<1)是折扣系数,即前一个行动对后一个状态的影响;rt是在状态bt下执行行动所获得的惩罚或奖励;δ是过渡函数;
Figure BDA0003986049010000092
是对未来最佳值的估计,其通过调整a的值使得Q(bt+1,a)最大化。
将Q表的初始值配置为0,蜂群通过Q值计算公式更新Q表值。
S330、在雇佣蜂阶段,雇佣蜂确定当前食物源的相邻食物源位置,根据相邻食物源的位置更新Q表。
具体地,在雇佣蜂阶段,雇佣蜂通过计算找到当前食物源
Figure BDA0003986049010000093
的相邻食物源
Figure BDA0003986049010000094
的位置。本发明实施例的雇佣蜂计算找到当前食物源的相邻食物源的位置的计算公式为:
Figure BDA0003986049010000095
其中,
Figure BDA0003986049010000096
Figure BDA0003986049010000097
均第j个优化参数;
Figure BDA0003986049010000098
是当前食物源
Figure BDA0003986049010000099
的第j个优化参数;k是食物来源的索引。
若新食物源
Figure BDA00039860490100000910
返回的适应度值大于当前食物源
Figure BDA00039860490100000911
Figure BDA00039860490100000912
则雇佣蜂用新的食物源代替当前食物来源,通过奖励选定的食物来源和惩罚当前的食物来源来更新Q表;其中,F是服务请求模型适应度函数。当新的食物源不能提供更好的适应度值,则新的食物源受到惩罚,当前食物源获得奖励。当雇佣蜂找到合适的食物源时,将更新Q表。
S340、在跟随蜂阶段,跟随蜂从Q表中根据轮盘赌方法随机选取雇佣蜂食物源;根据所选取的雇佣蜂食物源获取新食物源。
具体地,在跟随蜂阶段,跟随蜂从Q表中根据轮盘赌方法随机选择雇佣蜂的食物源,Q表中Q值越大的食物源被选择的概率越高。
在本发明实施例中,轮盘赌方法即表示食物源的Q值越大,轮盘面积越大,被选中的概率则越高。
S350、将新食物源替代所选取的雇佣蜂食物源。
S360、当新食物源适应度值超过所选取的雇佣蜂食物源,则更新Q值。
具体地,对于S350~S360,跟随蜂搜索新的食物源,用新的食物源取代当前的食物源,当新的食物源具有更高的适应度值,则更新Q值。在本发明实施例中,跟随蜂搜索食物源的计算公式为:
Figure BDA0003986049010000101
其中,
Figure BDA0003986049010000102
是邻近食物源
Figure BDA0003986049010000103
的优化参数;
Figure BDA0003986049010000104
是当前食物源
Figure BDA0003986049010000105
的第k个优化参数;
Figure BDA0003986049010000107
是区间[-1,1]上的随机数,
Figure BDA0003986049010000106
是随机选择引起的最佳食物源的优化参数。
S370、在侦查蜂阶段,当获取适应度值超过所选取的雇佣蜂食物源的新食物源失败的次数超过预定阈值,则随机搜索新的食物来源,并更新Q表;其中,适应度值由适应度函数计算得到。
S380、重复在雇佣蜂阶段,雇佣蜂确定当前食物源的相邻食物源位置,根据相邻食物源的位置更新Q表,直至达到最大迭代次数或Q表中的行动方案的适应度值满足误差条件。
具体地,重复步骤S330~S370,直至达到最大迭代次数或Q表中的行动方案适应度值满足误差条件。
S390、将Q表中的最终行动方案确定为最佳服务组件资源调度方案。
S400、根据优化目标进行服务组件资源调度。
本发明实施例具有如下有益效果:基于服务执行时间、服务执行成本来计算每个服务在服务组件的适应度值并选择合适的服务组件,在服务组件之间创建负载平衡,采用人工蜂群算法和Q-learning算法解决云计算中多用户并发下的服务组件资源调度问题,可以帮助人工蜂群算法更快地收敛,有助于确定合适可用资源环境的服务顺序,简单高效地确定最合适的服务调度方案,并且本发明实施例还具有收敛精度高、收敛速度快,时间复杂度低、探索度高的有益效果。
以下是本发明实施例提供的一个应用场景:
在本应用场景中,有服务组件集合V={v1,v2,v3,v4},用户集U={u1,u2,u3},服务集S={s11,s12,s13,s21,s22,s31,s32}。
根据评价指标和约束条件构建服务请求模型的适应度函数为:
F=γ1·F12·F2
其中,
Figure BDA0003986049010000111
Makespan=Max(ET(vi)),1≤i≤m
MinMakespan=Min(ET(vi)),1≤i≤m
Figure BDA0003986049010000112
Figure BDA0003986049010000113
Figure BDA0003986049010000114
Figure BDA0003986049010000115
Cost(sjki)=(c1·ExtTime(sjki))+(c2·ExtTime(sjki))+(c3·ExtTime(sjki))
其中,F为服务请求的适应度函数,γ1和γ2是执行时间、总成本之间的平衡系数。ExtTime(sjki)是服务sjk在vi中处理的执行时间,ET(vi)是vi上服务处理的总执行时间。length(sjk)是服务sjk的长度,服务的长度根据指令数确定,CPU(vi)是用于处理服务sjk的服务组件的CPU速率。Makespan是所有服务组件执行时间的最大值,MinMakespan是Makespan的下限,它是系统完成所有服务所需的最短时间。c1、c2、c3分别是vi中时间单位的CPU使用成本、时间单位的内存使用成本和时间单位的带宽使用成本。总成本TCost计算为所有服务组件上处理的所有服务的执行成本的总和,MinTCost代表服务执行成本最小值。
约束条件为:
Figure BDA0003986049010000116
Figure BDA0003986049010000117
其中,Li为每个组件节点之间的负载率,AL为系统的平均负载率,m是系统中的组件总数,l为超出最晚完成时间的服务数,q为服务集S中总服务数,μ和σ为约束函数系数。
在本应用场景中,采用人工蜂群算法和Q-learning算法结合求解适应度函数,将适应度函数满足误差条件的方案确定为优化目标,根据本发明实施例的步骤S300,具体为:
使用人工蜂群算法和Q-learning算法进行优化问题求解,初始化蜂群、食物源,随机生成食物源,如下式所示。设置Q表的初始值为0。
Figure BDA0003986049010000121
雇佣蜂使用下式找到当前食物源
Figure BDA0003986049010000122
的相邻食物源
Figure BDA0003986049010000123
的位置。
Figure BDA0003986049010000124
其中,
Figure BDA0003986049010000125
Figure BDA0003986049010000126
的第j个优化参数,k是食物来源的索引。
如果新食物源
Figure BDA0003986049010000127
返回的适合度值大于当前食物源
Figure BDA0003986049010000128
Figure BDA0003986049010000129
雇佣蜂用新的食物源代替当前食物,通过奖励选定的新食物来源和惩罚当前的食物来源来更新Q表值。
相反,如果新的食物源不能提供更好的适应度值,新的食物源就会受到惩罚,而当前的食物源就会得到奖励。每当雇佣蜂找到合适的食物源时,Q表就会更新。通过下式更新Q表值:
Figure BDA00039860490100001210
在跟随蜂阶段,跟随蜂根据轮盘赌方法,从Q表中的Q值中选择雇佣蜂的食物源,利用下式搜索新的食物源,用新的食物源取代当前的食物源,如果新的食物源具有更高的适应度值,那么Q值也将被更新。
Figure BDA00039860490100001211
其中
Figure BDA00039860490100001212
是邻近食物源
Figure BDA00039860490100001213
的优化参数,
Figure BDA00039860490100001216
是区间[-1,1]上的随机数,
Figure BDA00039860490100001214
是随机选择引起的最佳食物源的优化参数。
侦查蜂阶段:如果多次尝试寻找更好的附近食物源失败,该食物来源将被丢弃,雇佣蜂转为侦查蜂重新随机搜索新食物源,并更新Q表。
终止检验,求出本次迭代中最佳蜂群获取的最优解的适应度值,判断是否满足误差条件;若满足条件,则输出最优解;否则转步骤S4。所述终止条件为达到最大迭代次数或最优解的适应度值满足误差条件,满足适应度值最大值的解即为所求的最佳服务组件资源调度方案。
按照适应度函数最大值及其对应的全局最优服务组件调度方案对用户的请求提供组件服务。
Figure BDA00039860490100001215
其中ta表示服务sjki的执行时间。
在一些可选择的实施例中,在方框图中提到的功能/操作可以不按照操作示图提到的顺序发生。例如,取决于所涉及的功能/操作,连续示出的两个方框实际上可以被大体上同时地执行或所述方框有时能以相反顺序被执行。此外,在本发明的流程图中所呈现和描述的实施例以示例的方式被提供,目的在于提供对技术更全面的理解。所公开的方法不限于本文所呈现的操作和逻辑流程。可选择的实施例是可预期的,其中各种操作的顺序被改变以及其中被描述为较大操作的一部分的子操作被独立地执行。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
以上是对本发明的较佳实施进行了具体说明,但本发明并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。

Claims (10)

1.一种资源调度方法,其特征在于,包括:
获取用户提出的服务请求,根据所述服务请求建立服务请求模型;
根据评价指标和约束条件构建所述服务请求模型的适应度函数;其中,所述评价指标为服务执行时间和服务执行成本;所述约束条件为资源利用率和服务执行超时率;
采用人工蜂群算法和Q-learning算法结合求解所述适应度函数,将所述适应度函数的值满足误差条件的调度方案确定为优化目标;
根据所述优化目标进行服务组件资源调度。
2.根据权利要求1所述的一种资源调度方法,其特征在于,所述获取用户提出的服务请求,根据所述服务请求建立服务请求模型,包括:
获取用户提出的服务请求;
根据所述服务请求的服务名称获取服务组件集和服务集;
根据所述服务组件集和所述服务集构建服务请求模型。
3.根据权利要求1所述的一种资源调度方法,其特征在于,所述根据评价指标和约束条件构建所述服务请求模型的适应度函数,包括:
根据服务执行时间构建服务执行时间的适应度函数;
根据服务执行成本构建服务执行成本的适应度函数;
计算资源利用率以及超时率;
根据所述服务执行时间的适应度函数、所述服务执行成本的适应度函数、所述资源利用率以及所述超时率构建所述服务请求模型的适应度函数。
4.根据权利要求3所述的一种资源调度方法,其特征在于,所述根据服务执行时间构建服务执行时间的适应度函数,包括:
计算每个服务组件中的服务执行总时间;
根据所述服务执行时间总时间确定所有组件中执行总时间的最大值以及完成所有服务所需的最小完成时间;
根据所述服务执行时间和所述最小完成时间构建服务请求模型中服务执行时间的适应度函数。
5.根据权利要求3所述的一种资源调度方法,其特征在于,所述根据服务执行成本构建服务执行成本的适应度函数,包括:
计算每个服务组件上处理的所有服务的服务执行成本总和;
根据所述服务执行成本总和确定所述服务组件处理的服务执行成本最小值;
根据所述服务执行成本总和以及所述服务执行成本最小值构建服务请求模型中服务执行成本的适应度函数。
6.根据权利要求4所述的一种资源调度方法,其特征在于,所述计算每个服务组件中的服务执行总时间的计算公式为:
Figure FDA0003986048000000021
其中,所述vi代表第i个服务组件;所述sjki代表第j个用户中的服务sjk被分配给服务组件vi执行;所述ExtTime(sjki)代表服务sjk在vi中处理服务的执行时间;所述length(sjk)代表服务sjk的长度;所述CPU(vi)代表处理服务sjk的CPU速率。
7.根据权利要求5所述的一种资源调度方法,其特征在于,所述计算每个服务组件上处理的所有服务的服务执行成本总和,包括:
计算在服务组件中执行单个服务时的单个服务执行成本;
根据所述单个服务执行成本计算在所有组件上执行所有服务的总和,作为服务执行成本总和。
8.根据权利要求7所述的一种资源调度方法,其特征在于:
所述计算在服务组件中执行单个服务时的单个服务执行成本的计算公式为:
Cost(sjki)=(c1·ExtTime(sjki))+(c2·ExtTime(sjki))+(c3·ExtTime(sjki))
其中,sjki代表第j个用户中的服务sjk被分配给服务组件vi执行;Cost(sjki)代表第jk个服务在第i个服务组件中的服务执行成本;c1代表在vi中单位时间的CPU使用成本;c2代表在vi中单位时间的内存使用成本;c3代表在vi中单位时间的带宽使用成本;ExtTime(sjki)代表sjk在vi中处理服务的执行时间;
所述根据所述单个服务执行成本计算在所有组件上执行所有服务的总和的计算公式为:
Figure FDA0003986048000000022
其中,TCost代表服务执行成本总和;m代表服务组件总数;i代表第i个服务组件;n代表用户总数;j代表第j个用户;p代表服务总数;k代表第k个服务;sjki代表第j个用户中的服务sjk被分配给服务组件vi执行;Cost(sjki)代表服务sjk在第i个服务组件中的服务执行成本。
9.根据权利要求1所述的一种资源调度方法,其特征在于,所述采用人工蜂群算法和Q-learning算法结合求解所述适应度函数,将所述适应度函数的值满足误差条件的调度方案确定为优化目标,包括:
初始化蜂群、食物源并配置算法参数;
根据Q-learning算法构建Q表;其中,所述Q表用于存储所有预期状态、行动以及Q值;所述Q值由所述状态以及所述行动组合确定;
在雇佣蜂阶段,雇佣蜂确定当前食物源的相邻食物源位置,根据所述相邻食物源的位置更新所述Q表;
在跟随蜂阶段,跟随蜂从所述Q表中根据轮盘赌方法随机选取雇佣蜂食物源;根据所选取的雇佣蜂食物源获取新食物源;
将所述新食物源替代所选取的所述雇佣蜂食物源;
当所述新食物源适应度值超过所选取的所述雇佣蜂食物源,则更新Q值;
在侦查蜂阶段,当获取适应度值超过所选取的所述雇佣蜂食物源的所述新食物源失败的次数超过预定阈值,则随机搜索新的食物来源,并更新Q表;其中,所述适应度值由适应度函数计算得到;
重复所述在雇佣蜂阶段,雇佣蜂确定当前食物源的相邻食物源位置,根据所述相邻食物源的位置更新所述Q表,直至达到最大迭代次数或Q表中的行动方案的适应度值满足误差条件;
将所述Q表中的最终行动方案确定为最佳服务组件资源调度方案。
10.根据权利要求9所述的一种资源调度方法,其特征在于,所述Q值由所述状态以及所述行动组合确定,包括:
所述Q值的计算公式为:
Figure FDA0003986048000000031
其中,Qt+1(bt,at)是在t+1时刻的Q值;α是学习率;αt是在t时刻的行动;át是在t时刻的最优行动;γ是折扣系数;rt是在状态bt下执行行动所获得的惩罚或奖励;δ是过渡函数;
Figure FDA0003986048000000032
是对最佳值的估计。
CN202211564395.9A 2022-12-07 2022-12-07 一种资源调度方法 Pending CN116033026A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211564395.9A CN116033026A (zh) 2022-12-07 2022-12-07 一种资源调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211564395.9A CN116033026A (zh) 2022-12-07 2022-12-07 一种资源调度方法

Publications (1)

Publication Number Publication Date
CN116033026A true CN116033026A (zh) 2023-04-28

Family

ID=86079075

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211564395.9A Pending CN116033026A (zh) 2022-12-07 2022-12-07 一种资源调度方法

Country Status (1)

Country Link
CN (1) CN116033026A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116843735A (zh) * 2023-08-17 2023-10-03 长春工业大学 一种基于机器学习的三维点云精确配准方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116843735A (zh) * 2023-08-17 2023-10-03 长春工业大学 一种基于机器学习的三维点云精确配准方法
CN116843735B (zh) * 2023-08-17 2023-12-29 长春工业大学 一种基于机器学习的三维点云精确配准方法

Similar Documents

Publication Publication Date Title
US10924535B2 (en) Resource load balancing control method and cluster scheduler
Dong et al. Task scheduling based on deep reinforcement learning in a cloud manufacturing environment
CN112000459B (zh) 一种用于服务的扩缩容的方法及相关设备
Kaur et al. Deep‐Q learning‐based heterogeneous earliest finish time scheduling algorithm for scientific workflows in cloud
CN110276442B (zh) 一种神经网络架构的搜索方法及装置
CN109710404B (zh) 分布式系统中的任务调度方法
CN110688219B (zh) 基于反向混沌布谷鸟搜索的自适应权重负载均衡算法
CN113485826B (zh) 一种边缘服务器负载均衡方法、系统
US20210312295A1 (en) Information processing method, information processing device, and information processing program
CN111240796B (zh) 一种基于改进mmas的负载均衡调度方法
CN111290831B (zh) 一种云计算基于强化学习的虚拟机迁移方法
Yan et al. Efficient selection of a set of good enough designs with complexity preference
CN116033026A (zh) 一种资源调度方法
CN113641445B (zh) 基于深度确定性策略的云资源自适应配置方法及系统
CN110233763B (zh) 一种基于时序差分学习的虚拟网络嵌入算法
CN113992520B (zh) 一种虚拟网络资源的部署方法和系统
de Freitas Cunha et al. An SMDP approach for Reinforcement Learning in HPC cluster schedulers
Azimi et al. Performance management in clustered edge architectures using particle swarm optimization
CN115220818A (zh) 基于深度强化学习的实时依赖型任务卸载方法
CN111461188B (zh) 一种目标业务控制方法、装置、计算设备及存储介质
CN113190339B (zh) 任务处理方法和装置
Sari et al. Recent research in finding the optimal path by ant colony optimization
Saemi et al. Solving Task Scheduling Problem in Mobile Cloud Computing Using the Hybrid Multi-Objective Harris Hawks Optimization Algorithm
Bhargavi et al. Fuzzy Neutrosophic Soft Set Based Transfer-Q-Learning Scheme for Load Balancing in Uncertain Grid Computing Environments
CN116541178B (zh) 一种Docker云平台动态负载均衡方法及装置

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