[0090] 以下,参照附图对本发明的实施方式进行说明。
[0091] 本发明实施例提供了一种基于信息可见的MEC系统任务调度策略的博弈优化方法,如图1所示,具体步骤包括:
[0092] 如图2所示,基于信息可见的MEC系统包括移动设备、MEC服务器两个部分:
[0093] 移动设备中的本地执行系统(Local Execution System,LES):由一个本地CPU和一个任务缓冲区I组成。当任务进入LES时,如果本地CPU空闲,则任务立即接受服务。否则任务将在缓冲区I中排队等待。一旦在本地CPU中执行的任务完成服务并离开LES,在缓冲区I队首排队等待的任务将立即占用本地CPU并获得服务。
[0094] 移动设备中的传输系统(Transmission System,TS):由一个传输单元(Transmission Unit,TU)和一个任务缓冲区II组成。缓冲区II中的任务通过TU逐个传输到MEC服务器接收类似云的服务。如果TU是空闲的,则立即传输新到达的任务。否则,任务必须在缓冲区II中排队等待。一旦TU恢复空闲,位于缓冲区II队首的任务将占用TU并开始传输。
[0095] MEC服务器:由一个任务缓冲区III和有限个虚拟机组成。任务从TS卸载到MEC服务器后,若有空闲的虚拟机,则立即占用并接受服务;若全部虚拟机均被占用,则该任务进入到缓冲区III中排队等待,一旦出现空闲虚拟机,排在缓冲区III队首的任务则立即占用该虚拟机接受服务。
[0096] 在上述MEC系统中,任务的卸载策略如下:
[0097] 根据本地设备的可见信息,DMM获得任务被分配到LES和被卸载到MEC服务器中接受服务的净效益,以最大化任务净效益的原则制定任务调度策略,提出个体最优任务调度策略,这里所说的本地设备的可见信息包括移动设备上LES和TS中的任务数量可见。
[0098] 基于本地设备信息可见的个体净效益表示如下:
[0099] 任务被分配到LES接受服务的逗留时间包括在缓冲区I中的等待时间和在本地CPU上的执行时间。当LES中已经有i个任务时,这里的任务包括当前正在接受服务的任务数和在缓冲区I中等待的任务数,将新到达任务分配给LES的预期逗留时间可表示为Dlocal。
[0100]
[0101] 其中:μ1为LES中本地CPU上的服务速率;
[0102] 相应地,该任务的预期净效益可表示为Glocal。
[0103]
[0104] 其中:R为任务完成服务后获得的奖励;C为任务在MEC系统中单位时间的逗留成本;
[0105] 将任务卸载到MEC服务器接受服务的逗留时间包括在缓冲区II中的等待时间、TU上的传输时间、MEC服务器上的执行时间以及MEC服务器到移动设备的反馈时间。与云服务器相比,MEC服务器离移动设备更近,而且MEC系统中的流量负载比较轻。因此,在计算任务被卸载到MEC服务器接受服务的逗留时间时,忽略了反馈时间。
[0106] 当TS中已经有j个任务时,这里的任务包括当前正在接受服务的任务数和在缓冲区II中等待的任务数,新到达任务在缓冲区II中的等待时间和TU上的传输时间之和是(j+1)/μ2,任务在MEC服务器上的平均逗留时间表示为w0。因此,将新到达任务卸载到MEC服务器的预期逗留时间可表示为DMEC。
[0107]
[0108] 其中:μ2为TS中TU的服务速率;
[0109] 相应地,该任务的预期净效益可表示为GMEC。
[0110]
[0111] 当任务的预期净效益Glocal和GMEC的值均是负数时,即R‑C(i+1)/μ1<0并且R‑C((j+1)/μ2+w0)<0,新到达的任务将被丢弃。否则,LES和TS中分别存在一个纯阈值策略。
[0112] 设 为LES中的纯阈值策略。 是小于或等于Rμ1/C的最大整数,即设 为TS中的纯阈值策略。 是小于或等于Rμ2/C‑μ2w0的最大整数,即
因此,MEC系统的个体最优阈值策略可表示为
[0113]
[0114] 式中: 为不大于x的最大整数解。
[0115] 也就是说,当LES中有 个任务并且TS中有 个任务时,即 且 DMM将丢弃新到达的任务。当LES中的任务少于 或者TS中的任务少于 时,即 或 DMM以最大化预期净效益的原则分配新到达的任务。如果任务在LES上接受服务的预期净效益大于在MEC服务器上的预期净效益,即Glocal>GMEC,DMM将此任务分配给LES。否则,DMM将通过TS将此任务卸载到MEC服务器。
[0116] 如图3所示,社会最优任务调度策略为:
[0117] (1)当LES中有n1个任务且TS中有n2个任务时,即i=n1且j=n2,DMM将丢弃新到达的任务,任务调度策略是S=0。
[0118] (2)当LES中的任务数少于n1且TS中的任务数少于n2时,即i<n1且j<n2,DMM以最大化预期净效益的原则分配新到达的任务。如果Glocal>GMEC,DMM将到达的任务分配给LES,任务调度策略是S=1。在这种情况下,LES和TS的任务有效到达率分别是λ和0。否则,DMM将通过TS将此任务卸载到MEC服务器,任务调度策略是S=2。在这种情况下,任务在LES和TS的有效到达率分别是0和λ。
[0119] 通过引入一个特征函数如公式(6)给出任务的有效到达率。
[0120]
[0121] 当i<n1且j<n2时,任务在LES的有效到达率为λ(1‑δ(i,j)),任务在TS的有效到达率为λδ(i,j)。
[0122] (3)当LES中的任务数少于n1且TS中的任务数为n2时,即i<n1且j=n2,DMM只能将新到达的任务分配给LES,任务调度策略是S=1。在这种情况下,任务在LES和TS的有效到达率分别是λ和0。
[0123] (4)当LES中的任务数为n1且TS中任务数少于n2时,即i=n1且j<n2,DMM只能通过TS将新到达的任务卸载到MEC服务器,任务调度策略是S=2。在这种情况下,任务在LES和TS的有效到达率分别是0和λ。
[0124] 令随机变量L1(t)=i(i=0,1,...,n1)和L2(t)=j(j=0,1,...,n2)分别表示t时刻LES中和TS中的任务数。建立具有两个可数分量的二维连续时间马尔可夫链{(L1(t),L2(t)),t≥0},其中L1(t)称为系统水平,L2(t)称为系统阶段。{(L1(t),L2(t)),t≥0}是规则不可约的,具有有限的状态空间Ω为:
[0125] Ω={(i,j):0≤i≤n1,0≤j≤n2} (7)
[0126] 定义πi,j为稳态下系统水平为i,系统阶段为j时的概率分布,πi,j表示为:
[0127]
[0128] 定义πi为系统水平是i时的稳态概率向量,πi可表示为:
[0129]
[0130] 二维连续时间马尔可夫链{(L1(t),L2(t)),t≥0}的稳态概率分布Π可以表示为:
[0131]
[0132] 考虑任务到达率λ,一个任务在LES中本地CPU上的服务率为μ1,TS中TU上的传输率为μ2。MEC服务器中有c个相同的虚拟机,任务在虚拟机上的服务率为μ3,运用排队论、通信原理和计算机组成等理论知识,求解任务在MEC服务器上的平均逗留时间w0。
[0133] MEC服务器可以视为一个M/M/c的排队系统,令w0表示稳定状态下,任务在MEC服务器上的平均逗留时间。由于任务在MEC服务器上的实际到达率无法直接获知,因此w0无法直接用数学表达式表示。
[0134] 在基于本地设备可见的排队系统中,任务在MEC服务器上平均逗留时间与任务在MEC服务器上的到达率相互影响,在MEC服务器上的平均逗留时间越长,任务在MEC服务器上的到达率就越小,反之越大;任务在MEC服务器上的到达率越小,在MEC服务器上的平均逗留时间就越小,反之越大。所以,在系统稳定状态下,w0一定存在唯一解。
[0135] 为了求解稳态下任务在MEC服务器上的平均逗留时间,构建函数g(w),其构建步骤如下。
[0136] (1)假设任务在MEC服务器上的平均逗留时间用w表示;
[0137] (2)对具有多个虚拟机的MEC系统进行稳态分析,获得任务在MEC服务器上的平均到达率α为:
[0138] α=λp2 (11)
[0139] 式中:p2为任务通过传输TS分配给MEC服务器的概率;
[0140] 计算任务在MEC服务器上的实际平均逗留时间wactual:
[0141]
[0142] 其中:wactual为任务在MEC服务器上的实际平均逗留时间;w为g(w)函数的自变量;c为虚拟机个数;ρc为具有c个虚拟机的系统的服务强度;ρ为具有1个虚拟机的系统的服务强度;μ3为MEC服务器中虚拟机的服务速率。
[0143] (3)构建函数g(w)可表示g(w)。
[0144] g(w)=wactual‑w (13)
[0145] (4)输出g(w)。
[0146] 根据上述对任务在MEC服务器上逗留时间与任务在MEC服务器上到达率之间关系的描述可知,g(w)是一个递减函数并且存在零点值,当w与wactual相同,即g(w)=0时,w即是系统稳定状态下,任务在MEC服务器上的平均逗留时间。因此将求解系统稳态下任务在MEC服务器上的平均逗留时间问题转化为求解g(w)的零点问题。
[0147] 任务在MEC服务器上的平均逗留时间w0的步骤如下。
[0148] (1)初始化任务在MEC服务器上平均逗留时间的最大值wmax、最小值wmin,精度‑20accuracy=e 。
[0149] (2)计算平均值wmean=(wmax+wmin)/2,g(w)函数的最大值g(wmin),平均值g(wmean)和最小值g(wmax);
[0150] (3)计算g(w)的零点g(w0)=0。
[0151] if g(wmax)*g(wmin)≤0
[0152] while(true)
[0153] if abs(g(wmean))≤accuracy
[0154] w0=wmean;
[0155] break;
[0156] endif
[0157] if g(wmin)*g(wmean)>0
[0158] wmin=wmean;
[0159] elseif g(wmin)*g(wmean)<0
[0160] wmax=wmean;
[0161] endif
[0162]
[0163] endif
[0164] (4)输出w0。
[0165] 求解分配给LES的任务的平均逗留时间E[Dlocal]和分配给MEC服务器的任务的平均逗留时间E[DMEC]。
[0166] 分配给LES的任务的平均逗留时间E[Dlocal]包括在缓冲区I中的平均逗留时间和在LES上的平均服务时间。
[0167]
[0168] 其中:p1为任务分配给本地执行系统的概率;
[0169]
[0170] 其中: 为稳态下系统水平为i,系统阶段为n2时的概率分布;
[0171] 分配给MEC服务器的任务的平均逗留时间E[DMEC]包括在缓冲区II中的平均逗留时间、在TS上的平均服务时间和在MEC服务器上的平均服务时间。
[0172]
[0173]
[0174] 其中: 为稳态下系统水平为n1,系统阶段为j时的概率分布;
[0175] 结合E[Dlocal]和E[DMEC]给出MEC系统中任务的平均逗留时间E[D]:
[0176] E[D]=p1E[Dlocal]+p2E[DMEC] (18)
[0177] 社会效益是MEC系统中所有任务净效益和运营商效益的总和。考虑到提供服务的MEC系统,单位时间社会效益S(n1,n2)表示为:
[0178]
[0179] 其中: 是任务在MEC系统的有效到达率; 为稳态下系统水平为n1,系统阶段为n2时的概率分布;
[0180] 通过最大化公式S(n1,n2)中给出的单位时间社会效益S(n1,n2),社会最优任务调度策略 =表示为:
[0181]
[0182] 其中:argmax表示最大化目标函数的变量集。换句话说,来自argmax的任何元素都使单位时间社会效益S(n1,n2)达到其最大价值。
[0183] 提供一具体实施例,如图4所示,针对移动设备中的任务卸载问题,利用本发明提出的策略,可以在保证每个任务时延最低的同时,实现社会效益函数达到最大值。图4揭示了系统视角下的DMM任务调度策略的社会效益情况,获得MEC系统的社会最优任务调度策略X轴代表LES中的阈值,Y轴代表TS中的阈值,Z轴代表在LES中的阈值和TS中的阈值确定的情况下对应的单位时间社会效益值。
[0184] 当LES中的阈值n1和TS中的阈值n2都较小时,新到达的任务更有可能在没有获得服务的情况下被丢弃,这是限制单位时间社会效益S(n1,n2)的一个主要因素。随着LES中的阈值n1或TS中的阈值n2的增加,单位时间社会效益S(n1,n2)将相应增加。然而,当LES中的阈值n1或TS中的阈值n2进一步增加时,更多的任务将进入MEC系统,平均逗留时间E[D]将更大。因此,在MEC系统中逗留的时间成本将降低单位时间社会效益S(n1,n2)。从总体上看,单位时间社会效益S(n1,n2)呈现出凸的趋势。
[0185] 通过观察图4还发现,总是存在一个双元组 它可以使单位时间社会效益S(n1,n2)最大化。二元组 称为社会最优任务调度策略。在设置的系统参数下,MEC系统的社会最优任务调度策略 是(4,8)。
[0186] 与现有技术相比,本发明提出的基于信息可见的MEC系统任务调度策略的博弈优化方法,能够解决移动设备容量不足、性能不佳的问题,在保证每个任务时延最低的同时,最大化运营商和任务整体的利益。
[0187] 以上所述的实施例仅是对本发明的优选实施方式进行描述,并非对本发明的范围进行限定,在不脱离本发明设计精神的前提下,本领域普通技术人员对本发明的技术方案做出的各种变形和改进,均应落入本发明权利要求书确定的保护范围内。