一种面向资源受限边缘云的物联网应用优化部署方法与流程

文档序号:23757151发布日期:2021-01-29 17:55阅读:120来源:国知局
一种面向资源受限边缘云的物联网应用优化部署方法与流程

[0001]
本发明涉及移动边缘计算的物联网应用部署技术领域,特别是指一种面向资源受限边缘云的物联网应用优化部署方法。


背景技术:

[0002]
针对移动边缘计算的物联网应用部署问题,近年来许多学者都展开了研究,也取得了很多的研究成果。如tong l.等人将边缘云设计为区域分布边缘服务器的树层次结构来提高云资源利用效率,并进一步提出了一种工作负载分配算法来决定将移动应用放置在哪些边缘服务器之上,以及为执行每个移动应用提供多少计算能力。lau f.等人提出了一个针对如何分发和调度作业来最小化所有作业加权响应时间的通用模型,进而提出了一个在速度增强模型中具有可扩展性的在线分发和调度算法。meng j.等人联合考虑了网络带宽和计算资源的管理来满足最大数量的截止日期,进而提出了一个在线算法来贪婪地调度新到达的任务以满足新的最后期限。wu h.等人提出了一种针对移动边缘计算系统中服务选择的启发式算法来解决如何将服务请求的组合服务分配到边缘和云服务器来减少执行时间延迟。chen y.等人提出了一种基于遗传算法的数据密集型服务边缘部署方案来最小化在存储约束和负载均衡条件下数据密集型服务部署的响应时间。bahreini t.等人提出了一个混合整数线性规划公式来解决针对用户位置和网络能力的动态性的多组件应用放置问题,进而最小化运行应用时产生的时间成本。考虑到多个移动用户设备同时将它们的任务卸载到移动边缘云的情况,li k.等人通过引入集中式和分布式贪婪极大调度算法有效地解决了绿色移动边缘计算的多用户多任务计算卸载问题。maharjan s.等人针对边缘服务器的密集部署和一个移动用户有多个相互依赖任务的问题,通过联合优化用户关联和计算卸载来开发一种考虑计算资源分配和传输功率分配的计算卸载算法来最小化整体能耗。上述研究基本上都是通过将某个单一指标作为优化目标展开研究,难以达到在保证执行延迟的情况下减少物联网应用对移动边缘计算环境中的系统效用和网络资源的目的。
[0003]
目前,物联网应用多目标优化部署方面的研究也非常多,如chen x.等人通过对卸载时的通信成本和计算成本进行建模,提出了一种基于博弈论方法的分布式计算卸载算法来解决针对多通道无线干扰或竞争环境下移动边缘计算的多用户计算卸载问题。chen y.等人在移动设备、边缘服务器和云之间的数据传输、用户移动和负载平衡条件不断变化的情况下,制定了一种数据密集型应用程序的边缘部署策略来最大限度地降低移动设备的延迟和最小化应用程序服务提供商的货币成本。deng s等人在考虑边缘服务器资源限制的约束、应用程序的业务逻辑以及应用程序的平均响应时间的情况下,提出了一种在按需计费模型下以最小成本生成适当部署方案的方法。hu b.等人提出了一种满足边缘服务器资源和带宽约束的近似最优的服务分配策略来寻找平均网络时延与负载均衡之间的权衡。wu h.等人将移动计算和移动边缘计算混合任务布置问题形式化为一个多目标优化问题,进而提出了一种具有智能决策能力的高效卸载框架来联合最小化系统效用和每个移动设备的带宽分配。buyya r.等人提出了一种利用微服务独立可部署性和可伸缩性的物联网应用布
局策略来最小化延迟和网络使用率。zhang x.等人提出了一个自适应的任务卸载算法来优化和平衡终端设备的能量消耗和整体任务执行时间。goudarzi m.等人提出了一种基于文化基因算法的并行物联网批量应用布局决策方法来最小化在一个有多个物联网设备、多个fog/edge服务器和云服务器的计算环境中的物联网应用的执行时间和能源消耗。cheng s.等人研究了数据共享移动边缘计算系统中的任务分配算法,进而提出了三种算法分别减少处理全局任务和可分任务所需的延迟和能源消耗。zhang x.等人通过对多用户移动边缘计算系统的多目标资源分配问题的研究,提出了一个基于改进牛顿法和计算卸载优先级概念的低复杂度求解方法来最大限度地减少任务执行延迟和设备能耗。tao x.等人针对移动用户对低能耗、高性能任务的需求,提出了一种任务卸载算法来解决基于资源容量和时延约束的最小化能耗问题。ji y.等人研究了具有非弹性计算任务和不可忽略任务执行时间的多用户移动边缘计算系统的节能资源优化分配方案,并通过将该优化问题与三阶段流水线调度问题相结合,利用约翰逊算法和凸优化技术,提出一种低复杂度的算法来求解次优解。上述研究都通过相应的计算卸载算法解决了对应的联合优化问题,但是它们存在的不足在于所设计的通信成本并没有考虑部署在不同边缘服务器上的任务之间的带宽消耗成本及边缘云的能耗成本。


