CN112817741A - 一种边缘计算的dnn任务控制方法 - Google Patents
一种边缘计算的dnn任务控制方法 Download PDFInfo
- Publication number
- CN112817741A CN112817741A CN202110006172.XA CN202110006172A CN112817741A CN 112817741 A CN112817741 A CN 112817741A CN 202110006172 A CN202110006172 A CN 202110006172A CN 112817741 A CN112817741 A CN 112817741A
- Authority
- CN
- China
- Prior art keywords
- mobile terminal
- task
- dnn
- edge server
- strategy
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 71
- 238000004364 calculation method Methods 0.000 title claims abstract description 18
- 238000012545 processing Methods 0.000 claims abstract description 180
- 230000008569 process Effects 0.000 claims abstract description 27
- 230000005540 biological transmission Effects 0.000 claims description 40
- 238000005265 energy consumption Methods 0.000 claims description 39
- 239000011159 matrix material Substances 0.000 claims description 26
- 230000001934 delay Effects 0.000 claims description 13
- 238000012549 training Methods 0.000 claims description 13
- 238000012360 testing method Methods 0.000 claims description 12
- 238000002474 experimental method Methods 0.000 claims description 10
- 238000005457 optimization Methods 0.000 claims description 10
- 238000003860 storage Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 4
- 230000035945 sensitivity Effects 0.000 claims description 4
- 238000003062 neural network model Methods 0.000 claims description 3
- 230000004044 response Effects 0.000 claims 1
- 238000004422 calculation algorithm Methods 0.000 description 12
- 238000013135 deep learning Methods 0.000 description 10
- 238000011176 pooling Methods 0.000 description 8
- 230000007423 decrease Effects 0.000 description 7
- 238000013528 artificial neural network Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 5
- 238000004220 aggregation Methods 0.000 description 5
- 239000000126 substance Substances 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000000638 solvent extraction Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013136 deep learning model Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004576 sand Substances 0.000 description 2
- 241000238558 Eucarida Species 0.000 description 1
- 208000001613 Gambling Diseases 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012804 iterative process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
- G06F9/5088—Techniques for rebalancing the load in a distributed system involving task migration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
本发明实施例提供了一种边缘计算的DNN任务控制方法,该方法包括:A1、将边缘服务器的任务时段划分为多个时隙;A2、获取多个移动端的预期策略用于计算各时隙的服务处理时延,其中,每个移动端的预期策略中将其DNN任务按层划分为在移动端本地执行的前期任务和在边缘服务器的相应时隙处理的后期任务;A3、控制预期策略的迭代更新进程直至确认各个移动端得到最优预期策略,将其作为指导移动端卸载后期任务中的子任务到指定的时隙执行的卸载策略;从而避免多个移动端同时卸载任务后,各个移动端的任务无序执行导致负载不均衡的问题,可以有效地防止边缘服务器上的处理拥挤,提高了边缘服务器的利用率和用户体验。
Description
技术领域
本发明涉及深度神经网络任务处理领域,具体来说涉及深度神经网络任务的任务拆分卸载领域,更具体地说,涉及一种边缘计算的DNN任务控制方法。
背景技术
深度学习现在广泛应用于各种移动端,然而,大多数深度学习模型需要进行复杂的计算,在移动端上使用有限的计算资源很难计算其推理结果。因此,目前常用的方法是将深度学习任务卸载到云上,即移动云计算(Mobile Cloud Computing,简称MCC),它具有丰富的计算资源和强大的计算能力,可以处理复杂的计算任务。然而,由于云通常远离移动端,处理时延通常大于100ms。这导致用户在使用对时延敏感的应用程序时的用户体验很差,这也是移动云计算的瓶颈。为了缓解这一问题,移动边缘计算(Mobile EdgeComputing,简称MEC)应运而生,通过布置在移动端附近的单个或者多个边缘服务器接收并处理移动端卸载的任务,从而加快计算密集型任务的处理过程来减轻移动端的计算负担。
目前,随着深度学习技术的发展和移动端计算能力的不断增强,一些基于深度学习的应用被部署在移动端中,如苹果智能语音助手(Siri)和谷歌助理(GoogleAssistant)。但是,移动端的计算能力有限,一些移动端处理深度学习任务的时延较高,也可能让移动端的电量消耗过快,因此,将移动端上的深度学习任务卸载到边缘服务器上,是满足深度学习任务高计算量和低时延需求的一种可行方法。移动边缘计算中最直接的方法是将所有的计算从移动端转移到边缘服务器,目前已有许多研究。虽然将数据卸载到附近的边缘服务器通常是节省计算时间的,但是由于移动端的计算能力没有得到充分的利用,又或者多个移动端同时卸载数据导致边缘服务器的计算时延增加,再加上传输时延,使得整体的效率不高。特别是大量移动端的任务卸载顺序彼此独立时,则某一时刻可能这些移动端同时将所有数据都卸载到边缘服务器上,那么此时传输时延和边缘服务器的计算时延都可能大幅增加,而该时刻之后,边缘服务器又可能较长时间处于空闲的状态,不仅没有充分利用边缘服务器的资源,还可能影响用户体验。
为了提高移动边缘计算的资源的利用率,部分卸载是一种可行的方法。实际上,部分卸载在移动云计算中已经得到了很好的研究,但在移动边缘计算中,部分卸载深度学习的任务存在很多的挑战。首先,移动云计算中的许多工作都是通过自动程序分析来执行部分卸载,其中使用基于图的模型来区分子图和子图之间的相互作用。然后应用图划分算法来获得子图。但是对于深度学习任务,由于计算复杂度极高,很难进行自动程序分析。
其次,如何对多个移动端任务进行联合优化调度,特别是对复杂的执行顺序决策。虽然联合优化调度算法在单用户场景中得到了广泛的研究,但在多用户场景中联合优化调度的研究却很少。在一些研究中,研究者考虑了一个基于多进多出技术(Multi InputMulti Output,简称MIMO)的多单元系统,其中多个移动用户请求将计算卸载到云服务器。将卸载问题表示为在满足时延约束的情况下,将无线资源和云分配给每个移动用户的计算资源联合优化,以最小化用户的总体能耗。为了解决这一问题,一些研究者提出了一种迭代算法,基于一种新的逐次凸逼近技术,收敛到原非凸问题的局部最优解。
目前很少有工作考虑到多个移动端的任务的执行顺序决策,DNN任务如何拆分卸载也存在困难,使得现有技术中,对于DNN任务,只有全部卸载到边缘服务器,难以对多个移动端的DNN任务进行部分卸载以及对部分卸载的任务的执行顺序进行联合优化,导致边缘服务器计算效率不高,负载不均衡问题。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种边缘计算的DNN任务控制方法一种边缘计算的DNN任务控制方法。
本发明的目的是通过以下技术方案实现的:
根据本发明的第一方面,提供一种边缘计算的DNN任务控制方法,用于控制多个移动端卸载DNN任务的策略的迭代更新进程,该方法包括:A1、将边缘服务器的任务时段划分为多个时隙;A2、获取多个移动端的预期策略用于计算各时隙的服务处理时延,其中,每个移动端的预期策略中将其DNN任务按层划分为在移动端本地执行的前期任务和在边缘服务器的相应时隙处理的后期任务;A3、控制预期策略的迭代更新进程直至确认各个移动端得到最优预期策略,将其作为指导移动端卸载后期任务中的子任务到指定的时隙执行的卸载策略,其中,每次迭代更新的过程包括:获取各移动端根据最新的各时隙的服务处理时延以自身成本最小化为优化目标更新的预期策略,根据各移动端更新的预期策略更新各时隙的服务处理时延,按照预设的规则确认各个移动端是否获得最优预期策略。
在本发明的一些实施例中,步骤A1包括:A11、确定在边缘服务器的一个任务时段中可提供的多个时隙的数量;A12、在多个移动端请求向该边缘服务器卸载DNN任务时将对应任务时段的时隙的数量反馈给移动端。
在本发明的一些实施例中,预期策略采用以下拆分矩阵的形式设置:
其中,yi表示移动端i的预期策略,i∈{1,…,N},N表示移动端的数量,对于该拆分矩阵中的任意一个元素yijh,j∈{1,…,M},M表示DNN任务的层数,该拆分矩阵的各个行对应于DNN任务的各个子任务,h∈{0,1,…,H},H表示时隙的数量,拆分矩阵的列包括对应于子任务在本地处理的列和对应于子任务卸载到边缘服务器的对应时隙的列,在拆分矩阵的元素中用第一数值表示该元素所在的行对应子任务按照该元素所在列对应的方式处理,用不同于第一数值的第二数值表示该元素所在的行对应子任务不由该元素所在列对应的方式处理。
在本发明的一些实施例中,按照以下多个约束条件对移动端更新预期策略的范围进行限制:第一约束条件:DNN任务中在前执行的子任务分配的时隙不能位于在后执行的子任务分配的时隙之后;第二约束条件:更新的预期策略需要满足移动端的时延需求;第三约束条件:每个时隙内的子任务数量不能大于边缘服务器并行执行的子任务的最大数量;第四约束条件:一个移动端分配到同一个时隙的所有子任务的处理时延之和不能大于时隙的长度。
在本发明的一些实施例中,步骤A3包括:A31、在获得多个移动端的卸载请求时,配置针对所述多个移动端的全局时钟,该全局时钟包含用于控制更新预期策略的多个时刻;A32、在全局时钟的当前时刻根据获得的多个移动端的最新的预期策略更新各时隙的服务处理时延并反馈给移动端;A33、获取当前建立连接的移动端根据最新的各时隙的服务处理时延以最小化成本为原则更新DNN任务的划分位置得到的预期策略,该成本包括时延成本、能耗成本和边缘服务价格成本;A34、按照预设的规则确认各个移动端是否获得最优预期策略,其中,在迭代更新前后所有移动端的平均成本变化量小于中止迭代参数或者迭代更新的次数达到预设上限次数时,确认各个移动端得到了最优预期策略。
在本发明的一些实施例中,在步骤A32中,在当前时刻没有获取到任意移动端更新的预期策略时,将该移动端前一时刻的预测策略作为更新的预期策略。
在本发明的一些实施例中,对于边缘服务器连接的彼此不同的移动端,各移动端在计算成本时根据自身对时延、能耗和边缘服务价格的敏感程度设置对处理时延成本、移动端能耗成本和边缘服务价格成本的自定义权重。
在本发明的一些实施例中,所述时延包括计算时延和传输时延,其中,计算时延包括本地处理时延和服务处理时延,本地处理时延等于在移动端处理的所有子任务的处理时延之和,服务处理时延等于于在边缘服务器处理的所有子任务的处理时延之和,DNN任务的各个子任务的处理时延通过将该子任务对应的特定影响因素输入处理时延预测模型得到,其中,该处理时延预测模型包括多个处理时延预测子模型,不同类型的DNN任务的不同类别的层对应于一个处理时延预测子模型,每个处理时延预测子模型为经过训练数据训练得到的神经网络模型,训练数据为经过多次重复时延测试实验得到的各种子任务对应的多个特定影响因素和子任务的处理时延的关系。
在本发明的一些实施例中,该方法还包括:A4、获取各移动端按照其卸载策略卸载的各个子任务,在相应的时隙中执行分配到该时隙的子任务。
根据本发明的第二发明,提供一种DNN任务卸载的方法,用于将移动端的DNN任务的卸载边缘服务器,该方法包括:获取边缘服务器将任务时段划分为多个时隙的信息;向边缘服务器发送预期策略,获取边缘服务器根据多个移动端的预期策略确定的各时隙的服务处理时延,其中,预期策略中将DNN任务按层划分为在移动端本地执行的前期任务和在边缘服务器的相应时隙处理的后期任务;根据边缘服务器反馈的最新的各时隙的服务处理时延,以自身成本最小化为优化目标更新的预期策略并发送给边缘服务器用以更新各时隙的服务处理时延,重复该步骤直至获得边缘服务器按照预设的规则确认移动端已获得最优预期策略的信号并将最新的预期策略作为卸载策略;根据卸载策略将DNN任务的相应子任务卸载到边缘服务器的相应的时隙中执行。
根据本发明的第三方面,提供一种电子设备,包括:一个或多个处理器;以及存储器,其中存储器用于存储一个或多个可执行指令;所述一个或多个处理器被配置为经由执行所述一个或多个可执行指令以实现第一方面或者第二方面所述方法的步骤。
与现有技术相比,本发明的优点在于:
本发明通过将边缘服务器的任务时段划分为多个时隙,由边缘服务器向各个移动端反馈各个时隙的服务处理时延,获取各个移动端根据最新的各时隙的服务处理时延以自身成本最小化为优化目标更新的预期策略,预期策略中对DNN任务按层进行拆分,更新时会调整拆分的位置,从而调整分配到不同时隙的子任务的数量,让不同移动端卸载后期任务中的子任务到指定的时隙执行,从而避免多个移动端同时卸载任务后,各个移动端的任务无序执行导致负载不均衡的问题,可以有效地防止边缘服务器上的处理拥挤,提高了边缘服务器的利用率和用户体验。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1为根据本发明实施例的边缘计算的DNN任务控制方法的流程示意图;
图2为根据本发明实施例的多个时隙及分配的子任务的示意图;
图3为根据本发明实施例的实施场景的示意图;
图4为根据本发明实施例的输出图像对池化层的本地处理时延和边缘服务器上的处理时延的影响规律示意图;
图5为实验测试中本发明对应算法的收敛性的示意图;
图6为在不同带宽下三种技术方案的平均处理时延对比的结果示意图;
图7为在不同带宽下三种技术方案的平均能耗对比的结果示意图;
图8为三种技术方案下平均处理时延与DNN任务类型的关系示意图;
图9为三种技术方案下平均能耗与DNN任务类型的关系示意图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如在背景技术部分提到的,目前很少有工作考虑到多个移动端的任务的执行顺序决策,DNN任务如何拆分卸载也存在困难,使得现有技术中,对于DNN任务,只有全部卸载到边缘服务器,难以对多个移动端的DNN任务进行部分卸载以及对部分卸载的任务的执行顺序进行联合优化,导致边缘服务器计算效率不高,负载不均衡问题。本发明通过将边缘服务器的任务时段划分为多个时隙,由边缘服务器向各个移动端反馈各个时隙的服务处理时延,获取各个移动端根据最新的各时隙的服务处理时延以自身成本最小化为优化目标更新的预期策略,预期策略中对DNN任务按层进行拆分,更新时会调整拆分的位置,从而调整分配到不同时隙的子任务的数量,让不同移动端卸载后期任务中的子任务到指定的时隙执行,从而避免多个移动端同时卸载任务后,各个移动端的任务无序执行导致负载不均衡的问题,可以有效地避免边缘服务器上的处理拥挤,提高了边缘服务器的利用率和用户体验。
在对本发明的实施例进行具体介绍之前,先对其中使用到的部分术语作如下解释:
移动端,或者称移动设备,是指通过无线网络技术上网接入互联网的终端设备,包括例如手机、笔记本电脑、平板电脑、智能手表、智能眼镜、智能车等。
边缘服务器,是指部署在网络边缘为用户(对应于移动端)提供网络、计算和/或存储资源的服务器。这里的网络边缘与数据中心相对,无论是从地理距离还是网络距离上来看,网络边缘都更贴近用户。
DNN任务,是指深度神经网络(Deep Neural Networks,简称DNN)算法对应的计算任务。
子任务,是指DNN任务的子任务,每个子任务对应于深度神经网络的一个层的计算任务。
参见图1,本发明提供了一种边缘计算的DNN任务控制方法,用于控制多个移动端卸载DNN任务的策略的迭代更新进程,该方法包括步骤A1、A2、A3、A4。优选,该任务控制方法在边缘服务器上执行,用于边缘服务器控制多个移动端卸载DNN任务的策略的迭代更新进程。为了更好地理解本发明,下面结合具体的实施例针对每一个步骤分别进行详细说明。
步骤A1:将边缘服务器的任务时段划分为多个时隙。
根据本发明的一个实施例,步骤A1包括:A11、确定在边缘服务器的一个任务时段中可提供的多个时隙的数量;A12、在多个移动端请求向该边缘服务器卸载DNN任务时将对应任务时段的时隙的数量反馈给移动端。优选的,为了激励边缘服务器处理卸载的子任务,同时避免边缘服务器处理这些子任务造成的拥挤,根据本发明的一个实施例,提出了一个在边缘服务器上运行的时隙模型。根据在边缘服务器上部署的时隙模型确定在一个任务时段中边缘服务器可提供的多个时隙对应的时隙数量。例如,通过时隙模型,将边缘服务器的一个任务时段Ts分成H个时隙。每个时隙的处理价格根据该时隙的顺序和服务处理时延独立设置。即,每个时隙的处理价格可以不同,如果分配给同一个时隙的子任务太多,将会导致这个时隙的处理价格变高。因此,卸载的子任务将会被均匀地分配到H个时隙中。分配到同一个时隙的子任务将被并行处理。例如,图2中展示了具有5个时隙的时隙模型,其中,横坐标slot后的数字分别对应于时隙1、2、3、4、5;各个时隙上的矩形框表示分配到该时隙的子任务。该实施例的技术方案至少能够实现以下有益技术效果:本发明将边缘服务器未来的一个任务时段分为多个时隙,以便多个移动端能根据自身的需求结合各个时隙的情况将子任务分配到不同的时隙顺序执行,从而避免多个移动端同时卸载任务后,各个移动端的任务无序执行导致负载不均衡的问题,可以有效地避免边缘服务器上的处理拥挤,提高了边缘服务器的利用率。
步骤A2:获取多个移动端的预期策略用于计算各时隙的服务处理时延,其中,每个移动端的预期策略中将其DNN任务按层划分为在移动端本地执行的前期任务和在边缘服务器的相应时隙处理的后期任务。
根据本发明的一个实施例,参见图3,示出了有3个移动端和一个边缘服务器的场景。每个移动端有一个DNN任务待处理。为了合理的划分DNN任务,假设每个DNN任务有M层,考虑到各层之间的相对独立性,将每层的计算量视为一个子任务。这样一个DNN任务就被分成为M个子任务,可以在层与层之间进行DNN任务划分。如果一个移动端将一个DNN任务在第m层和第m+1层之间划分,那么前m个子任务(对应于前期任务)将在移动端本地处理,并且第m个子任务的输出数据将被传输到边缘服务器进行进一步处理,用于边缘服务器处理m+1层以后的子任务(对应于后期任务)。为了便于对DNN任务进行拆分,以及确保DNN任务的子任务能够拆分到本地或者边缘服务器的任意时隙执行,预期策略采用以下拆分矩阵的形式设置:
其中,yi表示移动端i的预期策略,i∈{1,…,N},N表示移动端的数量,对于该拆分矩阵中的任意一个元素yijh,j∈{1,…,M},M表示DNN任务的层数,该拆分矩阵的各个行对应于DNN任务的各个子任务,h∈{0,1,…,H},H表示时隙的数量,拆分矩阵的列包括对应于子任务在本地处理的列和对应于子任务卸载到边缘服务器的对应时隙的列,在拆分矩阵的元素中用第一数值表示该元素所在的行对应子任务按照该元素所在列对应的方式处理,用不同于第一数值的第二数值表示该元素所在的行对应子任务不由该元素所在列对应的方式处理。本发明可通过构建一个DNN任务拆分及卸载模型以拆分矩阵的形式对DNN任务进行拆分,并按照最终的卸载策略对应的拆分矩阵中指定了卸载的时隙的子任务对DNN任务进行卸载。上述示意的矩阵形式相当于假设移动端的拆分矩阵是M×(H+1)维的矩阵,边缘服务器收到N个移动端卸载任务的请求,则基于DNN任务拆分及卸载模型和时隙模型定义一个N×M×(H+1)的拆分矩阵构成的聚合矩阵Y对多个移动端的预期策略进行数学描述。该预期策略相当于移动端的任务划分与卸载策略。由于最初没有各个时隙的服务处理时延,优选的,多个移动端的初始的预期策略采用随机初始化的形式设置。
yijh是矩阵Y中的元素,元素的数值所代表的含义如下:
相当于第一数值设置为1,第二数值设为0,直观地说,对于在本地处理的子任务(比如yij0=1),自动满足条件yij1=…=yijH=0。此外,对于在服务器处理的子任务,肯定存在h∈{1,…,H}使得yijh=1并且相当于拆分矩阵的每一行只能有一个1,其余为0,表示这个行对应的子任务在本地执行或者边缘服务器上执行。该实施例的技术方案至少能够实现以下有益技术效果:对于DNN任务,由于计算复杂度极高,很难进行自动程序分析,并且与大多数现有技术致力于如何将一个移动端的一个深度学习任务进行更优的拆分不同,依据DNN任务具有独特的层结构的特性,将其按层拆分为两部分,前一部分在移动端上处理,后一部分卸载至边缘服务器上处理,是一种将多个移动端的DNN任务拆分为多个,然后将卸载的子任务传输到一个边缘服务器上的技术方案,从而实现全局优化,部分卸载。
根据本发明的一个实施例,为了保障任务卸载正确有序地进行,需要设置多个约束条件对移动端更新预期策略的范围进行限制。因为DNN任务是按层处理,前一层的输出是下一层的输入,所以需要设置第一约束条件:DNN任务中在前执行的子任务分配的时隙不能位于在后执行的子任务分配的时隙之后;即:在e≤g时,如果yide=yifg=1,那么d≤f,其中d,f∈{1,…,M},e,g∈{0,…,H}。第一约束条件也可确保在从某个子任务开始被划分到由边缘服务器处理后,其后的子任务都不可能被划分到由移动端本地处理,确保一个DNN任务最多只能从一个划分位置划分为两部分,即:一部分在本地执行的前期任务和一部分在边缘服务器上执行的后期任务,避免划分位置过多导致一个DNN任务的不同子任务交替在移动端或者边缘服务器上执行,由此造成需要频繁传输数据,导致传输时延过大,整体的计算效率不高。应当理解,一个DNN任务划分后,前期任务或者后期任务的子任务数量也可能为0,即全部在移动端本地执行或者全部卸载到边缘服务器执行。因为每个移动端对DNN任务的处理时延有不同的需求,所以需要设置第二约束条件:更新的预期策略需要满足移动端的时延需求;即:Ti表示第i个移动端的DNN任务的处理时延,τi表示第i个移动端完成DNN任务的限制时延(最大容忍时延)。因为根据边缘服务器的硬件条件不同,不同边缘服务器有不同的并行处理能力,所以需要设置第三约束条件:每个时隙内的子任务数量不能大于边缘服务器并行执行的子任务的最大数量;假设边缘服务器在一个时隙内最多并行处理B个子任务,则每个时隙内的子任务数量不能大于并行执行的子任务的最大数量B: 如果将卸载的子任务分配到第h个时隙h∈{1,…,H},则子任务的处理时延不能大于时隙的长度,所以需要设置第四约束条件:一个移动端分配到同一个时隙的所有子任务的处理时延之和不能大于时隙的长度。即:对同一个时隙h, 表示第i个移动端的子任务j在边缘服务器上的计算时延。
步骤A3:控制预期策略的迭代更新进程直至确认各个移动端得到最优预期策略,将其作为指导移动端卸载后期任务中的子任务到指定的时隙执行的卸载策略,其中,每次迭代更新的过程包括:获取各移动端根据最新的各时隙的服务处理时延以自身成本最小化为优化目标更新的预期策略,根据各移动端更新的预期策略更新各时隙的服务处理时延,按照预设的规则确认各个移动端是否获得最优预期策略。
根据本发明的一个实施例,为了控制多个移动端的预期策略的更新进程,步骤A3包括:A31、在获得多个移动端的卸载请求时,配置针对所述多个移动端的全局时钟,该全局时钟包含用于控制更新预期策略的多个时刻;A32、在全局时钟的当前时刻根据获得的多个移动端的最新的预期策略更新各时隙的服务处理时延并反馈给移动端;A33、获取当前建立连接的移动端根据最新的各时隙的服务处理时延以最小化成本为原则更新DNN任务的划分位置得到的预期策略,该成本包括时延成本、能耗成本和边缘服务价格成本;A34、按照预设的规则确认各个移动端是否获得最优预期策略,其中,在迭代更新前后所有移动端的平均成本变化量小于中止迭代参数或者迭代更新的次数达到预设上限次数时,确认各个移动端得到了最优预期策略。由于受通信条件、移动端自身状态的影响,边缘服务器可能在一次服务处理时延的更新时刻不能获得所有移动端根据上一次的服务器处理时延更新的预期策略,优选的,在步骤A32中,在当前时刻没有获取到某个移动端反馈的更新的预期策略时,将该移动端前一时刻的预测策略作为更新的预期策略。该实施例的技术方案至少能够实现以下有益技术效果:边缘服务器只负责整体的预期策略的更新进程,将移动端更新预期策略所需的信息反馈给各个移动端,由各个移动端根据自身情况自主更新,最后由边缘服务器判断整体更新进程是否达到均衡(对应于步骤A34),避免了全部由边缘服务器决定卸载策略而难以考虑各个移动端自身需求的情况,实现了移动端自主调整,边缘服务器全局调控的效果,实用推广价值高;边缘服务器可在任意更新时刻,根据当前所获得的任意数量的实际更新的预期策略,即可即时地计算下一次的服务处理时延,避免长期等待某些移动端反馈信息造成更新效率过低而影响整体的任务处理效率。
根据本发明的一个实施例,对于边缘服务器连接的彼此不同的移动端,各移动端在计算成本时根据自身对时延、能耗和边缘服务价格的敏感程度设置对处理时延成本、移动端能耗成本和边缘服务价格成本的自定义权重。优选的,所述时延包括计算时延和传输时延,其中,计算时延包括本地处理时延和服务处理时延,本地处理时延等于在移动端处理的所有子任务的处理时延之和,服务处理时延等于于在边缘服务器处理的所有子任务的处理时延之和,DNN任务的各个子任务的处理时延通过将该子任务对应的特定影响因素输入处理时延预测模型得到,其中,该处理时延预测模型包括多个处理时延预测子模型,不同类型的DNN任务的不同类别的层对应于一个处理时延预测子模型,每个处理时延预测子模型为经过训练数据训练得到的神经网络模型,训练数据为经过多次重复时延测试实验得到的各种子任务对应的多个特定影响因素和子任务的处理时延的关系。该实施例的技术方案至少能够实现以下有益技术效果:各个移动端对应时延、能耗和价格的敏感程度不同,比如一些移动端对应的用户正在从事紧急的任务导致对时延要求高;或者移动端本身的电量有限,对能耗敏感;又或者移动端对应的用户不希望支付过多的边缘服务费用,对价格敏感;各移动端可根据独立设置的各种成本的自定义权重,结合各移动端自身实际情况满足不同用户的需求,提高用户体验。
根据本发明的一个示例,为了获得预期策略中各个子任务的处理时延,本发明建立了DNN任务的处理时延预测模型。通过给定DNN任务必要的参数,预测模型可以预测每个子任务的本地处理时延和服务器处理时延。为了建立处理时延预测模型,首先从卷积神经网络框架(Caffe框架)的源代码中分析出影响各层处理时延的因素,如输入输出数据大小,内核大小等。然后通过控制变量的方法,测试各影响因素与该层在移动端或服务器的处理时延之间的关系。因此,可以得到各因素对处理时延的影响规律,即线性,二次等。此外,还可以选择影响显著的有效因素,删除无用因素来简化模型。基于所选的因素和预期的影响模式,利用多项式拟合建立处理时延预测模型。由于不同类型的DNN任务(例如VGG16、VGG13、ALEXNET、LENET等)的不同类别的层(例如卷积层、池化层、连接层)的影响因素可能不同,因此,针对不同类型的DNN任务的不同类别的层构建一个对应的处理时延预测子模型,并用获得的训练数据进行训练。而且,实际场景下,实际训练过程完全可以让运营商基于实际情况进行设置,例如支持的深度神经网络的类型、不同类别的层采用的影响因素等,从而构建适于各种实际场景下的处理时延预测模型。
下面以池化层的处理时延预测模型搭建为例进行进一步说明。经过实验,选出了对池化层显著影响的因素:卷积核的大小K、输入数据量Nd、步长S以及每张图片的尺寸L。基于这些数据,需要基于这些影响因素拟合Tl(K,Nd,S,L)和Ts(K,Nd,S,L),这里Tl和Ts分别代表池化层的本地处理时延和在边缘服务器上的处理时延。在图4中,展示了输入数据量Nd对Ts和Tl的影响规律,横坐标为输入数据量Nd,纵坐标为执行时延(ms),圆圈代表Ts真实数据Ts,星号代表Tl真实数据Tl,虚线和实线分别是Ts和Tl的拟合曲线。发明人重复处理时延测试实验1000次以上,得到了大量影响因素和执行时延的测试数据。基于这些测试数据制作训练数据,并将训练数据分为训练集和测试集,其中训练集包含80%的原始数据,测试集包含20%的原始数据。根据训练集中的数据,得到了一个示意性的多项式拟合预测模型(对应于池化层的处理时延预测子模型)如下:
最后,发明人将上述池化层的处理时延预测子模型应用于测试集,实验结果表明,测试集中池化层层模型的度量拟合优度的统计量R2分别为99.28%和99.46%,平均绝对误差分别为0.10毫秒和0.04毫秒,可见拟合的效果较好,时延预测的准确性高。
根据本发明的一个实施例,每个移动端通过确定自身的预期策略使其成本最小化。为了综合考虑处理时延、移动端处理能耗和边缘服务价格的影响,将每个移动端的成本分为三部分:处理时延成本移动端能耗成本和边缘服务价格成本因此,第i个移动端在划分矩阵yi下的成本的计算公式如下:
其中,αi+βi+γi=1,Ti表示第i个移动端的DNN任务的处理时延,ci1是从处理时延到成本的转换因子,αi是处理时延成本的权重系数,Ei是第i个移动端的处理能耗,ci2是从处理能耗到成本的转换因子,βi是移动端能耗成本的权重系数;是第i个移动端卸载的子任务的计算量,是移动端选择将子任务卸载到边缘服务器处理所需支付的边缘服务价格,γi是边缘服务价格成本的权重系数。值得注意的是,移动端可能对时间很敏感,或者对功耗很敏感,或者对价格很敏感,但不同的移动端对时间、功能、价格的敏感程度不同,所以每个移动端可能由不同的αi,βi和γi。
对于DNN任务的处理时延,每个移动端的处理时延Ti由本地处理时延,传输时延和服务器处理时延组成:
其中,表示第i个移动端的第j个子任务的本地处理时延,这可以从构建的处理时延预测模型中得到,是最后一个本地执行的子任务的输出数据的传输时延,hi,max表示第i个移动端选择将卸载的子任务分配到时隙的最大数目,如果第i个移动端将它的任务都分配到本地处理,那么hi,max=0。
对于传输时延,首先将Oij定义为第i个移动端的第j个子任务的输出数据。根据香农(Shannon)公式还定义了Vi u为第i个移动端与边缘服务器之间的最大传输速度:
其中,Wi和Gi分别是第i个移动端和服务器之间的带宽和信道增益。Pi t为第i个移动端的传输功率,N0为信道噪声功率谱密度,则上行传输时延为:
假设上行传输和下行传输采用相同的频谱。因此,在任务结果下载阶段,带宽和下行通道增益与上行通道增益相同。于是,每个移动端的下行可达速率仅在传输功率Ps上有所不同,边缘服务器到第i个移动端的下行最大传输速度:
其中,边缘服务器的传输功率Ps非常大,导致每个移动端都对应有较大的Vi d。考虑到最后一层的输出数据OiM非常小,下行可达率非常大,结果反馈时延可忽略不计。即,可直接将上行传输时延视为传输时延。
对于移动端能耗成本,第i个移动端的处理能耗Ei由本地处理能耗和传输能耗组成:
根据处理延时预测模型,第i个移动端的第j个子任务的本地处理能耗如下:
根据传输时延的公式,可以得到第i个移动端传输第j个子任务的传输能耗如下:
在本发明中,可基于上述能耗计算公式建立对应的能耗预测模型,在移动端计算移动端能耗成本时反馈计算所需的能耗信息。
对于边缘服务价格成本,为了在激励边缘服务器处理移动端卸载的子任务,同时也为了激励移动端将子任务卸载到相对不拥挤的时隙,根据本发明的一个实施例,设计了一个针对边缘服务的收费机制。
本发明将每个时隙设置为不同的处理单价ph,其中h=1,…,H。假定ph的大小取决于时隙的拥挤程度和时隙的顺序。具体地说,ph会随着卸载到第h个时隙的计算量增大而增大,并且时隙顺序越靠前ph越大。这是因为如果第h个时隙很拥挤,那么第h个时隙高额的单价将会迫使移动端为了降低成本,将子任务卸载到较低单价的时隙中。因此,可以有效地避免边缘服务器上某个时隙出现拥挤。另外,如果移动端将子任务分配给后面的时隙,那么这个子任务将会稍后执行,使得DNN任务的处理时延增加。因此本发明通过设置较低的ph来补偿处理时延的增长。此外,如果有些移动端对时间很敏感,这意味着它希望尽早的处理任务,即使价格很高,它也会选择前面的时隙。
为了给出ph具体的定价函数,根据本发明的一个实施例,首先需要获得每个子任务的计算量。然而,由于每个子任务的计算量是动态变化的,很难获得准确值。可用每个子任务的服务器处理时延来间接地反映计算量,处理时延与计算量成正比。因此本发明定义表示第i个设备的第j个子任务的在边缘服务器上的处理时延,这可由本发明的处理时延预测模型求得,ηs为边缘服务器处理时延到计算量的转换因子,第h个时隙的定价函数如下:
步骤A4:获取各移动端按照其卸载策略卸载的各个子任务,在相应的时隙中执行分配到该时隙的子任务。
根据本发明的一个实施例,当前移动端根据卸载策略确定在本地执行的前期任务,前期任务完成后,将前期任务之后的DNN任务的相应子任务卸载到边缘服务器上相应的时隙中执行。而且,卸载时,前期任务的输出数据会传输到边缘服务器上,作为后期任务的输入。边缘服务器接收到传输的输出数据后,将在一定的时间Ts内处理剩余的子任务。由于边缘服务器相对强大的计算能力,最多可以并行执行B个卸载的子任务,Ts比每个子任务本地处理的时延要小很多。为了有序执行各个子任务,由时隙模型控制所有子任务的执行顺序,确保按照各个子任务在其卸载策略指定的时隙顺序执行。
根据本发明的另一方面,还提供一种DNN任务卸载的方法,用于将移动端的DNN任务卸载到边缘服务器,该方法包括:获取边缘服务器将任务时段划分为多个时隙的信息;向边缘服务器发送预期策略,获取边缘服务器根据多个移动端的预期策略确定的各时隙的服务处理时延,其中,预期策略中将DNN任务按层划分为在移动端本地执行的前期任务和在边缘服务器的相应时隙处理的后期任务;根据边缘服务器反馈的最新的各时隙的服务处理时延,以自身成本最小化为优化目标更新的预期策略并发送给边缘服务器用以更新各时隙的服务处理时延,重复该步骤直至获得边缘服务器按照预设的规则确认移动端已获得最优预期策略的信号并将最新的预期策略作为卸载策略;根据卸载策略将DNN任务的相应子任务卸载到边缘服务器的相应的时隙中执行。应当理解,一种DNN任务卸载的方法的一些技术细节已在前面的一种边缘计算的DNN任务控制方法的实施例中予以说明,此处不再重复赘述,前面的实施例可以作为本方法的细节补充。
下面通过一个示例来说明本发明的过程,在本发明中,每个移动端为了实现自身成本最小化需要解决以下最优问题:
在e≤g时,如果yide=yifg=1,那么d≤f,
其中,d,f∈{1,…,M},e,g∈{0,…,H},
Ti≤τi,
可以看出,在目标函数中除外第i个移动端的所有变量都可用。发明人发现与所有移动端的聚合策略相耦合,因此,求解第i个移动端的最优预期策略的问题就是一个聚合博弈过程(Aggregative Game)。在本发明中,将各个时隙的服务处理时延作为确定的聚合博弈信息,从而各个移动端基于有确定的聚合博弈信息进行分布式的DNN任务划分的聚合博弈过程。
在该聚合博弈过程中,本发明假设边缘服务器作为一个中心单元,将广播给每个移动端,移动端以此来获得最优的预期策略yi。实际上,移动端并不总是处于与边缘服务器建立连接的状态(比如:醒着)来交换信息。移动端间歇地醒来以节省能源。因此本发明假定存在一个全局时钟。在全局时钟的每一个时刻,移动端可能会根据某种离散分布(即泊松分布)醒来与边缘服务器建立连接从而交换信息。具体地说,当第i个移动端在某一时刻醒来,得到来自边缘服务器的确定值。
下面通过算法1来说明如何根据全局时钟来控制整体的更新进程。
算法1(Algorithm 1):
输入:迭代终止参数ε
输出:聚合矩阵Y
步骤:
1、初始化:
设置全局时钟时刻k=0
每个移动端随机选择一个满足约束条件一、二、三和四的预期策略yi,i=1,…,N
设置每个移动端初始的成本变化量|ΔCi|=+∞;
3、k=k+1,用于更新迭代时刻;
4、在k时刻,第i个移动端服从泊松分布被唤醒;
由于DNN任务是在多台移动端和一台边缘服务器间处理,本实验使用四个香橙派Orange Pi Win Plus作为移动端,使用一台配置为CPU i5,4g RAM,3.4ghz CPU时钟频率的电脑作为移动边缘计算的边缘服务器。为了连接移动端和边缘服务器,实验中使用Socket接口作为通讯接口。本次实验用的DNN任务使用ALEXNET网络,主要的参数如下表所示:
在图5中,示出了本发明的收敛性。可以发现,在迭代过程中逐渐减小,最终在达到收敛后保持不变,其中值得注意的是,算法1可在迭代15次前就可达到收敛,这意味着本发明的算法1即使没有获得全局信息依旧可以快速收敛。而且,从图5中可以看出,平均成本并不是在每次迭代中都减小,这是因为在每次迭代中,移动端服从泊松分布被唤醒,更新它们的预期策略。在某些迭代中,如果没有移动端被唤醒,或者在前一个迭代中的策略已经是最优的,那么移动端将不会更新它们的策略。此外发明人还对比了算法1在不同交互数量(设备数)N下的收敛性,可以看出随着移动端的数量N的增加,算法的收敛速度减小。
为了简化,将本发明称为Case1,为了测量本发明的性能,将本发明与其他两种常用的任务处理方式Case2和Case3进行对比,做了相应的对比实验。
三种方案的技术方案如下:
Case1:基于全局信息的全局最优拆分和卸载机制,边缘服务器作为中心,反馈给移动端所需的聚合博弈信息,各移动端以自身成本最小化来优化预期策略,调整本地执行和边缘服务器上执行的子任务的划分位置。
Case2:所有DNN任务都卸载至服务器进行处理,目前大多数智能应用采用该种处理方式。
Case3:所有DNN任务都在本地处理。
在图6中,示出了不同带宽W(KHz)下每个Case的平均处理时延其中,在本次对比实验中,假设每个移动端和边缘服务器MEC之间的带宽相同,因此有W1=…=WN=W。从图中可以看出,Case1下的是全局最小的平均处理时延。这是因为随着带宽变化,Case2下的服务器处理可能会导致较长的传输时延,Case3下的本地处理可能会导致较长的处理时延,而Case1中的划分及卸载机制在一定程度上对进行了优化。还可以观察到,随着W的增加,Case1,Case2的减小,而Case3下的并不会随着W增加变化。这是因为,Case1,Case2下的传输时延会随着W的增加而减少,而Case3下的传输时延始终为0,不受W的影响。此外,Case2下的比Case1下的减少的更加显著。原因是,在Case2中,每个移动端将其所有的DNN任务卸载到边缘服务器上,导致相对较长的传输时延。但是在Case1中,每个移动端只将部分DNN任务卸载到边缘服务器,导致相对较短的传输时延。传输时延越长,对带宽的变化越敏感。
在图7中,示出了不同带宽下每个方案中移动端的平均处理能耗其中,从图7中可以看出,在Case2下的将全部任务卸载到边缘服务器处理的情况可能由于传输时延长导致较高的传输能耗,在Case3下的本地处理可能由于处理时延长导致较高的处理能耗,而Case1的技术方案一定程度上对能耗进行了优化。还可以观察到,随着带宽W(单位为KHz)的增加,Case1,Case2下的减小,而Case3下的并不会随着W增加变化。这是因为能耗的变化受时延的影响,Case1,Case2下的的传输时延会随着W的增加而减少,使得传输能耗随之减少,而Case3下的传输时延不随W的变化而变化,使得传输能耗始终不变。
在图8中,示出了3种情况下平均处理时延与DNN任务类型的关系。发明人选择了4种不同类型的DNN任务,对应的DNN任务的类型(DNN网络的类型)分别为VGG16,VGG13,ALEXNET,LENET,其中DNN任务的计算复杂度依次下降。从图8中可以直观看出,随着DNN计算复杂度的降低,降低。此外,发明人还发现,无论DNN任务的类型如何,Case1下的始终是所有方案中最小的。这是因为,对于计算复杂度相对较高的DNN任务(即:VGG16、VGG13,ALEXNET),由于移动端的计算能力有限,Case3下的传统本地处理时延过长;对于计算复杂度较低的DNN任务(即,LENET),Case2下的传统的服务器处理由于传输时延过长使得时延过长;而在Case1下,通过全局最优的DNN任务划分及卸载,可以实现最小的任务处理时延。此外由于VGG16,VGG13,ALEXNET的计算复杂度过高,将所有的DNN任务卸载到边缘服务器上比在本地处理要快。然而对于计算复杂度较低的LENET,设备将任务划分到本地处理比卸载到边缘服务器上处理更快。原因是,当把较复杂的任务卸载到边缘服务器上处理时,传输时延要比本地处理时延小的多,但是当将简单的任务卸载到边缘服务器上处理时,传输时延要比本地处理时延长得多。
在图9中,示出了3种情况下平均处理时延能耗与DNN任务类型的关系。从图9中可以直观看出,随着DNN计算复杂度的降低,降低。这是因为对于计算复杂度相对较高的DNN任务(即,VGG16,VGG13,ALEXNET),Case3下的传统本地处理,由于本地处理时延较长,使得本地处理能耗过大;对于计算复杂度相对较低的DNN任务(即,LENET),Case2下的传统边缘服务器处理,由于传输时延较长,使得传输能耗较高;而在Case 1中,通过DNN任务划分和卸载,可以实现任务处理能耗最小。
通过以上实验测试的结果表明,相较于传统任务处理方式,本发明的技术方案权衡了边缘服务器的处理时延、能耗和资源配置效率,解决了现有技术对DNN任务拆分卸载的困难,以及多个移动端复杂的执行顺序决策的联合优化调度问题,以及边缘服务器计算效率不高、负载不均衡问题。
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (12)
1.一种边缘计算的DNN任务控制方法,用于控制多个移动端卸载DNN任务的策略的迭代更新进程,其特征在于,该方法包括:
A1、将边缘服务器的任务时段划分为多个时隙;
A2、获取多个移动端的预期策略用于计算各时隙的服务处理时延,其中,每个移动端的预期策略中将其DNN任务按层划分为在移动端本地执行的前期任务和在边缘服务器的相应时隙处理的后期任务;
A3、控制预期策略的迭代更新进程直至确认各个移动端得到最优预期策略,将其作为指导移动端卸载后期任务中的子任务到指定的时隙执行的卸载策略,其中,每次迭代更新的过程包括:
获取各移动端根据最新的各时隙的服务处理时延以自身成本最小化为优化目标更新的预期策略,根据各移动端更新的预期策略更新各时隙的服务处理时延,按照预设的规则确认各个移动端是否获得最优预期策略。
2.根据权利要求1的边缘计算的DNN任务控制方法,其特征在于,步骤A1包括:
A11、确定在边缘服务器的一个任务时段中可提供的多个时隙的数量;
A12、在多个移动端请求向该边缘服务器卸载DNN任务时将对应任务时段的时隙的数量反馈给移动端。
3.根据权利要求1的边缘计算的DNN任务控制方法,其特征在于,预期策略采用以下拆分矩阵的形式设置:
其中,yi表示移动端i的预期策略,i∈{1,…,N},N表示移动端的数量,对于该拆分矩阵中的任意一个元素yijh,j∈{1,…,M},M表示DNN任务的层数,该拆分矩阵的各个行对应于DNN任务的各个子任务,h∈{0,1,…,H},H表示时隙的数量,拆分矩阵的列包括对应于子任务在本地处理的列和对应于子任务卸载到边缘服务器的对应时隙的列,在拆分矩阵的元素中用第一数值表示该元素所在的行对应子任务按照该元素所在列对应的方式处理,用不同于第一数值的第二数值表示该元素所在的行对应子任务不由该元素所在列对应的方式处理。
4.根据权利要求3的边缘计算的DNN任务控制方法,其特征在于,按照以下多个约束条件对移动端更新预期策略的范围进行限制:
第一约束条件:DNN任务中在前执行的子任务分配的时隙不能位于在后执行的子任务分配的时隙之后;
第二约束条件:更新的预期策略需要满足移动端的时延需求;
第三约束条件:每个时隙内的子任务数量不能大于边缘服务器并行执行的子任务的最大数量;
第四约束条件:一个移动端分配到同一个时隙的所有子任务的处理时延之和不能大于时隙的长度。
5.根据权利要求1的边缘计算的DNN任务控制方法,其特征在于,步骤A3包括:
A31、在获得多个移动端的卸载请求时,配置针对所述多个移动端的全局时钟,该全局时钟包含用于控制更新预期策略的多个时刻;
A32、在全局时钟的当前时刻根据获得的多个移动端的最新的预期策略更新各时隙的服务处理时延并反馈给移动端;
A33、获取当前建立连接的移动端根据最新的各时隙的服务处理时延以最小化成本为原则更新DNN任务的划分位置得到的预期策略,该成本包括时延成本、能耗成本和边缘服务价格成本;
A34、按照预设的规则确认各个移动端是否获得最优预期策略,其中,在迭代更新前后所有移动端的平均成本变化量小于中止迭代参数或者迭代更新的次数达到预设上限次数时,确认各个移动端得到了最优预期策略。
6.根据权利要求5的边缘计算的DNN任务控制方法,其特征在于,在步骤A32中,在当前时刻没有获取到任意移动端更新的预期策略时,将该移动端前一时刻的预测策略作为更新的预期策略。
7.根据权利要求3的边缘计算的DNN任务控制方法,其特征在于,对于边缘服务器连接的彼此不同的移动端,各移动端在计算成本时根据自身对时延、能耗和边缘服务价格的敏感程度设置对处理时延成本、移动端能耗成本和边缘服务价格成本的自定义权重。
8.根据权利要求7的边缘计算的DNN任务控制方法,其特征在于,所述时延包括计算时延和传输时延,其中,计算时延包括本地处理时延和服务处理时延,本地处理时延等于在移动端处理的所有子任务的处理时延之和,服务处理时延等于于在边缘服务器处理的所有子任务的处理时延之和,DNN任务的各个子任务的处理时延通过将该子任务对应的特定影响因素输入处理时延预测模型得到,其中,该处理时延预测模型包括多个处理时延预测子模型,不同类型的DNN任务的不同类别的层对应于一个处理时延预测子模型,每个处理时延预测子模型为经过训练数据训练得到的神经网络模型,训练数据为经过多次重复时延测试实验得到的各种子任务对应的多个特定影响因素和子任务的处理时延的关系。
9.根据权利要求3的边缘计算的DNN任务控制方法,其特征在于,还包括:A4、获取各移动端按照其卸载策略卸载的各个子任务,在相应的时隙中执行分配到该时隙的子任务。
10.一种DNN任务卸载的方法,用于将移动端的DNN任务的卸载边缘服务器,其特征在于,该方法包括:
获取边缘服务器将任务时段划分为多个时隙的信息;
向边缘服务器发送预期策略,获取边缘服务器根据多个移动端的预期策略确定的各时隙的服务处理时延,其中,预期策略中将DNN任务按层划分为在移动端本地执行的前期任务和在边缘服务器的相应时隙处理的后期任务;
根据边缘服务器反馈的最新的各时隙的服务处理时延,以自身成本最小化为优化目标更新的预期策略并发送给边缘服务器用以更新各时隙的服务处理时延,重复该步骤直至获得边缘服务器按照预设的规则确认移动端已获得最优预期策略的信号并将最新的预期策略作为卸载策略;
根据卸载策略将DNN任务的相应子任务卸载到边缘服务器的相应的时隙中执行。
11.一种计算机可读存储介质,其特征在于,其上包含有计算机程序,所述计算机程序可被处理器执行以实现权利要求1至10中任一项所述方法的步骤。
12.一种电子设备,其特征在于,包括:
一个或多个处理器;以及
存储器,其中存储器用于存储一个或多个可执行指令;
所述一个或多个处理器被配置为经由执行所述一个或多个可执行指令以实现权利要求1至10中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110006172.XA CN112817741B (zh) | 2021-01-05 | 2021-01-05 | 一种边缘计算的dnn任务控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110006172.XA CN112817741B (zh) | 2021-01-05 | 2021-01-05 | 一种边缘计算的dnn任务控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112817741A true CN112817741A (zh) | 2021-05-18 |
CN112817741B CN112817741B (zh) | 2024-03-08 |
Family
ID=75857264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110006172.XA Active CN112817741B (zh) | 2021-01-05 | 2021-01-05 | 一种边缘计算的dnn任务控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112817741B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113419853A (zh) * | 2021-06-22 | 2021-09-21 | 中国工商银行股份有限公司 | 任务执行策略确定方法及装置、电子设备和存储介质 |
CN113435580A (zh) * | 2021-06-29 | 2021-09-24 | 福州大学 | 一种边缘环境下dnn应用计算卸载自适应中间件构建方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190020657A1 (en) * | 2017-07-13 | 2019-01-17 | Dell Products, Lp | Method and apparatus for optimizing mobile edge computing for nomadic computing capabilities as a service |
CN110764885A (zh) * | 2019-08-28 | 2020-02-07 | 中科晶上(苏州)信息技术有限公司 | 一种多移动设备的dnn任务的拆分和卸载方法 |
CN111163521A (zh) * | 2020-01-16 | 2020-05-15 | 重庆邮电大学 | 移动边缘计算中一种分布式异构环境下的资源分配方法 |
CN111953758A (zh) * | 2020-08-04 | 2020-11-17 | 国网河南省电力公司信息通信公司 | 一种边缘网络计算卸载和任务迁移方法及装置 |
-
2021
- 2021-01-05 CN CN202110006172.XA patent/CN112817741B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190020657A1 (en) * | 2017-07-13 | 2019-01-17 | Dell Products, Lp | Method and apparatus for optimizing mobile edge computing for nomadic computing capabilities as a service |
CN110764885A (zh) * | 2019-08-28 | 2020-02-07 | 中科晶上(苏州)信息技术有限公司 | 一种多移动设备的dnn任务的拆分和卸载方法 |
CN111163521A (zh) * | 2020-01-16 | 2020-05-15 | 重庆邮电大学 | 移动边缘计算中一种分布式异构环境下的资源分配方法 |
CN111953758A (zh) * | 2020-08-04 | 2020-11-17 | 国网河南省电力公司信息通信公司 | 一种边缘网络计算卸载和任务迁移方法及装置 |
Non-Patent Citations (1)
Title |
---|
MINGJIN GAO等: "Computation Offloading with Instantaneous Load Billing for Mobile Edge Computing", IEEE TRANSACTIONS ON SERVICES COMPUTING (EARLY ACCESS) * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113419853A (zh) * | 2021-06-22 | 2021-09-21 | 中国工商银行股份有限公司 | 任务执行策略确定方法及装置、电子设备和存储介质 |
CN113435580A (zh) * | 2021-06-29 | 2021-09-24 | 福州大学 | 一种边缘环境下dnn应用计算卸载自适应中间件构建方法 |
CN113435580B (zh) * | 2021-06-29 | 2022-06-07 | 福州大学 | 一种边缘环境下dnn应用计算卸载自适应中间件构建方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112817741B (zh) | 2024-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111953758B (zh) | 一种边缘网络计算卸载和任务迁移方法及装置 | |
CN111953759B (zh) | 基于强化学习的协同计算任务卸载和迁移的方法及装置 | |
CN113950103B (zh) | 一种移动边缘环境下多服务器完全计算卸载方法及系统 | |
CN107911478B (zh) | 基于化学反应优化算法的多用户计算卸载方法及装置 | |
CN110928654B (zh) | 一种边缘计算系统中分布式的在线任务卸载调度方法 | |
CN111401744B (zh) | 一种移动边缘计算中不确定性环境下的动态任务卸载方法 | |
CN112422644B (zh) | 计算任务卸载方法及系统、电子设备和存储介质 | |
CN112817741B (zh) | 一种边缘计算的dnn任务控制方法 | |
CN113225377A (zh) | 物联网边缘任务卸载方法及装置 | |
CN112783567B (zh) | 一种基于全局信息的dnn任务卸载决策方法 | |
CN112667400B (zh) | 边缘自治中心管控的边云资源调度方法、装置及系统 | |
CN113553165B (zh) | 一种基于博弈论的移动边缘计算任务卸载和资源调度方法 | |
CN114928607B (zh) | 面向多边接入边缘计算的协同任务卸载方法 | |
CN115190033B (zh) | 一种基于强化学习的云边融合网络任务卸载方法 | |
CN112672382B (zh) | 混合协作计算卸载方法、装置、电子设备及存储介质 | |
CN112231085A (zh) | 一种协同环境下基于时间感知的移动终端任务迁移方法 | |
CN114675933A (zh) | 一种容器集群调度方法、装置、设备、存储介质 | |
CN113573363A (zh) | 基于深度强化学习的mec计算卸载与资源分配方法 | |
CN114172558B (zh) | 一种车辆网络中基于边缘计算和无人机集群协同的任务卸载方法 | |
Dong et al. | Content caching-enhanced computation offloading in mobile edge service networks | |
CN112822264B (zh) | 一种dnn任务卸载的方法 | |
CN112306696B (zh) | 一种节能高效的边缘计算任务卸载方法和系统 | |
KR102350195B1 (ko) | 모바일 엣지 컴퓨팅을 활용하는 모바일 증강현실 서비스의 모바일 단말 에너지 최적화 방법 및 시스템 | |
Huang et al. | Intelligent task migration with deep Qlearning in multi‐access edge computing | |
Bahreini et al. | Energy-aware resource management in vehicular edge computing systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |