Loading [MathJax]/jax/output/HTML-CSS/jax.js
高级搜索

留言板

尊敬的读者、作者、审稿人, 关于本刊的投稿、审稿、编辑和出版的任何问题, 您可以本页添加留言。我们将尽快给您答复。谢谢您的支持!

姓名
邮箱
手机号码
标题
留言内容
验证码

基于集群协作的云雾混合计算资源分配和负载均衡策略

杨守义 成昊泽 党亚萍

杨守义, 成昊泽, 党亚萍. 基于集群协作的云雾混合计算资源分配和负载均衡策略[J]. 电子与信息学报, 2023, 45(7): 2423-2431. doi: 10.11999/JEIT220719
引用本文: 杨守义, 成昊泽, 党亚萍. 基于集群协作的云雾混合计算资源分配和负载均衡策略[J]. 电子与信息学报, 2023, 45(7): 2423-2431. doi: 10.11999/JEIT220719
YANG Shouyi, CHENG Haoze, DANG Yaping. Resource Allocation and Load Balancing Strategy in Cloud-fog Hybrid Computing Based on Cluster-collaboration[J]. Journal of Electronics & Information Technology, 2023, 45(7): 2423-2431. doi: 10.11999/JEIT220719
Citation: YANG Shouyi, CHENG Haoze, DANG Yaping. Resource Allocation and Load Balancing Strategy in Cloud-fog Hybrid Computing Based on Cluster-collaboration[J]. Journal of Electronics & Information Technology, 2023, 45(7): 2423-2431. doi: 10.11999/JEIT220719

基于集群协作的云雾混合计算资源分配和负载均衡策略

doi: 10.11999/JEIT220719
基金项目: 国家重点研发计划跨政府合作专项(2016YFE0118400),河南省自然科学基金(202300410482),郑州市重大科技创新专项(2019CXZX0037)
详细信息
    作者简介:

    杨守义:男,教授,研究方向为MIMO通信、毫米波通信、移动计算等

    成昊泽:男,硕士生,研究方向为边缘计算、雾计算、无线通信等

    党亚萍:女,硕士生,研究方向为移动边缘计算、无线通信等

    通讯作者:

    杨守义 iesyyang@zzu.edu.cn

  • 中图分类号: TN929.5

Resource Allocation and Load Balancing Strategy in Cloud-fog Hybrid Computing Based on Cluster-collaboration