技术实现要素:

[0004]
针对上述背景技术中存在的不足,本发明提出了一种面向资源受限边缘云的物联网应用优化部署方法,解决了资源受限边缘云中的智慧城市物联网应用过程中边缘云中的能源、处理器资源及带宽资源的消耗过大的技术问题。
[0005]
本发明的技术方案是这样实现的:
[0006]
一种面向资源受限边缘云的物联网应用优化部署方法,其步骤如下:
[0007]
步骤一、根据产生智慧城市物联网应用的物联网设备构建智慧城市移动边缘计算系统模型;
[0008]
步骤二、针对智慧城市移动边缘计算系统模型分别构建资源浪费模型、资源负载不均衡模型、能源消耗模型和带宽资源消耗模型,并根据资源浪费模型、资源负载不均衡模型、能源消耗模型和带宽资源消耗模型构建联合优化目标函数;
[0009]
步骤三、利用染色体编码方案对de算法进行改进,得到改进的de算法;
[0010]
步骤四、利用改进的de算法对联合优化目标函数进行优化求解,输出联合优化目标函数的最小值对应的闲置资源、资源负载不均衡水平、能源消耗的功率和带宽资源的消耗量。
[0011]
所述智慧城市移动边缘计算系统模型包括产生智慧城市物联网应用的物联网设备、包含无线蜂窝基站的边缘云和提供云服务的远端云,产生智慧城市物联网应用的物联网设备通过无线网络与边缘云中的无线蜂窝基站相连接,每个边缘云中的无线蜂窝基站通过光纤回程网络全拓扑互连,并借助互联网络与提供云服务的远端云相连接;所述边缘云中的无线蜂窝基站内部署有虚拟机或容器的边缘服务器,所述提供云服务的远端云内部署有虚拟机或容器的云服务器;当物联网设备提出应用卸载请求时,边缘服务器或云服务器上的虚拟机或容器会协助该物联网设备处理其卸载任务,并将处理结果反馈给物联网设备。
[0012]
所述资源浪费模型为:
[0013][0014]
其中,w表示边缘云中的闲置资源,m'表示启动边缘服务器的总数量,表示第j个边缘服务器中处理器的利用率,表示第j个边缘服务器中内存的利用率,表示第j个边缘服务器中磁盘的利用率,表示第j个边缘服务器中带宽的利用率;m表示边缘服务器的总数量,i=1,2,

,n,n表示虚拟机或容器的总数量,表示第i个虚拟机或容器对某种资源的需求量,表示第j个边缘服务器所拥有的某种资源的总量,z
ij
表示第i个虚拟机或容器是否被分配到第j个边缘服务器上的二进制变量。
[0015]
所述资源负载不均衡模型为:
[0016][0017]
其中,ib表示边缘云的资源负载不均衡水平,ω={cpu、ram、disk、bw}表示边缘服务器所有资源的集合,表示第j个边缘服务器中资源q的使用率。
[0018]
所述能源消耗模型为:
[0019][0020]
其中,p表示已启动边缘服务器所消耗的能源之和,ω1和ω2均表示正的固定多项式系数;表示第j个边缘服务器被启动并未加载任何负载时消耗的功率,表示第j个边缘服务器中cpu的利用率。
[0021]
所述带宽资源消耗模型为:
[0022][0023]
其中,bw表示边缘服务器处理完智慧城市物联网应用所消耗的带宽资源的消耗量,e表示智慧城市移动边缘计算环境中边缘云的总数量,m
e
表示第e个边缘云拥有的已启动边缘服务器数量,m
k
表示第k个边缘服务器上的虚拟机或容器个数,v
l
表示与第k个边缘服务器上的第l个虚拟机或容器共同处理一个智慧城市物联网应用的虚拟机或容器数量,bw
lt
表示第l个虚拟机或容器到第t个虚拟机或容器的带宽值,y
lt
表示第l个虚拟机或容器是否为数据发送端的二进制变量。
[0024]
所述联合优化目标函数f为:
[0025]
min:f=θ1·
w+θ2·
ib+θ3·
p+θ4·
bw,
[0026]
其中,θ1,θ2,θ3,θ4均为正的可调权重因子,且0<θ1,θ2,θ3,θ4<1和θ1+θ2+θ3+θ4=1;data
l
表示第l个虚拟机或容器作为发送端向第t个虚拟机或容器发送的数据量;
[0027]
联合优化目标函数需满足的执行延迟约束条件如下:
[0028][0029]
其中,l表示设定的门槛值;
[0030]
联合优化目标函数需满足的资源约束条件如下:
[0031][0032]
所述利用改进的de算法对联合优化目标函数进行优化求解的方法为:
[0033]
s41、初始化种群规模np,染色体长度d,设置迭代次数g=1,最大迭代次数max gen,最大交叉概率cr
max
,最小交叉概率cr
min
,初始缩放因子f0,边缘云数量e及边缘云上的边缘服务器数量m
e
,e=1,2,...,e;
[0034]
s42、随机初始化np个个体的种群,当前个体为x
n,g
=(v
1n,g
,v
2n,g
,...,v
dn,g
),n=1,2,...,np;
[0035]
s43、计算种群中最差个体的适应度f
max
、最优个体的适应度f
min
、平均适应度值和当前个体x
n,g
的适应度f
n
,其中,适应度即为目标函数;
[0036]
s44、从种群np中随机选择3个不同于当前个体x
n,g
的个体x
r1,g
,x
r2,g
和x
r3,g
,并计算当前个体x
n,g
的缩放因子f
n
=f0·5λ
,其中,r1=1,2,

