Research on Optimization Scheme of Task Offloading in Blockchain-enabled Fog Networks
-
摘要: 当前物联网(IoT)应用的快速增长对用户设备的计算能力是一个巨大的挑战。雾计算(FC)网络可为用户设备提供近距离、快速的计算服务,为资源紧张,计算能力有限的用户设备提供了解决方案。该文提出一个基于区块链的雾网络模型,该模型中用户设备可以将计算密集型任务卸载到计算能力强的节点处理。为最小化任务处理时延和能耗,引入两种任务卸载模型,即设备到设备(D2D)协作群组任务卸载和雾节点(FNs)任务卸载。此外,针对雾计算网络任务卸载过程的数据安全问题,引入区块链技术构建去中心化分布式账本,防止恶意节点修改交易信息,实现数据安全可靠传输。为降低共识机制时延和能耗,提出了改进的基于投票的委托权益证明(DPoS)共识机制,得票数超过阈值的FNs组成验证集,验证集中的FN轮流作为管理者生成新区块。最后,以最小化网络成本为目标,联合优化任务卸载决策、传输速率分配和计算资源分配,提出任务卸载决策和资源分配(TODRA)算法进行求解,并通过仿真实验验证了该算法的有效性。Abstract: The current rapid growth of Internet of Things (IoT) applications is a huge challenge to the computing power of user equipment. The Fog Computing (FC) network can provide short-distance and fast computing services for user equipment, and provides a solution for user equipment with limited resources and limited computing capabilities. A blockchain-enabled fog network model is proposed, in which user equipment can offload computationally intensive tasks to nodes with strong computational capabilities. In order to minimize task processing delay and energy consumption, two task offloading models are introduced, namely Device-to-Device (D2D) collaboration group task offloading and Fog Nodes (FNs) task offloading. In addition, in view of the data security problem of the fog computing network task offloading process, blockchain technology is introduced to build a decentralized distributed ledger to prevent malicious nodes from modifying transaction information and achieve safe and reliable data transmission. In order to reduce the delay and energy consumption of the consensus mechanism, an improved voting-based Delegated-Proof-of-Stake (DPoS) consensus mechanism is proposed. FNs with votes exceeding the threshold form a verification set, and the FNs in the verification set take turns as the manager to generate new blocks. Finally, with the goal of minimizing the network cost, the task offloading decision, transmission rate allocation and computing resource allocation are jointly optimized, and the Task Offloading Decision and Resource Allocation (TODRA) algorithm is proposed to solve the problem. The effectiveness of the algorithm is verified by simulation experiments.
-
Key words:
- Task offloading /
- Fog Computing (FC) network /
- Blockchain /
- Resource allocation
-
1. 引言
目前,物联网市场正经历着前所未有的快速发展时期。根据美国发布的新兴技术趋势报告,到2045年,将有超过1011个设备连接到网络[1]。物联网将渗透到人们生活的方方面面,从而产生多种应用场景,如智慧城市、智慧家庭、可穿戴设备和汽车互联网。物联网设备的爆发式增长也推动了各种移动应用的出现,如语言识别、网络游戏、虚拟现实和增强现实[2,3]。这些应用通常都需要强大的计算能力,然而物联网设备计算资源有限,无法满足日益增长的应用需求。雾计算(Fog Computing, FC)的出现给计算密集型应用提供了解决方案[4]。FC在网络边缘提供计算和存储资源,物联网设备可以将计算任务卸载到附近的雾节点(Fog Nodes, FNs),从而有效降低任务卸载时延和能耗[5,6]。
尽管FC极大地减小了任务处理时延,但物联网设备的安全性和用户数据隐私性问题尚未得到解决。针对任务卸载过程的数据安全问题,引入区块链技术构建去中心化分布式账本,为其提供可信、透明、分布式的存储支持,从而构建高效、可信、安全的分布式物联网网络,防止恶意节点修改交易信息,实现数据安全可靠传输[7,8]。
现有研究中,普遍考虑将计算密集型任务卸载到附近FNs。然而FNs不仅要满足卸载任务时延和能耗要求,还要完成区块链共识任务,这对FNs的计算能力提出了极大挑战。基于此,本文提出一种基于区块链的雾网络模型,本模型中用户设备可以将计算任务通过D2D(Device-to-Device)链路卸载到拥有空闲计算能力的用户设备或附近FNs。在不同约束条件下,对任务卸载决策、传输速率分配和计算资源分配联合优化,以最小化网络成本。本文的主要贡献概括如下。
首先,为保证卸载任务数据安全性,本文引入区块链技术,构造基于区块链的雾网络结构,防止恶意节点修改交易信息,实现数据安全可靠传输。同时,为降低卸载任务成本,减小任务处理时延和能耗,本模型中,用户可动态选取D2D群辅助卸载或FNs卸载方式。
其次,为降低区块链共识成本,本文提出一种基于投票的改进型委托权益证明(Delegated-Proof-of-Stake, DPoS)共识机制,以降低共识时延和能耗,并保证验证FNs的可靠性。
最后,为最小化网络成本,本文提出任务卸载决策和资源分配(Task Offloading Decision and Resource Allocation, TODRA)算法,该算法联合优化任务卸载决策、传输速率和计算资源分配,可得局部最优解。仿真验证了该算法的有效性。
2. 系统建模及分析
基于区块链的雾网络场景如图1所示,它由用户设备层、雾层和云层组成。用户设备层有K个智能移动用户设备(Smart Mobile Equipment, SME),包括智能手机、智能穿戴设备、智能车辆等。在该场景中,具有闲置计算资源的用户设备可以组成一个D2D协作群组,为有任务卸载需求的用户设备提供服务。设用户设备
k 的D2D协作群组包括K′ 个用户设备,用户设备k 和k′ 之间的信噪比(Signal-to-Noise Ratio, SNR)大于阈值Hth 。雾层包括N 个FN,FN由雾服务器(Fog Server, FS)和基站(Base Station, BS)组成。Ωn 表示FNn 关联的用户设备集合。FNs通过核心网连接到云服务器。云服务器可提供更强大的运算能力(例如,大数据处理)。计算密集型应用程序和延迟敏感部分在边缘网络执行,并且与核心云进行数据同步。2.1 网络通信模型
假设所有的FNs和闲置的用户设备都具有计算能力,有卸载需求的用户设备可以将任务卸载到附近的FNs或通过D2D通信链路将任务卸载到D2D协作群组。采用OFDMA技术,上行链路子载波数为
S ,系统总带宽为B ,每个子载波s 带宽为B0 = B/S 。假设每个子载波只分配给一个用户设备,以避免用户设备之间的干扰。gsk,k′ ,gsk,n 分别表示在子载波s 上用户设备k 与D2D协作群组中用户设备k′ 以及FNn 的信道增益。用户设备k 总传输功率为Pk ,σ2 和ask∈{0,1} 分别表示噪声功率和子载波分配指示参数。若子载波s 被分配给用户设备k ,则ask=1 ;否则ask=0 。假定D2D协作群组中用户设备数目
K′ 小于等于子载波数S 。当采用卸载方式0时,用户设备k 卸载到k′ 的上行链路传输速率可表示为Rk,k′=B0S∑s=1asklog2(1+Pkgsk,k′Sσ2) (1) 当采用卸载方式1时,用户设备
k 选择卸载到FNn ,上行链路传输速率可表示为Rk,n=B0S∑s=1log2(1+Pkgsk,nSσ2) (2) 2.2 任务卸载模型
用户设备
k 的计算密集型任务Ak 表示为参数组<Dk,τk,Xk> ,Dk 为任务大小,单位bit;τk 表示任务完成的最大容忍时延;Xk 表示完成1bit数据所耗用的CPU周期,单位为CPU cycles/bit。(1)卸载到D2D协作群组(卸载方式0):时延包括传输时延和任务执行时延。由于下行链路发回的结果较小,约等于上行链路中发送结果的1/30,因此下行链路时延可忽略[9]。当用户设备
k 请求卸载到D2D协作群组时,由于D2D协作群组中用户设备各自计算能力fk′ 不同,且它们与用户设备k 之间的信道条件也存在差距,即用户设备k 与D2D协作群组中用户设备之间的传输速率Rk,k′ 也不同。因此,卸载到闲置用户设备的比例也不同。定义α={α1,α2,⋯,αk′,⋯,αK′},k′=1,2,⋯,K′,αk′∈[0,1] 表示D2D协作群组中用户设备的任务卸载比例,假定用户设备k 与k′ 的传输时延和执行时延之和相等,以此确定卸载比例αk′ 。在该卸载方式下,用户设备
k 与k′ 之间的传输功率表示为Pk,k′=∑Ss=1askPk/S ,传输时延Ttra0,k,k′ 和能耗Etra0,k 可表示为Ttra0,k,k′ = αk′DkRk,k′ (3) Etra0,k=K′∑k′=1αk′DkPk,k′Rk,k′ (4) 用
xk′ 表示用户设备k′ 的计算能量效率,计算任务Ak 在D2D协作群组中的用户设备k′ 中的执行时延Texe0,k,k′ 和能耗Eexe0,k 可表示为Texe0,k,k′ = αk′DkXkfk′ (5) Eexe0,k=K′∑k′=1xk′(fk′)3Texe0,k,k′ = K′∑k′=1αk′xk′(fk′)2DkXk (6) 由此可得,卸载方式0下总时延
Ttol0,k,k′ 和总能耗Etol0,k 可表示为Ttol0,k,k′=αk′DkRk,k′+αk′DkXkfk′ (7) Etol0,k=K′∑k′=1αk′DkPk,k′Rk,k′ + K′∑k′=1αk′xk′(fk′)2DkXk (8) (2)卸载到FNs(卸载方式1):当用户设备
k 选择将任务卸载到附近FNn ,其总时延和能耗由传输、执行和排队这3个阶段产生。在该卸载方式下,用户设备
k 向附近FNn 请求卸载任务,传输时延Ttra1,k,n 和能耗Etra1,k,n 可表示为Ttra1,k,n = DkRk,n (9) Etra1,k,n = PkDkRk,n (10) 将计算能耗建模为
Pn,k=xn(fn,k)3 ,其中xn 表示FNn 的计算能量效率,fn,k 表示FNn 为用户设备k 分配的计算资源,单位为CPU cycles/s。fn,k 可以通过DVS技术灵活调整,以满足用户需求。执行阶段的时延和能耗可表示为Texe1,k,n = DkXkfn,k (11) Eexe1,k,n=xn(fn,k)3Texe1,k,n = xn(fn,k)2DkXk (12) 当用户设备
k 做卸载决策时,需要考虑任务缓冲区中等待任务处理所产生的排队延迟。假设在FNn 的任务缓冲区中待处理的CPU周期总数为Qn 。用Pstan 表示FNn 的静态电路功率。任务Ak 的排队时延和能耗可表示为Tque1,k,n=Qnfn,k (13) Eque1,k,n=PstanQnfn,k (14) 由此可得,卸载方式1下总时延
Ttol1,k,n 和总能耗Etol1,k,n 可表示为Ttol1,k,n=DkRk,n+DkXkfn,k+Qnfn,k (15) Etol1,k,n=PkDkRk,n+xn(fn,k)2DkXk+PstanQnfn,k (16) 综上所述,任务卸载总成本可表示为
U1(δk,αk′,Rk,n)=N∑n=1K∑k=1δk[λ1Ttol1,k,n+Etol1,k,n]+(1−δk)[λ1Ttol0,k,k′+Etol0,k] (17) 其中,
λ1 是保证目标函数处于同一水平的映射因子。2.3 区块链共识模型
虽然用户设备可将计算密集型任务卸载到附近FNs,提高用户体验,但恶意的FNs可能会滥用从用户数据,隐私用户泄露。为了保证雾计算网络的安全性,启用区块链技术来验证网络交易。由于FNs能够提供计算资源和存储资源,它们可同时作为区块链节点来处理区块链共识任务。本文提出改进的基于投票的DPoS共识机制,每个用户设备只有1张票可投给1个FN,投票权重与FN股权值无关,从而减少了FN股权值对选举过程的影响。得票数前W名的FNs组成验证集,包括1个管理者
Fvw′ 和W–1个验证者Fvw 。验证集中的FNs轮流担任管理者来生成区块,其余W–1个验证者执行区块验证。区块链共识过程分为3个阶段:区块生产阶段、区块共享阶段和区块验证阶段。在区块生产阶段,验证集中的FNs负责收集网络中的交易事务,然后广播到全网。管理者
Fvw′ 负责打包交易并生产区块,交易数据大小为Dg ,单位为bit;管理者Fvw′ 的计算能力为fn,w′ ,xw′ 表示管理者Fvw′ 的计算能量效率。区块生产阶段的时延和能耗可表示为Tgn,w′=DgXkfn,w′ (18) Egn,w′=xn(fn,w′)3Tgn,w′=xn(fn,w′)2DgXk (19) 在区块共享阶段,管理者
Fvw′ 将新区块进行签名后广播给区块链系统中的验证者Fvw 。区块大小为Db ,单位为bit;管理者Fvw′ 与验证者Fvw 之间的传输速率为Rw′,w ,单位为bit/s;管理者Fvw′ 传输功率为Pw′ ,区块共享阶段的时延和能耗可表示为Tsw′,w=DbRw′,w (20) Esw′,w=W−1∑w=1Pw′DbRw′,w (21) 在区块验证阶段,接收到新区块的验证者
Fvw 利用哈希算法算出的哈希值与数字签名比较来验证新区块的准确性。如果哈希值与数字签名相等,则表示新区块没有被篡改,并返回一个区块验证的反馈消息;反之,不作任何响应。最后,若所有审核结果都正确,新区块将根据时间戳添加到区块链中。假定验证阶段的输入数据大小为Dv ,验证者Fvw 的计算能力为fn,w 。区块验证阶段的时延和能耗可表示为Tvn,w=DvXkfn,w (22) Evn,w=W−1∑w=1xn(fn,w)3Tvn,w=W−1∑w=1xn(fn,w)2DvXk (23) 因此,区块链共识过程总时延和总能耗可表示为
Ttoln,w′,w=Tgn,w′+maxw=1,2,⋯,W−1(Tsw′,w+Tvn,w) (24) Etoln,w′,w=Egn,w′+Esw′,w+Evn,w (25) 综上所述,区块链共识过程的总成本可表示为
U2(fn,k,fn,w′)=W−1∑w=1(λ2Ttoln,w′,w+Etoln,w′,w) (26) 其中,
λ2 是保证目标函数处于同一水平的映射因子。3. 任务卸载决策与资源分配方案
3.1 优化问题建模
在本雾网络场景中,当用户设备具有任务卸载请求时,将分两个阶段进行,即任务卸载和区块链共识,如图2所示。
步骤1 在任务卸载阶段,用户设备首先将任务卸载请求发送给管理者。
步骤2 管理者将任务卸载请求广播到FNs和与其关联的D2D协作群组。
步骤3 FNs和D2D协作群组返回处理卸载任务时延和能耗信息到管理者。
步骤4 管理者接收到反馈信息后发送任务卸载决策给用户设备。
步骤5 在区块链共识阶段,验证集中的FNs收集网络中的交易,管理者打包交易并生产区块。
步骤6 管理者将新生成的区块进行签名后广播给验证者。
步骤7 验证者将对收到的区块进行验证,以确定该区块是否已被修改,验证无误后进行区块上链操作。
网络成本包括任务卸载成本和区块链共识成本,由式(27)给出
U(δk,αk′,Rk,n,fn,k,fn,w′)=ζ1U1(δk,αk′,Rk,n)+(1−ζ1)ζ2U2(fn,k,fn,w′) (27) 其中,
ζ1 是任务卸载成本和区块链共识成本之间的权重因子,ζ2 是保证目标函数处于同一水平的映射因子。因此,任务卸载优化问题可以建模为
minδ,α,R,F1,F2ζ1U1(δk,αk′,Rk,n)+(1−ζ1)ζ2U2(fn,k,fn,w′),s.t.C1:K′∑k′=1αk′=1,∀k′,C2:δk={0,1},∀k,C3:∑k∈Ωnfn,k+fn,w′≤Fmax,∀n,w′,C4:δkTtol1,k,n+(1−δk)Ttol0,k,k′+Ttoln,w′,w≤Tmax,C5:δkEtol1,k,n+(1−δk)Etol0,k+Etoln,w′,w≤Emax,C6:Rk,n≥0,fn,w′≥0,fn,k≥0,∀k,n,w′ (28) 其中,
Fmax ,Tmax 和Emax 分别表示FN最大计算能力、可容忍的最大时延与最大能耗。C1 表示卸载方式0中任务卸载比例之和等于1。C2 确保任务卸载决策有效,C3 保证分配的计算资源不超过FN总的计算能力。C4 在卸载方式0或卸载方式1中网络的总时延不能超过最大时延限制。C5 保证任务卸载阶段和区块链共识阶段的总能耗小于等于最大能耗限制。C6 是Rk,n ,fn,w′ 和fn,k 的一般约束。优化问题式(28)包括2元变量
δk 和连续变量Rk,n ,是一个混合整数非线性规划问题,难以获得最优解。为简化原问题,应该进行松弛和变换。3.2 最优卸载决策和传输资源分配方案
在本方案中,用户设备有两种卸载模式。在卸载方式1中,计算密集型任务
Ak 将被完全卸载到附近FNs,不考虑卸载比例。在卸载方式0中,计算任务Ak 将按不同比例卸载到D2D协作群组。假设用户设备k 与D2D协作群组中的用户设备之间的传输时延和执行时延之和相等,可得α1DkRk,1+α1DkXkf1=αk′DkRk,k′+αk′DkXkfk′,k′=2,3,⋯,K′ (29) 然后,结合方程
α1+⋯+αk′+⋯+αK′=1 ,可得α 的解。在给定计算资源
fn,k 和fn,w′ 的情况下,ζ2(1−ζ1)U2(fn,k,fn,w′) 可被当作常数项。因此,最优任务卸载决策δk 和传输速率Rk,n 由式(30)可得minδ,RN∑n=1K∑k=1{ζ1δk[μ2,k−μ3,kRk,nRk,nRk,k′+μ0,k]+μ1,k},s.t.C1~C6 (30) 其中,
μ0,k ,μ1,k ,μ2,k 和μ3,k 由式(31)给出μ0,k=DkXk+λ1Pstan+2Qnfn,k+λ1xn(fn,k)2DkXk−αk′DkXkfk′−λ1xk′(fk′)2αk′DkXkμ1,k=αk′DkXkfk′+ζ1[λ1xk′(fk′)2αk′DkXk+αk′Dk(1+λ1Pk,k′)Rk,k′]μ2,k=DkRk,k′(1+λ1Pk)μ3,k=Dkαk′(1+λ1Pk,k′)} (31) 常数
μ1,k 可以省略,因为它不会影响优化目标问题。因此,问题式(30)可简化为minδ,RN∑n=1K∑k=1ζ1δk[μ2,k−μ3,kRk,nRk,nRk,k′+μ0,k],s.t.C1~C6 (32) 由于优化问题中包含2元变量
δk 和连续变量Rk,n ,是一个离散非凸混合优化问题。为了简化原优化问题,首先把变量δk 松弛为δk∈[0,1] ,并引入新变量βk,n=δk/Rk,n 。然后,将问题式(32)转化为minδ,βN∑n=1K∑k=1ζ1δk[μ2,k−μ3,kδkβk,nRk,k′δkβk,n+μ0,k],s.t.C1~C6 (33) 如果
f(x) 是凸函数,则tf(t/x) 也是凸函数[10]。因此,式(33)的目标函数是凸函数。此外,C5 是凸的,约束C1−C4 和C6 是线性约束。由此,问题式(33)是δ 和β 的凸优化问题,可通过拉格朗日对偶分解法求解。拉格朗日函数由式(34)给出L(δ,β,ρ,φ,θ)=N∑n=1K∑k=1ζ1δk[μ2,k−μ3,kδkβk,nRk,k′δkβk,n+μ0,k]+ρk[Tmax−δkTtol1,k,n−(1−δk)Ttol0,k,k′−Ttoln,w′,w]+φk[Emax−δkEtol1,k,n−(1−δk)Etol0,k−Etoln,w′,w]+θ(Fmax−∑k∈Ωnfn,k−fn,w′) (34) 其中,
ρ=(ρ1,ρ2,⋯,ρk) ,φ=(φ1,φ2,⋯,φk) ,θ≥0 。(θ,ρ,φ) 分别是关于C3−C5 的对偶变量。拉格朗日对偶函数可由式(35)给出F(ρ,φ,θ)=minδ,βL(δ,β,ρ,φ,θ),s.t.C1,C2,C6 (35) 根据KKT(Karush-Kuhn-Tucker)条件,通过
L(δ,β,ρ,φ,θ) 对δk 和Rk,n 求导方程可以得到最优解δ∗k 和β∗k,n 。其KKT条件可以表示为∂L(δ,β,ρ,φ,θ)βk,n{<0,βk,n=0=0,βk,n>0∂L(δ,β,ρ,φ,θ)δk{<0,δk=0=0,δk=0>0,δk=0} (36) 给定对偶变量
ρk 和φk ,对偶问题可以由式(37)给出maxδ,βF(ρ,φ,θ),s.t.ρk≥0,φk≥0,θ≥0 (37) 由于优化问题式(37)为凸优化问题,可以采用次梯度下降法求得最优解。因此,优化问题式(37)可等价为
F(ρ′,φ′,θ)≥F(ρ,φ,θ)+(ρ′k−ρk)⋅[Tmax−δkTtol1,k,n−(1−δk)Ttol0,k,k′−Ttoln,w′,w]+(φ′k−φk)[Emax−δkEtol1,k,n−(1−δk)Etol0,k−Etoln,w′,w] (38) 对偶变量
ρk 和φk 的更新由式(39)给出ρk(t+1)=[ρk(t)−j0(t)Δρk(t)]+φk(t+1)=[φk(t)−j1(t)Δφk(t)]+} (39) 3.3 最优计算资源分配方案
根据得到的最优任务卸载决策和传输速率,可以将问题式(28)简化为关于
fn,k 和fn,w′ 的计算资源分配优化问题,因为常数项ζ1U1(δk,αk′,Rk,n) 可以省略。计算资源分配优化问题可以建模为minF1(1−ζ1)ζ2U2(fn,k,fn,w′),s.t.C1:fn,k≥δkPstanQnEmax−Etol0,k−βk,nPkDk,∀k,n,C2:∑k∈Ωnfn,k+fn,w′≤Fmax,∀n,w′,C3:fn,k≥0,∀k,n (40) 由于式(40)的目标函数是凸函数,并且
C1~C3 是线性约束,因此使用拉格朗日对偶理论来求解该问题,设ϕ 是关于C2 的拉格朗日乘子,拉格朗日函数可由式(41)给出L(F1,ϕ)=(1−ζ1)ζ2W−1∑w=1(λ2Ttoln,w′,w+Etoln,w′,w)+ϕ(Fmax−∑k∈Ωnfn,k−fn,w′) (41) 假设存在最优解
f∗n,k 使得式(40)目标函数最优,且满足所有约束条件。根据KKT条件,通过L(F1,ϕ) 对fn,w′ 求导方程可求得最优计算资源分配为f∗n,k=max{δkPstanQnEmax−Etol0,k−Etoln,w′,w−βk,nPkDk,ϕϕn} (42) 其中,
ϕn = 2Ttoln,w′,w + λ2Etol1,k,n 。根据最优计算资源
f∗n,k ,管理者Fvw′ 的最优计算资源分配可以由式(43)得到minF2(1−ζ1)ζ2U2(fn,k,fn,w′),s.t.C2:fn,w′≤Fmax−∑k∈Ωnfn,k,∀n,w′,C3:fn,w′≥0,∀n,w′ (43) 首先利用KKT条件得到拉格朗日乘子,从而求得局部最优的计算资源分配后,接着通过二分法更新拉格朗日乘子,当迭代过程满足收敛条件时可求得式(43)的最优解。计算资源分配最优解
f∗n,w′ 可表示为f∗n,w′ = Fmax−∑k∈Ωnf∗n,k (44) 综上所述,最优卸载决策和计算分配算法流程如表1所示。
表 1 任务卸载决策和资源分配算法算法1 任务卸载决策和资源分配算法(TODRA) (1) 初始化ρ, φ, tmax和最大容忍ς,令t = 0。 (2) 步骤1当t≤tmax时,分配传输速率Rk,n和卸载决策δk。 (a) 根据式(38)更新对偶变量ρ和φ。 (b) 如果满足条件||ρ(t+1)−ρ(t)||<ς和
||φ(t+1)−φ(t)||<ς,则有
R*k,n = Rk,n(t), δ*k = δk(t),并退出循环。(c) 否则,t = t+1,进入下一次迭代。 (3) 步骤2 令ϕmin=δkPstanQnEmax−Etol0,k−βk,nPkDk/N∑n=11ϕn,
ϕmax=(Fmax - ∑k∈Ωnfn,k)/N∑n=11ϕn,直到ϕmax与ϕmin的差
值小于等于最大容忍ς,返回结果ϕres。(a) 定义变量ϕb=(ϕmin+ϕmax)/2。 (b) 如果满足条件|ϕmax−ϕmin|<ς,则ϕres = ϕb。 (c) 否则,利用二分法更新拉格朗日乘子ϕ。 (d) 如果条件N∑n=1ϕbϕn>Fmax−fn,w′成立,ϕmax=ϕb,否
则ϕmin=ϕb。(e) b=b+1,返回(a)。 (f) 把ϕres代入式(42),得到计算资源的最优解。 (4) 算法结束。 在算法1中,为了降低求解复杂度,本文将原优化问题拆分为两步求解。第1步:通过次梯度下降法优化任务卸载决策和传输速率分配。其计算复杂度主要来自对偶变量
ρk 和φk 的更新,需要O(1/ς2) 次迭代才能收敛。第2步:通过二分法优化计算资源分配,需要O(log2(ϕmax−ϕminς)) 次迭代才能收敛。由此,优化问题总算法复杂度可以表示为O(log2(ϕmax−ϕminς)+1ς2) 。4. 仿真结果及分析
4.1 仿真场景及参数设置
本节针对本方案提出基于多用户的TODRA算法,在基于区块链的雾网络场景下进行仿真分析。考虑一个由随机分布在400m×400m区域内的FNs和用户设备组成的雾计算网络,如图3所示。在仿真中,用户设备数量和FN带宽默认设置为96和10 MHz,提出的TODRA算法通过与以下3个算法在各个方面进行性能对比:FC单一卸载算法(Fog Computing Single Offloading, FCSO)[11],在该算法中,用户设备将其计算任务完全卸载到附近的FC服务器;D2D单一卸载算法(Device-to-device Single Offloading, DSO)[12],在该算法中,用户设备通过D2D通信链路将其任务完全卸载到其他闲置的用户设备;平均资源分配(Equal Resource Allocation, ERA)算法[13],在该算法中,FNs的计算资源被平均分配给用户设备。
4.2 仿真结果分析
图4表示TODRA算法在FNs的不同计算能力(Computing Capacity, CC)下获得的任务卸载成本、区块链共识成本和网络成本与数据大小的关系。从图4可以看出,所有算法的成本都随着数据大小的增加而增加。在任务卸载阶段,随着数据量的增长,数据处理时延和能耗相应增加。此外,随着数据量的增长,会产生更多的交易,导致生成的区块数量更多,这将增加区块链共识过程中的时延和能耗。相应地,网络成本增加。另外,从图中还可以看出随着FNs计算能力的提高,网络成本降低。
图5讨论了不同算法的网络成本随着用户设备数量变化的变化趋势。从仿真结果可以看出,所有算法的网络成本都随着用户设备数量的增加而增加。提出的TODRA算法与其他3种算法相比能够获得更好的性能。此外,随着用户设备数量的增加,TODRA算法与另外3种算法之间的网络性能差距也越来越大。这主要是由于随着用户设备数量的增加,FNs的资源竞争变得激烈。
图6进一步讨论了TODRA算法与其他3种算法的网络成本随FN可用带宽增大的变化趋势。可以看出,当FN可用带宽增大时,网络成本会降低,并且该算法与另外3种算法相比能够获得更好的性能。对于ERA算法,在该算法中,FNs的带宽资源和计算资源平均分配给用户设备,随着用户设备数量的增加,任务卸载和处理的时延和能耗急剧增加,所以其性能低于其他算法。
图7评估了在不同用户设备数量下,所有FNs的得票数。在仿真中,FNs的数量被设置为16。如果FNs的票数大于或者等于阈值,该FN则会被选择成为验证集的一员。反之,则被排除。由仿真结果可知,阈值随用户设备数量的动态变化,当用户设备数量为210时,阈值是10,用深蓝色条表示。可以看出FN ID为2, 3, 5, 6, 7, 9, 13, 16的FNs可以包括在验证集中,而得票数较少的其他FNs将不能成为验证集的一员。而当用户设备数量降为170时,阈值是9,用浅蓝色条表示。进一步降低到136时,阈值是8,以黄条表示。
图8评估所提出改进的基于投票的DPoS共识算法,工作量证明(Proof-of-Work, PoW)共识算法[14],权益证明( Proof-of-Stake, PoS)共识算法[15],DPoS共识算法和合作证明(Proof-of-Collaboration, PoC)共识算法的网络成本和区块数量的关系[16]。可以看出,在所有算法的网络开销都随着区块数目的增加而增加。因为随着区块数目的增加,管理者会产生更多的时延和能耗来执行区块共识过程。当区块数量固定时,4种共识机制的成本差异主要受网络节点数量的影响,本文所提出的改进DPoS共识机制,经过投票筛选了一部分节点完成区块共识过程,参与区块共享和区块验证的节点数量降低。因此,区块链共识成本中,区块共享阶段和验证阶段成本降低。此外,与其他算法相比,提出的算法可以获得更好的性能,这得益于区块共识过程中更快的区块生成和验证过程。
5. 结束语
本文提出一种基于区块链的雾网络,在保证网络安全的同时,将用户设备的任务卸载到附近的FNs或D2D协作群组。以最小化网络成本为目标,提出了改进的基于投票的DPoS共识机制,建立了在不同约束条件下联合优化任务卸载决策、传输速率分配和计算资源分配的优化问题。仿真结果验证了该算法的有效性。
-
表 1 任务卸载决策和资源分配算法
算法1 任务卸载决策和资源分配算法(TODRA) (1) 初始化ρ, φ, tmax和最大容忍ς,令t = 0。 (2) 步骤1当t≤tmax时,分配传输速率Rk,n和卸载决策δk。 (a) 根据式(38)更新对偶变量ρ和φ。 (b) 如果满足条件||ρ(t+1)−ρ(t)||<ς和
||φ(t+1)−φ(t)||<ς,则有
R*k,n = Rk,n(t), δ*k = δk(t),并退出循环。(c) 否则,t = t+1,进入下一次迭代。 (3) 步骤2 令ϕmin=δkPstanQnEmax−Etol0,k−βk,nPkDk/N∑n=11ϕn,
ϕmax=(Fmax - ∑k∈Ωnfn,k)/N∑n=11ϕn,直到ϕmax与ϕmin的差
值小于等于最大容忍ς,返回结果ϕres。(a) 定义变量ϕb=(ϕmin+ϕmax)/2。 (b) 如果满足条件|ϕmax−ϕmin|<ς,则ϕres = ϕb。 (c) 否则,利用二分法更新拉格朗日乘子ϕ。 (d) 如果条件N∑n=1ϕbϕn>Fmax−fn,w′成立,ϕmax=ϕb,否
则ϕmin=ϕb。(e) b=b+1,返回(a)。 (f) 把ϕres代入式(42),得到计算资源的最优解。 (4) 算法结束。 -
[1] MILLER D. Blockchain and the internet of things in the industrial sector[J]. IT Professional, 2018, 20(3): 15–18. doi: 10.1109/MITP.2018.032501742 [2] MAO Yuyi, YOU Changsheng, ZHANG Jun, et al. A survey on mobile edge computing: The communication perspective[J]. IEEE Communications Surveys & Tutorials, 2017, 19(4): 2322–2358. doi: 10.1109/COMST.2017.2745201 [3] BACCARELLI E, SCARPINITI M, NARANJO P G V, et al. Fog of social IoT: When the fog becomes social[J]. IEEE Network, 2018, 32(4): 68–80. doi: 10.1109/MNET.2018.1700031 [4] HUANG Xiaoge, CUI Yifan, CHEN Qianbin, et al. Joint task offloading and QoS-aware resource allocation in fog-enabled internet-of-things networks[J]. IEEE Internet of Things Journal, 2020, 7(8): 7194–7206. doi: 10.1109/JIOT.2020.2982670 [5] SHARMA P K, CHEN M Y, and PARK J H. A software defined fog node based distributed blockchain cloud architecture for IoT[J]. IEEE Access, 2017, 6: 115–124. doi: 10.1109/ACCESS.2017.2757955 [6] HUANG Xiaoge, FAN Weiwei, CHEN Qianbin, et al. Energy-efficient resource allocation in fog computing networks with the candidate mechanism[J]. IEEE Internet of Things Journal, 2020, 7(9): 8502–8512. doi: 10.1109/JIOT.2020.2991481 [7] FERRAG M A, DERDOUR M, MITHUN MUKHERJEE M, et al. Blockchain technologies for the internet of things: Research issues and challenges[J]. IEEE Internet of Things Journal, 2019, 6(2): 2188–2204. doi: 10.1109/JIOT.2018.2882794 [8] SHARMA P K, SINGH S, JEONG Y S, et al. DistBlockNet: A distributed blockchains-based secure SDN architecture for IoTnetworks[J]. IEEE Communications Magazine, 2017, 55(9): 78–85. doi: 10.1109/MCOM.2017.1700041 [9] CHEN M H, DONG Min, and LIANG Ben. Resource sharing of a computing access point for multi-user mobile cloud offloading with delay constraints[J]. IEEE Transactions on Mobile Computing, 2018, 17(12): 2868–2881. doi: 10.1109/TMC.2018.2815533 [10] FENG Jie, YU F R, PEI Qingqi, et al. Joint optimization of radio and computational resources allocation in blockchain-enabled mobile edge computing systems[J]. IEEE Transactions on Wireless Communications, 2020, 19(6): 4321–4334. doi: 10.1109/TWC.2020.2982627 [11] ZHANG Zhen, HONG Zicong, CHEN Wuhui, et al. Joint computation offloading and coin loaning for blockchain-empowered mobile-edge computing[J]. IEEE Internet of Things Journal, 2019, 6(6): 9934–9950. doi: 10.1109/JIOT.2019.2933445 [12] YUAN Yingying, FENG Guangsheng, LV Hongwu, et al. A near-optimal resource allocation approach to computation offloading under D2D communications[C]. 2019 IEEE International Conference on Smart Internet of Things, Tianjin, China, 2019: 183–188. [13] ZHANG Jing, XIA Weiwei, YAN Feng, et al. Joint computation offloading and resource allocation optimization in heterogeneous networks with mobile edge computing[J]. IEEE Access, 2018, 6: 19324–19337. doi: 10.1109/ACCESS.2018.2819690 [14] KUMAR G, L SAHA R, RAI M M, et al. Proof-of-work consensus approach in blockchain technology for cloud and fog computing using maximization-factorization statistics[J]. IEEE Internet of Things Journal, 2019, 6(4): 6835–6842. doi: 10.1109/JIOT.2019.2911969 [15] WANG Siming, YE Dongdong, HUANG Xumin, et al. Consortium blockchain for secure resource sharing in vehicular edge computing: A contract-based approach[J]. IEEE Transactions on Network Science and Engineering, 2021, 8(2): 1189–1201. doi: 10.1109/TNSE.2020.3004475 [16] XU Chenhan, WANG Kun, LI Peng, et al. Making big data open in edges: A resource-efficient blockchain-based approach[J]. IEEE Transactions on Parallel and Distributed Systems, 2019, 30(4): 870–882. doi: 10.1109/TPDS.2018.2871449 -