CN113360275A - 资源调度方法、装置、设备和介质 - Google Patents
资源调度方法、装置、设备和介质 Download PDFInfo
- Publication number
- CN113360275A CN113360275A CN202010150550.7A CN202010150550A CN113360275A CN 113360275 A CN113360275 A CN 113360275A CN 202010150550 A CN202010150550 A CN 202010150550A CN 113360275 A CN113360275 A CN 113360275A
- Authority
- CN
- China
- Prior art keywords
- particle
- fitness function
- current
- resource scheduling
- current position
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 60
- 239000002245 particle Substances 0.000 claims abstract description 309
- 230000006870 function Effects 0.000 claims description 131
- 238000004590 computer program Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 description 23
- 230000007246 mechanism Effects 0.000 description 23
- 230000008569 process Effects 0.000 description 11
- 238000005457 optimization Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 9
- 238000012216 screening Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000002194 synthesizing effect Effects 0.000 description 1
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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- 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/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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]
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
本发明公开了一种资源调度方法、装置、设备和介质。该方法,包括:获取粒子群中每个粒子的当前位置,粒子的当前位置用于表征m1个任务在n个计算资源上的资源调度方案;计算每个粒子的当前位置对应的适应度函数值;确定粒子群的全局最优位置;判断迭代次数是否大于第一预设阈值,得到第一判断结果;若第一判断结果为否,对于每个粒子,若获取的粒子的当前惯性权重在预设权重区间内,且粒子的当前位置满足预设条件,则利用预设范围内的随机数调整当前惯性权重,并更新粒子的当前位置,继续执行获取粒子群中每个粒子的当前位置;若第一判断结果为是,基于全局最优位置确定资源调度结果。根据本发明实施例,提高了资源调度的效率和精确度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种资源调度方法、装置、设备和介质。
背景技术
为了迎合万物互联时代的到来,第五代移动通信技术可以适应新型业务需求。云计算的出现能够一定程度上可以将本地计算任务部分或完全迁移到云端执行,释放出终端设备资源不足的情况。
移动边缘计算具有超低时延、超高能效、超高可靠性关键技术为特色。随着资源按需求调度业务的发展,在移动边缘计算场景中需要根据用户业务需求动态和资源部署策略,进一步加深对差异化场景的服务机制。也就是说,将基础设施即服务(InfrastructureAs A Service,IAAS)层虚拟化处理,按照场景分成不同的网络切片,满足服务质量(Quality of Service,Qos)需求,例如,带宽、时延、网络丢包率等。
目前的资源调度方法的效率和精确度较低,因此急需提供一种效率和精确度较高的资源调度方法。
发明内容
本发明实施例提供一种资源调度方法、装置、设备和介质,能够提高资源调度的效率和准确率。
第一方面,本发明实施例提供一种资源调度方法,包括:
获取粒子群中每个粒子的当前位置,所述粒子的当前位置用于表征m1个任务在n个计算资源上的资源调度方案;其中,m1,n为正整数;
基于预设的目标适应度函数,计算每个所述粒子的当前位置对应的适应度函数值;
根据每个所述粒子的当前位置对应的适应度函数值,确定所述粒子群的全局最优位置;
判断迭代次数是否大于第一预设阈值,得到第一判断结果;
在所述第一判断结果为否的情况下,对于每个所述粒子,若获取的所述粒子的当前惯性权重在预设权重区间内,且所述粒子的当前位置满足预设条件,则利用预设范围内的随机数调整所述当前惯性权重,并通过调整后的当前惯性权重更新所述粒子的当前位置,继续执行所述获取粒子群中每个粒子的当前位置;
在所述第一判断结果为是的情况下,基于所述全局最优位置确定资源调度结果。
第二方面,本发明实施例提供一种资源调度装置,包括:
位置获取模块,用于获取粒子群中每个粒子的当前位置,所述粒子的当前位置用于表征m1个任务在n个计算资源上的资源调度方案;其中,m1,n为正整数;
适应度值计算模块,用于基于预设的目标适应度函数,计算每个所述粒子的当前位置对应的适应度函数值;
全局最优位置确定模块,用于根据每个所述粒子的当前位置对应的适应度函数值,确定所述粒子群的全局最优位置;
判断模块,用于判断迭代次数是否大于第一预设阈值,得到第一判断结果;
更新模块,用于在所述第一判断结果为否的情况下,对于每个所述粒子,若获取的所述粒子的当前惯性权重在预设权重区间内,且所述粒子的当前位置满足预设条件,则利用预设范围内的随机数调整所述当前惯性权重,并通过调整后的当前惯性权重更新所述粒子的当前位置,将更新后的所述粒子的当前位置发送至所述位置获取模块;
资源调度结果确定模块,用于在所述第一判断结果为是的情况下,基于所述全局最优位置确定资源调度结果。
第三方面,本发明实施例提供一种资源调度设备,其特征在于,设备包括:处理器以及存储有计算机程序指令的存储器;
处理器执行计算机程序指令时实现如本发明实施例提供的资源调度方法。
第四方面,本发明实施例提供一种计算机存储介质,计算机存储介质上存储有计算机程序指令,计算机程序指令被处理器执行时实现如本发明实施例提供的资源调度方法。
在本发明的实施例中,在粒子的当前惯性权重在预设权重区间内,且粒子的当前位置满足预设条件的情况下,首先利用预设范围内的随机数调整该当前惯性权重,然后通过调整后的当前惯性权重更新粒子的当前位置,可以避免粒子陷入局部最优,使粒子群具有更精确的全局搜索能力,不仅提高了资源调度的效率而且还可以得到最优的资源调度结果,以提高资源调度的精度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本发明一实施例提供的资源调度方法的流程示意图;
图2示出本发明实施例提供的粒子的编码和解码的示意图;
图3示出本发明另一实施例提供的资源调度方法的流程示意图;
图4示出本发明实施例提供的在不同资源调度机制下m1个子任务在n个计算资源上执行所用的总执行时间;
图5示出本发明实施例提供的在不同资源调度机制下m1个子任务在n个计算资源上执行所用的总成本;
图6示出本发明实施例提供的在不同资源调度机制下m1个子任务在n个计算资源上执行时的总负载均衡度;
图7示出本发明实施例提供的资源调度装置的结构示意图;
图8示出本发明实施例提供的资源调度设备的结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
在边缘计算的场景下,一个移动边缘计算(Mobile Edge Computing,MEC)服务器有多个节点。在MEC服务器层面,可以类似于云平台,大致分为三个层面:软件即服务(Software as a Service,SaaS)、平台即服务(Platform as a Service,PaaS)和基础设施即服务(Infrastructure as a Service,IaaS)三个层次。目前在PaaS层面具有现有的资源调度机制,例如容器集群管理***(Kurbernetes,K8S)业务编排等资源调度机制。控制(Master)节点中的调度器(scheduler)主要负责容器组(Pod)的调度,将Pod分配到指定的节点(Node)。在scheduler层面,基于资源调度方法将Pod调度到合适的节点上,scheduler会从待调度Pod列表中取出每个Pod,并根据资源调度结果从Node列表中选出一个最合适的Node进行绑定。
K8S调度算法当中主要分为两个阶段:预选阶段和优选阶段。预选阶段:根据配置的预选策略(Predicates Policies)过滤不满足Predicates Policies的Nodes,剩下的Nodes作为优选的输入。优选阶段:根据配置的优选策略(Priorities Policies)给预选后的Nodes进行权重打分,权值评分最高的Pod就绑定到这个Node。
但是,目前的基于预选策略和优选策略的资源调度方法,Pod绑定到Node时延较长,算法复杂度较高,没有考虑资源调度的成本以及总负载均衡度等重要指标,因此资源调度的效率和精确度较低。
基于此,本发明实施例提供一种基于粒子群算法的资源调度方法,由于该算法涉及的参数少、算法结构简单,因此可以提高资源调度的效率,并通过利用预设范围的随机数调整粒子的惯性权重,可以避免粒子在后期陷入局部最优,以得到最优的资源调度结果,从而提高资源调度的精度。
粒子群算法是一种先进的进化计算技术。该算法通过每个个体自身的经历和个体之间的信息传递和交流来更新自己的最优位置和速度.这里所描述的个体是指一种潜在的资源调度方案。该算法随机生成一个可行的搜索空间,并且赋予每个粒子一个初始位置和初始速度。在每一次迭代过程中,粒子根据两个极值进行自身的更新,这两个极值包括个体极值(即局部最优位置)和全局极值(即全局最优位置)。
其中,标准粒子群算法中,粒子的速度和位置的更新公式如下:
vi,t+1=ωi,t*vi,t+c1*r1*(pi,t-xi,t)+c2*r2*(pg,t-xi,t) (1)
xi,t+1=xi,t+vi,t+1 (2)
其中,vi,t为第i个粒子在第t次迭代时的速度,vi,t+1为第i个粒子在第t+1次迭代时的速度。xi,t为第i个粒子在第t次迭代时的位置,xi,t+1为第i个粒子在第t+1次迭代时的位置。ωi,t为第i个粒子在第t次迭代时的惯性权重。pi,t为第i个粒子在前t次迭代过程中的局部最优位置。pg,t为前t次迭代过程中的全局最优位置。
其中,tmax为预设的最大迭代次数。ωmax为惯性权重的最大值,ωmin为惯性权重的最小值。r1和r2为介于0和1之间的随机数。c1和c2为学习因子,也称为加速常数。
图1示出根据本发明实施例提供的资源调度方法的流程图。如图1所示,本发明实施例中资源调度方法100包括以下步骤:
S110,获取粒子群中每个粒子的当前位置,所述粒子的当前位置用于表征m1个任务在n个计算资源上的资源调度方案。其中,m1,n为正整数。
S120,基于预设的目标适应度函数,计算每个所述粒子的当前位置对应的适应度函数值。
S130,根据每个所述粒子的当前位置对应的适应度函数值,确定所述粒子群的全局最优位置。
S140,判断迭代次数是否大于第一预设阈值,得到第一判断结果。
在第一判断结果为是的情况下,执行S150,在第一判断结果为否的情况下,执行S160。
S150,对于每个所述粒子,若获取的所述粒子的当前惯性权重在预设权重区间内,且所述粒子的当前位置满足预设条件,则利用预设范围内的随机数调整所述当前惯性权重,并通过调整后的当前惯性权重更新所述粒子的当前位置,返回S110。
S160,基于所述全局最优位置确定资源调度结果。
在本发明的实施例中,在粒子的当前惯性权重在预设权重区间内,且粒子的当前位置满足预设条件的情况下,首先利用预设范围内的随机数调整该当前惯性权重,然后通过调整后的当前惯性权重更新粒子的当前位置,可以避免粒子陷入局部最优,使粒子群具有更精确的全局搜索能力,不仅提高了资源调度的效率而且还可以得到最优的资源调度结果,以提高资源调度的精度。
在本发明的实施例中,MEC多节点环境下资源调度就是将完整的任务分解成许多子任务,并将子任务分配到各个计算节点上。由于云计算任务调度中的问题是离散问题,所以在应用粒子群算法时,要使用离散的数值对粒子进行编码。在本发明的实施例中,对任务编码的方式采用间接编码方式,就是对子任务相对应的计算资源采取编码的方式,编码长度可以通过子任务的长度体现。
假设将完整的任务划分为m1个子任务,n个计算节点,即虚拟机数量。根据编码方式,大任务被划分为若干较小的子任务。假设m1>n,即假设任务被划分后的子任务总数大于计算资源数目。其中,m也为正整数。
在本发明的实施例中,虚拟机的序号作为粒子的编码规划,子任务的数量决定编码长度。一个粒子的位置对应在n个计算资源上m1个子任务的一个分配序列。
假设粒子群的种群规模为C,C个粒子由***随机生成。所有粒子中第i个粒子在第t次迭代时的位置xi,t表示为:{xi1,xi2,......,xim1}t。
其中,1≤i≤C。xij为[1,n]范围内的整数。xij表示子任务j被分配到第xij号计算资源上执行。j为[1,m1]范围内的整数。在粒子群中,每个粒子的位置代表m1个任务在n个计算资源上的一种资源调度方案。在第一次迭代过程中,每个粒子的位置需进行初始化,其中,xij可以初始化为[1,n]范围内的整数。
作为一个示例,假设任务数m=5,子任务数m1=16,云资源计算节点数n=8,即将5个任务划分成16个子任务,并分配到8个计算节点上。则粒子的位置可编码为(8,1,6,4,2,3,8,7,7,5,1,4,2,6,3,5)。图2示出粒子的位置编码的示意图。
继续参见图2,通过粒子解码可知,子任务2和子任务11分配到计算节点1上,子任务5、子任务9以及子任务13分配到计算节点2上,子任务6和子任务15分配到计算节点3上,以此类推,子任务1和子任务7分配到计算节点8上。
其中,第i个粒子在t次迭代时的速度vi,t表示为:{vi1,vi2,.......,vim1}t。其中,vij可为[-n,n]范围内的整数。在对每个粒子的速度进行初始化时,vij可初始化为[1-n,n-1]范围内的整数。
需要说明的是,在S110中,若当前迭代次数是第1次,则每个粒子的当前位置和当前速度是通过初始化得到的。
若粒子在当前第t次迭代时对应的当前惯性权重在预设权重区间内,且粒子的当前位置满足预设条件,则利用预设范围内的随机数调整该当前惯性权重。然后利用粒子对应的调整后的惯性权重和表达式(1)计算该粒子在第t+1次迭代时对应的速度,并利用该粒子在第t+1次迭代时对应的速度和表达式(2)计算该粒子在第t+1次迭代对应的位置。
在本发明的一些实施例中,在S120中,目标适应度函数包括第一适应度函数和第二适应度函数。第一适应度函数用于表征一个资源调度方案执行m1个任务所用的总时间和总成本。第二适应度函数用于表征一个资源调度方案执行m1个任务的负载均衡度。则在S120中,粒子的当前位置对应的适应度函数值包括所述粒子的当前位置对应的第一适应度函数值和所述粒子的当前位置对应的第二适应度函数值。
其中,第一适应度函数F1可以利用下面的表达式进行表示:
其中,Tcost为按照一个资源调度方案执行m1个子任务所需要的总成本。Timemax表示最大任务执行时间,即在一个资源调度方案中,n个计算资源同时执行任务时,工作时间最长的计算资源所消耗的时间。0≤α≤1,0≤β≤1,α+β=1。作为一个示例,计算资源可以为虚拟机。
也就是说,对于一个粒子的位置,该位置对应的第一适应度函数越大,则该粒子的位置对应的资源调度方案越优秀。
其中,Tcost可以利用下面的表达式进行计算:
式中,Rcost(Vmk)——第k个虚拟机Vmk单位时间内所需要的运行成本。矩阵Rcost表示各个虚拟机节点上单位时间所需的运行成本。
Time(Taskj,Vmk)表示第j个子任务Taskj在第k个虚拟机Vmk上的执行时间。表示m1个子任务中每个子任务在第k个虚拟机上的执行时间的总和。需要说明的是,若某个子任务不在第k个虚拟机上执行,则该任务在第k个虚拟机上的执行时间为0。
Tcost表示任务总成本,其值越小,代表消耗资源成本低,则资源调度方案越优秀。
其中,Time(Taskj,Vmk)可以利用下面的表达式进行计算:
其中,v_vm=Num_vm_cpu*v_vm_mips;v_vm为虚拟机的处理能力,bw_vm为虚拟机的带宽;Num_vm_cpu为虚拟机中中央处理器(Central Processing Unit,CPU)的数量;Tdataj为第j个子任务Taskj需要传输的数据量;Tlengthj为第j个子任务Taskj的长度;v_vm_mips为虚拟机中单个CPU的处理能力。
其中,Timemax可以利用下面的表达式进行计算:
在本发明的实施例中,第二适应度函数F2可以利用下面的表达式进行表示:
其中,Uk可以利用下面的表达式进行计算:
在本发明的实施例中,自定义三个优化指标:时间、成本、负载均衡度,设立两个适应度函数,可以在MEC服务器多节点的场景下,保证来自用户终端的任务映射分配到各个计算资源的综合指标最小,即各个计算资源处理任务的时延、负载、成本最小。
在本发明的一些实施例中,可以根据时延、负载和成本三个指标中的至少一个指标自定义目标适应度函数,在此不做具体限定。
在本发明的实施例中,利用第一适应度函数,可以计算第i个粒子的当前位置xi,t对应的第一适应度函数值,即F1(xi,t)。利用第二适应度函数,计算第i个粒子的当前位置xi,t对应的第二适应度函数值,即F2(xi,t)。
在本发明的实施例中,S130包括S1301和S1302。S1301,对于每个所述粒子,基于所述粒子的当前位置对应的适应度函数值,更新所述粒子的局部最优位置。S1302,基于每个所述粒子的更新后的局部最优位置,确定所述全局最优位置。
在目标适应度函数包括第一适应度函数F1和第二适应度函数F2的情况下,S1301包括:对每个所述粒子执行步骤A和步骤B。
步骤A,基于所述第一适应度函数和所述第二适应度函数,计算所述粒子的局部最优位置对应的第一适应度函数值和所述粒子的局部最优位置对应的第二适应度函数值。
在本发明的实施例中,利用第一适应度函数,计算pi,t-1对应的第一适应度函数值,即F1(pi,t-1)。利用第二适应度函数,计算pi,t-1对应的第二适应度函数值,即F2(pi,t-1)。
接着,判断F1(pi,t-1)是否大于F1(xi,t),即判断第i个粒子的历史最优位置(局部最优位置)对应的第一适应度函数值是否大于第i个粒子的当前位置对应的第一适应度函数值。
步骤B,在所述粒子的局部最优位置对应的第一适应度函数值小于所述粒子的当前位置对应的第一适应度函数值的情况下,将所述粒子的当前位置更新为所述粒子的局部最优位置。
若F1(pi,t-1)大于F1(xi,t),则第i个粒子的历史最优位置保持不变,即仍选择第一适应度函数值较大的pi,t-1作为第i个粒子的局部最优位置,即第i个粒子在前t次迭代过程中的局部最优位置,即pi,t=pi,t-1。
若F1(pi,t-1)小于F1(xi,t),即第i个粒子的局部最优位置对应的第一适应度函数值小于第i个粒子的当前位置对应的第一适应度函数值,则将第i个粒子的当前位置更新为第i个粒子的局部最优位置,即第i个粒子在前t次迭代过程中的局部最优位置,即pi,t=xi,t。
在本发明的一些实施例中,S1301还包括对每个粒子执行步骤C和步骤D。
步骤C,在所述粒子的局部最优位置对应的第一适应度函数值等于所述粒子的当前位置对应的第一适应度函数值的情况下,判断所述粒子的局部最优位置对应的第二适应度函数值是否大于或等于所述粒子的当前位置对应的第二适应度函数值,得到第二判断结果。
在本发明的一些实施例中,若F1(pi,t-1)等于F1(xi,t),则进入二级筛选,以总负载均衡度适应度函数F2为筛选标准。
接着,判断F2(pi,t-1)是否大于或等于F2(xi,t),得到第二判断结果。即判断第i个粒子的局部最优位置对应的第二适应度函数值是否大于或等于第i个粒子的当前位置对应的第二适应度函数值。
步骤D,在所述第二判断结果为是的情况下,则将所述粒子的当前位置更新为所述粒子的局部最优位置。
在第二判断结果为是的情况下,则xi,t更新为第i个粒子的局部最优位置,即第i个粒子在前t次迭代过程中的局部最优位置,即pi,t=xi,t。
在第二判断结果为否的情况下,则仍选择第二适应度函数值较小的pi,t-1作为第i个粒子的局部最优位置,即第i个粒子在前t次迭代过程中的局部最优位置,即pi,t=pi,t-1。
在本发明的一些实施例中,S1302包括:步骤E、步骤F和步骤G。
步骤E,判断第一目标局部最优位置的目标个数是否等于1。
其中,所述第一目标局部最优位置为目标第一适应度函数值对应的局部最优位置。所述目标第一适应度函数值为每个所述粒子更新后的局部最优位置对应的第一适应度函数值中的最大值。
需要说明的是,若pi,t=pi,t-1,则第i个粒子更新后的局部最优位置仍为pi,t-1。
作为一个示例,若粒子种群中包括C个粒子,在前t迭代过程中,每个粒子均具有对应的局部最优位置,即p1,t、p2,t、……、pC,t。
其中,目标第一适应度函数值F1Max(t)为F1(p1,t)、F1(p2,t)、……、F1(pC,t)中的最大值。其中,F1Max(t)可以利用下面的表达式进行表达:
F1Max(t)=Max{F1(p1,t),F1(p2,t),......,F1(pC,t)} (11)
其中,Max()是指求最大值运算。
但是,在F1(p1,t)、F1(p2,t)、……、F1(pC,t)中可能存在一个或多个与F1Max(t)相同的第一适应度函数值。
其中,第一目标局部最优位置即为:在F1(p1,t)、F1(p2,t)、……、F1(pC,t)这C个第一适应度函数值中与F1Max(t)相同的第一适应度函数值所对应的局部最优位置。
步骤F,若所述目标个数等于1,则将所述第一目标局部最优位置作为所述全局最优位置。
若在F1(p1,t)、F1(p2,t)、……、F1(pC,t)这C个第一适应度函数值中与F1Max(t)相同的第一适应度函数值只有一个,则将该适应度函数值对应的局部最优位置作为全局最优位置,即pg,t。
步骤G,若目标个数不等于1,则将第二目标局部最优位置作为全局最优位置pg,t。第二目标局部最优位置为目标第二适应度函数值对应的第一目标局部最优位置,所述目标第二适应度函数值为每个所述第一目标局部最优位置对应的第二适应度函数值中的最小值。
若目标个数不等于1,即目标个数大于1,则求取目标第二适应度函数值F2Max(t)。
其中,目标第二适应度函数值为每个第一目标局部最优位置对应的第二适应度函数值中的最小值。
在本发明的实施例中,通过综合第一适应度函数和第二适应度函数进行二次筛选,可以得到时间、成本和***均衡负载最低的资源调度方案。
在本发明的实施例中,惯性权重存在一个合理区间,在该区间有利于粒子群的收敛,惯性权重长时间过大或者过小,会导致全局探索能力或者局部收敛增强,进而导致收敛速率偏小或者陷入局部极值。影响粒子群算法的重要因素是惯性权重,找到粒子运动最合适的惯性权重的区间也能在很大程度上改变粒子运动的轨迹,避免聚集在局部最优的区域。
粒子群算法虽然在一定程度上提高了执行效率,增强了全局搜索能力,同时考虑到在实际搜索过程中,粒子群算法是非线性的,运动轨迹比较复杂。当某个粒子找到最佳位置时,会形成一种引导的趋势,其他粒子快速向该区域聚集,当该区域为局部最优时,会出现局部最优。为了使粒子群尽可能的跳出粒子极值区域,搜寻其他未知区域,需要动态的改变惯性权重的值。
在本发明的实施例中,在当前迭代过程中,若第一判断结果为否,则基于表达式(3)计算粒子的当前惯性权重ωi,t。若获取的当前惯性权重ωi,t位于区间0.75~0.85内的情况下,可以利用表达式(12)来调整粒子的当前惯性权重ωi,t。即在公式(3)当中引入一个扰动常量σ=0.1。当粒子一直寻不到最优解的条件下,σ取值为0.1,其他情况σ=0。
如表达式(12)所示,在粒子群陷入局部最优的情况下,一定概率地增大当前惯性权重ωi,t的值,探索未知解空间,寻找更优秀的解。
但是,在迭代后期时,粒子大概率聚集在某个局部最优位置,为了跳出局部极值,进行全局搜索,若获取的当前惯性权重ωi,t位于区间0.85~0.95的情况下,且粒子的当前位置满足预设条件的情况下,可以利用预设范围内的随机数调整ωi,t,即利用动态的扰动系数调整惯性权重ωi,t。作为一个示例,预设范围为0.95~1.15。
作为一个示例,参见表达式(13),可以区间0.95~1.15中的随机数乘以粒子的惯性权重ωi,t,并加上扰动常数,以调整粒子的惯性权重ωi,t,得到粒子的调整后的惯性权重ω″i,t。作为一个示例,预设条件包括n’与n的比值小于第二预设阈值,n’为所述粒子的当前位置对应的资源调度方案中被分配有任务的计算资源的总个数。
作为一个示例,第二预设阈值为40%。作为一个示例,若第i个粒子的当前位置所对应的资源调度方案中16个子任务被分配到了3个计算节点上,即n’=3。由于3/8小于40%,则利用表达式(13)调整第i个粒子的当前惯性权重ωi,t,以利用调整后的当前惯性权重ω″i,t更新该粒子的位置和速度。
其中,α的取值范围为0.95~1.15。
通过利用公式(13),即利用预设范围的随机数来调整粒子的惯性权重ωi,t。引入随机粒子,能够摆脱局部极值,在粒子群解空间内探索未知区域,提高了求解精度。
在本发明的实施例中,把粒子群的迭代过程分为两个阶段:前期和后期。每个阶段采用不同方式去调整粒子的惯性权重,避免粒子陷入局部最优,以提高对资源调度结果求解的精度。
在迭代前期,若获取的当前惯性权重ωi,t位于区间0.75~0.85的情况下,利用表达式(3)更新惯性权重,当一直寻不到最优解时,加入常量扰动σ,即按照表达式(12)调整当前惯性权重ωi,t。
在迭代后期,算法一旦陷入局部最优,当前惯性权重ωi,t位于区间0.85~0.95内,且粒子的位置满足预设条件,则利用表达式(13)动态自适应改变惯性权重ωi,t。同时为了保证群体的多样性,考虑到小概率的加入随机粒子不会影响粒子的收敛趋势。若在迭代过程中发现每个虚拟机上的负载很接近,则可以产生一些随机粒子,并将随机粒子与利用表达式(13)更新的粒子进行替换。
本发明实施例提供的资源调度方法,既兼顾了惯性权重值在合理的区间范围内,又能保持粒子群算法的优越性,采用表达式(13)调整粒子的当前惯性权重在一定程度上解决了收敛速率慢和陷入局部最优的问题。
在本发明的实施例中,在S150中,在当前第t次迭代过程中,对于每个粒子,当利用表达式(3)计算出该粒子的当前惯性权重ωi,t之后,若该当前惯性权重ωi,t在区间0.85~0.95内,则利用动态扰动系数调整粒子的当前惯性权重ωi,t。当调整了粒子对应的当前惯性权重ωi,t之后得到ω″i,t,则将表达式(1)中的ωi,t替换为ω″i,t,以更新该粒子的当前速度,即该粒子在第t+1次迭代过程中的速度。
对于每个粒子,基于粒子的更新后的当前速度,更新所述粒子的当前位置。即利用表达式(2)以及该粒子在第t+1次迭代过程中的速度,计算该粒子在第t+1次迭代过程中的位置,即该粒子的更新后的当前位置。
在S160中,当获取全局最优位置之后,则可以利用图2中的粒子解码方法得到m1个任务在n个计算资源上的最优资源调度方案。
图3示出本发明另一实施例提供的资源调度方法的流程示意图。如图3所示,当用户终端需要进行大量数据处理时,为了提高数据处理效率,则用户终端可以将部分或全部的数据处理任务卸载至MEC服务器上进行处理。
首先,在第一次迭代过程中,MEC服务器需要对本发明实施例提供的改进后的粒子群算法中的参数进行初始化。
然后,MEC服务器根据用户终端发送过来的任务量以及计算节点的个数,采用间接编码方式,对粒子进行编码。接着,对粒子群中每个粒子的位置和速度进行初始化,即确定每个粒子的当前速度和当前位置。
再接着,利用预设的适应度函数F1和适应度函数F2,计算每个粒子的当前位置对应的适应度函数值。紧接着,基于每个粒子的当前位置对应的适应度函数值,更新该粒子的局部最优位置,以及基于每个粒子的更新后的局部最优位置,更新全局最优位置。具体可参考上述S130的叙述,在此不再赘述。
当更新每个粒子的局部最优位置和全局最优位置之后,判断迭代次数是否大于第一预设阈值。若迭代次数大于第一预设阈值,则对全局最优位置进行解码,得到最终的资源调度结果。
若迭代次数不大于第一预设阈值,则调整粒子的当前惯性权重,并利用调整后的当前惯性权重更新粒子的位置和速度,然后进入下一次迭代,直至迭代次数大于第一预设阈值,得到最终的资源调度结果。
下面介绍在MEC的资源调度场景下,利用本发明实施例提供的基于改进的粒子群算法的资源调度机制、基于原始粒子群优化算法((Partical Swarm Optimization,PSO)的资源调度机制和K8S调度方法进行仿真实验得到的仿真结果。详细的实验参数设置如表1所示。
表1
图4示出在不同的资源调度方法下的总任务执行时间Timemax的对比示意图。如图4所示,横坐标代表是不同的任务数目,纵坐标代表的是总任务执行时间,单位为毫秒。
其中,五个竖线长条为基于K8S资源调度机制在子任务数目为100、200、300、400和500时分别对应的总任务执行时间。
其中,五个横线长条为基于原始PSO算法的资源调度机制在子任务数目分别为100、200、300、400和500时对应的总任务执行时间。
其中,五个斜线长条为基于本发明实施例提供的改进后的PSO算法的资源调度机制在子任务数目为100、200、300、400和500时分别对应的总任务执行时间。
对于总任务完成时间,本发明实施例提供的基于改进的PSO算法在自定义指标和筛选机制下,相比于原始PSO算法和K8S资源调度机制,平均降低时延4.253%。
图5示出不同的资源调度方法下的总负载均衡度LB的对比示意图。如图5所示,横坐标代表是不同的任务数目,纵坐标代表的是总负载均衡度。
其中,虚线为基于K8S资源调度机制得到的随着子任务数目的增加总负载均衡度的变化曲线。点划线为基于原始PSO算法得到的随着子任务数目的增加总负载均衡度的变化曲线。实线为基于本发明实施例提供的改进后的PSO算法的资源调度机制得到的随着子任务数目的增加总负载均衡度的变化曲线。
本发明实施例提供的基于改进的PSO算法在自定义指标和筛选机制下,相比于原始PSO算法和K8S资源调度机制,总负载均衡度方面降低约4.38%。
图6示出不同的资源调度方法下的总成本Tcost的对比示意图。如图6所示,横坐标代表是不同的任务数目,纵坐标代表的是总成本。
其中,五个点状的长条为基于K8S资源调度机制在子任务数目为100、200、300、400和500时分别对应的总成本。
其中,五个斜线长条为基于原始PSO算法的资源调度机制在子任务数目为100、200、300、400和500时分别对应的总成本。
其中,五个井线长条为基于本发明实施例提供的改进后的PSO算法的资源调度机制在子任务数目为100、200、300、400和500时分别对应的总成本。
本发明实施例提供的基于改进的PSO算法在自定义指标和筛选机制下,相比于原始PSO算法和K8S资源调度机制,总任务成本方面降低约2.851%。即在多目标动态调度机制下,本发明实施例提供的资源调度方法在时延、负载和成本都能有效提升。
图7示出了根据本发明一实施例提供的资源调度装置的结构示意图。如图7所示,资源调度装置700包括:
位置获取模块710,用于获取粒子群中每个粒子的当前位置,所述粒子的当前位置用于表征m1个任务在n个计算资源上的资源调度方案。其中,m1,n为正整数。
适应度值计算模块720,用于基于预设的目标适应度函数,计算每个所述粒子的当前位置对应的适应度函数值。
全局最优位置确定模块730,用于根据每个所述粒子的当前位置对应的适应度函数值,确定所述粒子群的全局最优位置。
判断模块740,用于判断迭代次数是否大于第一预设阈值,得到第一判断结果。
更新模块750,用于在所述第一判断结果为否的情况下,对于每个所述粒子,若获取的所述粒子的当前惯性权重在预设权重区间内,且所述粒子的当前位置满足预设条件,则利用预设范围内的随机数调整所述当前惯性权重,并通过调整后的当前惯性权重更新所述粒子的当前位置,将更新后的所述粒子的当前位置发送至所述位置获取模块710。
资源调度结果确定模块760,用于在所述第一判断结果为是的情况下,基于所述全局最优位置确定资源调度结果。
在本发明的实施例中,在粒子的当前惯性权重在预设权重区间内,且粒子的当前位置满足预设条件的情况下,首先利用预设范围内的随机数调整该当前惯性权重,然后通过调整后的当前惯性权重更新粒子的当前位置,可以避免粒子陷入局部最优,使粒子群具有更精确的全局搜索能力,不仅提高了资源调度的效率而且还可以得到最优的资源调度结果,以提高资源调度的精度。
在本发明的一些实施例中,全局最优位置确定模块730,包括:
局部最优位置确定单元,用于对于每个所述粒子,基于所述粒子的当前位置对应的适应度函数值,更新所述粒子的局部最优位置。
全局最优位置确定单元,用于基于每个所述粒子的更新后的局部最优位置,确定所述全局最优位置。
在本发明的一些实施例中,所述目标适应度函数包括第一适应度函数和第二适应度函数;所述第一适应度函数用于表征一个资源调度方案执行所述m1个任务所用的总时间和总成本;所述第二适应度函数用于表征一个资源调度方案执行所述m1个任务的负载均衡度,所述粒子的当前位置对应的适应度函数值包括所述粒子的当前位置对应的第一适应度函数值和所述粒子的当前位置对应的第二适应度函数值;
其中,局部最优位置确定单元用于对于每个所述粒子执行以下步骤:
基于所述第一适应度函数和所述第二适应度函数,计算所述粒子的局部最优位置对应的第一适应度函数值和所述粒子的局部最优位置对应的第二适应度函数值;
在所述粒子的局部最优位置对应的第一适应度函数值小于所述粒子的当前位置对应的第一适应度函数值的情况下,将所述粒子的当前位置更新为所述粒子的局部最优位置。
在本发明的一些实施例中,局部最优位置确定单元还用于:
在所述粒子的局部最优位置对应的第一适应度函数值等于所述粒子的当前位置对应的第一适应度函数值的情况下,判断所述粒子的局部最优位置对应的第二适应度函数值是否大于或等于所述粒子的当前位置对应的第二适应度函数值,得到第二判断结果;
在所述第二判断结果为是的情况下,则将所述粒子的当前位置更新为所述粒子的局部最优位置。
在本发明的一些实施例中,全局最优位置确定单元用于:
判断第一目标局部最优位置的目标个数是否等于1,所述第一目标局部最优位置为目标第一适应度函数值对应的局部最优位置,所述目标第一适应度函数值为每个所述粒子更新后的局部最优位置对应的第一适应度函数值中的最大值;
若所述目标个数等于1,则将所述第一目标局部最优位置作为所述全局最优位置;
若所述目标个数不等于1,则将第二目标局部最优位置作为所述全局最优位置,所述第二目标局部最优位置为目标第二适应度函数值对应的第一目标局部最优位置,所述目标第二适应度函数值为每个所述第一目标局部最优位置对应的第二适应度函数值中的最小值。
在本发明的一些实施例中,所述预设权重区间为0.85~0.95。
在本发明的一些实施例中,所述预设条件包括n’与n的比值小于第二预设阈值,n’为所述粒子的当前位置对应的资源调度方案中被分配有任务的计算资源的总个数。
在本发明的一些实施例中,更新模块750具体用于:利用预设范围内的随机数乘以所述粒子对应的当前惯性权重,以得到所述粒子的调整后的当前惯性权重。
在本发明的一些实施例中,所述预设范围为0.95~1.15。
在本发明的一些实施例中,更新模块750具体用于:
对于每个所述粒子,利用所述粒子对应的调整后的当前惯性权重更新所述粒子的当前速度;
对于每个所述粒子,基于所述粒子的更新后的当前速度,更新所述粒子的当前位置。
根据本发明实施例的资源调度装置的其他细节与以上结合图1至图6描述的根据本发明实施例的方法类似,在此不再赘述。
结合图1至图7描述的根据本发明实施例的资源调度方法和装置可以由资源调度设备来实现。图8是示出根据发明实施例的资源调度设备的硬件结构800示意图。
如图8所示,本实施例中的资源调度设备800包括:处理器801、存储器802、通信接口803和总线810,其中,处理器801、存储器802、通信接口803通过总线810连接并完成相互间的通信。
具体地,上述处理器801可以包括中央处理器(CPU),或者特定集成电路(ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器802可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器802可包括HDD、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器802可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器802可在资源调度设备800的内部或外部。在特定实施例中,存储器802是非易失性固态存储器。在特定实施例中,存储器802包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
通信接口803,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线810包括硬件、软件或两者,将资源调度设备800的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、***组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线810可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
也就是说,图8所示的资源调度设备800可以被实现为包括:处理器801、存储器802、通信接口803和总线810。处理器801、存储器802和通信接口803通过总线810连接并完成相互间的通信。存储器802用于存储程序代码;处理器801通过读取存储器802中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行本发明任一实施例中的资源调度方法,从而实现结合图1至图7描述的资源调度方法和装置。
本发明实施例还提供一种计算机存储介质,该计算机存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现本发明实施例提供的资源调度方法。
以上的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(ASIC)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、ROM、闪存、可擦除ROM(EROM)、软盘、CD-ROM、光盘、硬盘、光纤介质、射频(RF)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。
还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或***。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。
以上,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的***、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。
Claims (13)
1.一种资源调度方法,其特征在于,所述方法包括:
获取粒子群中每个粒子的当前位置,所述粒子的当前位置用于表征m1个任务在n个计算资源上的资源调度方案;其中,m1,n为正整数;
基于预设的目标适应度函数,计算每个所述粒子的当前位置对应的适应度函数值;
根据每个所述粒子的当前位置对应的适应度函数值,确定所述粒子群的全局最优位置;
判断迭代次数是否大于第一预设阈值,得到第一判断结果;
在所述第一判断结果为否的情况下,对于每个所述粒子,若获取的所述粒子的当前惯性权重在预设权重区间内,且所述粒子的当前位置满足预设条件,则利用预设范围内的随机数调整所述当前惯性权重,并通过调整后的当前惯性权重更新所述粒子的当前位置,继续执行所述获取粒子群中每个粒子的当前位置;
在所述第一判断结果为是的情况下,基于所述全局最优位置确定资源调度结果。
2.根据权利要求1所述的方法,其特征在于,所述根据每个所述粒子的当前位置对应的适应度函数值,确定所述粒子群的全局最优位置,包括:
对于每个所述粒子,基于所述粒子的当前位置对应的适应度函数值,更新所述粒子的局部最优位置;
基于每个所述粒子的更新后的局部最优位置,确定所述全局最优位置。
3.根据权利要求2所述的方法,其特征在于,所述目标适应度函数包括第一适应度函数和第二适应度函数;所述第一适应度函数用于表征一个资源调度方案执行所述m1个任务所用的总时间和总成本;所述第二适应度函数用于表征一个资源调度方案执行所述m1个任务的负载均衡度,所述粒子的当前位置对应的适应度函数值包括所述粒子的当前位置对应的第一适应度函数值和所述粒子的当前位置对应的第二适应度函数值;
其中,所述对于每个所述粒子,基于所述粒子的当前位置对应的适应度函数值,更新所述粒子的局部最优位置,包括:
对于每个所述粒子执行以下步骤:
基于所述第一适应度函数和所述第二适应度函数,计算所述粒子的局部最优位置对应的第一适应度函数值和所述粒子的局部最优位置对应的第二适应度函数值;
在所述粒子的局部最优位置对应的第一适应度函数值小于所述粒子的当前位置对应的第一适应度函数值的情况下,将所述粒子的当前位置更新为所述粒子的局部最优位置。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述粒子的局部最优位置对应的第一适应度函数值等于所述粒子的当前位置对应的第一适应度函数值的情况下,判断所述粒子的局部最优位置对应的第二适应度函数值是否大于或等于所述粒子的当前位置对应的第二适应度函数值,得到第二判断结果;
在所述第二判断结果为是的情况下,则将所述粒子的当前位置更新为所述粒子的局部最优位置。
5.根据权利要求3所述的方法,其特征在于,所述基于每个所述粒子的更新后的局部最优位置,确定所述全局最优位置,包括:
判断第一目标局部最优位置的目标个数是否等于1,所述第一目标局部最优位置为目标第一适应度函数值对应的局部最优位置,所述目标第一适应度函数值为每个所述粒子更新后的局部最优位置对应的第一适应度函数值中的最大值;
若所述目标个数等于1,则将所述第一目标局部最优位置作为所述全局最优位置;
若所述目标个数不等于1,则将第二目标局部最优位置作为所述全局最优位置,所述第二目标局部最优位置为目标第二适应度函数值对应的第一目标局部最优位置,所述目标第二适应度函数值为每个所述第一目标局部最优位置对应的第二适应度函数值中的最小值。
6.根据权利要求1所述的方法,其特征在于,所述预设权重区间为0.85~0.95。
7.根据权利要求1或6任意一项所述的方法,其特征在于,所述预设条件包括n’与n的比值小于第二预设阈值,n’为所述粒子的当前位置对应的资源调度方案中被分配有任务的计算资源的总个数。
8.根据权利要求1所述的方法,其特征在于,所述利用预设范围内的随机数调整所述当前惯性权重,包括:
利用预设范围内的随机数乘以所述粒子对应的当前惯性权重,以得到所述粒子的调整后的当前惯性权重。
9.根据权利要求7所述的方法,其特征在于,所述预设范围为0.95~1.15。
10.根据权利要求1所述的方法,其特征在于,所述通过调整后的当前惯性权重更新所述粒子的当前位置,包括:
对于每个所述粒子,利用所述粒子对应的调整后的当前惯性权重更新所述粒子的当前速度;
对于每个所述粒子,基于所述粒子的更新后的当前速度,更新所述粒子的当前位置。
11.一种资源调度装置,其特征在于,所述装置包括:
位置获取模块,用于获取粒子群中每个粒子的当前位置,所述粒子的当前位置用于表征m1个任务在n个计算资源上的资源调度方案;其中,m1,n为正整数;
适应度值计算模块,用于基于预设的目标适应度函数,计算每个所述粒子的当前位置对应的适应度函数值;
全局最优位置确定模块,用于根据每个所述粒子的当前位置对应的适应度函数值,确定所述粒子群的全局最优位置;
判断模块,用于判断迭代次数是否大于第一预设阈值,得到第一判断结果;
更新模块,用于在所述第一判断结果为否的情况下,对于每个所述粒子,若获取的所述粒子的当前惯性权重在预设权重区间内,且所述粒子的当前位置满足预设条件,则利用预设范围内的随机数调整所述当前惯性权重,并通过调整后的当前惯性权重更新所述粒子的当前位置,将更新后的所述粒子的当前位置发送至所述位置获取模块;
资源调度结果确定模块,用于在所述第一判断结果为是的情况下,基于所述全局最优位置确定资源调度结果。
12.一种资源调度设备,其特征在于,所述设备包括:处理器以及存储有计算机程序指令的存储器;
所述处理器执行所述计算机程序指令时实现如权利要求1-10任意一项所述的资源调度方法。
13.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-10任意一项所述的资源调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010150550.7A CN113360275A (zh) | 2020-03-06 | 2020-03-06 | 资源调度方法、装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010150550.7A CN113360275A (zh) | 2020-03-06 | 2020-03-06 | 资源调度方法、装置、设备和介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113360275A true CN113360275A (zh) | 2021-09-07 |
Family
ID=77523963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010150550.7A Pending CN113360275A (zh) | 2020-03-06 | 2020-03-06 | 资源调度方法、装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113360275A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114489228A (zh) * | 2022-01-26 | 2022-05-13 | 四川大学 | 一种基于改进pso算法的mppt装置及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203412A (zh) * | 2017-05-04 | 2017-09-26 | 电子科技大学 | 一种基于膜***改进粒子群算法的云资源调度优化方法 |
CN107491341A (zh) * | 2017-08-31 | 2017-12-19 | 福州大学 | 一种基于粒子群优化的虚拟机分配方法 |
CN109067834A (zh) * | 2018-06-29 | 2018-12-21 | 南京邮电大学 | 基于振荡式惯性权重的离散粒子群调度算法 |
CN110598941A (zh) * | 2019-09-18 | 2019-12-20 | 河海大学常州校区 | 一种基于仿生策略的粒子群优化制造***双目标排产方法 |
CN110599068A (zh) * | 2019-09-29 | 2019-12-20 | 哈尔滨理工大学 | 一种基于粒子群优化算法的云资源调度方法 |
-
2020
- 2020-03-06 CN CN202010150550.7A patent/CN113360275A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107203412A (zh) * | 2017-05-04 | 2017-09-26 | 电子科技大学 | 一种基于膜***改进粒子群算法的云资源调度优化方法 |
CN107491341A (zh) * | 2017-08-31 | 2017-12-19 | 福州大学 | 一种基于粒子群优化的虚拟机分配方法 |
CN109067834A (zh) * | 2018-06-29 | 2018-12-21 | 南京邮电大学 | 基于振荡式惯性权重的离散粒子群调度算法 |
CN110598941A (zh) * | 2019-09-18 | 2019-12-20 | 河海大学常州校区 | 一种基于仿生策略的粒子群优化制造***双目标排产方法 |
CN110599068A (zh) * | 2019-09-29 | 2019-12-20 | 哈尔滨理工大学 | 一种基于粒子群优化算法的云资源调度方法 |
Non-Patent Citations (2)
Title |
---|
娄建峰等: "基于改进粒子群算法的云计算任务调度算法", 《微电子学与计算机》 * |
盛硕: "云环境下粒子群优化算法的资源调度研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114489228A (zh) * | 2022-01-26 | 2022-05-13 | 四川大学 | 一种基于改进pso算法的mppt装置及方法 |
CN114489228B (zh) * | 2022-01-26 | 2022-11-01 | 四川大学 | 一种基于改进pso算法的mppt装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111711666B (zh) | 一种基于强化学习的车联网云计算资源优化方法 | |
Alkayal et al. | Efficient task scheduling multi-objective particle swarm optimization in cloud computing | |
CN112286677B (zh) | 一种面向资源受限边缘云的物联网应用优化部署方法 | |
CN109829332B (zh) | 一种基于能量收集技术的联合计算卸载方法及装置 | |
CN113708972B (zh) | 一种服务功能链部署方法、装置、电子设备及存储介质 | |
CN106845642B (zh) | 一种带约束云工作流调度的自适应多目标进化方法 | |
CN112988345A (zh) | 一种基于移动边缘计算的依赖型任务卸载方法及装置 | |
CN111813506A (zh) | 一种基于粒子群算法资源感知计算迁移方法、装置及介质 | |
CN113692021A (zh) | 一种基于亲密度的5g网络切片智能资源分配方法 | |
CN114585006B (zh) | 基于深度学习的边缘计算任务卸载和资源分配方法 | |
CN113867843B (zh) | 一种基于深度强化学习的移动边缘计算任务卸载方法 | |
CN113138848A (zh) | 获取资源分配策略的方法、装置、设备及存储介质 | |
CN111988787A (zh) | 一种任务的网络接入和服务放置位置选择方法及*** | |
Dai et al. | A learning algorithm for real-time service in vehicular networks with mobile-edge computing | |
CN113573363A (zh) | 基于深度强化学习的mec计算卸载与资源分配方法 | |
CN112256413A (zh) | 基于物联网的边缘计算任务的调度方法和装置 | |
CN113139639B (zh) | 一种基于mombi面向智慧城市应用多目标计算迁移方法和装置 | |
CN113360275A (zh) | 资源调度方法、装置、设备和介质 | |
CN112445617B (zh) | 一种基于移动边缘计算的负载策略选择方法及*** | |
CN117436485A (zh) | 基于权衡时延和精度的多退出点的端-边-云协同***及方法 | |
CN111930435A (zh) | 一种基于pd-bpso技术的任务卸载决策方法 | |
CN114980216B (zh) | 基于移动边缘计算的依赖型任务卸载***及方法 | |
CN116634401A (zh) | 边缘计算下最大化车载用户满意度的任务卸载方法 | |
CN113783801B (zh) | 一种基于联盟博弈的带宽资源分配方法及*** | |
CN114942799A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210907 |