,np,r2=1,2,

,np,r3=1,2,

,np,且r1≠r2≠r3≠n,
[0037]
s45、根据个体x
r1,g
,x
r2,g
和x
r3,g
对当前个体x
n,g
进行变异操作,得到当前个体x
n,g
的变异向量v
n,g+1
=(v
1n,g+1
,v
2n,g+1
,...,v
dn,g+1
);
[0038]
s46、利用自适应方法对当前个体x
n,g
进行交叉操作,得到尝试向量w
n,g+1
和u
n,g+1

[0039]
s47、分别计算当前个体x
n,g
、变异向量v
n,g+1
、尝试向量w
n,g+1
和u
n,g+1
的适应度值,将最小适应度值对应的个体或向量作为最优个体,并将最优个体作为下一代的当前个体;
[0040]
s48、迭代次数g=g+1,判断g是否达到最大迭代次数max gen,若是,结束迭代,输出最优个体,否则,返回步骤s43,执行下一次迭代。
[0041]
所述根据个体x
r1,g
,x
r2,g
和x
r3,g
对当前个体x
n,g
进行变异操作的计算公式为:
[0042]
v
n,g+1
=x
r1,g
+f
n
·
(x
r2,g-x
r3,g
),
[0043]
其中,v
n,g+1
为当前个体x
n,g
的变异向量。
[0044]
所述利用自适应方法对当前个体x
n,g
进行交叉操作,得到尝试向量w
n,g+1
和u
n,g+1

方法为:
[0045]
计算当前个体x
n,g
的交叉概率:
[0046][0047]
其中,cr
n
为当前个体x
n,g
的交叉概率,cr
max
为最大的交叉概率,cr
min
为最小的交叉概率,f
max
为种群中最差个体的适应度,f
min
为种群中最优个体的适应度,为种群的平均适应度值,f
n
为当前个体x
n,g
的适应度;
[0048]
根据当前个体x
n,g
的变异向量v
n,g+1
和交叉概率计算当前个体x
n,g
的尝试向量u
n,g+1

[0049]
u
n,g+1
=(u
1n,g+1
,u
2n,g+1
,...,u
dn,g+1
),
[0050][0051]
其中,d=1,2,...,d,g=1,2,...,d,r是[0,1]之间的随机数,d
rand
是[1,d]之间的一个随机选择的索引;
[0052]
根据当前个体x
n,g
的变异向量v
n,g+1
和交叉概率计算当前个体x
n,g
的尝试向量w
n,g+1

