董春利,王 莉
(南京交通职业技术学院 电子信息工程学院,江苏 南京 211188)
一般的三层雾计算网络包括云层、雾层和用户层。用户层容纳了较多用户设备,需要低时延的高体验质量(QoE)计算服务[1]。云层由大规模云数据中心(Cloud Data Center,CDC)组成,具有高性能计算单元,通常位于远离用户的偏远地区。雾层包括一组雾节点(Fog Node,FN),被广泛地部署在邻近于用户。FN可由CDC或其他服务供应商部署。
FN位于用户附近,因此用户可将工作负载提交给与他们相邻的FN,从而可扩大服务覆盖范围。此外,由于所有FN的计算和能量资源都有限,用户提交的工作负载需要被有效分配。相邻的FN可通过本地通信基础架构相互协作,因此可互相帮助共同处理工作负载,从而进一步提高用户的服务质量。
考虑一个三层雾计算网络,其中每个用户可向由一组CDC部署的一组相邻FN提交计算服务。假设总共有M个CDC,标记为C={C1,C2,L,CM}。在虚拟网络中,所有CDC都为N个用户提供服务,标记为U={U1,U2,…,UN}。此外,在物理网络中,为了减少服务延迟并且实现实时快速响应交互,每个CDC可将用户提交的服务卸载到本地FN。假设网络中有K个FN,标记为F={f1,f2,…,fK}。
设λn为用户的工作负载到达率,并且定义计算资源的单位数量,计算资源指每个FN可分配的计算资源块(Computation Resource Blocks,CRB),其以μ的速率提供计算服务。然而,由于用户不能直接接入CRB,需要从CDC接收虚拟化服务,并且在CDC的管理下,最终可将FN的CRB分配给用户。
在考虑雾计算和资源分配问题之间的交互作用之前,需要一种可用于偏好产生和资源分配策略评估的指标。关于雾计算中的资源分配问题的现有工作是最大化服务质量或最小化成本[2]。在本研究中,同时考虑了两个关键指标[3]。与总的成本效率概念不同,在满足QoS要求的同时使总成本最小化,这里使用效用与总成本之比来定义网络的成本效率指标,公式如下:
(1)
服务质量可以通过服务延迟来衡量,包括网络中往返工作负载传输时间和雾层的排队延迟。因此用户un的服务延迟成本,包括排队延迟CnQD和网络延迟CnND引起的成本,可表示为
(2)
假设每个用户的工作负载都是泊松到达过程。基于M/G/1排队延迟模型,采用了排队延迟成本[4]。因此,用户un的排队延迟成本可以表示为:
(3)
qn是用户un购买的CRB的数量。另外,为简化起见,网络延迟CnND引起的成本是lkn的线性函数,即:
(4)
其中a是标量,lkn表示从CDC到FN的距离加上从FNfk到用户un的距离。因此,基于(2)的用户un的服务延迟成本可重写为:
(5)
在雾计算网络中,每个CDC的效用是从用户得到的收入,减去能够提供物理CRB设施的付款。
通过CDC-FN配对,根据服务用户购买的虚拟CRB的数量,每个CDC都倾向于将其服务卸载到就近的FN。但是,如果可以满足所有用户需求的FN中没有足够的可用CRB,则远离用户的远程CDC仍将为某些用户提供服务,而需要支付更多的能源成本。因此,CDCcm,m∈{1,2,…,M}的效用函数可给出为:
(6)
根据(5)中的成本和(6)中的效用,可以将CDCcm的成本效率表示为:
(7)
对于雾计算网络中的FNfk,效用是从CDC收到的付款减去传输费用,可以将其表示为:
(8)
其中Onk表示用于每个单元CRB传输的支付,其与距离lkn具有线性关系。因此,FNfk的成本效率可以表示为:
(9)
雾计算网络中的用户为服务给CDC支付,并且用户的效用un,∀n∈{1,2,…,N},可以表示为从工作负载数据中获得的收入,减去服务延迟的成本和支付给CDC的费用,可以表示为费用:
(10)
其中an表示用户un可获得的单元接收的数据率的收入。bn和gn分别表示用户un的效用函数中,支付的重要性的权重因子和数据服务延迟。因此,用户un的成本效率可以写成
(11)
对三层雾计算网络中的资源分配问题,提出了成本效率的概念,可用于CDC,FN和用户之间的偏好分析。然后,基于成本效率、开发的双重匹配策略,三方参与者可以实现稳定的匹配结果。