一种基于多目标优化策略的多层次任务调度方法

文档序号:33631072发布日期:2023-03-28 22:57阅读:78来源:国知局
一种基于多目标优化策略的多层次任务调度方法

1.本发明涉及地理信息系统任务调度技术领域,具体涉及一种基于多目标优化策略的多层次任务调度方法。


背景技术:

2.近年来云计算技术逐步应用到了各种专业领域,地理地质三维信息共享平台综合应用物联网、大数据、云计算、bim(building information model)和gis(geographic information system)等高新技术,为智慧铁路、智慧城市提供了真实可靠的实景三维模型和数据,并且充分利用物联网监测数据和物理模型在信息空间全面反映现实世界的重要实体的全生命周期过程。从而实现问题诊断、状态评估、以及未来趋势预测的能力。智能科学预测和决策是不断追寻的关键目标,但当前存在两大挑战。一是地理地质三维信息平台存在地理空间科学中的4个密集型问题:数据密集、计算密集、高并发访问和时空密集。多层次并发任务的响应需求,高效的、稳定的计算资源分配是三维地理地质信息系统建设的重要支撑。二是针对云边端资源浪费和不均衡问题突出,现有的许多方法没有考虑到三维地理地质信息共享的多层次并发任务多目标优化,容易陷入局部优化而无法到达全局最优,这是一个经典的复杂系统组合优化难题,属于计算机科学中的np完全问题。
3.当前地理地质信息云平台中多层次任务调度方法,大多数研究针对云环境中少量任务和单一目标优化的任务调度,在地理地质信息云平台中的多层次任务和三维场景,容易陷入局部最优。不能有效支撑三维信息平台的高并发、高可用性。面向地理地质信息平台多任务高效调度和资源高效利用需求,亟需发展一种适用于地理地质三维信息平台多层次任务并发的任务调度方法。


技术实现要素:

4.为解决现有技术中存在的问题,本发明提供了一种基于多目标优化策略的多层次任务调度方法,通过将多任务分解为独立子任务,然后对独立子任务采用改进的多目标优化萤火虫算法,得到全局最优解,实现对多层次任务的全局最优调度,解决了上述背景技术中提到的问题。
5.为实现上述目的,本发明提供如下技术方案:一种基于多目标优化策略的多层次任务调度方法,包括如下步骤:
6.s1、对地理地质三维信息服务平台的多层次任务进行分解,分解为独立的子任务,具体包括展示性子任务、分析性子任务和探索性子任务;
7.s2、针对独立子任务利用改进的萤火虫算法进行多目标优化策略,对资源利用负载均衡、最优时间跨度进行优化,得到全局最优解。
8.进一步的,在步骤s2中,最优时间跨度目标函数表达式为:f(j)
time
=∑etc(i,j),j=1,2,...,n,etc(i,j)表示任务i在资源j上的占用时间,当云环境中的任务执行完毕,任务整体完成时间为ftime,
9.ftime=max(f(j)
time
),j=1,2,...,n;
10.设所有任务独立非抢占式,虚拟机为独立并行,虚拟机vmj在某时刻的负载为:
11.其中,tasklengthj为虚拟机vmj队列中的任务长度,则全部虚拟机总负载为:vmload
max
=∑tasklength(i,j)
12.虚拟机vmj服务能力定义为:
13.serability(j)=pesnumberj*mipsj+netvmj+ran;
14.其中,pesnumberj为虚拟机vmj的处理器数量,mipsj为每个处理器单位时间产生的指令数量,netvmj为vmj的网络带宽能力,系统最大服务能力为:
15.虚拟机vmj中所有任务的服务时间为:
[0016][0017]
系统全局虚拟机平均服务时间定义为:
[0018][0019]
虚拟机的负载情况使用标准差表示为:
[0020][0021]
当loadlevel
std
越小,代表系统负载越均衡,通过云计算资源负载情况,动态调整任务调度的决策。
[0022]
进一步的,所述动态调整任务调度的决策过程具体包括:计算某时刻虚拟机vmj瞬时服务能力serability(j)∈(0,1),归一化为权矩阵p,
[0023][0024]
通过动态的权矩阵p,动态调整任务调度策略。
[0025]
进一步的,所述改进的萤火虫算法包括:
[0026]
1)对分解的独立任务进行萤火虫编码,将任务和虚拟机进行初始化匹配后形成一个萤火虫实体,每个萤火虫代表一个解;
[0027]
2)确定综合的目标函数,计算萤火虫的目标函数值,即萤火虫的亮度;
[0028]
3)所有萤火虫开始趋光移位,种群迭代直至达到最优或达到最大迭代次数,最后将结果进行输出。
[0029]
进一步的,所述改进的萤火虫算法的具体步骤如下:
[0030]
步骤1、萤火虫编码;
[0031]
步骤2、判断迭代次数是达到最大迭代次数,若达到最大迭代次数,执行步骤10,否则执行步骤3;
[0032]
步骤3、对编码萤火虫进行解码,求得资源与任务间的分配关系,计算出矩阵etc;
[0033]
步骤4、依据矩阵etc计算出萤火虫的适应度函数值,即萤火虫的荧光亮度;
[0034]
萤光亮度计算公式:
[0035][0036]
其中,β0为光源处的吸引度,λ为光吸收系数[0.01-100],r
i,j
为萤火虫i与萤火虫j之间的笛卡尔距离;
[0037]
步骤5、所有萤火虫开始趋光移位:首先对于每只萤火虫,搜索其附近亮度比它高的萤火虫,依据距离公式计算两者之间的距离;然后根据公式计算萤火虫的相对吸引度,萤火虫依此决定下一步的移动方向,由公式更新位置;
[0038]
位置更新公式:
[0039][0040]
其中,α
t
为t时刻的步长因子,α
t
∈[0,1],ε
t
为t时刻服从高斯分布的随机向量;
[0041]
步骤6、检测萤火虫的位置,运用公式控制种群多样性;
[0042]
步骤7、种群迭代次数达到触发混沌扰动的迭代阈值且最优位置连续6次没有更新时执行步骤8,否则执行步骤2;
[0043]
步骤8、依据亮度对萤火虫进行排序,根据负载监测扰动对排在后10%的萤火虫采取扰动;
[0044]
步骤9、计算被扰动的萤火虫在新位置上的适应值,若优于之前的适应值则替换之前的萤火虫,否则不变;将被扰动后的萤火虫与其余90%的萤火虫重新组合,执行步骤2。
[0045]
步骤10、解码全局最优萤火虫,解码结果作为最佳调度方案输出。
[0046]
进一步的,在步骤7中,混沌优化将搜索范围边界的萤火虫重新映射到新的区间,采用tent映射,公式如下:
[0047][0048]
每一维分量映射到(0,1)区间,生成一个新的向量:d=(d1,d2,...,dm),di=(x
i-li)/(u
i-li):
[0049]
其中,xi表示萤火虫第i维度分量,li和ui分别表示该维度的上下边界。
[0050]
进一步的,所述的多目标优化策略包括:使用加权和法将多个目标转化为单个目标函数,具体如下:
[0051][0052]
其中,wi为目标函数fi(x)的加权因子,且单个加权目标函数定义
为:f(x)=w*f1(x)+(1-w)*f2(x);其中f1(x)和f2(x)是两个目标,w是加权系数。
[0053]
本发明的有益效果是:
[0054]
1)本发明方法通过对地理地质三维可视化平台的多粒度任务进行分类和定量描述,确定不同的任务对云环境资源的占用。多层次任务分为展示型任务,分析型任务和探索型任务,针对不同的任务执行环境特点,将耦合的并发任务拆分为独立的子任务队列。对于独立的子任务采用了改进的多目标优化萤火虫算法,分别对资源利用负载均衡、最优时间跨度进行优化,得到全局最优解。
[0055]
2)本发明改进的多目标优化萤火虫算法中主要有三个关键步骤来解决多目标优化和全局最优问题:首先是对任务进行萤火虫编码,将单个任务特点和虚拟机的状态作为萤火虫亮度的初始值;然后萤火虫趋光移位,根据两个目标函数进行迭代直至收敛,最后为了保证萤火虫的种群的多样性,利用动态权矩阵反馈负载信息来调整吸引度,提高算法收敛精度,并设置了随机扰动策略和边界处理机制。
附图说明
[0056]
图1为本发明方法流程架构示意图;
[0057]
图2为任务分解分类示意图;
[0058]
图3为任务表达有向无环图;
[0059]
图4为任务完整流程示意图;
[0060]
图5为任务调度中动态负载反馈机制示意图;
[0061]
图6为萤火虫编码示意图;
[0062]
图7为etc矩阵示意图;
[0063]
图8为改进的多目标优化萤火虫算法步骤示意图。
具体实施方式
[0064]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0065]
实施例1
[0066]
本发明实施例提供一种基于多目标优化策略的展示-分析-探索多层次任务调度方法,以实现对多层次任务的全局最优调度,如图1所示,技术方案包括:
[0067]
1、任务分解
[0068]
对地理地质三维信息云平台对任务进行了分类,和特点分析。地理地三维信息云平台有混合云(异构云)、多数据中心的特点。其中主要的任务体现在对地理地质数据的共享使用,本方法将该场景下的任务分类为展示性任务,分析性任务和探索性任务。
[0069]
展示性任务的特点是对数据可视化表达,将二三维的地理地质数据直观的展示出来。任务主要是数据密集的取数操作,任务的形式化定义公式为:
[0070]
taskv=《userid,data,regine,tasklength》;
[0071]
分析性任务的特点是需要通过复杂计算分析,才能获得隐含信息和结果,可以表
达出数据中包含的特征与关联关系,有大量的密集性计算操作。其形式化任务定义为公式:
[0072][0073]
探索性任务的特点是综合的任务类型,包含展示性和分析性任务,通过人机交互协作,实现数据、人脑、机器智能的有机结合,能够支持知识的归纳和推理诊断等深度分析。其形式化定义为:
[0074][0075]
根据不同的任务类型和任务的提交队列,为每个任务分配优先级,最后根据优先级调度任务。
[0076]
2、任务调度策略
[0077]
本方法对针对三种任务的特点设计了动态的调度策略,对展示-分析-探索性任务进行任务分解,将复杂的耦合任务分解为独立的任务流,形成独立的任务队列。
[0078]
再对独立对任务队列进行任务调度与资源分配,最后进行任务的转发。
[0079]
针对独立子任务队列,采用了多目标优化策略:最优时间跨度、资源负载均衡。利用有向无环图(dag)表示任务的优先级状态。每个任务t代表云环境中的一个任务,每条边代表任务之间的优先级约束,边的权重代表任务之间的通讯成本。
[0080]
最优时间跨度目标是在全局任务执行过程中,任务执行总时间最少,目标函数表达式为:f(j)
time
=∑etc(i,j),j=1,2,...,n;etc(i,j)表示任务i在资源j上的占用时间。当云环境中的任务执行完毕,任务整体完成时间为ftime:
[0081]
ftime=max(f(j)
time
),j=1,2,...,n;
[0082]
资源负载均衡是衡量计算资源是否被高效利用,避免资源出现过载、空闲的场景。负载指被分配到一台虚拟机上的所有任务总长度。假设所有任务独立非抢占式,虚拟机为独立并行的。虚拟机vmj在某时刻的负载为:
[0083]
其中:tasklengthj为虚拟机vwj队列中的任务长度。则全部虚拟机总负载为:vmload
max
=∑tasklength(i,j);
[0084]
虚拟机vmj服务能力定义:
[0085]
serability(j)=pesnumberj*mipsj+netvmj+ran;
[0086]
其中:pesnumberj为虚拟机vmj的处理器数量;mipsj为每个处理器单位时间产生的指令数量;netvmj为vmj的网络带宽能力;所以系统最大服务能力为:
[0087]
虚拟机vmj中所有任务的服务时间为:
[0088][0089]
系统全局虚拟机平均服务时间定义为:
[0090][0091]
虚拟机的负载情况可以使用标准差表示为:
[0092][0093]
当loadlevel
std
越小,代表系统负载越均衡。
[0094]
通过实时监控云计算资源负载情况(包括内存容量、网络带宽、cpu能力、文件大小等参数),动态调整任务调度的决策。
[0095]
所述动态调整任务调度的过程包括:
[0096]
计算某时刻虚拟机vmj瞬时服务能力serability(j)∈(0,1),归一化为权矩阵通过动态的权矩阵,动态调整任务调度策略。
[0097]
本方法提出主要针对两个目标进行优化:最小时间跨度,资源利用负载均衡。
[0098]
目标1:
[0099]
目标2:
[0100]
本方法利用启发式算法进行任务调度优化,选择并改进了萤火虫算法进行多目标优化,该算法有收敛快、避免陷入局部最优的优点。
[0101]
本方法对萤火虫算法做了三个方面的改进:增加了萤火虫初始值优化策略、以及动态扰动策略、以及多目标优化策略。
[0102]
1、通过对任务的分类和描述,在对任务进行编码时,顾及任务特点和虚拟机当前资源状态,生成更准确的编码初始值,有利于算法的快速迭代。
[0103]
2、增加多目标函数优化策略:传统萤火虫算法直是将一个目标函数值映射为萤火虫的亮度值,单一目标优化不适用于地理地质信息共享平台的多层次任务调度需求。本方法中使用加权和法将多个目标(负载均衡、最小时间跨度)转化为单个目标函数问题进行优化求解。
[0104]
3、增加动态扰动策略,将亮度值最低的10%萤火虫进行扰动,从而增加种群多样性,提高算法全局优化能力
[0105]
多目标优化策略:使用加权和法将多个目标转化为单个目标函数问题。目标函数如下:
[0106][0107]
wi为目标函数fi(x)的加权因子,且
[0108]
算法的基本条件为:
[0109]
所有萤火虫都是不区分性别的,这意味着无论性别如何,它们都会被其他萤火虫所吸引。
[0110]
萤火虫的吸引力与其亮度成正比。对于任何两只闪烁的萤火虫,亮度越低的萤火虫会向较亮的萤火虫移动,亮度越大意味着萤火虫之间的距离越小。如果没有人比特定的萤火虫更亮,它会随机移动。
[0111]
萤火虫的亮度由目标函数的值决定。
[0112]
算法有三个部分:
[0113]
第一是对分解的独立任务进行萤火虫编码,将任务和虚拟机进行初始化匹配后形成一个萤火虫实体,每个萤火虫代表一个解。
[0114]
第二是确定综合的目标函数,计算萤火虫的目标函数值,即萤火虫的亮度。
[0115]
第三是所有萤火虫开始趋光移位,种群迭代直至达到最优,或者达到最大迭代次数。最后将结果进行输出。
[0116]
为了避免算法迭代时陷入局部最优,利用混沌优化将搜索范围边界的萤火虫重新映射到新的区间。本方法采用tent映射,公式如下:
[0117][0118]
当算法迭代速度减缓时,根据萤火虫目标函数值进行排序筛选,对目标函数值最低的10%进行扰动。利用tent映射生成新的序列,作为萤火虫的新位置,如果该位置的目标函数值优于之前,则替换原来的位置,并重新组合进入下一轮搜索。
[0119]
本发明对地理地质信息平台多层次任务分为三类:展示型任务、分析型任务和探索型任务。在具体业务中存在多种任务关联耦合,所以本发明首先对任务分类分解为多层级的独立任务,然后采用萤火虫算法思维,构建了任务调度与萤火虫之间的映射关系。基于多目标优化策略的展示-分析-探索多层次任务调度方法,形成改进的萤火虫算法来实现任务的全局最优调度、负载均衡和较短时间跨度的多目标优化。
[0120]
实施例2
[0121]
本发明实施例提供一种基于多目标优化策略的多层次任务调度方法,包括如下步骤:
[0122]
首先对地理地质三维信息云平台对任务进行了分类,将该场景下的任务分类为展示性任务,分析性任务和探索性任务,如图1所示。将三种任务又分为数据密集性型任务、计算密集型任务、交互密集型任务、跨数据中心任务,如图2所示。
[0123]
进行任务的分解,将耦合的关联任务表达为有向无环图(dag)。如图3所示,每个任务t代表云环境中的一个任务,每条边代表任务之间的优先级约束,边的权重代表任务之间的成本,具体定义方式为:各个分支的有向边的权重c
ij
定义为分支中代价的最大值。
[0124]
如图4所示,对独立的任务进行任务流接收、任务调度、和任务转发。其中任务调度过程中增加了动态负载反馈机制,如图5所示,虚拟机的负载会反馈到任务调度阶段。
[0125]
任务调度设置了两个优化目标:最优时间跨度,资源负载均衡。
[0126]
最优时间跨度目标是在全局任务执行过程中,任务执行总时间最少,目标函数表达式为:f(j)
time
=∑etc(i,j),j=1,2,...,n;
[0127]
其中,etc(i,j)表示任务i在资源j上的占用时间。当云环境中的任务执行完毕,任务整体完成时间为ftime:
[0128]
ftime=max(f(j)
time
),j=1,2,...,n;
[0129]
任务的时间makespan将是图表中所有任务完成的时间。
[0130][0131]
其中
[0132]
_x001d_载均衡是衡量计算资源是否被高效利用,避免资源出现过载、空闲的场景。负载指被分配到一台虚拟机上的所有任务总长度。假设所有任务独立非抢占式,虚拟机为独立并行的。虚拟机vmj在某时刻的负载为:
[0133]
其中:tasklengthj为虚拟机vmj队列中的任务长度。则全部虚拟机总负载为:vmload
max
=∑tasklength(i,j);
[0134]
虚拟机vmj服务能力定义:
[0135]
serability(j)=pesnumberj*mipsj+netvmj+ran;
[0136]
其中:pesnumberj为虚拟机vmj的处理器数量;mipsj为每个处理器单位时间产生的指令数量;netvmj为vmj的网络带宽能力。所以系统最大服务能力为:
[0137][0138]
虚拟机vmj中所有任务的服务时间为:
[0139][0140]
系统全局虚拟机平均服务时间定义为:
[0141][0142]
虚拟机的负载情况可以使用标准差表示为:
[0143][0144]
当loadlevel
std
越小,代表系统负载越均衡。
[0145]
通过实时监控云计算资源负载情况(包括内存容量、网络带宽、cpu能力、文件大小等参数),动态调整任务调度的决策。
[0146]
所述动态调整任务调度的过程包括:
[0147]
计算某时刻虚拟机vmj瞬时服务能力serability(j)∈(0,1),通过动态权矩阵调整任务调度策略。
[0148]
利用萤火虫算法多目标优化调度策略
[0149]
本方法提出主要针对两个目标进行优化:最小时间跨度,资源利用负载均衡。
[0150]
目标1:
[0151]
目标2:
[0152]
多目标优化策略:使用加权和法将多个目标转化为单个目标函数问题。
[0153]
目标函数如下:
[0154][0155]
其中,wi为目标函数fi(x)的加权因子,且单个加权目标函数定义为:f(x)=w*f1(x)+(1-w)*f2(x);其中其中f1(x)和f2(x)是两个目标,w是加权系数。
[0156]
算法的基本条件为:所有萤火虫都是不区分性别的,这意味着无论性别如何,它们都会被其他萤火虫所吸引;
[0157]
萤火虫的吸引力与其亮度成正比,对于任何两只闪烁的萤火虫,亮度越低的萤火虫会向较亮的萤火虫移动,亮度越大意味着萤火虫之间的距离越小。如果没有人比特定的萤火虫更亮,它会随机移动。
[0158]
改进的多目标优化萤火虫算法,如图8所示,步骤流程如下:
[0159]
n:为萤火虫数量(也代表n个解);np是大小为n的种群;t为迭代次数,下一次迭代的种群数量;s是任务流中任务调度,f(x)为目标函数,r
t
和q
t
为大小为n的新种群,萤火虫编码如图6所示。
[0160]
步骤1、初始化种群(任务调度萤火虫编码),设定算法参数、最大吸引度、步长因子等。
[0161]
步骤2、判断迭代次数是达到最大迭代次数,若达到最大迭代次数,执行步骤10,否则执行步骤3。
[0162]
步骤3、对编码萤火虫进行解码,求得资源与任务间的分配关系,计算出矩阵etc,如图7所示。
[0163]
步骤4、依据矩阵etc计算出萤火虫的适应度函数值(目标函数:表达多维的优化目标),即萤火虫的荧光亮度。
[0164]
萤光亮度计算公式:
[0165][0166]
其中,β0为光源处的吸引度,λ为光吸收系数[0.01-100],r
i,j
为萤火虫i与萤火虫j之间的笛卡尔距离。
[0167]
步骤5、所有萤火虫开始趋光移位:首先对于每只萤火虫,搜索其附近亮度比它高的萤火虫,依据距离公式计算两者之间的距离;然后根据公式计算萤火虫的相对吸引度,萤火虫依此决定下一步的移动方向,由公式更新位置。
[0168]
位置更新公式:
[0169][0170]
α
t
为t时刻的步长因子,α
t
∈[0,1],ε
t
为t时刻服从高斯分布的随机向量。
[0171]
步骤6、检测萤火虫的位置,运用公式控制种群多样性。
[0172]
步骤7、种群迭代次数达到触发混沌扰动的迭代阈值且最优位置连续6次没有更新时执行步骤8,否则执行步骤2。
[0173]
混沌优化将搜索范围边界的萤火虫重新映射到新的区间,采用tent映射,公式如下:
[0174][0175]
每一维分量映射到(0,1)区间,生成一个新的向量:d=(d1,d2,...,dm),di=(x
i-li)/(u
i-li)
[0176]
其中,xi表示萤火虫第i维度分量,li和ui分别表示该维度的上下边界。
[0177]
步骤8、依据亮度对萤火虫进行排序,根据本文的负载监测扰动对排在后10%的萤火虫采取扰动。
[0178]
步骤9、计算被扰动的萤火虫在新位置上的适应值,若优于之前的适应值则替换之前的萤火虫,否则不变。将被扰动后的萤火虫与其余90%的萤火虫重新组合,执行步骤2。
[0179]
步骤10、解码全局最优萤火虫,解码结果作为最佳调度方案输出。
[0180]
本发明通过对地理地质三维可视化平台的多粒度任务进行分类和定量描述,确定不同的任务对云环境资源的占用。多层次任务分为展示型任务,分析型任务和探索型任务,针对不同的任务执行环境特点,将耦合的并发任务拆分为独立的子任务队列。对于独立的子任务采用了改进的多目标优化萤火虫算法,分别对服务质量qos,资源利用负载均衡、最优时间跨度进行优化,得到全局最优解。算法中主要有三个关键步骤来解决多目标优化和全局最优问题:首先是对任务进行萤火虫编码,将单个任务特点和虚拟机的状态作为萤火虫亮度的初始值;然后萤火虫趋光移位,根据三个目标函数进行迭代直至收敛,最后为了保证萤火虫的种群的多样性(快速收敛),利用动态权矩阵反馈负载信息来调整吸引度,提高算法收敛精度,并设置了随机扰动策略和边界处理机制。
[0181]
尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1