[0053]
w
n,g+1
=(w
1n,g+1
,w
2n,g+1
,...,w
dn,g+1
),
[0054][0055]
本技术方案能产生的有益效果:
[0056]
(1)本发明通过提出一种智慧城市物联网应用部署方法来找到一种近似最优的部署方案,进而在规定资源和执行延迟约束条件下同时最小化对边缘云的资源浪费、资源不均衡、能源消耗及带宽资源消耗;
[0057]
(2)本发明基于染色体编码方案对de算法的三个基本操作和控制参数进行改进,进而提出一种有效的改进de算法,又通过采用多种优化策略来提高算法的多样性和收敛速度,从而更好地解决智慧城市物联网应用的优化部署问题。
附图说明
[0058]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0059]
图1为本发明的流程图。
[0060]
图2为本发明的智慧城市移动边缘计算系统模型。
[0061]
图3为本发明的染色体编码方案。
[0062]
图4为本发明方法(deodca)与随机部署方法(rd)、首次适配部署方法(ffd)、多目
标组遗传算法(mgga)的资源浪费水平的对比结果。
[0063]
图5为本发明方法(deodca)与随机部署方法(rd)、首次适配部署方法(ffd)、多目标组遗传算法(mgga)的资源负载不均衡水平的对比结果。
[0064]
图6为本发明方法(deodca)与随机部署方法(rd)、首次适配部署方法(ffd)、多目标组遗传算法(mgga)的能源消耗的对比结果。
[0065]
图7为本发明方法(deodca)与随机部署方法(rd)、首次适配部署方法(ffd)、多目标组遗传算法(mgga)的带宽资源消耗的对比结果。
[0066]
图8为本发明方法(deodca)与随机部署方法(rd)、首次适配部署方法(ffd)、多目标组遗传算法(mgga)的执行延迟的对比结果。
具体实施方式
[0067]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0068]
如图1所示,本发明实施例提供了一种面向资源受限边缘云的物联网应用优化部署方法,具体步骤如下:
[0069]
步骤一、根据产生智慧城市物联网应用的物联网设备构建智慧城市移动边缘计算系统模型;智慧城市移动边缘计算通过将云资源(如计算,网络和存储)推送到移动网络的边缘来提供云服务,对无线网络与应用进行融合,使得传统无线接入网具备智能化、应用本地化和近距离部署的条件,从而提供高带宽、低时延的传输能力,其系统模型如图2所示。所述智慧城市移动边缘计算系统模型包括产生智慧城市物联网应用的物联网设备(iot设备)、包含无线蜂窝基站的边缘云(edge clouds,ecs)和提供云服务的远端云(remote cloud,rc),产生智慧城市物联网应用的物联网设备通过无线网络与边缘云中的无线蜂窝基站相连接,每个边缘云中的无线蜂窝基站通过光纤回程网络全拓扑互连,并借助互联网络与提供云服务的远端云相连接;所述边缘云中的无线蜂窝基站内部署有虚拟机(virtual machines,vms)或容器(containers,as)的边缘服务器,所述提供云服务的远端云内部署有虚拟机或容器的云服务器;当物联网设备提出应用卸载请求时,边缘服务器或云服务器上的虚拟机或容器会协助该物联网设备处理其卸载任务(tasks,ts),并将处理结果反馈给物联网设备。考虑到智慧城市中的高层建筑等因素对无线信号有较大的干扰,所有边缘云借助基于全网络拓扑结构的光纤回程网络连接在一起,进而边缘云之间的传播时延是负载独立的。每个边缘云通过部署一些由交换机互连的异构边缘服务器而赋予一定的计算和存储能力,并通过无线蜂窝基站来接收、处理和转发来自iot设备的智慧城市物联网应用卸载请求。考虑到iot设备随机出现并以任意的顺序和时间生成智慧城市物联网应用,所以,智慧城市物联网应用卸载请求的数量会随着时间的不同而时刻改变。同时,考虑到每个智慧城市物联网应用通常都具有一定的时间期限,并被建模为一个体现任务依赖关系的有向无环图,所以应用服务供应商就可以从通信设施供应商租用蜂窝基站来部署和处理这些相互协作的任务。
[0070]
步骤二、针对智慧城市移动边缘计算系统模型分别构建资源浪费模型、资源负载
不均衡模型、能源消耗模型和带宽资源消耗模型,并根据资源浪费模型、资源负载不均衡模型、能源消耗模型和带宽资源消耗模型构建联合优化目标函数;
[0071]
由于边缘云相较于远端云来说具有稀缺和昂贵的处理资源,所以,在将智慧城市物联网应用部署到边缘云时,如何最大限度地提高边缘服务器的资源利用率则是当前关注的重点。对于每个边缘服务器来说,某种资源(如cpu、内存、磁盘和带宽)的利用率是指已用资源占资源总量的比率,边缘云的总资源利用率可以被定义为所有边缘服务器每种资源类型利用率的平均值,该平均值进一步反映了边缘云的闲置资源情况,即,平均值越大,边缘云中的闲置资源数量就越少,反之,则越多。因此,边缘云中的闲置资源(即资源浪费)w对应的资源浪费模型为:
[0072][0073]
其中,w表示边缘云中的闲置资源,m'表示启动边缘服务器的总数量,表示第j个边缘服务器中处理器(cpu)的利用率,表示第j个边缘服务器中内存(ram)的利用率,表示第j个边缘服务器中磁盘(disk)的利用率,表示第j个边缘服务器中带宽(bw)的利用率;m表示边缘服务器的总数量,i=1,2,

