Resource Allocation and Load Balancing Strategy in Cloud-fog Hybrid Computing Based on Cluster-collaboration
-
摘要: 针对物联网(IoT)中智能应用快速增长导致的移动网络数据拥塞问题,该文构建了一种基于雾集群协作的云雾混合计算模型,在考虑集群负载均衡的同时引入权重因子以平衡计算时延和能耗,最终实现系统时延能耗加权和最小。为了解决该混合整数非线性规划问题,将原问题分解后采用库恩塔克(KKT)条件和二分搜索迭代法对资源配置进行优化,提出一种基于分支定界的开销最小化卸载算法(BB-OMOA)获得最优卸载决策。仿真结果表明,集群协作模式显著提高了系统负载均衡度,且所提策略在不同参数条件下明显优于其他基准方案。Abstract: Considering the problem of data congestion in mobile networks caused by the rapid growth of smart applications in Internet of Things (IoT), a cloud-fog hybrid computing model based on cluster-collaboration is constructed. The cluster load balancing is considered while introducing weighting factors to balance the computational latency and energy consumption, and finally the minimum weighted sum of system latency and energy consumption is achieved. In order to solve this mixed integer nonlinear programming problem, the original problem is decomposed to optimize the resource allocation using Karush-Kuhn-Tucker (KKT) condition and bisection search iterative method. Then an Overhead Minimization Offloading Algorithm based on Branch and Brand (BB-OMOA) is proposed to obtain the optimal offloading decision. Simulation results show that the cluster-collaboration model improves significantly the system load balancing degree and the proposed strategy outperforms significantly other benchmark schemes.
-
Key words:
- Fog Computing (FC) /
- Cluster /
- Resource allocation /
- Load balancing /
- Branch brand
-
1. 引言
当今社会科技革命和产业变革突飞猛进,物联网(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)实验结果表明,本文所提集群协作架构与传统计算方案相比具有显著优势,本文所提算法能够获得更低的时延和能耗,具有良好的收敛性。
2. 系统模型
本文提出一个基于集群协作的云雾混合计算模型,如图1所示由3层网络架构组成。
其中终端用户层包含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],且传输时的信道状态和网络拓扑结构是固定的。
2.1 计算模型
定义用户u∈U的计算任务为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=Plu⋅Tlu=κlfluCu (2) 其中,flu表示移动设备u的计算能力。κl是设备能量转换系数,本文中设置κl=10−6。
(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]一样,本文云服务器的计算频率是固定的,即不考虑对选择云计算模式的用户进行资源配置。
2.2 通信模型
本文将任务留在本集群中计算的模式命名为近端卸载(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,本地计算N∑n=1bu,n=1,雾计算bu,n+1=1,云计算 (6) (1)近端卸载:通过无线信道将任务上传至区域内的LC中,然后由LC传输至本集群内具有计算能力的网络边缘设备中执行。定义K(n)=∑Uu=1bu,n为集群n中需要卸载的用户数,总带宽B被K(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与负载控制器的无线信道增益,B和N0分别为信道总带宽和噪声功率密度。在近端卸载模式下,用户u的任务传输能耗和时间分别为
Ttransu=LuRu(ptu,K(n)) (8) Etransu=ptu⋅Ttransu=LuptuRu(ptu,K(n)) (9) 类似于文献[16,17],由于计算任务的输出数据量远小于任务的输入数据量,本文不考虑计算输出结果的回传时间和能耗开销。
(2)远端卸载:假设FC之间的数据传输速率是固定的,用Rn′n表示。FC与集中式云服务器d间的传输速率为Rdn。所以用户u的计算任务由集群n迁移至集群n′和云服务器d的时延分别为
Ttransn,n′=LuRn′n (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) 3. 问题构建
本文提出联合计算、通信资源分配和任务调度策略的优化模型,在考虑系统负载均衡的同时满足时延和能耗开销(System Latency-Energy Cost, SLEC)最小化。
定义1 SLEC是用户在任务调度决策下执行某种计算方式(本地计算、雾计算或者云计算)时产生的时延和能耗加权和,表示为SLECu=αu⋅T+βu⋅E。α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,sU∑u=1SLECus.t.C1:bu,s∈{0,1},∀u∈UC2:N+1∑n=1bu≤1,∀u∈UOC3:N∑n=1bu,n⋅fn,eu≤Fn,∀u∈UO,∀n∈NC4:0≤ptu≤pmaxu,∀u∈UOC5:0≤U∑u=1bu,n≤Capn,∀u∈UO,∀n∈N} (14) 其中,UO={1,2,⋯,Uoff}是所有选择卸载计算的用户集合,Fn表示雾集群n正常负载状态的计算资源阈值,Capn表示雾集群n能够容纳的最大用户数。C1和C2确保每位用户只能选择一种计算方式。C3保证了雾集群n的计算资源分配总和不会导致其进入过载状态。C4规定了卸载过程中传输功率的上下阈值。C5表示雾集群服务的用户数必须在其容纳范围内。
4. 问题分解
根据目标函数OPT−1及其约束条件可以看出JRALB是一个混合整数非线性规划问题(Mixed-Integer NonLinear Programming, MINLP),它是非确定多项式难度(Non-deterministic Polynomial hard, NP-hard)问题且难以直接求解。由于优化变量间互不耦合,因此将JRALB问题分解为两个独立的子问题:资源分配和卸载决策
OPT-1:minbu,s{minfn,eu,ptuUoff∑u=1SLECu},s.t.C1~C5 (15) 4.1 资源分配
本节在特定的卸载策略下对资源分配问题即最佳计算频率fn,e∗u和最优传输功率pt∗u进行优化。只有当用户选择卸载计算时资源分配问题成立,所以 JRALB问题又可以表示为
OPT-2:minfn,eu,ptuUoff∑u=1[αu(Ttransu+Tn,exeu+Ttransn,n′)+βu(Etransu+En,exeu)],s.t.C3:N∑n=1bu,n⋅fn,eu≤Fn,∀u∈UO,∀n∈N,C4:0≤ptu≤pmaxu,∀u∈UO (16) 将式(3)、式(4)和式(8)—式(10)代入式(16),问题OPT-2可被转化为
OPT-2:minfn,eu,ptuUoff∑u=1(αuCu+αuLufn,eu/αuLufn,euRn′n+βuκeCufn,e2uRn′n+βuκeCu(fn,eu)2fn,eu+αuLuK(n)+βuLuK(n)ptuBlog2(1+(K(n)Huptu)/BN0)) (17) 由式(17)可以看出,fn,eu和ptu是独立的,且约束C3和C4也是互不耦合的。本文选择用二分搜索迭代法和KKT条件分别求解最佳的传输功率pt∗u和计算频率fn,e∗u。
(1)计算频率分配:LC分配给用户u的最佳计算频率fn,e∗u通过优化子问题OPT−3得到
OPT-3:minfn,euUoff∑u=1αuCu+αuLufn,eu/Rn′n+βuκeCu(fn,eu)2fn,eu,s.t.N∑n=1bu,n⋅fn,eu≤Fn,∀u∈UO,∀n∈N (18) 令μu=αuCu, δnu=αuLu/αuLuRn′nRn′n, θ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)>0且∂2g/∂2g∂fmr2∂(fmr)2=0(u,n≠r,m)。
由此得出子问题OPT-3是一个凸优化问题,本文采用KKT条件来优化计算频率分配问题。令Un表示卸载到雾集群n的用户集合,式(18)的拉格朗日函数为
L(f,ρ)=∑n∈N∑u∈Unμu+δnufn,eu+θu(fn,eu)2fn,eu+∑n∈Nρn(∑u∈Unfn,eu−Fn) (19) 设h(fn,eu)=Fn−∑Nn=1bu,n⋅fn,eu,其中ρ=[ρ1,ρ2,⋯,ρn]T为拉格朗日乘子向量且ρ∈R+。
定理1(KKT条件):若fn,e∗u是子问题OPT−3的局部极小值,有效约束集是I(fn,e∗u)={i|hi(fn,e∗u)=0,i=1,2,⋯,N},并设g(fn,eu)和hi(fn,eu)在fn,e∗u处可微。若向量组∇hi(fn,e∗u)(i∈I(fn,e∗u))线性无关,则存在向量ρ∗=(ρ∗1,ρ∗2,⋯,ρ∗n)T使得
∇g(fn,e∗u)−N∑n=1ρ∗i∇hi(fn,e∗u)=0ρ∗i≥0,ρ∗ihi(fn,e∗u)=0,i=1,2,⋯,N} (20) 所以通过OPT−3解得在卸载计算模式下雾集群n分配给用户u的最优计算频率fn,e∗u为
fn,e∗u=Fn√μuFn2θu+∑u∈Unμu−Fn2∑u∈Unθu (21) (2)用户上行传输功率:通过最小化OPT-4可以得到用户u的最优传输功率pt∗u
OPT-4:minptuU∑u=1αuLuK(n)+βuLuK(n)ptuBlog2(1+K(n)Huptu/BN0),s.t.0≤ptu≤pmaxu,∀u∈UO (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) pt∗u=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 (pru−pvu)≤γ (13) pmaxu=(pru+pvu)/(pru+pvu)22 如算法1所述,每一轮迭代中更新s(ptu)的值直至达到收敛阈值。由于s(ptu)是单调递增函数且起始点是负值,因此算法1在每次迭代中只需评估s(ptu)的值,若s(ptu)>0则算法将以log2(ptu/ptuγγ)次迭代终止。因此与传统二分法类似,算法1的复杂度为O(log2(ptu/ptuγγ))。通过算法1的输出可以获得在特定的卸载策略下用户u的最佳上行传输功率。
4.2 任务调度决策
本节将在上述资源分配的结果下,推导最佳的用户任务卸载策略。首先提出卸载决策子问题OPT-5
OPT-5:minbu,sU∑u=1SLECus.t.C1:bu,s∈{0,1},∀u∈UC2:N+1∑s=1bu,s≤1,∀u∈UOC5:0≤U∑u=1bu,n≤Capn,∀u∈UO,∀n∈N} (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],∀u∈U (24) 此时原整数线性规划问题就变成了线性规划(Linear Programming, LP)问题~OPT-5,得到的新问题~OPT-5称为OPT-5的松弛问题。
(2)分支(Branch):利用内点法直接对松弛问题~OPT-5进行求解,设SLEC∗为求得的最优值,b∗为优解b∗u,s的集合。在b∗中选取最大值的非整数变量bj添加为约束条件进行分支操作。设变量bj的值为vj,构造两个约束条件bj≤⌊vj⌋和bj≥⌊vj⌋+1,其中⌊vj⌋为小于vj的最大整数。将这两个条件分别加入松弛问题~OPT-5中,从而将~OPT-5分为两个子问题~OPT1-5和~OPT2-5。然后不考虑整数条件约束,分别求解这两个子问题。
(3)定界(Bound):以每个子问题为一分支并标明求解的结果,与其他问题的解进行比较,找出最优目标函数值最小者作为新的下界替换松弛问题~OPT-5的解SLEC∗,记为˜Llower;从符合整数条件的各分支中,找出目标函数值最小者作为新上界,记为˜Lupper。
(4)剪支(Shear):各分支的最优目标函数值中若有大于˜Lupper者,则剪掉这一分支;若小于˜Lupper且不符合整数条件,则重复迭代上述操作,直至得到最优目标值L∗和对应的整解b∗j。
由算法2可知,在约束条件下若分支之间不存在任何优先关系,所有分支均不能减去。所以在最坏情况下,第j层中进行分支的节点数为CjN−1,所以分支总数为∑N−1j=0CjN−1=2N−1,因此在最坏情形下BB-OMOA算法的复杂度为O(2N−1)。
算法2 BB-OMOA 初始化:用户任务及系统参量,最优计算频率fn,e∗u,最优功率
pt∗u,用户集合U,雾集群组N,求解精确度η(1) for u=1,2,⋯,U do (2) 求解松弛问题~OPT-5,得b和˜Llower (3) if bu,s∈Z,∀u∈Uthen (4) 现行解b∗即为最优解 (5) else (6) 挑选不符合整数条件的变量bj构造约束bj≤⌊vj⌋和
bj≥⌊vj⌋+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|i∈N+} (19) ˜L∗i为式(26)最优值L∗,对应解即最优策略b∗。 5. 仿真分析
本节提供数据结果在云雾混合计算模型中评估文中所提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 图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数值始终低于本地计算方案且较为稳定。
图3显示了用户卸载决策与任务量的关系。在给定用户总数U的情况下,随着系统负载的上升,选择本地计算的用户数逐渐下降,其原因在于移动设备较弱的计算能力会引起SLEC的急剧增大。当任务量增加到一定程度时,部分用户选择将任务卸载到云服务器上。但60%~80%的用户还是利用集群协作模式将任务迁移到轻负载集群中以实现SLEC最小化。图4描述了不同方案下系统负载与总开销SLEC的关系。将本文提出的BB-OMOA算法与文献[15]中的任务卸载及资源分配联合(Joint Task Offlfloading and Resource Allocation, hJTORA)算法和文献[18]中的随机布置方案展开了对比。因为本文的系统模型中启用了分布式雾集群协作,可以将任务自适应迁移到轻负载节点执行,提高了服务器的响应速度和网络吞吐量,所以BB-OMOA的系统开销始终低于另两种方案,证明了本文模型和算法的优越性。
图5表示权重因子对系统时延能耗开销的影响。随着时延权重因子αu的增大,OLES和OLCS方案中的系统总开销SLEC呈现出完全相反的走势。系统SLEC在纯本地计算方案中线性增大,而在云计算方案中不断下降。所提BB-OMOA算法的整体表现优于其他两种方案,当αu<0.38时,BB-OMOA算法的SLEC表现更靠近本地计算方案,这反映了延迟不敏感应用更倾向于在本地执行;当αu>0.38时,所提算法的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 基于二分搜索迭代法的传输功率分配算法 初始化:传输功率范围0、pmaxu,收敛阈值γ (1) 根据式(23)计算s(pmaxu) (2) if s(pmaxu)≤0 then (3) pt∗u=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 (pru−pvu)≤γ (13) pmaxu=(pru+pvu)/(pru+pvu)22 算法2 BB-OMOA 初始化:用户任务及系统参量,最优计算频率fn,e∗u,最优功率
pt∗u,用户集合U,雾集群组N,求解精确度η(1) for u=1,2,⋯,U do (2) 求解松弛问题~OPT-5,得b和˜Llower (3) if bu,s∈Z,∀u∈Uthen (4) 现行解b∗即为最优解 (5) else (6) 挑选不符合整数条件的变量bj构造约束bj≤⌊vj⌋和
bj≥⌊vj⌋+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|i∈N+} (19) ˜L∗i为式(26)最优值L∗,对应解即最优策略b∗。 表 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 -
[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)
-