一种多用户多边缘服务器场景下的计算卸载方法与流程

文档序号:19320532发布日期:2019-12-04 00:28阅读:1210来源:国知局
一种多用户多边缘服务器场景下的计算卸载方法与流程

本发明涉及一种多用户多边缘服务器场景下的计算卸载方法,属于移动云计算领域。该方法最小化用户计算代价并且最小化运营商损失。



背景技术:

随着边缘计算的发展,运营商在用户周围部署了大量边缘服务器为用户提供计算卸载服务。在多用户多边缘服务器的场景下,不同用户可以依据自身设备状态以及服务器计算价格动态选择使用哪些边缘服务器进行计算。同时,边缘服务器为了赚取更多利润,也会相应调整价格及服务来吸引更多的顾客。因此,如何对用户决策以及边缘服务器定价进行优化使得用户计算代价最小,边缘服务器收益最大就显得格外重要。

计算卸载的主要问题就是如何最小化计算和卸载成本。以前的很多工作的研究目标为最小化用户计算代价和最小化运营商损失。第一类,主要研究如何最小化用户计算代价。其为间歇连接的云系统中的移动设备开发了基于马尔可夫决策过程(mdp)模型的最优卸载算法,以此来最小化用户计算代价(offloadinginmobilecloudletsystemswithintermittentconnectivity.ieeetransactionsonmobilecomputing,2015.14(12):2516-2529.)第二类,主要研究如何最小化运营商损失,研究了已经给出计算资源的csp的定价策略但没有将其与用户计算代价结合起来(pricecompetitioninaduopolyiaascloudmarket.201416asia-pacific.ieee,2014:1-4.)。

综上所述目前相关的计算卸载问题并未对多用户多边缘服务器场景下的用户决策以及边缘服务器定价问题进行联合研究。因此,本发明提出了一种多用户多边缘服务器场景下的计算卸载方法,目标为用户计算代价最小并且运营商损失最小。



技术实现要素:

本发明提供了一种多用户多边缘服务器场景下的计算卸载方法。本方法通过对多用户多边缘服务器计算卸载进行建模,建模为一个双层优化问题;然后将原始的双层优化问题转化为等价的单层优化问题;最后利用分支限界对问题进行求解,得到最优解,使得用户计算代价最小并且运营商损失最小。

在进行前资源优化前,需要先完成如下操作:

首先,用户获取设备剩余电量、计算能力、射频数以及每一个射频传输功率等信息;

然后,用户获取需要计算的任务属性,包括计算任务的数据量大小,计算所需cpu周期信息;

最后,用户设置自己对计算延迟和能量的偏好信息并将上述所有用户相关信息发送至控制器。控制器一般部署在服务器端,用来控制整个流程的运行,主要任务包括对用户数据进行收集、对多用户多边缘服务器场景下的计算卸载问题进行建模、对模型进行松弛与优化、对模型进行求解等。

本发明包括以下具体步骤:

步骤一:控制器依据收集到的全体用户信息及系统的目标,利用多用户多边缘服务器场景下的计算卸载建模方法对多用户多边缘服务器计算卸载问题进行建模,得到双层优化模型。边缘服务器总体利益损失最小化问题p1为上层优化问题,用户总体代价最小化问题p0为下层优化问题。

步骤二:控制器根据上一步得到的初始问题模型p1与p0的特点,将原始的双层优化问题转化为等价的单层优化问题p3。

步骤三:控制器利用分支限界法对上一步得到的单层优化问题模型p3进行求解,使得用户计算代价最小,并且使得运营商损失最少。

本发明还包括:

前述的步骤一中多用户多边缘服务器场景下的计算卸载建模方法具体还包括以下步骤:

建立下层用户总体代价最小化问题模型p0:

步骤1.1.1:计算用户i将子任务k上传至边缘服务器j所需要的时间

其中用户集合为i={1,2,...,n},用户i的子任务集合为ji={1,2,...ki}。同时,边缘服务器集合为s={1,2,...,m}。其中j=m(m>0)代表用户在第m个边缘服务器进行计算。代表用户i计算子任务k所需要上传的数据,代表分配给用户i的带宽。令aijk代表用户i的子任务k是否在服务器j上进行计算。如果aijk在服务器上j进行计算,那么aijk=1,否则aijk=0。由于一个子任务只能在一个服务器上进行计算,因此有约束aikj∈{0,1},

步骤1.1.2:计算用户i在边缘服务器j计算子任务k所需的能量等于上传数据所产生的通信能耗

其中pi代表用户i的发射功率,hij代表用户i对边缘服务器j所提供服务的敏感系数。

步骤1.1.3:计算用户在边缘服务器计算任务的总能耗

步骤1.1.4:计算用户i在边缘服务器j计算任务k所需要支付的总花费yikj

yikj=σjgik.

其中σj代表边缘服务器j所提供的单位cpu周期数的价格(元/cpu周期数)。

步骤1.1.5:计算用户i在云端计算任务所需要支付的总代价yi等于在各个边缘服务器计算所产生的代价之和

步骤1.1.6:计算用户i在云端的计算代价φi

步骤1.1.7:由于边缘服务器的计算资源有限,其所能服务的最大任务数量也受到了限制,因此有如下约束:

步骤1.1.8:得到用户总体代价最小化问题优化模型p0

建立边缘服务器总体利益损失最小化问题模型p1:

步骤1.2.1:计算边缘服务器j的总损失

边缘服务器j的初始价格为θj;

步骤1.2.2:边缘服务器总体利益损失最小化问题p1

s.t.0<σj≤θj

前述的步骤二中将原始的双层优化问题p0、p1转化为等价的单层优化问题p3,具体还包括以下步骤:

步骤2.1:将一组整数变量aikj松弛为一组连续变量

0≤aikj≤1

步骤2.2:整数线性规划问题p0转化为连续线性规划问题p2:

s.t.ax≤c,

其中矩阵c为目标函数中的系数矩阵,矩阵a是问题p2的约束系数矩阵。

步骤2.3:转换p2的拉格朗日形式如下:

步骤2.4:计算得到p2的kkt条件如下:

aikj≥0,

aikj≤1,

uikjaikj=0,

vikj(aikj-1)=0,

vikj≥0,

uikj≥0,

步骤2.5:控制器将kkt条件中的uikj≥0,k∈ji,j∈s作为约束带入问题p1,可以得到如下单层优化问题p3:

p3在上述约束控制的条件下为:

前述的步骤三中分支限界法具体还包括以下步骤:

步骤3.1:设置阈值ρ=0.01,目前的最优解uopt=+∞;

步骤3.2:将子可行域sj初始化为问题p3的全部可行域;

步骤3.3:当有可行域未被遍历,进行步骤3.4;否则输出原始问题的最优值uopt以及其相对应的最优解a*与σ*

步骤3.4:选取子问题sj,对其求解,得到下界lbj,以及相应的最优解ajl和σjl

步骤3.5:如果lbj>uopt回到步骤3.3,否则选取子问题sj,对其求解,得到上界ubj,以及相应的最优解aju和σju

步骤3.6:如果ubj>uopt回到步骤3.3,否则令uopt=ubj,a*=aju*=σju,将所有lb>ub的分支减掉,不再进行遍历;

步骤3.7:如果lbj-ubj≤ρ,返回步骤3.3,否则将目前区域sj划分为子区域,并且返回步骤3.3。

本发明的有益效果在于:

(1)本发明提出的方法同时考虑到用户的计算时延和计算能量问题,可以满足用户需求的多样性。

(2)本发明对多用户多边缘服务器场景下的用户决策以及边缘服务器定价问题进行联合研究,极大的提高了经济效益

(3)本发明提出的方法同时考虑用户在本地和云端计算代价,有效减少了总体用户的计算代价。

附图说明

图1多用户多边缘服务器场景下的计算卸载方法中用户决策建模的流程图。

图2多用户多边缘服务器场景下的计算卸载方法中边缘服务器定价建模的流程图。

图3多用户多边缘服务器场景下的计算卸载方法利用分支限界法的求解流程图。

具体实施方式

下面结合附图对本发明做进一步的说明:

假设一共有n个用户,每个用户设备只有一个射频。同时,有m个边缘服务器,边缘服务器的计算能力是有限的。每个用户有一个任务,而用户i的任务可以分解为ki个独立的子任务,每个子任务可以选择任意一个边缘服务器进行计算。用户之间带宽分配采用频分复用,即用户之间通信互不干扰。用户的目标是使得全体用户代价最低,边缘服务器的目标是使得全体利益损失最小。

然后,多用户多边缘服务器场景下的计算卸载方法主要包括以下具体步骤:

(1)控制器计算用户i在云端的计算代价φi

(2)控制器添加约束:

(3)控制器计算得到用户总体代价最小化问题优化模型p0

(4)控制器计算边缘服务器j的总损失

边缘服务器j的初始价格为θj

(5)控制器得到边缘服务器总体利益损失最小化问题p1

s.t.0<σj≤θj

(6)控制器将整数线性规划问题p0转化为连续线性规划问题p2:

s.t.ax≤c,

其中矩阵c为目标函数中的系数矩阵,矩阵a是问题p2的约束系数矩阵。

(7)控制器计算得到p2的kkt条件如下:

aikj≥0,

aikj≤1,

uikjaikj=0,

vikj(aikj-1)=0,

vikj≥0,

uikj≥0,

(8)控制器将kkt条件中的uikj≥0,k∈ji,j∈s作为约束带入问题p1,可以得到如下单层优化问题p3:

p3在上述约束控制的条件下为:

(9)控制器设置阈值ρ=0.01,目前的最优解uopt=+∞;

(10)控制器将子可行域sj初始化为问题p3的全部可行域;

(11)当有可行域未被遍历,进行步骤(3.4)。否则输出原始问题的最优值uopt以及其相对应的最优解a*与σ*;

(12)选取子问题sj,对其求解,得到下界lbj,以及相应的最优解ajl和σjl

(13)如果lbj>uopt回到步骤(11),否则选取子问题sj,对其求解,得到上界ubj,以及相应的最优解aju和σju

(14)如果ubj>uopt回到步骤(11),否则令uopt=ubj,a*=aju*=σju,将所有lb>ub的分支减掉,不再进行遍历;

(15)如果lbj-ubj≤ρ,返回步骤(11),否则将目前区域sj划分为子区域,并且返回步骤(11)。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1