,n,n表示虚拟机或容器的总数量,表示第i个虚拟机或容器对某种资源的需求量,表示第j个边缘服务器所拥有的某种资源的总量,z
ij
表示第i个虚拟机或容器是否被分配到第j个边缘服务器上的二进制变量。
[0074]
在提高边缘服务器各种资源利用率的同时,还需要照顾到这些边缘服务器的资源负载均衡程度。所有边缘云的资源负载不均衡水平ib可以用各种资源负载不均衡水平的平均值来获得,因此资源负载不均衡模型为:
[0075][0076]
其中,ib表示边缘云的资源负载不均衡水平,ω表示边缘服务器所有资源的集合即{cpu、ram、disk、bw},表示第j个边缘服务器中资源q的使用率。
[0077]
有关研究表明cpu是最重要的能耗组件,并提出边缘服务器的能耗与其上的cpu利用率呈线性关系,或者分段线性函数。但是现有的研究表明,边缘服务器的能耗依赖于cpu、内存、磁盘和网络接口的综合利用情况,不同类型边缘服务器的能耗模型不同,简单的线性并不适用于很多新机型。根据文献[h.zhao,j.wang,f.liu,q.wang,w.zhang,and q.zheng,"power-aware and performance-guaranteed virtual machine placement in the cloud,"ieee transactions on parallel and distributed systems,vol.29,no.6,
pp.1385-1400,2018.]的研究,多项式模型的拟合误差要小于线性模型和分段线性模型的拟合误差,使用了二次多项式模型建立的边缘服务器的能耗模型更适合实际的边缘服务器,因此能源消耗模型为:
[0078][0079]
其中,p表示已启动边缘服务器所消耗的能源之和,ω1和ω2均表示正的固定多项式系数;表示第j个边缘服务器被启动并未加载任何负载时消耗的功率,表示第j个边缘服务器中cpu的利用率。
[0080]
由于智慧城市物联网应用会被拆分为多个相互协作的任务,并卸载到边缘服务器上交由多个虚拟机或容器构成的集群来协同处理,同时考虑到同一集群中的虚拟机或容器之间会通信,所以该集群处理一个智慧城市物联网应用所需的带宽资源和执行时间直接与集群中的虚拟机或容器所处的位置有直接的关系。这是由于当同一集群中虚拟机或容器在同一个边缘服务器上时,虚拟机或容器之间的通信并不会占用带宽资源和执行时间,反之,则会占用一定数量的带宽资源和执行时间。因此,边缘服务器处理完一批智慧城市物联网应用所消耗的带宽资源对应的带宽资源消耗模型为:
[0081][0082]
其中,bw表示边缘服务器处理完智慧城市物联网应用所消耗的带宽资源的消耗量,e表示智慧城市移动边缘计算环境中边缘云的总数量,m
e
表示第e个边缘云拥有的已启动边缘服务器数量,m
k
表示第k个边缘服务器上的虚拟机或容器个数,v
l
表示与第k个边缘服务器上的第l个虚拟机或容器共同处理一个智慧城市物联网应用的虚拟机或容器数量,bw
lt
表示第l个虚拟机或容器到第t个虚拟机或容器的带宽值,y
lt
表示第l个虚拟机或容器是否为数据发送端的二进制变量,如果是发送端,则y
lt
=1,否则y
lt
=0。
[0083]
在将一批智慧城市物联网应用卸载到边缘云上时,采用何种智慧城市物联网应用部署方法来提高这些边缘云在一定执行延迟情况下的系统效用和带宽资源利用率则是当前需要解决的关键问题。当处理这些智慧城市物联网应用的虚拟机或容器被分配到不同的边缘服务器时,由于这些边缘服务器和其上的虚拟机或容器通常都是异构的,所以不同部署方案对整个智慧城市边缘计算系统的系统效用和带宽资源利用率的影响都是不同的。为了解决这种优化目标不一致的问题,需要通过提出一种智慧城市物联网应用部署方法来找到一种近似最优的部署方案,进而在规定资源和执行延迟约束条件下同时最小化对边缘云的资源浪费、资源不均衡、能源消耗及带宽资源消耗,所述联合优化目标函数f为:
[0084]
min:f=θ1·
w+θ2·
ib+θ3·
p+θ4·
bw
ꢀꢀꢀ
(5),
[0085]
其中,θ1,θ2,θ3,θ4均为正的可调权重因子,且0<θ1,θ2,θ3,θ4<1和θ1+θ2+θ3+θ4=1;data
l
表示第l个虚拟机或容器作为发送端向第t个虚拟机或容器发送的数据量;
[0086]
联合优化目标函数需满足的执行延迟约束条件如下:
[0087][0088]
其中,l表示设定的门槛值;
[0089]
联合优化目标函数需满足的资源约束条件如下:
[0090][0091]
即边缘服务器所具有的资源容量必须多于虚拟机或容器需求资源之和,并且一个虚拟机或容器只能放置到一个服务器上。
[0092]
步骤三、利用染色体编码方案对de算法进行改进,得到改进的de算法;
[0093]
de算法是一种由rainer storn和kenneth price于1995年为求解切比雪夫多项式而提出的基于群体差异的启发式随机搜索算法。该算法的基本思想是利用随机偏差扰动产生新的中间个体,再经过交叉和选择等操作,不断迭代引导搜索过程逼向全局最优解。与其它常见的进化算法不同,该算法采用一个算术运算符来修改个体的内部表示以产生差异,并通过对生成的差异向量进行评估,如果其适应度值优于预定当前个体的适用度,则用新生成的向量替换当前个体。
[0094]
目前,基于被扰动个体和加权差异向量的数量,de算法已经开发了许多不同的优化策略。为了保持种群多样性,de/rand/1/bin策略被采用来随机选择被扰动的向量,进而可以获得如下描述的突变、交叉和选择三种操作;对于第g次迭代,一个种群是由np个d维参数向量x
n,g
=(v
1n,g
,v
2n,g
,...,v
dn,g
),n=1,2,...,np构成,其中,一个d维参数向量表示一个包含d个优化参数的个体。
[0095]
1)差分变异操作:针对每个目标向量x
n,g
,依据公式(8)来生成一个变异向量v
n,g+1
=(v
1n,g+1
,v
2n,g+1
,...,v
dn,g+1
):
[0096]
v
n,g+1
=x
r1,g
+f
·
(x
r2,g-x
r3,g
)
ꢀꢀꢀ
(8),
[0097]
其中,r1≠r2≠r3≠n为随机选择且彼此不同的4个个体,且集群中的参数向量个数必须至少有4个;f∈[0,1)为预先设置的缩放因子,用于控制差分向量(x
r2,g-x
r3,g
)的缩放比例,从而可以对搜索步长进行控制。
[0098]
2)杂交操作:依据下面的公式将目标向量和变异向量进行离散杂交,进而产生一个尝试向量u
n,g+1
=(u
1n,g+1
,u
2n,g+1
,...,u
dn,g+1
)。
[0099][0100]
其中,r是[0,1]之间的随机数;cr是预先设置的交叉概率,且cr∈[0,1],cr=0表示对应向量元素没有杂交;d=1,2,...,d,d
rand
是[1,d]之间的一个随机选择的索引,其确保u
n,g+1
至少从变异向量v
n,g+1
获得一维元素,否则尝试向量u
n,g+1
与x
dn,g
相同,种群不会发生变化。
[0101]
3)选择操作:通过变异操作和杂交操作产生子群体之后,需采用一种贪婪选择操作将子个体与对应的父个体的适应度值f(*)比较,将较优者保存到g+1代群体中,如公式
(10)所示。
[0102][0103]
智慧城市物联网应用部署问题的实质就是依据资源和执行延迟约束规则将应用任务集与边缘云中的边缘服务器资源建立的一种合理映射关系,进而获得尽可能小的联合优化目标函数值。针对上述问题,在制定好染色体编码方案的基础上,对de算法的三个基本操作和控制参数进行改进,进而提出一种有效的改进de算法。
[0104]
依据智慧城市物联网应用部署问题的特点,本发明采用更为简洁、易懂的实数编码方式来对染色体进行编码。在该编码方式中,染色体长度用一批智慧城市物联网应用的任务总数表示,每个基因片段代表一个任务编号,其位值代表该任务分配到某一边缘云中的边缘服务器编号,最终染色体编码方案如图3所示。
[0105]
结合图3可知,每个边缘云具有m
e
个异构边缘服务器;每个智慧城市物联网应用(iot application,简称app)都可以表示为由不同数量和计算资源需求的任务构成,并用有向无环图表示;现将q个智慧城市物联网应用部署到由e个异构边缘云构成的移动边缘计算环境中,每个边缘云中的边缘服务器和每个智慧城市物联网应用中的任务都是从1开始编号。在这里任务总数量要远大于边缘云中的资源数,并被用来表示染色体的长度。那么按照图3的编码方式可以得到对应的解码为:
[0106]
ec1(1):{app1:t1,app2:t1}ec1(2):{app
q
:t1}