Funds: The National Key R&D Program Intergovernmental Cooperation Special Project (2016YFE0118400), The Natural Science Foundation of Henan Province (202300410482), Zhengzhou Major Science and Technology Innovation Special (2019CXZX0037)
  • 摘要: 针对物联网(IoT)中智能应用快速增长导致的移动网络数据拥塞问题,该文构建了一种基于雾集群协作的云雾混合计算模型,在考虑集群负载均衡的同时引入权重因子以平衡计算时延和能耗,最终实现系统时延能耗加权和最小。为了解决该混合整数非线性规划问题,将原问题分解后采用库恩塔克(KKT)条件和二分搜索迭代法对资源配置进行优化,提出一种基于分支定界的开销最小化卸载算法(BB-OMOA)获得最优卸载决策。仿真结果表明,集群协作模式显著提高了系统负载均衡度,且所提策略在不同参数条件下明显优于其他基准方案。
  • 当今社会科技革命和产业变革突飞猛进,物联网(Internet of Things,IoT)的飞速发展催生了数以亿计的移动智能应用,例如自动驾驶、增强现实、视频业务等[1,2]。由于有限的计算能力和电池容量,用户的移动设备无法满足这些智能应用的计算需求[3]

    移动云计算(Mobile Cloud Computing, MCC)将本地计算任务卸载到远程云服务器中以扩展移动设备的计算能力[4]。但受限于主干链路的容量限制和网络波动,MCC常会导致额外的传输延迟和能量损耗,这严重降低了卸载效率[5]。 因此雾计算(Fog Computing, FC)作为云计算的延伸应运而生,它既具备较强的计算存储能力又更靠近终端层网络,缓解核心网络压力的同时极大地提高了服务质量(Quality of Service, QoS)和资源利用率[6]

    在面临交通拥堵、大型集会等场景时,由于移动用户计算任务的区域性激增,会导致局部网络拥塞和服务器过载,从而产生额外的丢包率和计算时延,甚至出现服务器单点失效现象[7]。而服务器集群技术可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的较高收益,任务调度则是集群系统中的核心问题。如何有效规划任务调度策略和资源管理,既维持整体系统的负载均衡又保证用户时延和能耗最小化,这也是本文研究的重点之一。

    近年来,已有许多学者对云雾系统中的卸载决策和资源分配问题进行了研究。文献[8]研究了基于雾计算的软件定义嵌入式系统,设计了一种结合系统存储容量的任务调度策略,尽量减少用户计算任务的完成时间。文献[9]考虑了雾服务提供商的成本,在执行时间阈值和用户优先级的约束下讨论了时延最小化问题。文献[10]提出效用函数和功耗的加权和问题,结合了交替方向乘子法和近端最小化算法将全局问题分解为多个子问题,实现了系统目标函数最小。文献[11]研究了雾环境下负载均衡的动态资源分配问题,通过静态资源分配和动态服务调度实现了雾计算系统的负载均衡。文献[12]研究了云边网络中时间能耗加权和最小化问题,提出两种算法分别优化计算频率、发射功率以及匹配策略,实现了系统效用函数最小化。但是,上述研究主要集中在传统云雾场景下对单因素或双因素的优化,均未考虑利用集群技术及集群间的协作模式解决计算任务区域性激增时多用户多节点的时延、能耗和负载均衡综合问题。针对上述问题,本文贡献如下。

    (1) 在3层云雾混合计算模型中,通过联合优化计算资源、通信资源和任务调度策略,提出了SLEC (System Latency-Energy Cost)最小化问题。在硬约束条件下,通过集群协作模式实现负载均衡的同时满足系统时延和能耗加权和最小化。

    (2) 由于各变量的复杂耦合,上述问题是一个混合整数非线性规划问题,无法直接求解。首先将原问题进行分解,经理论证明后通过库恩塔克(Karush-Kuhn-Tucker, KKT)条件和二分搜索迭代法分别优化计算和通信资源分配。然后提出基于分支定界的开销最小化卸载算法来寻找最优的任务调度策略。最终通过迭代资源分配结果和卸载决策达到全局最优解,实现最小化系统时延能耗加权和。

    (3)实验结果表明,本文所提集群协作架构与传统计算方案相比具有显著优势,本文所提算法能够获得更低的时延和能耗,具有良好的收敛性。

    本文提出一个基于集群协作的云雾混合计算模型,如图1所示由3层网络架构组成。

    图 1  基于集群协作的云雾混合计算模型

    其中终端用户层包含U个用户,由U={1,2,,U}表示。N个具有计算和存储能力的分布式雾集群共同构成雾层,表示为N={1,2,,N}。每个雾集群(Fog Cluster, FC)由负载控制器(Load Controller, LC)和多个具有计算存储能力的网络边缘设备(如路由器、微基站、智能车辆、交换机等)构成。每个FC都有一个覆盖区域,用户层被N个FC完全覆盖且覆盖区域彼此没有重叠。集中式云服务器d构成云层,它通过广域网(Wide Area Network, WAN)与雾层中各个FC形成稳定的双向链路。

    雾集群协作(Fog Cluster Collaboration, FCC)指的是当本集群计算任务负载过大时将部分任务通过LC迁移至另一集群进行协作并行计算,此模式有利于实现全局负载均衡。LC能够收集全局信息并且负责接收和转发计算任务,各集群中的LC端到端链接形成算力调节网络,从而实现FCC模式。假设云雾混合计算架构在任务迁移过程中是准静态模式[13],且传输时的信道状态和网络拓扑结构是固定的。

    定义用户uU的计算任务为Appu,各用户的任务之间不存在依赖性且计算任务是不可分割的。用户u的任务属性由数组对表示为Appu=Lu,Cu,其中Lu(bit)代表任务数据量,包含任务类别和指令代码等参数,Cu(megacycle)代表完成此任务需要的CPU周期数。

    (1)本地计算模型:指计算任务在用户端由移动设备自行处理。各用户具有不同的计算能力,用户u在本地计算的时间为

    Tlu=Cuflu (1)

    根据文献[1,14],移动设备CPU的功耗是关于计算频率的超线性函数,表示为Plu=κl(flu)ϕPlu为用户u的本地计算功耗,本文中ϕ取2。所以用户在本地计算的能耗为

    Elu=PluTlu=κlfluCu (2)

    其中,flu表示移动设备u的计算能力。κl是设备能量转换系数,本文中设置κl=106

    (2)卸载计算模型:卸载计算包含雾计算和云计算。雾计算指计算任务被卸载至雾层并由其中一个雾集群执行。云计算是将任务交由集中式云服务器d计算。假设每个雾集群的计算资源被所有卸载到此集群的用户所共享,定义雾集群n的最大承载计算能力为Fn。雾计算模式下,用户u的任务在集群n的计算时延和能耗为

    Tn,exeu=Cufn,eu (3)
    En,exeu=κefn,euCu (4)

    其中,fn,eu表示雾集群n分给移动用户u的计算频率,κe为能量转换系数。当启动云计算模式时,用户u的计算任务在云服务器d的执行时间为

    Td,exeu=Cufdu (5)

    如文献[15],在云计算模式下本文不考虑中心云服务器产生的计算能耗。由于云服务器具有强大的计算能力,能够为用户提供充足的算力,因此如文献[16]一样,本文云服务器的计算频率是固定的,即不考虑对选择云计算模式的用户进行资源配置。

    本文将任务留在本集群中计算的模式命名为近端卸载(Proximal Offloading, PO),这种模式节省了额外的传输时间。若用户所在集群的任务累积负载较大,集群中的LC会将部分任务迁移到轻负载集群执行以实现全局负载均衡这种模式命名为远端卸载(Remote Offloading, RO)。所有的计算节点用S={0}{1,2,,N,N+1}表示,其中0代表用户的移动设备,1,2,,N表示N个雾集群,N+1为集中式云服务器。式(6)定义2元决策变量bu,s{0,1}为用户的任务执行策略。

    bu,s={bu,0=1,Nn=1bu,n=1,bu,n+1=1, (6)

    (1)近端卸载:通过无线信道将任务上传至区域内的LC中,然后由LC传输至本集群内具有计算能力的网络边缘设备中执行。定义K(n)=Uu=1bu,n为集群n中需要卸载的用户数,总带宽BK(n)个卸载用户均分。为了避免任务上传时集群内的用户间干扰,采用正交频分多址(Orthogonal Frequency Division Multiple Access, OFDMA)技术进行正交子信道分配。因此用户u的信息传输速率可以表示为

    Ru(ptu,K(n))=BK(n)log2(1+ptuHuBN0/BN0K(n)K(n)) (7)

    其中,ptu代表用户u的上传功率。Hu是用户u与负载控制器的无线信道增益,BN0分别为信道总带宽和噪声功率密度。在近端卸载模式下,用户u的任务传输能耗和时间分别为

    Ttransu=LuRu(ptu,K(n)) (8)
    Etransu=ptuTtransu=LuptuRu(ptu,K(n)) (9)

    类似于文献[16,17],由于计算任务的输出数据量远小于任务的输入数据量,本文不考虑计算输出结果的回传时间和能耗开销。

    (2)远端卸载:假设FC之间的数据传输速率是固定的,用Rnn表示。FC与集中式云服务器d间的传输速率为Rdn。所以用户u的计算任务由集群n迁移至集群n和云服务器d的时延分别为

    Ttransn,n=LuRnn (10)
    Ttransn,d=LuRdn (11)

    综上所述,考虑到用户任务的计算模型、通信模型和卸载策略,在基于集群协作的云雾混合计算中用户u的计算任务总执行时间和总能耗分别为

    T=bu,0Tlu+bu,n(Ttransu+Tn,exeu+Ttransn,n)+bu,n+1(Ttransu+Td,exeu+Ttransn,d) (12)
    E=bu,0Elu+bu,n(Etransu+En,exeu)+bu,n+1Etransu (13)

    本文提出联合计算、通信资源分配和任务调度策略的优化模型,在考虑系统负载均衡的同时满足时延和能耗开销(System Latency-Energy Cost, SLEC)最小化。

    定义1 SLEC是用户在任务调度决策下执行某种计算方式(本地计算、雾计算或者云计算)时产生的时延和能耗加权和,表示为SLECu=αuT+βuEαu[0,1]βu[0,1]是权重因子,分别用来衡量用户u对任务完成时间和能量消耗的偏好。

    定义2 Ln=Uu=1bu,nCu为集群n的负载量,表示集群内用户计算量的总和。LBD为负载均衡度(Load-banlancing Degree, LBD),它由系统中各集群任务负载量方差的倒数表示,其值越小代表负载分配越均衡。LBD=N/Nn=1[Ln¯L]2,其中¯L代表雾集群的平均负载值。

    本文负载均衡的实现采用分布式策略,在集群可承载计算总量和用户数阈值的约束下,通过负载控制器的预处置寻求全局最优雾节点,从而实现系统LBD最小化。LC从用户层接收任务描述,根据各用户任务计算量的大小,将任务映射到雾层最佳可用资源上实现网络路由和资源管理,最终执行雾集群的选择,实现负载均衡的同时满足系统时延和能耗最小化。

    本文目的是从资源分配和负载均衡两个角度出发,联合优化pu, fn,eu和卸载决策bu,s从而使整个系统的SLEC=Uu=1SLECu最小化。基于此构建了一个联合资源分配和负载均衡(Joint Resource Allocation and Load Balance, JRALB)模型来表示SLEC最小化问题

    OPT-1:minfn,eu,ptu,bu,sUu=1SLECus.t.C1:bu,s{0,1},uUC2:N+1n=1bu1,uUOC3:Nn=1bu,nfn,euFn,uUO,nNC4:0ptupmaxu,uUOC5:0Uu=1bu,nCapn,uUO,nN} (14)

    其中,UO={1,2,,Uoff}是所有选择卸载计算的用户集合,Fn表示雾集群n正常负载状态的计算资源阈值,Capn表示雾集群n能够容纳的最大用户数。C1C2确保每位用户只能选择一种计算方式。C3保证了雾集群n的计算资源分配总和不会导致其进入过载状态。C4规定了卸载过程中传输功率的上下阈值。C5表示雾集群服务的用户数必须在其容纳范围内。

    根据目标函数OPT1及其约束条件可以看出JRALB是一个混合整数非线性规划问题(Mixed-Integer NonLinear Programming, MINLP),它是非确定多项式难度(Non-deterministic Polynomial hard, NP-hard)问题且难以直接求解。由于优化变量间互不耦合,因此将JRALB问题分解为两个独立的子问题:资源分配和卸载决策

    OPT-1:minbu,s{minfn,eu,ptuUoffu=1SLECu},s.t.C1C5 (15)

    本节在特定的卸载策略下对资源分配问题即最佳计算频率fn,eu和最优传输功率ptu进行优化。只有当用户选择卸载计算时资源分配问题成立,所以 JRALB问题又可以表示为

    OPT-2:minfn,eu,ptuUoffu=1[αu(Ttransu+Tn,exeu+Ttransn,n)+βu(Etransu+En,exeu)],s.t.C3:Nn=1bu,nfn,euFn,uUO,nN,C4:0ptupmaxu,uUO (16)

    将式(3)、式(4)和式(8)—式(10)代入式(16),问题OPT-2可被转化为

    OPT-2:minfn,eu,ptuUoffu=1(αuCu+αuLufn,eu/αuLufn,euRnn+βuκeCufn,e2uRnn+βuκeCu(fn,eu)2fn,eu+αuLuK(n)+βuLuK(n)ptuBlog2(1+(K(n)Huptu)/BN0)) (17)

    由式(17)可以看出,fn,euptu是独立的,且约束C3C4也是互不耦合的。本文选择用二分搜索迭代法和KKT条件分别求解最佳的传输功率ptu和计算频率fn,eu

    (1)计算频率分配:LC分配给用户u的最佳计算频率fn,eu通过优化子问题OPT3得到

    OPT-3:minfn,euUoffu=1αuCu+αuLufn,eu/Rnn+βuκeCu(fn,eu)2fn,eu,s.t.Nn=1bu,nfn,euFn,uUO,nN (18)

    μu=αuCu, δnu=αuLu/αuLuRnnRnn, θu=βuκeCu,则g(fn,eu)=μu+δnufn,eu+θu(fn,eu)2fn,eu。通过计算g(fn,eu)关于fn,eu的2阶导,可得到2g/(fn,eu)2=(2μu/2μufn,e3u(fn,eu)3)>02g/2gfmr2(fmr)2=0(u,nr,m)

    由此得出子问题OPT-3是一个凸优化问题,本文采用KKT条件来优化计算频率分配问题。令Un表示卸载到雾集群n的用户集合,式(18)的拉格朗日函数为

    L(f,ρ)=nNuUnμu+δnufn,eu+θu(fn,eu)2fn,eu+nNρn(uUnfn,euFn) (19)

    h(fn,eu)=FnNn=1bu,nfn,eu,其中ρ=[ρ1,ρ2,,ρn]T为拉格朗日乘子向量且ρR+

    定理1(KKT条件):若fn,eu是子问题OPT3的局部极小值,有效约束集是I(fn,eu)={i|hi(fn,eu)=0,i=1,2,,N},并设g(fn,eu)hi(fn,eu)fn,eu处可微。若向量组hi(fn,eu)(iI(fn,eu))线性无关,则存在向量ρ=(ρ1,ρ2,,ρn)T使得

    g(fn,eu)Nn=1ρihi(fn,eu)=0ρi0,ρihi(fn,eu)=0,i=1,2,,N} (20)

    所以通过OPT3解得在卸载计算模式下雾集群n分配给用户u的最优计算频率fn,eu

    fn,eu=FnμuFn2θu+uUnμuFn2uUnθu (21)

    (2)用户上行传输功率:通过最小化OPT-4可以得到用户u的最优传输功率ptu

    OPT-4:minptuUu=1αuLuK(n)+βuLuK(n)ptuBlog2(1+K(n)Huptu/BN0),s.t.0ptupmaxu,uUO (22)

    y(ptu)=ηnu+χnuptulog2(1+εnuptu),其中ηnu=αuLuK(n)B, χnu=βuLuK(n)B, εnu=K(n)HuBN0。在文献[1]中已证明优化目标y(ptu)为拟凸函数,因此可以采用二分搜索法解决拟凸优化问题,保证每个用户得到最优的上行传输功率,如算法1所示。其中s(ptu)y(ptu)1阶导数的分子项。

    算法1 基于二分搜索迭代法的传输功率分配算法
     初始化:传输功率范围0、pmaxu,收敛阈值γ
     (1) 根据式(23)计算s(pmaxu)
     (2) if s(pmaxu)0 then
     (3)  ptu=pmaxu
     (4) else
     (5)  初始化参数pvu=0,pru=pmaxu
     (6)   plu=(pvu+pru)/(pvu+pru)22
     (7)   if s(plu)0 then
     (8)    pvu=plu
     (9)   else
     (10)    pru=plu
     (11)   end if
     (12) until (prupvu)γ
     (13)   pmaxu=(pru+pvu)/(pru+pvu)22
    下载: 导出CSV 
    | 显示表格

    算法1所述,每一轮迭代中更新s(ptu)的值直至达到收敛阈值。由于s(ptu)是单调递增函数且起始点是负值,因此算法1在每次迭代中只需评估s(ptu)的值,若s(ptu)>0则算法将以log2(ptu/ptuγγ)次迭代终止。因此与传统二分法类似,算法1的复杂度为O(log2(ptu/ptuγγ))。通过算法1的输出可以获得在特定的卸载策略下用户u的最佳上行传输功率。

    本节将在上述资源分配的结果下,推导最佳的用户任务卸载策略。首先提出卸载决策子问题OPT-5

    OPT-5:minbu,sUu=1SLECus.t.C1:bu,s{0,1},uUC2:N+1s=1bu,s1,uUOC5:0Uu=1bu,nCapn,uUO,nN} (23)

    通过OPT-5可以看出,在4.1节得到最优资源分配结果后,式(14)中的原问题OPT-1变成一个关于bu,s的0~1整数线性规划(Integer Linear Programming, ILP)问题。参考文献[17]中的方法,本文提出基于分支定界的开销最小化卸载算法(Branch and Bound based Overhead Minimum Offloading Algorithm, BB-OMOA)解决任务调度问题OPT-5

    (1)松弛(Slack):将卸载决策问题OPT-5中的整数约束C1替换为式(24)中的新约束

    C1#:bu,s[0,1],uU (24)

    此时原整数线性规划问题就变成了线性规划(Linear Programming, LP)问题~OPT-5,得到的新问题~OPT-5称为OPT-5的松弛问题。

    (2)分支(Branch):利用内点法直接对松弛问题~OPT-5进行求解,设SLEC为求得的最优值,b为优解bu,s的集合。在b中选取最大值的非整数变量bj添加为约束条件进行分支操作。设变量bj的值为vj,构造两个约束条件bjvjbjvj+1,其中vj为小于vj的最大整数。将这两个条件分别加入松弛问题~OPT-5中,从而将~OPT-5分为两个子问题~OPT1-5~OPT2-5。然后不考虑整数条件约束,分别求解这两个子问题。

    (3)定界(Bound):以每个子问题为一分支并标明求解的结果,与其他问题的解进行比较,找出最优目标函数值最小者作为新的下界替换松弛问题~OPT-5的解SLEC,记为˜Llower;从符合整数条件的各分支中,找出目标函数值最小者作为新上界,记为˜Lupper

    (4)剪支(Shear):各分支的最优目标函数值中若有大于˜Lupper者,则剪掉这一分支;若小于˜Lupper且不符合整数条件,则重复迭代上述操作,直至得到最优目标值L和对应的整解bj

    算法2可知,在约束条件下若分支之间不存在任何优先关系,所有分支均不能减去。所以在最坏情况下,第j层中进行分支的节点数为CjN1,所以分支总数为N1j=0CjN1=2N1,因此在最坏情形下BB-OMOA算法的复杂度为O(2N1)

    算法2 BB-OMOA
     初始化:用户任务及系统参量,最优计算频率fn,eu,最优功率
     ptu,用户集合U,雾集群组N,求解精确度η 
     (1) for u=1,2,,U do
     (2)  求解松弛问题~OPT-5,得b˜Llower
     (3)  if bu,sZ,uUthen
     (4)   现行解b即为最优解
     (5)  else
     (6)   挑选不符合整数条件的变量bj构造约束bjvj
         bjvj+1进行分支形成子问题
     (7) 设定待更新上下界˜Llower˜Lupper
     (8) while ˜Lupper˜Llower>η  do
     (9)  if 子问题~OPTi-5有可行解
     (10)   if ˜Li˜Llower˜Li˜Lupper
     (11)    令˜Li为新的下界,即˜Llower=˜Li
     (12)    回到步骤(6)迭代分支定界操作
     (13)   else if ˜Li对应解的各分量都是整数then
     (14)    return ˜Llower
     (15)   else 进行剪支操作舍弃这一子问题
     (16)   end if
     (17)  else 进行剪支操作舍弃这一子问题
     (18) 令˜Li=min{˜Llower|iN+}
     (19) ˜Li为式(26)最优值L,对应解即最优策略b
    下载: 导出CSV 
    | 显示表格

    本节提供数据结果在云雾混合计算模型中评估文中所提BB-OMOA算法。假定有多个具有计算任务的用户,多个内置LC和边缘设备的FC以及1个集中式云服务器。本文假设移动设备和雾集群之间的无线信道增益遵从瑞利随机衰落,带宽被同一区域内的用户平均分配,系统的其余仿真参数如表1所示。

    表 1  仿真参数
    参数数值
    系统带宽B(MHz)20
    任务数据量L(Mbit)0.1~0.5
    任务所需CPU周期数C(Mcycle)500~2500
    本地计算能力flu(GHz)0.5~1.5
    噪声功率谱密度N0(dBm/Hz)–174
    最大传输功率pmaxu(dBm)25
    雾集群最大计算能力Fn(GHz)15~25
    中心云总计算能力fd(GHz)50
    下载: 导出CSV 
    | 显示表格

    图2在不同的任务量下将本文所提BB-OMOA算法与文献[14]中的MDPCO算法、本地计算方案(Only Local Execution Sheme, OLES)和云计算方案(Only Cloud Execution Sheme, OCES)进行了比较。假设各用户的本地计算能力和任务量均有差异,仿真时在给定范围内随机取值。时延偏好因子αu和能耗偏好因子βu均设为0.5。由图2可以看出随着用户任务量Cu的不断增大,4种方案中SLEC的数值均逐渐上升,但本文提出的BB-OMOA算法始终优于其他3种方案。MDPCO算法虽明显优于OLES和OCES,但其值始终低于本文所提算法。由于移动设备有限的计算和存储能力,当任务量增多时OLES方案中的SLEC数值几乎呈线性增长。虽然集中式云服务器地理位置较远、传输速率较低,但得益于其强大的运算速度,OCES方案中的SLEC数值始终低于本地计算方案且较为稳定。

    图 2  用户任务量与SLEC的关系

    图3显示了用户卸载决策与任务量的关系。在给定用户总数U的情况下,随着系统负载的上升,选择本地计算的用户数逐渐下降,其原因在于移动设备较弱的计算能力会引起SLEC的急剧增大。当任务量增加到一定程度时,部分用户选择将任务卸载到云服务器上。但60%~80%的用户还是利用集群协作模式将任务迁移到轻负载集群中以实现SLEC最小化。图4描述了不同方案下系统负载与总开销SLEC的关系。将本文提出的BB-OMOA算法与文献[15]中的任务卸载及资源分配联合(Joint Task Offlfloading and Resource Allocation, hJTORA)算法和文献[18]中的随机布置方案展开了对比。因为本文的系统模型中启用了分布式雾集群协作,可以将任务自适应迁移到轻负载节点执行,提高了服务器的响应速度和网络吞吐量,所以BB-OMOA的系统开销始终低于另两种方案,证明了本文模型和算法的优越性。

    图 3  任务量与用户分布的关系
    图 4  系统负载与SLEC的关系

    图5表示权重因子对系统时延能耗开销的影响。随着时延权重因子αu的增大,OLES和OLCS方案中的系统总开销SLEC呈现出完全相反的走势。系统SLEC在纯本地计算方案中线性增大,而在云计算方案中不断下降。所提BB-OMOA算法的整体表现优于其他两种方案,当αu<0.38时,BB-OMOA算法的SLEC表现更靠近本地计算方案,这反映了延迟不敏感应用更倾向于在本地执行;当αu>0.38时,所提算法的SLEC趋势向云计算方案贴近,这说明为了节省时间更多的时延敏感型任务被卸载到雾层和云层执行。

    图 5  权重因子与SLEC的关系

    本文的出发点是在利用服务器集群技术在集群协作模式下考虑负载均衡且保证系统SLEC最小化。为了验证本文所提架构的有效性,在图6中与传统卸载方案进行了对比。考虑有10个具有计算任务的用户,每位用户可以选择本地计算、雾计算或云计算。雾集群个数固定为5,雾集群的总计算能力如表1范围设置。为了模拟实际场景中负载失衡的情况,每个雾集群覆盖范围内的用户数及其任务量设置有明显差异。由图6(a)图6(b)可以看出若不启用集群协作,系统明显处于失衡状态,此时会因为任务拥塞而导致执行时间延长、丢包率上升、资源浪费、服务器单点失效等情况发生。而本文架构充分利用周围集群闲置计算资源,重负载集群的任务被迁移至轻负载节点执行从而实现系统负载均衡。结合图6中数据得出LBD(a)=0.7137<LBD(b)=2.4739,说明集群协作模式显著提高了系统负载均衡度。

    图 6  不同模式下系统负载的分布

    本文在基于集群协作的云雾混合计算场景中研究了资源分配和负载均衡策略,利用集群技术和集群协作模式以提高网络吞吐量及系统可靠性。通过联合优化计算资源、通信资源和卸载决策,提出一个SLEC最小化问题,即在负载均衡的约束下保证系统时延能耗开销最小化。将原问题分解为多个子问题后,采用KKT条件和二分搜索迭代法分别对计算和通信资源进行优化。接着提出了基于分支定界的开销最小化卸载算法BB-OMOA,在资源分配结果的基础上求解最优卸载决策。仿真结果表明,本文所提方案能够在满足时延能耗最小化的同时实现系统的负载均衡,体现了所提集群协作模式及算法的有效性。

  • 图  1  基于集群协作的云雾混合计算模型

    图  2  用户任务量与SLEC的关系

    图  3  任务量与用户分布的关系

    图  4  系统负载与SLEC的关系

    图  5  权重因子与SLEC的关系

    图  6  不同模式下系统负载的分布

    算法1 基于二分搜索迭代法的传输功率分配算法
     初始化:传输功率范围0、pmaxu,收敛阈值γ
     (1) 根据式(23)计算s(pmaxu)
     (2) if s(pmaxu)0 then
     (3)  ptu=pmaxu
     (4) else
     (5)  初始化参数pvu=0,pru=pmaxu
     (6)   plu=(pvu+pru)/(pvu+pru)22
     (7)   if s(plu)0 then
     (8)    pvu=plu
     (9)   else
     (10)    pru=plu
     (11)   end if
     (12) until (prupvu)γ
     (13)   pmaxu=(pru+pvu)/(pru+pvu)22
    下载: 导出CSV
    算法2 BB-OMOA
     初始化:用户任务及系统参量,最优计算频率fn,eu,最优功率
     ptu,用户集合U,雾集群组N,求解精确度η 
     (1) for u=1,2,,U do
     (2)  求解松弛问题~OPT-5,得b˜Llower
     (3)  if bu,sZ,uUthen
     (4)   现行解b即为最优解
     (5)  else
     (6)   挑选不符合整数条件的变量bj构造约束bjvj
         bjvj+1进行分支形成子问题
     (7) 设定待更新上下界˜Llower˜Lupper
     (8) while ˜Lupper˜Llower>η  do
     (9)  if 子问题~OPTi-5有可行解
     (10)   if ˜Li˜Llower˜Li˜Lupper
     (11)    令˜Li为新的下界,即˜Llower=˜Li
     (12)    回到步骤(6)迭代分支定界操作
     (13)   else if ˜Li对应解的各分量都是整数then
     (14)    return ˜Llower
     (15)   else 进行剪支操作舍弃这一子问题
     (16)   end if
     (17)  else 进行剪支操作舍弃这一子问题
     (18) 令˜Li=min{˜Llower|iN+}
     (19) ˜Li为式(26)最优值L,对应解即最优策略b
    下载: 导出CSV

    表  1  仿真参数

    参数数值
    系统带宽B(MHz)20
    任务数据量L(Mbit)0.1~0.5
    任务所需CPU周期数C(Mcycle)500~2500
    本地计算能力flu(GHz)0.5~1.5
    噪声功率谱密度N0(dBm/Hz)–174
    最大传输功率pmaxu(dBm)25
    雾集群最大计算能力Fn(GHz)15~25
    中心云总计算能力fd(GHz)50
    下载: 导出CSV
  • [1] LYU X C, TIAN Hui, SENGUL C, et al. Multiuser joint task offloading and resource optimization in proximate clouds[J]. IEEE Transactions on Vehicular Technology, 2017, 66(4): 3435–3447. doi: 10.1109/TVT.2016.2593486
    [2] HAO Wanming, ZENG Ming, SUN Gangcan, et al. Edge cache-assisted secure low-latency millimeter-wave transmission[J]. IEEE Internet of Things Journal, 2020, 7(3): 1815–1825. doi: 10.1109/JIOT.2019.2957351
    [3] ZHANG Tiankui, WANG Yi, LIU Yuanwei, et al. Cache-enabling UAV communications: Network deployment and resource allocation[J]. IEEE Transactions on Wireless Communications, 2020, 19(11): 7470–7483. doi: 10.1109/TWC.2020.3011881
    [4] ZHANG Weizhe, ELGENDY I A, HAMMAD M, et al. Secure and optimized load balancing for multitier IoT and edge-cloud computing systems[J]. IEEE Internet of Things Journal, 2021, 8(10): 8119–8132. doi: 10.1109/JIOT.2020.3042433
    [5] GOUDARZI M, WU Huaming, PALANISWAMI M, et al. An application placement technique for concurrent IoT applications in edge and fog computing environments[J]. IEEE Transactions on Mobile Computing, 2021, 20(4): 1298–1311. doi: 10.1109/TMC.2020.2967041
    [6] LIU Zening, YANG Yang, CHEN Yu, et al. A multi-tier cost model for effective user scheduling in fog computing networks[C]. 2019 IEEE Conference on Computer Communications Workshops, Paris, France, 2019: 1–6.
    [7] REHMAN A U, AHMAD Z, JEHANGIRI A I, et al. Dynamic energy efficient resource allocation strategy for load balancing in fog environment[J]. IEEE Access, 2020, 8: 199829–199839. doi: 10.1109/ACCESS.2020.3035181
    [8] ZENG Deze, GU Lin, GUO Song, et al. Joint optimization of task scheduling and image placement in fog computing supported software-defined embedded system[J]. IEEE Transactions on Computers, 2016, 65(12): 3702–3712. doi: 10.1109/TC.2016.2536019
    [9] PHAM X Q and HUH E N. Towards task scheduling in a cloud-fog computing system[C]. 2016 18th Asia-Pacific Network Operations and Management Symposium (APNOMS), Kanazawa, Japan, 2016: 1–4.
    [10] DO C T, TRAN N H, PHAM C, et al. A proximal algorithm for joint resource allocation and minimizing carbon footprint in geo-distributed fog computing[C]. 2015 International Conference on Information Networking (ICOIN), Siem Reap, Cambodia, 2015: 324–329.
    [11] XU Xiaolong, FU Shucun, CAI Qing, et al. Dynamic resource allocation for load balancing in fog environment[J]. Wireless Communications and Mobile Computing, 2018, 2018: 6421607. doi: 10.1155/2018/6421607
    [12] GAO Zihan, HAO Wanming, and YANG Shouyi. Joint offloading and resource allocation for multi-user multi-edge collaborative computing system[J]. IEEE Transactions on Vehicular Technology, 2022, 71(3): 3383–3388. doi: 10.1109/TVT.2021.3139843
    [13] SUN Yuxuan, GUO Xueying, SONG Jinhui, et al. Adaptive learning-based task offloading for vehicular edge computing systems[J]. IEEE Transactions on Vehicular Technology, 2019, 68(4): 3061–3074. doi: 10.1109/TVT.2019.2895593
    [14] GAO Zihan, HAO Wanming, ZHANG Ruizhe, et al. Markov decision process-based computation offloading algorithm and resource allocation in time constraint for mobile cloud computing[J]. IET Communications, 2020, 14(13): 2068–2078. doi: 10.1049/iet-com.2020.0062
    [15] TRAN T X and POMPILI D. Joint task offloading and resource allocation for multi-server mobile-edge computing networks[J]. IEEE Transactions on Vehicular Technology, 2019, 68(1): 856–868. doi: 10.1109/TVT.2018.2881191
    [16] DING Changfeng, WANG Junbo, ZHANG Hua, et al. Joint MU-MIMO precoding and resource allocation for mobile-edge computing[J]. IEEE Transactions on Wireless Communications, 2021, 20(3): 1639–1654. doi: 10.1109/TWC.2020.3035153
    [17] HAO Yixue, CHEN Min, HU Long, et al. Energy efficient task caching and offloading for mobile edge computing[J]. IEEE Access, 2018, 6: 11365–11373. doi: 10.1109/ACCESS.2018.2805798
    [18] ZHANG Ni, GUO Songtao, DONG Yifan, et al. Joint task offloading and data caching in mobile edge computing[C]. 2019 15th International Conference on Mobile Ad-Hoc and Sensor Networks (MSN), Shenzhen, China, 2019: 234–239.
  • 期刊类型引用(3)

    1. 王鹏一,张仁秀,张宪超,张伟,马瑾. 基于5G+雾计算的智慧城市模型研究. 电信工程技术与标准化. 2024(04): 43-46 . 百度学术
    2. 尹光銮. 基于云雾混合计算的智能灌溉系统设计. 电子技术. 2024(11): 72-73 . 百度学术
    3. 杨守义,韩昊锦,郝万明,陈怡航. 边缘计算中面向缓存的迁移决策和资源分配. 电子与信息学报. 2024(12): 4391-4398 . 本站查看

    其他类型引用(1)

  • 加载中
图(6) / 表(3)
计量
  • 文章访问数:  516
  • HTML全文浏览量:  244
  • PDF下载量:  85
  • 被引次数: 4
出版历程
  • 收稿日期:  2022-06-01
  • 修回日期:  2022-10-14
  • 网络出版日期:  2022-10-19
  • 刊出日期:  2023-07-10

目录

/

返回文章
返回