本发明涉及边缘计算技术领域,尤其涉及一种边缘计算环境下的卸载方法和装置。
背景技术:
随着互联网技术的发展,出现了很多许多新式应用,比如增强现实应用和移动物体识别应用。这些应用通常具有计算密集和时延敏感的特征。由于智能终端的计算能力和续航能力有限,现在人们通常把这类任务卸载到计算能力更强的服务器上执行。云计算中的数据中心一般离用户很远,在数据中心处理此类任务会造成较长的延时不能满足应用的时延约束,因此边缘计算应运而生。
边缘计算是指在靠近物或数据源头的一侧,采用网络、计算、存储、应用核心能力为一体的开放平台,就近提供最近端服务。其应用程序在边缘侧发起,产生更快的网络服务响应,满足行业在实时业务、应用智能、安全与隐私保护等方面的基本需求。因此这类任务可以卸载(offload)到边缘服务器中执行。
然而,当大量用户进行卸载时会竞争无线通信资源和边缘服务器的计算资源,会导致服务质量受到影响。其次,卸载过程中也会来额外的通信开销,比如能耗和时延。因此,如何做出卸载决策来保证这些应用的服务质量(qualityofservice,qos)是一个具有挑战的问题。
技术实现要素:
本发明实施例提出一种边缘计算环境下的卸载方法和装置。
本发明实施例的技术方案如下:
一种边缘计算环境下的卸载方法,该方法包括:
a、确定包含每个卸载任务的初始可行卸载策略的策略集,确定执行该策略集时的第一终端能效;
b、随机选择卸载任务,改变该随机选择的卸载任务的初始可行卸载策略,确定当执行该包含改变后可行卸载策略的策略集时的第二终端能效;
c、基于第一终端能效和第二终端能效的差值生成随机变量,依据所述随机变量为概率,在策略集中利用所述改变后可行卸载策略替换所述初始可行卸载策略,依据一与所述随机变量的差值为概率,在策略集中维持所述初始可行卸载策略;
d、当第一终端能效和第二终端能效的差值的绝对值大于预定的门限值时,返回步骤b,直到第一终端能效和第二终端能效的差值的绝对值小于等于预定的门限值后,再向每个边缘服务器广播所述策略集。
在一个实施方式中,所述每个卸载任务的初始可行卸载策略包括下列中的至少一个:
不向边缘服务器卸载;
基于与边缘服务器m连接的第n号信道向所述边缘服务器m卸载,其中n和m都是正整数。
在一个实施方式中,其中第一终端能效为η,第二终端能效为
在一个实施方式中,所述确定执行该策略集时的第一终端能效包括:
针对该策略集中每个卸载任务的初始可行卸载策略,确定当不向边缘服务器卸载时的终端cpu频率值、当向边缘服务器卸载时的最佳传输功率和当向边缘服务器卸载时边缘服务器计算速率分配的最优值,基于该终端cpu频率值、最佳传输功率和最优值计算每个终端的能效;对全部终端的能效进行加权计算以得到第一终端能效。
在一个实施方式中,所述确定当执行该包含改变后可行卸载策略的策略集时的第二终端能效包括:
针对该包含改变后可行卸载策略的策略集中的每个可行卸载策略,确定当不向边缘服务器卸载时的终端cpu频率值、当向边缘服务器卸载时的最佳传输功率和当向边缘服务器卸载时边缘服务器计算速率分配的最优值,基于该终端cpu频率值、最佳传输功率和最优值计算每个终端的能效;对全部终端的能效进行加权计算以得到第二终端能效。
一种边缘计算环境下的卸载装置,该装置包括:
策略集确定模块,用于确定包含每个卸载任务的初始可行卸载策略的策略集,确定执行该策略集时的第一终端能效;
改变模块,用于随机选择卸载任务,改变该随机选择的卸载任务的初始可行卸载策略,确定当执行该包含改变后可行卸载策略的策略集时的第二终端能效;
随机变量生成模块,用于基于第一终端能效和第二终端能效的差值生成随机变量,依据所述随机变量为概率,在策略集中利用所述改变后可行卸载策略替换所述初始可行卸载策略,依据一与所述随机变量的差值为概率,在策略集中维持所述初始可行卸载策略;
收敛模块,用于当第一终端能效和第二终端能效的差值的绝对值大于预定的门限值时,返回运行改变模块和随机变量生成模块,直到第一终端能效和第二终端能效的差值的绝对值小于等于预定的门限值后,再向每个边缘服务器广播所述策略集。
在一个实施方式中,所述每个卸载任务的初始可行卸载策略包括下列中的至少一个:
不向任何的边缘服务器卸载;
基于与边缘服务器m连接的第n号信道向所述边缘服务器m卸载,其中n和m都是正整数,m为边缘服务器的编号,n为信道编号。
在一个实施方式中,其中第一终端能效为η,第二终端能效为
在一个实施方式中,策略集确定模块,用于针对该策略集中每个卸载任务的初始可行卸载策略,确定当不向边缘服务器卸载时的终端cpu频率值、当向边缘服务器卸载时的最佳传输功率和当向边缘服务器卸载时边缘服务器计算速率分配的最优值,基于该终端cpu频率值、最佳传输功率和最优值计算每个终端的能效;对全部终端的能效进行加权计算以得到第一终端能效。
在一个实施方式中,改变模块,用于针对该包含改变后可行卸载策略的策略集中的每个可行卸载策略,确定当不向边缘服务器卸载时的终端cpu频率值、当向边缘服务器卸载时的最佳传输功率和当向边缘服务器卸载时边缘服务器计算速率分配的最优值,基于该终端cpu频率值、最佳传输功率和最优值计算每个终端的能效;对全部终端的能效进行加权计算以得到第二终端能效。
可见,采用本发明实施方式后,确定包含每个卸载任务的初始可行卸载策略的策略集,确定执行该策略集时的第一终端能效;随机选择卸载任务,改变该随机选择的卸载任务的初始可行卸载策略,确定当执行该包含改变后可行卸载策略的策略集时的第二终端能效;基于第一终端能效和第二终端能效的差值生成随机变量,依据所述随机变量为概率,在策略集中利用所述改变后可行卸载策略替换所述初始可行卸载策略,依据一与所述随机变量的差值为概率,在策略集中维持所述初始可行卸载策略;当第一终端能效和第二终端能效的差值的绝对值大于预定的门限值时,返回继续随机选择卸载任务和变更随机选择的卸载任务的可行卸载策略,直到第一终端能效和第二终端能效的差值的绝对值小于等于预定的门限值后,再向每个边缘服务器广播所述策略集。可见,本发明实施方式将卸载问题分解为卸载决策问题和资源分配问题。在给定的卸载决策下优化资源分配,再基于资源分配的结果进一步优化卸载决策。如此迭代,直到收敛到全局最优决策,可以提高终端的能源效率。
附图说明
图1是根据本发明边缘计算环境下的卸载方法的流程图。
图2是根据本发明边缘计算环境下的卸载装置的结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
为了描述上的简洁和直观,下文通过描述若干代表性的实施方式来对本发明的方案进行阐述。实施方式中大量的细节仅用于帮助理解本发明的方案。但是很明显,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”。由于汉语的语言习惯,下文中没有特别指出一个成分的数量时,意味着该成分可以是一个也可以是多个,或可理解为至少一个。
在现有技术中,主要关注如何在卸载的过程中保证确定性的时延约束。确定性时延约束是指任务需要在给定的时延内以100%的概率完成。申请人发现:相对于确定性时延约束,统计性时延约束是指任务需要在给定的时延内以一个给定的概率(比如96%)完成。统计性时延约束比确定性时延约束更有优势。因为在动态的无线网络环境中传输可能会有短暂的性能下降,很难去保证一个确定性的时延要求。其次,满足松弛的时延约束会节省更多的能耗
因此,本发明实施方式提出了一种统计qos需求驱动的卸载机制,旨在最大化终端(比如,移动终端)的能源效率。
在本发明实施方式中,提出一种边缘计算环境下统计qos需求驱动的卸载机制。通过优化卸载决策、资源分配(比如,本地终端的cpu频率,上传功率和边缘服务器的计算资源)来解决统计qos驱动的卸载问题。本发明实施方式将卸载问题分解为卸载决策问题和资源分配问题。在给定的卸载决策下优化资源分配,再基于资源分配的结果进一步优化卸载决策。如此迭代,直到收敛到全局最优决策。
图1是根据本发明边缘计算环境下的卸载方法的流程图。
如图1所示,该方法包括:
步骤101:确定包含每个卸载任务的初始可行卸载策略的策略集,确定执行该策略集时的第一终端能效。
在这里,卸载任务为可能会被卸载到边缘服务器中执行的任务或可能由终端自身执行的任务。卸载任务的可行卸载策略的含义是:满足预定约束条件(比如统计时延约束条件)的、所有的可以被执行的卸载策略。举例,统计时延约束是指任务的完成时间
针对每个卸载任务,首先从其所有的可行卸载策略中确定初始可行卸载策略(比如,以随机方式从其所有的可行卸载策略中确定初始可行卸载策略)。
举例,每个卸载任务的所有可行卸载策略可能包括下列中的至少一个:不向边缘服务器卸载;基于与边缘服务器m连接的第n号信道向所述边缘服务器m卸载,其中n和m都是正整数;等等。其中,不向边缘服务器卸载时,即由终端本地完成该卸载任务(比如:增强现实应用,移动物体识别应用,等等)。在确定向边缘服务器卸载时,可以经由多个信道中的某一个信道连接到多个边缘服务器中的某一个边缘服务器,以由该连接的边缘服务器该卸载任务(比如:增强现实应用,移动物体识别应用,等等)。由于信道和边缘服务器的数目都可能为多个,因此在确定向边缘服务器卸载时的可行卸载策略相应地可能为多个。
针对每个卸载任务的可行卸载策略,优选基于随机方式确定其初始可行卸载策略。因此,每个卸载任务的初始可行卸载策略同样包括下列中的至少一个:不向边缘服务器卸载;基于与边缘服务器m连接的第n号信道向所述边缘服务器m卸载,其中n和m都是正整数;等等。
全部卸载任务的初始可行卸载策略集中在一起,即为包含每个卸载任务的初始可行卸载策略的策略集。
另外,在一个实施方式中,步骤101中确定执行该策略集时的第一终端能效包括:
针对该策略集中每个卸载任务的初始可行卸载策略,确定当不向边缘服务器卸载时的终端cpu频率值、当向边缘服务器卸载时的最佳传输功率和当向边缘服务器卸载时边缘服务器计算速率分配的最优值,基于该终端cpu频率值、最佳传输功率和最优值计算每个终端的能效;对全部终端的能效进行加权计算以得到第一终端能效。该第一终端能效即为执行该包含全部卸载任务的初始可行卸载策略集时,所有移动终端的能效。其中,基于终端cpu频率值、最佳传输功率和边缘服务器计算速率分配的最优值计算每个终端的能效的计算过程可以参照现有技术。
步骤102:随机选择卸载任务,改变该随机选择的卸载任务的初始可行卸载策略,确定当执行该包含改变后可行卸载策略的策略集时的第二终端能效。
在这里,随机选择出卸载任务,并改变该随机选择的卸载任务的初始可行卸载策略(具体为:改变为依然属于该卸载任务的可行卸载策略的、不同于该卸载任务的初始可行卸载策略的卸载策略),并确定当执行该包含改变后可行卸载策略的策略集时的第二终端能效。
在一个实施方式中,步骤102中确定当执行该包含改变后可行卸载策略的策略集时的第二终端能效包括:针对该包含改变后可行卸载策略的策略集中的每个可行卸载策略,确定当不向边缘服务器卸载时的终端cpu频率值、当向边缘服务器卸载时的最佳传输功率和当向边缘服务器卸载时边缘服务器计算速率分配的最优值,基于该终端cpu频率值、最佳传输功率和最优值计算每个终端的能效;对全部终端的能效进行加权计算以得到第二终端能效。该第二终端能效即为执行该包含改变后可行卸载策略(而其它的卸载任务的初始可行卸载策略保持不变)的策略集时,所有移动终端能效。
步骤103:基于第一终端能效和第二终端能效的差值生成随机变量,依据所述随机变量为概率,在策略集中利用所述改变后可行卸载策略替换所述初始可行卸载策略,依据一与所述随机变量的差值为概率,在策略集中维持所述初始可行卸载策略。
步骤104:当第一终端能效和第二终端能效的差值的绝对值大于预定的门限值时,返回步骤102,直到第一终端能效和第二终端能效的差值的绝对值小于等于预定的门限值后,再向每个边缘服务器广播所述策略集。
在这里,当第一终端能效和第二终端能效的差值的绝对值大于预定的门限值时,返回步骤102以继续随机选择卸载任务,并继续改变该随机选择的卸载任务的初始可行卸载策略(其中,当继续随机选择的卸载任务为之前已经被选择的卸载任务时,则改变策略集中该之前已经被选择的卸载任务的改变后可行卸载策略),并继续执行步骤103以更新策略集,直到第一终端能效和第二终端能效的差值的绝对值小于等于预定的门限值后,向每个边缘服务器广播策略集。
可见,在本发明实施方式中,通过优化卸载决策、资源分配(本地cpu频率,上传功率和边缘服务器的计算资源)来解决统计qos驱动的卸载问题。实质上,本发明实施方式将卸载问题分解为卸载决策问题和资源分配问题。在给定的卸载决策下优化资源分配,再基于资源分配的结果进一步优化卸载决策。如此迭代,直到收敛到全局最优决策。
在一个实施方式中,其中第一终端能效为η,第二终端能效为
下面再具体描述本发明实施方式的典型算法实现过程。
步骤1:为所有用户(每个用户对应一个卸载任务)分别初始化各自的可行卸载策略,得到包含全部用户的初始可行卸载策略的策略集a,其中:
u
计算得到执行该策略集a时的资源分配,包括:终端的cpu频率值为
η。
步骤2:随机选一个用户u,并选择用户u的可行的卸载策略
在这里,随机选一个用户u,并随机选择不同于该用户u的初始可行卸载策略的、属于该用户u的可行卸载策略范畴之内的一个可行卸载策略,即利用该选中的可行卸载策略变更策略集a中该用户u的初始可行卸载策略,以得到策略集a变更后的策略集
步骤3:计算得到执行策略集
步骤4:构造随机变量
步骤5:依概率p,令
步骤6:当能效
本发明实施方式还提出了边缘计算环境下的卸载装置。
图2是根据本发明边缘计算环境下的卸载装置的结构图。
如图2所示,边缘计算环境下的卸载装置包括:
策略集确定模块201,用于确定包含每个卸载任务的初始可行卸载策略的策略集,确定执行该策略集时的第一终端能效;
改变模块202,用于随机选择卸载任务,改变该随机选择的卸载任务的初始可行卸载策略,确定当执行该包含改变后可行卸载策略的策略集时的第二终端能效;
随机变量生成模块203,用于基于第一终端能效和第二终端能效的差值生成随机变量,依据所述随机变量为概率,在策略集中利用所述改变后可行卸载策略替换所述初始可行卸载策略,依据一与所述随机变量的差值为概率,在策略集中维持所述初始可行卸载策略;
收敛模块204,用于当第一终端能效和第二终端能效的差值的绝对值大于预定的门限值时,返回运行改变模块和随机变量生成模块,直到第一终端能效和第二终端能效的差值的绝对值小于等于预定的门限值后,再向每个边缘服务器广播所述策略集。
在一个实施方式中,所述每个卸载任务的初始可行卸载策略包括下列中的至少一个:不向边缘服务器卸载;基于与边缘服务器m连接的第n号信道向所述边缘服务器m卸载,其中n和m都是正整数。
在一个实施方式中,其中第一终端能效为η,第二终端能效为
在一个实施方式中,策略集确定模块201,用于针对该策略集中每个卸载任务的初始可行卸载策略,确定当不向边缘服务器卸载时的终端cpu频率值、当向边缘服务器卸载时的最佳传输功率和当向边缘服务器卸载时边缘服务器计算速率分配的最优值,基于该终端cpu频率值、最佳传输功率和最优值计算每个终端的能效;对全部终端的能效进行加权计算以得到第一终端能效。
在一个实施方式中,改变模块202,用于针对该包含改变后可行卸载策略的策略集中的每个可行卸载策略,确定当不向边缘服务器卸载时的终端cpu频率值、当向边缘服务器卸载时的最佳传输功率和当向边缘服务器卸载时边缘服务器计算速率分配的最优值,基于该终端cpu频率值、最佳传输功率和最优值计算每个终端的能效;对全部终端的能效进行加权计算以得到第二终端能效。
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。
各实施方式中的硬件模块可以以机械方式或电子方式实现。例如,一个硬件模块可以包括专门设计的永久性电路或逻辑器件(如专用处理器,如fpga或asic)用于完成特定的操作。硬件模块也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。至于具体采用机械方式,或是采用专用的永久性电路,或是采用临时配置的电路(如由软件进行配置)来实现硬件模块,可以根据成本和时间上的考虑来决定。
本发明还提供了一种机器可读的存储介质,存储用于使一机器执行如本申请所述方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施方式的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。此外,还可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作。还可以将从存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的cpu等来执行部分和全部实际操作,从而实现上述实施方式中任一实施方式的功能。
用于提供程序代码的存储介质实施方式包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机或云上下载程序代码。
在本文中,“示意性”表示“充当实例、例子或说明”,不应将在本文中被描述为“示意性”的任何图示、实施方式解释为一种更优选的或更具优点的技术方案。为使图面简洁,各图中的只示意性地表示出了与本发明相关部分,而并不代表其作为产品的实际结构。另外,以使图面简洁便于理解,在有些图中具有相同结构或功能的部件,仅示意性地绘示了其中的一个,或仅标出了其中的一个。在本文中,“一个”并不表示将本发明相关部分的数量限制为“仅此一个”,并且“一个”不表示排除本发明相关部分的数量“多于一个”的情形。在本文中,“上”、“下”、“前”、“后”、“左”、“右”、“内”、“外”等仅用于表示相关部分之间的相对位置关系,而非限定这些相关部分的绝对位置。
上文所列出的一系列的详细说明仅仅是针对本发明的可行性实施方式的具体说明,而并非用以限制本发明的保护范围,凡未脱离本发明技艺精神所作的等效实施方案或变更,如特征的组合、分割或重复,均应包含在本发明的保护范围之内。