ec
e
(m
e
):{app
q
:t
q
}
ꢀꢀꢀ
(11)。
[0107]
为解决智慧城市物联网应用的近似最优化部署问题,需要依据图3的染色体编码方案对标准de算法进行改进。在改进的过程中,主要对算法的种群规模np、交叉概率cr和缩放因子f三个控制参数进行设置,考虑到f和cr两个控制参数包括常数、随机和适应三种设置方法,选取不同的设置方法会对算法的收敛速度、多样性和搜索空间产生较大的影响。为了避免dea算法陷入局部最优和收敛速度慢的问题,本发明采用多种优化策略来提高算法的多样性和收敛速度,从而更好地解决智慧城市物联网应用的近似最优化部署问题。
[0108]
针对控制参数f和cr的自适应策略,由于f的大小与dea算法变异搜索的范围成正向关系,f会随着算法的运行逐渐减少,进而能保证算法初期的种群多样和算法后期的最优解保护,个体x
n
的f
n
随迭代过程自适应变化的过程如式(12)所示;考虑到较大交叉概率cr会增加具有较低适应度的个体进入下一代的概率,较小交叉概率cr会对全局搜索能力和种群多样性非常有利,个体x
n
的杂交概率cr
n
随迭代过程自适应变化的过程如公式(13)来所示;其中,f
max
和f
min
分别表示当前迭代种群中最差个体和最优个体的适应度,表示当前种群的平均适应度值,f
n
表示个体x
n
的适应度(适应度是根据目标函数求得的),cr
max
为最大的杂交概率,cr
min
为最小的杂交概率,f0为初始的缩放因子。
[0109]
f
n
=f0·5λ

[0110][0111]
在算法运行期间,除了变异操作会产生变异向量v
n,g+1
=(v
1n,g+1
,v
2n,g+1
,...,
v
dn,g+1
)和交叉操作会产生尝试向量u
n,g+1
=(u
1n,g+1
,u
2n,g+1
,...,u
dn,g+1
)之外,杂交操作还可以产生另外一个尝试向量w
n,g+1
=(w
1n,g+1
,w
2n,g+1
,...,w
dn,g+1
)来保留遗传信息,如式(14)所示。变异向量v
n,g+1
和尝试向量w
n,g+1
、u
n,g+1
可被用于选择操作来从这三个向量中选择一个适应度最小的个体,如式(15)所示,可以进一步提高算法的收敛速度和种群的多样性。
[0112][0113][0114]
基于上述编码方案,利用这些改进措施对标准差分进化算法进行改进就可以设计出一种基于差分进化算法的物联网应用优化部署方法(differential evolution-based optimal deployment of iot application,deodca)方法,进而可以很好地解决智慧城市物联网应用的近似最优化部署问题。
[0115]
表1 deodca方法的具体实现过程
[0116]
[0117][0118]
如表1所述,算法第1行~第2行为算法的初始化操作,包括参数的初始化,如种群规模np、染色体长度d、最大迭代次数maxgen、最大杂交概率cr
max
、最小杂交概率cr
min
、初始缩放因子f0、边缘云数量e及其上的边缘服务器数量m
e
,e=1,2,...,e,还包括随机初始化包含np个个体的种群;算法第4行~第11行执行变异操作,该操作首先从当前种群中随机选择3个不同个体,并按照它们的适应度从小到大进行排序,然后计算当前个体的缩放因子,最后利用公式(9)对该个体中的d个基因片段进行变异获得变异向量v
n,g+1
,如果某个变异的基因片段的赋值ri超出规定的赋值范围,就需要采用公式将该变异值映射到该赋值范围;算法第12行~第17行执行交叉操作,利用公式(13)计算个体n的交叉概率cr
n
,随后利用公式(10)和(14)产生两个尝试向量u
n,g+1
和w
n,g+1
;算法第18和第20行执行选择操作,为了尽可能利用算法的遗传信息,该操作循环np次从当前个体向量x
n,g
、变异向量v
n,g+1
、尝试向量u
n,g+1
和w
n,g+1
选择最优的个体作为下次迭代的个体;最后,直到适应度最小的那个个体返回为止。
[0119]
步骤四、利用改进的de算法对联合优化目标函数进行优化求解,输出联合优化目标函数的最小值对应的闲置资源、资源负载不均衡水平、能源消耗的功率和带宽资源的消耗量。
[0120]
如表1所示,利用改进的de算法对联合优化目标函数进行优化求解的方法为:
[0121]
s41、初始化种群规模np,染色体长度d,设置迭代次数g=1,最大迭代次数max gen,最大交叉概率cr
max
,最小交叉概率cr
min
,初始缩放因子f0,边缘云数量e及边缘云上的边缘服务器数量m
e
,e=1,2,...,e;
[0122]
s42、随机初始化np个个体的种群,当前个体为x
n,g
=(v
1n,g
,v
2n,g
,...,v
dn,g
),n=1,2,...,np;
[0123]
s43、计算种群中最差个体的适应度f
max
、最优个体的适应度f
min
、平均适应度值和当前个体x
n,g
的适应度f
n

[0124]
s44、从种群np中随机选择3个不同于当前个体x
n,g
的个体x
r1,g
,x
r2,g
和x
r3,g
,并计算当前个体x
n,g
的缩放因子f
n
=f0·5λ
,其中,r1=1,2,

,np,r2=1,2,

,np,r3=1,2,

,np,且r1≠r2≠r3≠n,
[0125]
s45、根据个体x
r1,g
,x
r2,g
和x
r3,g
对当前个体x
n,g
进行变异操作,得到当前个体x
n,g

变异向量v
n,g+1
=(v
1n,g+1
,v
2n,g+1
,...,v
dn,g+1
),计算公式为:
[0126]
v
n,g+1
=x
r1,g
+f
n
·
(x
r2,g-x
r3,g
)
ꢀꢀꢀ
(16),
[0127]
其中,v
n,g+1
为当前个体x
n,g
的变异向量。
[0128]
s46、利用自适应方法对当前个体x
n,g
进行交叉操作,得到尝试向量w
n,g+1
和u
n,g+1
,具体方法如下:
[0129]
计算当前个体x
n,g
的交叉概率:
[0130][0131]
其中,cr
n
为当前个体x
n,g
的交叉概率,cr
max
为最大的交叉概率,cr
min
为最小的交叉概率,f
max
为种群中最差个体的适应度,f
min
为种群中最优个体的适应度,为种群的平均适应度值,f
n
为当前个体x
n,g
的适应度;
[0132]
根据当前个体x
n,g
的变异向量v
n,g+1
和交叉概率计算当前个体x
n,g
的尝试向量u
n,g+1

[0133]
u
n,g+1
=(u
1n,g+1
,u
2n,g+1
,...,u
dn,g+1
)
ꢀꢀ
(18),
[0134][0135]
其中,d=1,2,...,d,g=1,2,...,d,r是[0,1]之间的随机数,d
rand
是[1,d]之间的一个随机选择的索引;
[0136]
根据当前个体x
n,g
的变异向量v
n,g+1
和交叉概率计算当前个体x
n,g
的尝试向量w
n,g+1

[0137]
w
n,g+1
=(w
1n,g+1
,w
2n,g+1
,...,w
dn,g+1
)
ꢀꢀ
(20),
[0138][0139]
s47、分别计算当前个体x
n,g
、变异向量v
n,g+1
、尝试向量w
n,g+1
和u
n,g+1
的适应度值(如公式(15)所示),将最小适应度值对应的个体或向量作为最优个体,并将最优个体作为下一代的当前个体;
[0140]
s48、迭代次数g=g+1,判断g是否达到最大迭代次数max gen,若是,结束迭代,输出最优个体,否则,返回步骤s43,执行下一次迭代。
[0141]
仿真实验:将所提出的deodca方法与一些相关方法进行对比,最后从性能和有效性两方面对这些方法进行仿真实验评价分析。
[0142]
通过对cloudsim仿真软件进行扩展来搭建一个具有25个边缘云和20个iot设备的智慧城市移动边缘计算实验环境。在该实验环境中,每个边缘云由一个借助基于全网络拓扑结构的光纤回程网络与其它基站互连的基站、从整数范围[4,6]中随机指定一定数量的通过交换机互连的异构边缘服务器和多个通过无线接入网络互连的iot设备组成。每个边缘服务器的配置参数从集合{hp proliant g4(即4gb内存,3720mips,1tb磁盘和1gb/s网络带宽),hp proliant g5(即4gb内存,5320mips,1tb磁盘和1gb/s网络带宽)}中随机选择,并
被部署到多个边缘云中。当20个iot设备同时出现并产生一批智慧城市物联网应用时,每个智慧城市物联网应用都被拆分为3个相互协作的任务并依据任务大小被分别指定到60个异构虚拟机上进行处理。每个虚拟机的带宽需求从集合[10,50]mbps中随机选择,发送的数据量从集合[1,2]mb中随机选择,cpu和内存需求从集合{2000mips和3.75gb,500mips和0.6gb,1000mips和1.7gb,2500mips和0.85gb}中随机选择,磁盘需求设置为1gb。两种类型服务器hp proliant g4和hp proliant g被启动并未加载任何负载时消耗的功率分别被设置为86w和93.7w,ω1和ω2的值分别被赋值为1.3048和0.0287。初始化种群规模np被设置为100,染色体长度d被设置为60,最大迭代次数maxgen被设置为2000。可调权重因子θ1,θ2,θ3,θ4的值均被设为1/4。执行延迟的阈值l被设置为2.36s。cr
max
,cr
min
和f0分别被设置为0.9,0.1和0.2。
[0143]
为了评估deodca方法的性能和有效性,将deodca方法与以下基准测试方法进行比较。
[0144]
随机部署方法(random deployment,rd):当有多个边缘服务器候选者满足资源约束条件时,随机选择边缘服务器来运行每个虚拟机。
[0145]
首次适配部署方法(first fit deployment,ffd):当存在多个满足约束条件的候选边缘服务器时,选择首次满足资源需求的那个边缘服务器来运行每个虚拟机。
[0146]
多目标组遗传算法(multi-objective grouping genetic algorithm,mgga):当有多个边缘服务器候选者满足资源约束条件时,通过多目标组遗传算法选择满足资源雪球的那个边缘服务器来运行每个虚拟机。
[0147]
如图3到7所示,由于rd方法是随机部署任务所在的虚拟机,所以它的资源浪费水平和资源不均衡水平是四种方法中是最高;由于ffd方法是采用首次适配方式来部署这些虚拟机,只有最先适配的边缘服务器不能容纳该虚拟机时才会选择下一个边缘服务器来放置,虽然边缘服务器的资源能够得到充分利用,但是其资源浪费水平和资源不均衡水平仍然非常高。mgga采用智能优化算法进行部署,但它仍然比deodca方法的资源浪费水平和资源不均衡水平要高。由于上述原因也导致rd、ffd、mgga和deodca四种部署方法的能源消耗逐渐递减,同样考虑到虚拟机上所放置的任务需要与同一集群中的其它任务进行通信,所以对4种方法的不同虚拟机部署方案所消耗的带宽资源和完成一批智慧城市物联网应用的执行延迟也是逐渐递减。同时由于rd方法的执行延迟超过了执行延迟阈值l,所以不提倡采用该方法进行任务的部署。
[0148]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1