CN112822264B - 一种dnn任务卸载的方法 - Google Patents

一种dnn任务卸载的方法 Download PDF

Info

Publication number
CN112822264B
CN112822264B CN202110006130.6A CN202110006130A CN112822264B CN 112822264 B CN112822264 B CN 112822264B CN 202110006130 A CN202110006130 A CN 202110006130A CN 112822264 B CN112822264 B CN 112822264B
Authority
CN
China
Prior art keywords
mobile terminal
task
edge server
strategy
time delay
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.)
Active
Application number
CN202110006130.6A
Other languages
English (en)
Other versions
CN112822264A (zh
Inventor
高明晋
沈茹婧
齐文
周一青
石晶林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Computing Technology of CAS
Original Assignee
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CN202110006130.6A priority Critical patent/CN112822264B/zh
Publication of CN112822264A publication Critical patent/CN112822264A/zh
Application granted granted Critical
Publication of CN112822264B publication Critical patent/CN112822264B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施例提供了一种DNN任务卸载的方法,包括:B1、移动端向边缘服务器发出任务卸载请求,获取边缘服务器反馈的将任务时段划分为多个时隙的信息;B2、移动端根据多个时隙的信息生成预期策略并获取邻居移动端的预期策略,预期策略中将DNN任务按层划分为在移动端本地执行的前期任务和在边缘服务器的相应时隙处理的后期任务;B3、移动端根据自身的预期策略和最新获得的邻居移动端的预期策略估算各时隙的服务处理时延,以自身成本最小化为优化目标更新预期策略,重复该步骤直至获得边缘服务器按照预设的规则确认移动端已获得最优预期策略的信号并将最新的预期策略作为卸载策略;B4、移动端根据卸载策略将后期任务中的子任务卸载到指定的时隙执行。

Description

一种DNN任务卸载的方法
技术领域
本发明涉及深度神经网络任务处理领域,具体来说涉及深度神经网络任务的任务拆分卸载领域,更具体地说,涉及一种DNN任务卸载的方法。
背景技术
深度学习现在广泛应用于各种移动端,然而,大多数深度学习模型需要进行复杂的计算,在移动端上使用有限的计算资源很难计算其推理结果。因此,目前常用的方法是将深度学习任务卸载到云上,即移动云计算(Mobile Cloud Computing,简称MCC),它具有丰富的计算资源和强大的计算能力,可以处理复杂的计算任务。然而,由于云通常远离移动端,处理时延通常大于100ms。这导致用户在使用对时延敏感的应用程序时的用户体验很差,这也是移动云计算的瓶颈。为了缓解这一问题,移动边缘计算(Mobile EdgeComputing,简称MEC)应运而生,通过布置在移动端附近的单个或者多个边缘服务器接收并处理移动端卸载的任务,从而加快计算密集型任务的处理过程来减轻移动端的计算负担。
目前,随着深度学习技术的发展和移动端计算能力的不断增强,一些基于深度学习的应用被部署在移动端中,如苹果智能语音助手(Siri)和谷歌助理(GoogleAssistant)。但是,移动端的计算能力有限,一些移动端处理深度学习任务的时延较高,也可能让移动端的电量消耗过快,因此,将移动端上的深度学习任务卸载到边缘服务器上,是满足深度学习任务高计算量和低时延需求的一种可行方法。移动边缘计算中最直接的方法是将所有的计算从移动端转移到边缘服务器,目前已有许多研究。虽然将数据卸载到附近的边缘服务器通常是节省计算时间的,但是由于移动端的计算能力没有得到充分的利用,又或者多个移动端同时卸载数据导致边缘服务器的计算时延增加,再加上传输时延,使得整体的效率不高。特别是大量移动端的任务卸载顺序彼此独立时,则某一时刻可能这些移动端同时将所有数据都卸载到边缘服务器上,那么此时传输时延和边缘服务器的计算时延都可能大幅增加,而该时刻之后,边缘服务器又可能较长时间处于空闲的状态,不仅没有充分利用边缘服务器的资源,还可能影响用户体验。
为了提高移动边缘计算的资源的利用率,部分卸载是一种可行的方法。实际上,部分卸载在移动云计算中已经得到了很好的研究,但在移动边缘计算中,部分卸载深度学习的任务存在很多的挑战。
首先,由于深度学习任务计算复杂度极高,很难进行自动程序分析。如何在没有集中控制的情况下完成部分卸载更是一大挑战。MEC不具有MCC中的云所具有的所有移动端的全局视图,MCC中通常采用集中式调度策略,MEC中的边缘服务器是地理分布的,难以掌握所有移动端的全局信息。因此,在MEC中获取全局最优调度策略是不切实际的。为了解决这一问题,许多学者对MEC的分布式调度策略进行了研究。一些研究者提出了一种用于边缘计算的分布式应用程序任务调度框架Petrel,其实现了基于样本的负载均衡技术,并根据任务类型进一步采用了自适应调度策略。这种应用感知调度不仅提供了QoE保证,而且提高了整体的调度性能。在另一些研究中,研究者试图在MEC难以实现调度信息和网络状态时进行负载均衡,提出了一种自适应神经模糊推理系统,该系统可以处理信息受限的调度问题,提高用户的服务质量。但是上述工作通常基于历史调度信息制定调度策略,增加了移动端的存储负担。
其次,如何对多个移动端任务进行联合优化调度,特别是对复杂的执行顺序决策。虽然联合优化调度算法在单用户场景中得到了广泛的研究,但在多用户场景中联合优化调度的研究却很少。
总的来说,目前很少有工作考虑到多个移动端的任务的执行顺序决策,而且,在边缘服务场景下,设备间连接并非是持续的,策略迭代更新过程难以每次迭代时都能即时获得更新所需的全局信息,难以在这种情况下保障迭代更新正常进行。因此,有必要对现有技术进行改进。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种DNN任务卸载的方法。
本发明的目的是通过以下技术方案实现的:
根据本发明的第一方面,提供一种DNN任务卸载的方法,用于移动端的DNN任务卸载到边缘服务器的过程,其特征在于,该方法包括:B1、移动端向边缘服务器发出任务卸载请求,获取边缘服务器反馈的将任务时段划分为多个时隙的信息;B2、所述移动端根据多个时隙的信息生成预期策略并获取邻居移动端的预期策略,其中,预期策略中将DNN任务按层划分为在移动端本地执行的前期任务和在边缘服务器的相应时隙处理的后期任务;B3、所述移动端根据自身的预期策略和最新获得的邻居移动端的预期策略估算各时隙的服务处理时延,以自身成本最小化为优化目标更新预期策略,重复该步骤直至获得边缘服务器按照预设的规则确认移动端已获得最优预期策略的信号并将最新的预期策略作为卸载策略;B4、所述移动端根据卸载策略将后期任务中的子任务卸载到指定的时隙执行。
在本发明的一些实施例中,预期策略采用以下拆分矩阵的形式设置:
Figure BDA0002883461820000031
其中,yi表示移动端i的预期策略,i∈{1,…,N},N表示移动端的数量,对于该拆分矩阵中的任意一个元素yijh,j∈{1,…,M},M表示DNN任务的层数,该拆分矩阵的各个行对应于DNN任务的各个子任务,h∈{0,1,…,H},H表示时隙的数量,拆分矩阵的列包括对应于子任务在本地处理的列和对应于子任务卸载到边缘服务器的对应时隙的列,在拆分矩阵的元素中用第一数值表示该元素所在的行对应子任务按照该元素所在列对应的方式处理,用不同于第一数值的第二数值表示该元素所在的行对应子任务不由该元素所在列对应的方式处理。
在本发明的一些实施例中,按照以下多个约束条件对移动端更新预期策略的范围进行限制:第一约束条件:DNN任务中在前执行的子任务分配的时隙不能位于在后执行的子任务分配的时隙之后;第二约束条件:更新的预期策略需要满足移动端的时延需求;第三约束条件:每个时隙内的子任务数量不能大于边缘服务器并行执行的子任务的最大数量;第四约束条件:一个移动端分配到同一个时隙的所有子任务的处理时延之和不能大于时隙的长度。
在本发明的一些实施例中,所述步骤B3包括:B31、移动端对自身的预期策略和最新获得的邻居移动端的预期策略按照预设的时隙时延估算方式估算各时隙的服务处理时延;B32、所述移动端获取各个时隙的服务单价,根据最新估算的各时隙的服务处理时延以自身成本最小化为优化目标更新预期策略,该成本包括时延成本、能耗成本和边缘服务价格成本;B33、所述移动端确认是否获得边缘服务器按照预设的规则确认移动端已获得最优预期策略的信号,其中,该信号是在边缘服务器根据一次迭代更新前后所有移动端的平均成本变化量的绝对值小于中止迭代参数或者迭代更新的次数达到预设上限次数时发出的。
在本发明的一些实施例中,所述预设的时隙时延估算方式为:
Figure BDA0002883461820000041
其中,
Figure BDA0002883461820000042
表示估算得到的各时隙的服务处理时延,min{}表示取括号内的最小值,
Figure BDA0002883461820000043
是实际上各个时隙允许的总处理时延的上限,ωi表示第i个移动端对自身预期决策的权重,ωq表示第i个移动端对邻居移动端的预期决策的权重,
Figure BDA0002883461820000044
表示第i个移动端的子任务j在边缘服务器上的计算时延,nei表示第i个移动端的邻居数量,yqjh表示邻居移动端q的拆分矩阵中的一个元素,
Figure BDA0002883461820000045
表示邻居移动端q的子任务j在边缘服务器上的计算时延。
在本发明的一些实施例中,所述时延包括计算时延和传输时延,其中,计算时延包括本地处理时延和服务处理时延,本地处理时延等于在移动端处理的所有子任务的处理时延之和,服务处理时延等于于在边缘服务器处理的所有子任务的处理时延之和,DNN任务的各个子任务的处理时延通过将该子任务对应的特定影响因素输入处理时延预测模型得到,其中,该处理时延预测模型包括多个处理时延预测子模型,不同类型的DNN任务的不同类别的层对应于一个处理时延预测子模型,每个处理时延预测子模型均为经过训练数据训练得到的神经网络模型,训练数据为经过多次重复时延测试实验得到的各种子任务对应的多个特定影响因素和子任务的处理时延的关系。
在本发明的一些实施例中,移动端每次获取的各个时隙的服务单价是边缘服务器根据一同发出请求的多个移动端的最新预期策略按照以下方式计算的:
Figure BDA0002883461820000051
其中,ph表示第h个时隙的定价,
Figure BDA0002883461820000052
表示划分到第h个时隙的所有卸载的子任务的在边缘服务器上的处理时延,
Figure BDA0002883461820000053
表示第h个时隙中所有卸载的子任务的总计算量,ah表示单价的固定参数,bh表示单价的可变参数。
在本发明的一些实施例中,移动端在计算成本时根据自身对时延、能耗和边缘服务价格的敏感程度设置对处理时延成本、移动端能耗成本和边缘服务价格成本的自定义权重。
根据本发明的第二方面,提供一种电子设备,包括:一个或多个处理器;以及存储器,其中存储器用于存储一个或多个可执行指令;所述一个或多个处理器被配置为经由执行所述一个或多个可执行指令以实现第一方面所述方法的步骤。
与现有技术相比,本发明的优点在于:
本发明通过将边缘服务器的任务时段划分为多个时隙,由各个移动端根据自身的预期策略和最新获得的邻居移动端的预期策略估算各时隙的服务处理时延,以自身成本最小化为优化目标更新预期策略,预期策略中对DNN任务按层进行拆分,更新时会调整拆分的位置,从而调整分配到不同时隙的子任务的数量,让不同移动端卸载后期任务中的子任务到指定的时隙执行,从而避免多个移动端同时卸载任务后,各个移动端的任务无序执行导致负载不均衡的问题,可以有效地避免边缘服务器上的处理拥挤,提高了边缘服务器的计算效率和用户体验。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1为根据本发明实施例的DNN任务卸载的方法的流程示意图;
图2为根据本发明实施例的多个时隙及分配的子任务的示意图;
图3为根据本发明实施例的实施场景的示意图;
图4为根据本发明实施例的输出图像对卷积层的本地处理时延和边缘服务器上的处理时延的影响规律示意图;
图5为实验测试中本发明对应算法的收敛性的示意图;
图6为在不同带宽下四种技术方案的平均处理时延对比的结果示意图;
图7为在不同带宽下四种技术方案的平均能耗对比的结果示意图;
图8为四种技术方案下平均处理时延与DNN任务类型的关系示意图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如在背景技术部分提到的,目前很少有工作考虑到多个移动端的任务的执行顺序决策,而且,在边缘服务场景下,设备间连接并非是持续的,策略迭代更新过程难以每次迭代时都能即时获得更新所需的全局信息,难以在这种情况下保障迭代更新正常进行。本发明通过将边缘服务器的任务时段划分为多个时隙,由各个移动端根据自身的预期策略和最新获得的邻居移动端的预期策略估算各时隙的服务处理时延,以自身成本最小化为优化目标更新预期策略,预期策略中对DNN任务按层进行拆分,更新时会调整拆分的位置,从而调整分配到不同时隙的子任务的数量,让不同移动端卸载后期任务中的子任务到指定的时隙执行,从而避免多个移动端同时卸载任务后,各个移动端的任务无序执行导致负载不均衡的问题,可以有效地避免边缘服务器上的处理拥挤,提高了边缘服务器的计算效率和用户体验。
在对本发明的实施例进行具体介绍之前,先对其中使用到的部分术语作如下解释:
移动端,或者称移动设备,是指通过无线网络技术上网接入互联网的终端设备,包括例如手机、笔记本电脑、平板电脑、智能手表、智能眼镜、智能车等。
邻居移动端,与当前移动端(对应于本发明中直接以移动端命名的术语)相邻的移动端。根据不同的实施场景,可以具体定义,例如,一种实施场景下,邻居移动端是与当前移动端可直接通信(通过蓝牙、WiFi等)的移动端;另一种实施场景下,邻居移动端是与当前移动端距离小于预设距离的移动端。
边缘服务器,是指部署在网络边缘为用户(对应于移动端)提供网络、计算和/或存储资源的服务器。这里的网络边缘与数据中心相对,无论是从地理距离还是网络距离上来看,网络边缘都更贴近用户。
DNN任务,是指深度神经网络(Deep Neural Networks,简称DNN)算法对应的计算任务。
子任务,是指DNN任务的子任务,每个子任务对应于深度神经网络的一个层的计算任务。
参见图1,本发明提供了一种DNN任务卸载的方法,用于移动端的DNN任务卸载到边缘服务器的过程,该方法包括步骤B1、B2、B3、B4。该方法在移动端执行,为了更好地理解本发明,下面结合具体的实施例针对每一个步骤分别进行详细说明。
步骤B1:移动端向边缘服务器发出任务卸载请求,获取边缘服务器反馈的将任务时段划分为多个时隙的信息。
根据本发明的一个实施例,步骤B1包括:B11、移动端向边缘服务器发出任务卸载请求;B12、移动端获取边缘服务器响应于该任务卸载请求反馈的在该边缘服务器的一个任务时段中可提供的多个时隙的数量(对应于多个时隙的信息)。优选的,为了激励边缘服务器处理卸载的子任务,同时避免边缘服务器处理这些子任务造成的拥挤,根据本发明的一个实施例,提出了一个在边缘服务器上运行的时隙模型。根据在边缘服务器上部署的时隙模型确定在一个任务时段中边缘服务器可提供的多个时隙对应的时隙数量。例如,通过时隙模型,将边缘服务器的一个任务时段Ts分成H个时隙。每个时隙的处理价格根据该时隙的顺序和服务处理时延独立设置。即,每个时隙的处理价格可以不同,如果分配给同一个时隙的子任务太多,将会导致这个时隙的处理价格变高。因此,卸载的子任务将会被均匀地分配到H个时隙中。分配到同一个时隙的子任务将被并行处理。例如,图2中展示了具有5个时隙的时隙模型,其中,横坐标slot后的数字分别对应于时隙1、2、3、4、5;各个时隙上的矩形框表示分配到该时隙的子任务。该实施例的技术方案至少能够实现以下有益技术效果:本发明将边缘服务器未来的一个任务时段分为多个时隙,以便多个移动端能根据自身的需求结合各个时隙的情况将子任务分配到不同的时隙顺序执行,从而避免多个移动端同时卸载任务后,各个移动端的任务无序执行导致负载不均衡的问题,可以有效地避免边缘服务器上的处理拥挤,提高了边缘服务器的利用率。
步骤B2:移动端根据多个时隙的信息生成预期策略并获取邻居移动端的预期策略,其中,预期策略中将DNN任务按层划分为在移动端本地执行的前期任务和在边缘服务器的相应时隙处理的后期任务。
参见图3,示出了有3个移动端和一个边缘服务器的场景。每个移动端有一个DNN任务待处理。为了合理的划分DNN任务,假设每个DNN任务有M层,考虑到各层之间的相对独立性,将每层的计算量视为一个子任务。这样一个DNN任务就被分成为M个子任务,可以在层与层之间进行DNN任务划分。如果一个移动端将一个DNN任务在第m层和第m+1层之间划分,那么前m个子任务(对应于前期任务)将在移动端本地处理,并且第m个子任务的输出数据将被传输到边缘服务器进行进一步处理,用于边缘服务器处理m+1层以后的子任务(对应于后期任务)。为了便于对DNN任务进行拆分,以及确保DNN任务的子任务能够拆分到本地或者边缘服务器的任意时隙执行,预期策略采用以下拆分矩阵的形式设置:
Figure BDA0002883461820000081
其中,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中的元素,元素的数值所代表的含义如下:
Figure BDA0002883461820000091
相当于第一数值设置为1,第二数值设为0,直观地说,对于在本地处理的子任务(比如yij0=1),自动满足条件yij1=…=yijH=0。此外,对于在边缘服务器处理的子任务,肯定存在h∈{1,…,H}使得yijh=1并且
Figure BDA0002883461820000092
相当于拆分矩阵的每一行只能有一个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任务的处理时延有不同的需求,所以需要设置第二约束条件:更新的预期策略需要满足移动端的时延需求;即:
Figure BDA0002883461820000105
Ti表示第i个移动端的DNN任务的处理时延,τi表示第i个移动端完成DNN任务的限制时延(最大容忍时延)。因为根据边缘服务器的硬件条件不同,不同边缘服务器有不同的并行处理能力,所以需要设置第三约束条件:每个时隙内的子任务数量不能大于边缘服务器并行执行的子任务的最大数量;假设边缘服务器在一个时隙内最多并行处理B个子任务,则每个时隙内的子任务数量不能大于并行执行的子任务的最大数量B:
Figure BDA0002883461820000101
Figure BDA0002883461820000102
如果将卸载的子任务分配到第h个时隙h∈{1,…,H},则子任务的处理时延不能大于时隙的长度,所以需要设置第四约束条件:一个移动端分配到同一个时隙的所有子任务的处理时延之和不能大于时隙的长度。即:对同一个时隙h,
Figure BDA0002883461820000103
Figure BDA0002883461820000104
表示第i个移动端的子任务j在边缘服务器上的计算时延。
步骤B3:移动端根据自身的预期策略和最新获得的邻居移动端的预期策略估算各时隙的服务处理时延,以自身成本最小化为优化目标更新预期策略,重复该步骤直至获得边缘服务器按照预设的规则确认移动端已获得最优预期策略的信号并将最新的预期策略作为卸载策略。
根据本发明的一个实施例,步骤B3包括:B31、移动端对自身的预期策略和最新获得的邻居移动端的预期策略按照预设的时隙时延估算方式估算各时隙的服务处理时延;B32、移动端获取各个时隙的服务单价,根据最新估算的各时隙的服务处理时延以自身成本最小化为优化目标更新预期策略,该成本包括时延成本、能耗成本和边缘服务价格成本;B33、移动端确认是否获得边缘服务器按照预设的规则确认移动端已获得最优预期策略的信号,其中,该信号是在边缘服务器根据一次迭代更新前后所有移动端的平均成本变化量的绝对值小于中止迭代参数或者迭代更新的次数达到预设上限次数时发出的。由于受通信条件、移动端自身状态的影响,边缘服务器可能在一次计算平均成本变化量的绝对值时不能获得所有移动端更新的预期策略,优选的,当边缘服务器在某次计算平均成本变化量的绝对值的时刻没有获取到某个移动端反馈的更新的预期策略时,将该移动端前一时刻的预测策略作为更新的预期策略。相对于现有技术缺乏对多个移动端任务的执行顺序决策,在处理时延和资源配置效率之间难以权衡,该实施例的技术方案至少能够实现以下有益技术效果:边缘服务器只负责整体的预期策略的更新进程,移动端每次更新时不需要获得边缘服务器确定的各个时隙的服务处理时延,由各个移动端根据自身情况和邻居移动端的预期策略估计各个时隙的服务处理时延后自主更新,将初始的预期策略和每次更新的预期策略上传边缘服务器以判断整体更新进程是否达到均衡(对应于步骤B33),避免了全部由边缘服务器决定卸载策略而难以考虑各个移动端自身需求的情况,实现了多个移动端自主调整,边缘服务控制整体的更新进度的效果,避免长期等待某些移动端反馈信息造成更新效率过低而影响整体的任务处理效率,有效利用了移动端本地资源和边缘服务器资源来降低时延,有效协调了时延和资源配置效率之间的关系,实用推广价值高。
为了实现对各个时隙的服务处理时延的预估,优选的,预设的时隙时延估算方式为:
Figure BDA0002883461820000111
其中,
Figure BDA0002883461820000112
表示估算得到的各时隙的服务处理时延,min{}表示取括号内的最小值,
Figure BDA0002883461820000113
是实际上各个时隙允许的总处理时延的上限,ωi表示第i个移动端对自身预期决策的权重,ωq表示第i个移动端对邻居移动端的预期决策的权重,
Figure BDA0002883461820000121
表示第i个移动端的子任务j在边缘服务器上的计算时延,nei表示第i个移动端的邻居数量,yqjh表示邻居移动端q的拆分矩阵中的一个元素,
Figure BDA0002883461820000122
表示邻居移动端q的子任务j在边缘服务器上的计算时延。该实施例的技术方案至少能够实现以下有益技术效果:本发明通过该预设的时隙时延估算方式让每个移动端根据其邻居移动端的预期策略则可估计各个时隙的服务处理时延,从而不必由边缘服务器每次统计所有移动端的预期策略后再计算出准确的各个时隙的服务处理时延反馈给各移动端,让各个移动端高效地更新自身的预期策略,并最终得到卸载策略,实现了没有集中控制的部分卸载。
根据本发明的一个实施例,移动端在计算成本时根据自身对时延、能耗和边缘服务价格的敏感程度设置对处理时延成本、移动端能耗成本和边缘服务价格成本的自定义权重。即:对于边缘服务器连接的彼此不同的移动端,各移动端可在计算成本时根据自身对时延、能耗和边缘服务价格的敏感程度设置对处理时延成本、移动端能耗成本和边缘服务价格成本的自定义权重。为了综合考虑计算和传输时延的影响,优选的,所述时延包括计算时延和传输时延,其中,计算时延包括本地处理时延和服务处理时延,本地处理时延等于在移动端处理的所有子任务的处理时延之和,服务处理时延等于在边缘服务器处理的所有子任务的处理时延之和,DNN任务的各个子任务的处理时延通过将该子任务对应的特定影响因素输入处理时延预测模型得到,其中,该处理时延预测模型包括多个处理时延预测子模型,不同类型的DNN任务的不同类别的层对应于一个处理时延预测子模型,每个处理时延预测子模型均为经过训练数据训练得到的神经网络模型,训练数据为经过多次重复时延测试实验得到的各种子任务对应的多个特定影响因素和子任务的处理时延的关系。该实施例的技术方案至少能够实现以下有益技术效果:各个移动端对应时延、能耗和价格的敏感程度不同,比如一些移动端对应的用户正在从事紧急的任务导致对时延要求高;或者移动端本身的电量有限,对能耗敏感;又或者移动端对应的用户不希望支付过多的边缘服务费用,对价格敏感;各移动端可根据独立设置的各种成本的自定义权重,结合各移动端自身实际情况满足不同用户的需求,提高用户体验。
根据本发明的一个示例,为了获得预期策略中各个子任务的处理时延,本发明建立了DNN任务的处理时延预测模型。通过给定DNN任务必要的参数,预测模型可以预测每个子任务的本地处理时延和服务器处理时延。为了建立处理时延预测模型,首先从卷积神经网络框架(Caffe框架)的源代码中分析出影响各层处理时延的因素,如输入输出数据大小,内核大小等。然后通过控制变量的方法,测试各影响因素与该层在移动端或服务器的处理时延之间的关系。因此,可以得到各因素对处理时延的影响规律,即线性,二次等。此外,还可以选择影响显著的有效因素,删除无用因素来简化模型。基于所选的因素和预期的影响模式,利用多项式拟合建立处理时延预测模型。由于不同类型的DNN任务(例如VGG16、VGG13、ALEXNET、LENET等)的不同类别的层(例如卷积层、池化层、连接层)的影响因素可能不同,因此,针对不同类型的DNN任务的不同类别的层构建一个对应的处理时延预测子模型,并用获得的训练数据进行训练。而且,实际场景下,实际训练过程完全可以让运营商基于实际情况进行设置,例如支持的深度神经网络的类型、不同类别的层采用的影响因素等,从而构建适于各种实际场景下的处理时延预测模型。
下面以卷积层的处理时延预测模型搭建为例进行进一步说明。经过实验,选出了对卷积层显著影响的因素:卷积核的大小K,输入的数据量I,输出的数据量O,输出的图像大小G。基于这些数据,需要基于这些影响因素拟合Tl(G,K,O,I)和Ts(G,K,O,I),这里Tl和Ts分别代表卷积层的本地处理时延和在边缘服务器上的处理时延。在此假设的基础上,利用变量控制方法得到各影响因素的影响规律。在图4中,展示了输出图像大小G对Ts和Tl的影响规律,横坐标为输出的图像大小G,纵坐标为执行时延(ms),圆圈代表Ts真实数据Ts,星号代表Tl真实数据Tl,虚线和实线分别是Ts和Tl的拟合曲线。发明人重复处理时延测试实验1000次以上,得到了大量影响因素和执行时延的测试数据。基于这些测试数据制作训练数据,并将训练数据分为训练集和测试集,其中训练集包含80%的原始数据,测试集包含20%的原始数据。根据训练集中的数据,得到了一个示意性的多项式拟合预测模型(对应于卷积层的处理时延预测子模型)如下:
Tl=(0.3G2K2OI+2.6G2K2O+4.8G2O)×10-5
Ts=(3G2K2OI+7.4G2K2O+25.8G2O)×10-7
最后,发明人将以上两个卷积层的处理时延预测子模型应用于测试集,实验结果表明,测试集中卷积层模型的确定系数为99.58%,平均绝对误差为2.78毫秒,可见拟合的效果较好,时延预测的准确性高。
根据本发明的一个实施例,每个移动端通过确定自身的预期策略使其成本最小化。为了综合考虑处理时延、移动端处理能耗和边缘服务价格的影响,将每个移动端的成本分为三部分:处理时延成本
Figure BDA0002883461820000141
移动端能耗成本
Figure BDA0002883461820000142
和边缘服务价格成本
Figure BDA0002883461820000143
因此,第i个移动端在划分矩阵yi下的成本的计算公式如下:
Figure BDA0002883461820000144
其中,αiii=1,Ti表示第i个移动端的DNN任务的处理时延,ci1是从处理时延到成本的转换因子,αi是处理时延成本的权重系数,Ei是第i个移动端的处理能耗,ci2是从处理能耗到成本的转换因子,βi是移动端能耗成本的权重系数;
Figure BDA0002883461820000145
是第i个移动端卸载的子任务的计算量,
Figure BDA0002883461820000146
是移动端选择将子任务卸载到边缘服务器处理所需支付的边缘服务价格,γi是边缘服务价格成本的权重系数。值得注意的是,移动端可能对时间很敏感,或者对功耗很敏感,或者对价格很敏感,但不同的移动端对时间、功能、价格的敏感程度不同,所以每个设备可能由不同的αi,βi和γi
对于DNN任务的处理时延,每个移动端的处理时延Ti由本地处理时延,传输时延和服务器处理时延组成:
Figure BDA0002883461820000147
其中,
Figure BDA0002883461820000148
表示第i个移动端的第j个子任务的本地处理时延,这可以从构建的处理时延预测模型中得到,
Figure BDA0002883461820000151
是最后一个本地执行的子任务的输出数据的传输时延,hi,max表示第i个移动端选择将卸载的子任务分配到时隙的最大数目,如果第i个移动端将它的任务都分配到本地处理,那么hi,max=0。
对于传输时延,首先将Oij定义为第i个移动端的第j个子任务的输出数据。根据香农(Shannon)公式还定义了Vi u为第i个移动端与边缘服务器之间的最大传输速度:
Figure BDA0002883461820000152
其中,Wi和Gi分别是第i个移动端和服务器之间的带宽和信道增益。Pi t为第i个移动端的传输功率,N0为信道噪声功率谱密度,则上行传输时延为:
Figure BDA0002883461820000153
假设上行传输和下行传输采用相同的频谱。因此,在任务结果下载阶段,带宽和下行通道增益与上行通道增益相同。于是,每个移动端的下行可达速率仅在传输功率Ps上有所不同,边缘服务器到第i个移动端的下行最大传输速度:
Figure BDA0002883461820000154
其中,边缘服务器的传输功率Ps非常大,导致每个移动端都对应有较大的Vi d。考虑到最后一层的输出数据OiM非常小,下行可达率非常大,结果反馈时延可忽略不计。即,可直接将上行传输时延视为传输时延。
对于移动端能耗成本,第i个移动端的处理能耗Ei由本地处理能耗和传输能耗组成:
Figure BDA0002883461820000161
其中,
Figure BDA0002883461820000162
表示第i个移动端的第j个子任务的本地处理能耗,这可以由构建的能耗预测模型得到,Pi t表示第i个移动端的传输功率,
Figure BDA0002883461820000163
表示第i个移动端的所有卸载到边缘服务器上的子任务的传输时延。
根据处理延时预测模型,第i个移动端的第j个子任务的本地处理能耗如下:
Figure BDA0002883461820000164
其中,Pi l是第i个移动端的计算能力,
Figure BDA0002883461820000165
是第i个移动端执行第j个子任务的本地处理时延。
根据传输时延的公式,可以得到第i个移动端传输第j个子任务的传输能耗如下:
Figure BDA0002883461820000166
在本发明中,可基于上述能耗计算公式建立对应的能耗预测模型,在移动端计算移动端能耗成本时反馈计算所需的能耗信息。
对于边缘服务价格成本,为了在激励边缘服务器处理移动端卸载的子任务,同时也为了激励移动端将子任务卸载到相对不拥挤的时隙,根据本发明的一个实施例,设计了一个针对边缘服务的收费机制。
本发明将每个时隙设置为不同的处理单价ph,其中h=1,…,H。假定ph的大小取决于时隙的拥挤程度和时隙的顺序。具体地说,ph会随着卸载到第h个时隙的计算量增大而增大,并且时隙顺序越靠前ph越大。这是因为如果第h个时隙很拥挤,那么第h个时隙高额的单价将会迫使移动端为了降低成本,将子任务卸载到较低单价的时隙中。因此,可以有效地避免边缘服务器上某个时隙出现拥挤。另外,如果移动端将子任务分配给后面的时隙,那么这个子任务将会稍后执行,使得DNN任务的处理时延增加。因此本发明通过设置较低的ph来补偿处理时延的增长。此外,如果有些移动端对时间很敏感,这意味着它希望尽早的处理任务,即使价格很高,它也会选择前面的时隙。
为了给出ph具体的定价函数,根据本发明的一个实施例,首先需要获得每个子任务的计算量。然而,由于每个子任务的计算量是动态变化的,很难获得准确值。可用每个子任务的服务器处理时延来间接地反映计算量,处理时延与计算量成正比。因此本发明定义
Figure BDA0002883461820000171
表示第i个设备的第j个子任务的在边缘服务器上的处理时延,这可由本发明的处理时延预测模型求得,ηs为边缘服务器处理时延到计算量的转换因子,第h个时隙的定价函数如下:
Figure BDA0002883461820000172
其中,
Figure BDA0002883461820000173
表示划分到第h个时隙的所有卸载的子任务的在边缘服务器上的处理时延。
Figure BDA0002883461820000174
表明第h个时隙中所有卸载的子任务的总计算量,ah表示单价的固定参数,bh表示单价的可变参数。
步骤B4:移动端根据卸载策略将后期任务中的子任务卸载到指定的时隙执行。
根据本发明的一个实施例,移动端根据卸载策略确定在本地执行的前期任务,前期任务完成后,将前期任务之后的DNN任务的相应子任务卸载到边缘服务器上相应的时隙中执行。而且,卸载时,前期任务的输出数据会传输到边缘服务器上,作为后期任务的输入。边缘服务器接收到传输的输出数据后,将在一定的时间Ts内处理剩余的子任务。由于边缘服务器相对强大的计算能力,最多可以并行执行B个卸载的子任务,Ts比每个子任务本地处理的时延要小很多。为了有序执行各个子任务,将各个子任务按照卸载策略卸载到指定的时隙执行,由时隙模型控制所有子任务的执行顺序。
下面通过一个示例来说明本发明的过程,在本发明中,每个移动端为了实现自身成本最小化需要解决以下最优问题:
Figure BDA0002883461820000175
在e≤g时,如果yide=yifg=1,那么d≤f,
其中,d,f∈{1,…,M},e,g∈{0,…,H},
Ti≤τi
Figure BDA0002883461820000181
Figure BDA0002883461820000182
可以看出,在目标函数
Figure BDA0002883461820000183
中除
Figure BDA0002883461820000184
外第i个移动端的所有变量都可用。发明人发现
Figure BDA0002883461820000185
与所有移动端的聚合策略相耦合,因此,求解第i个移动端的最优预期策略的问题就是一个聚合博弈过程(Aggregative Game)。在本发明中,移动端根据估计得到的各个时隙的服务处理时延
Figure BDA0002883461820000186
Figure BDA0002883461820000187
作为聚合博弈信息(由于是估计得到的,是一种不确定的聚合博弈信息),从而各个移动端基于不确定的聚合博弈信息
Figure BDA0002883461820000188
进行分布式的DNN任务划分的聚合博弈过程。
在该聚合博弈过程中,基于邻居移动端的预期策略来估计聚合博弈信息
Figure BDA0002883461820000189
移动端以此来获得最优的预期策略yi。我们定义第i个移动端的邻居数为nei,nei<N,并且对于其中每个邻居移动端,其都是与该移动端共同向边缘服务器发出卸载请求的所有移动端中的一个。实际上,移动端并不总是处于与外界建立连接的状态(比如:醒着)来交换信息。移动端间歇地醒来以节省能源。因此本发明假定存在一个全局时钟。在全局时钟的每一个时刻,移动端可能会根据某种离散分布(即泊松分布)醒来与邻居移动端或者边缘服务器建立连接从而交换信息。具体地说,当第i个移动端在某一时刻醒来,与它的所有邻居移动端进行信息交换,并且根据预设的时隙时延估算方式来估计
Figure BDA00028834618200001810
值。
下面通过算法1来说明如何根据全局时钟来控制整体的更新进程。
算法1(Algorithm 1):
输入:迭代终止参数ε
输出:聚合矩阵Y
步骤:
1、初始化:
设置全局时钟时刻k=0
每个移动端随机选择一个满足约束条件一、二、三和四的预期策略yi,i=1,…,N
设置每个移动端初始的成本变化量|ΔCi|=+∞;
2、若满足平均成本变化量的绝对值
Figure BDA0002883461820000191
条件,则循环执行3-6;
3、k=k+1,用于更新迭代时刻;
4、在k时刻,第i个移动端服从泊松分布被唤醒;
5、第i个移动端与其邻居移动端进行交互获得邻居移动端最新的预期策略并用预设的时隙时延估算方式估计
Figure BDA0002883461820000192
值;
6、根据估计得到的
Figure BDA0002883461820000193
值,第i个移动端通过求解问题
Figure BDA0002883461820000194
来更新它的最优预期决策yi
由于DNN任务是在多台移动端和一台边缘服务器间处理,本实验使用四个香橙派Orange Pi Win Plus作为移动端,使用一台配置为CPU i5,4g RAM,3.4ghz CPU时钟频率的电脑作为移动边缘计算的边缘服务器。为了连接移动端和边缘服务器,实验中使用Socket接口作为通讯接口。如果没有特别的说明,本次实验用的DNN任务默认使用ALEXNET网络,主要的参数如下表所示:
Figure BDA0002883461820000195
Figure BDA0002883461820000201
本发明首先对算法1的收敛性进行评估,为了更好的说明算法的收敛性,添加了算法2进行对比。不同于算法1中基于邻居的决策对
Figure BDA0002883461820000202
进行估计,算法2中将边缘服务器作为一个中心,由边缘服务器每次获取所有移动端的预期策略用于计算准确的
Figure BDA0002883461820000203
值,把准确的
Figure BDA0002883461820000204
值广播给每一个醒来的移动端。
在图5中,示出了算法1和算法2的收敛性。可以发现,在迭代过程中平均成本
Figure BDA0002883461820000205
逐渐减小,最终在达到收敛后保持不变,其中
Figure BDA0002883461820000206
值得注意的是,两个算法在达到收敛的迭代数基本相同,这意味着算法1即使没有获得准确的
Figure BDA0002883461820000207
值也可以达到和算法2相似的收敛速度。而且,从图5中可以看出,
Figure BDA0002883461820000208
并不是在每次迭代中都减小,这是因为在每次迭代中,移动端服从泊松分布被唤醒,更新它们的预期策略。在某些迭代中,如果没有移动端被唤醒,或者在前一个迭代中的策略已经是最优的,那么移动端将不会更新它们的策略。此外发明人还对比了两种算法在不同交互数量(设备数)N=5、N=25下的收敛性,从图5可以看出随着移动端的数量N的增加,算法的收敛速度减小。
为了简化,将本发明称为Case1,为了测量本发明的性能,将本发明与其他三种任务处理方式Case2、Case3、Case4进行对比,做了相应的对比实验。
四种方案的技术方案如下:
Case1:基于邻居移动端的预期策略估计聚合博弈信息(各个时隙的服务处理时延),各移动端以自身成本最小化来优化预期策略,调整本地执行和边缘服务器上执行的子任务的划分位置(对应于本发明的算法1)。
Case2:基于全局信息的全局最优拆分和卸载机制,边缘服务器作为中心,反馈给移动端所需的聚合博弈信息,各移动端以自身成本最小化来优化预期策略,调整本地执行和边缘服务器上执行的子任务的划分位置(对应于前面提及的算法2)。
Case3:所有DNN任务都卸载至边缘服务器进行处理,目前大多数智能应用采用该种处理方式。
Case4:所有DNN任务都在本地处理。
在图6中,示出了不同带宽W(KHz)下每个Case的平均处理时延
Figure BDA0002883461820000211
其中,
Figure BDA0002883461820000212
在本次对比实验中,假设每个移动端和边缘服务器MEC之间的带宽相同,因此有W1=…=WN=W。从图6中可以看出,Case1可以达到除Case2外的最小
Figure BDA0002883461820000213
其中Case2下的
Figure BDA0002883461820000214
是全局最小的平均处理时延。这是因为随着带宽变化,Case3下的服务器处理可能会导致较长的传输时延,Case4下的本地处理可能会导致较长的处理时延,而Case1中的划分及卸载机制在一定程度上对
Figure BDA0002883461820000215
进行了优化。我们还可以观察到,随着W的增加,Case1、Case2和Case3下的
Figure BDA0002883461820000216
减小,而Case4下的
Figure BDA0002883461820000217
并不会随着W增加变化。这是因为,Case1、Case2和Case3下的传输时延会随着W的增加而减少,而Case4下的传输时延始终为0,不受W的影响。此外,Case3下的
Figure BDA0002883461820000218
比Case1、Case2下的
Figure BDA0002883461820000219
减少的更加显著。原因是,在Case3中,每个移动端将其所有的DNN任务卸载到边缘服务器上,导致相对较长的传输时延。但是在Case1、Case2中,每个移动端只将部分DNN任务卸载到服务器,导致相对较短的传输时延。传输时延越长,对带宽的变化越敏感。
在图7中,示出了不同带宽下每个Case的平均处理能耗
Figure BDA00028834618200002110
其中
Figure BDA00028834618200002111
从图7中可以看出,与其他Case相比,Case1可以达到最小
Figure BDA00028834618200002112
这是因为,在Case2中的划分卸载机制在选择决策时并没有考虑功耗,在Case3下的服务器处理可能由于传输时延长导致较高的传输能耗,在Case4下的本地处理可能由于处理时延长导致较高的处理能耗,而Case1的划分及卸载机制一定程度上对能耗进行了优化。我们还可以观察到,随着W的增加,Case1、Case2和Case3下的
Figure BDA0002883461820000221
减小,而Case4下的
Figure BDA0002883461820000222
并不会随着W增加变化。这是因为能耗的变化受时延的影响,Case1、Case2和Case3下的传输时延会随着W的增加而减少,使得传输能耗随之减少,而Case4下的传输时延不随W的变化而变化,使得传输能耗始终不变。
在图8中,示出了四种情况下平均处理时延
Figure BDA0002883461820000223
与DNN任务的类型的关系。我们选择4种不同类型的DNN任务,即VGG16、VGG13、ALEXNET、LENET,其中DNN任务的计算复杂度依次下降。从图8中可以直观看出,随着DNN任务计算复杂度的降低,
Figure BDA0002883461820000224
降低。发明人还发现,无论DNN任务的类型如何,Case2下的
Figure BDA0002883461820000225
始终是所有Case中最小的。这是因为,对于计算复杂度相对较高的DNN任务(即:VGG16、VGG13、ALEXNET),由于移动端的计算能力有限,Case4下的传统本地处理时延过长;对于计算复杂度较低的DNN任务(即:LENET),Case3下的传统的服务器处理由于传输时延过长使得时延过长;而在Case2下,通过全局最优的DNN任务划分及卸载,可以实现最小的任务处理时延。令人惊讶的是,与Case2相比,即使没有全局信息,Caes1也可以实现近乎最优的
Figure BDA0002883461820000226
此外由于VGG16、VGG13、ALEXNET的计算复杂度过高,将所有的DNN任务卸载到边缘服务器上比在本地处理要快。然而对于计算复杂度较低的LENET,移动端将任务划分到本地处理比卸载到服务器上处理更快。原因是,当把较复杂的任务卸载到边缘服务器上处理时,传输时延要比本地处理时延小的多,但是当将简单的任务卸载到边缘服务器上处理时,传输时延要比本地处理时延长得多。
通过以上实验测试的结果表明,相较于传统任务处理方式,本发明的技术方案利用邻居移动端的预期策略估计得到各个时隙的服务处理时延(不确定的聚合博弈信息)并用以优化自身的预期策略,得到的最终卸载策略;有效权衡了边缘服务器的处理时延、能耗和资源配置效率,解决了现有技术对DNN任务拆分卸载的困难,以及多个移动端复杂的执行顺序决策的联合优化调度问题,以及边缘服务器计算效率不高、负载不均衡问题。
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (9)

1.一种DNN任务卸载的方法,用于移动端的DNN任务卸载到边缘服务器的过程,其特征在于,该方法包括步骤:
B1、移动端向边缘服务器发出任务卸载请求,获取边缘服务器反馈的将任务时段划分为多个时隙的信息;
B2、所述移动端根据多个时隙的信息生成预期策略并获取邻居移动端的预期策略,其中,预期策略中将DNN任务按层划分为在移动端本地执行的前期任务和在边缘服务器的多个时隙中相应时隙处理的后期任务;
B3、所述移动端根据自身的预期策略和最新获得的邻居移动端的预期策略估算各时隙的服务处理时延,以自身成本最小化为优化目标更新预期策略,重复步骤B3直至获得边缘服务器按照预设的规则确认移动端已获得最优预期策略的信号并将最新的预期策略作为卸载策略;
B4、所述移动端根据卸载策略将后期任务中的子任务卸载到指定的时隙执行;
其中,预期策略采用以下拆分矩阵的形式设置:
Figure FDA0003663349960000011
其中,yi表示移动端i的预期策略,i∈{1,…,N},N表示移动端的数量,对于该拆分矩阵中的任意一个元素yijh,j∈{1,…,M},M表示DNN任务的层数,该拆分矩阵的各个行对应于DNN任务的各个子任务,h∈{0,1,…,H},H表示时隙的数量,yijh的数值所代表的含义如下:
Figure FDA0003663349960000012
拆分矩阵的列包括对应于子任务在本地处理的列和对应于子任务卸载到边缘服务器的对应时隙的列,在拆分矩阵的元素中用第一数值表示该元素所在的行对应子任务按照该元素所在列对应的方式处理,用不同于第一数值的第二数值表示该元素所在的行对应子任务不由该元素所在列对应的方式处理。
2.根据权利要求1的DNN任务卸载的方法,其特征在于,按照以下多个约束条件对移动端更新预期策略的范围进行限制:
第一约束条件:DNN任务中在前执行的子任务分配的时隙不能位于在后执行的子任务分配的时隙之后;
第二约束条件:更新的预期策略需要满足移动端的时延需求;
第三约束条件:每个时隙内的子任务数量不能大于边缘服务器并行执行的子任务的最大数量;
第四约束条件:一个移动端分配到同一个时隙的所有子任务的处理时延之和不能大于时隙的长度。
3.根据权利要求1所述的DNN任务卸载的方法,其特征在于,所述步骤B3包括:
B31、移动端对自身的预期策略和最新获得的邻居移动端的预期策略按照预设的时隙时延估算方式估算各时隙的服务处理时延;
B32、所述移动端获取各个时隙的服务单价,根据最新估算的各时隙的服务处理时延以自身成本最小化为优化目标更新预期策略,该成本包括时延成本、能耗成本和边缘服务价格成本;
B33、所述移动端确认是否获得边缘服务器按照预设的规则确认移动端已获得最优预期策略的信号,其中,该信号是在边缘服务器根据一次迭代更新前后所有移动端的平均成本变化量的绝对值小于中止迭代参数或者迭代更新的次数达到预设上限次数时发出的。
4.根据权利要求3所述的DNN任务卸载的方法,其特征在于,所述预设的时隙时延估算方式为:
Figure FDA0003663349960000021
其中,
Figure FDA0003663349960000022
表示估算得到的各时隙的服务处理时延,min{}表示取括号内的最小值,
Figure FDA0003663349960000023
是实际上各个时隙允许的总处理时延的上限,ωi表示第i个移动端对自身预期决策的权重,ωq表示第i个移动端对邻居移动端的预期决策的权重,
Figure FDA0003663349960000031
表示第i个移动端的子任务j在边缘服务器上的计算时延,nei表示第i个移动端的邻居数量,yqjh表示邻居移动端q的拆分矩阵中的一个元素,
Figure FDA0003663349960000032
表示邻居移动端q的子任务j在边缘服务器上的计算时延。
5.根据权利要求3所述的DNN任务卸载的方法,其特征在于,移动端每次获取的各个时隙的服务单价是边缘服务器根据一同发出请求的多个移动端的最新预期策略按照以下方式计算的:
Figure FDA0003663349960000033
其中,ph表示第h个时隙的定价,
Figure FDA0003663349960000034
表示划分到第h个时隙的所有卸载的子任务的在边缘服务器上的处理时延,
Figure FDA0003663349960000035
表示第h个时隙中所有卸载的子任务的总计算量,ah表示单价的固定参数,bh表示单价的可变参数。
6.根据权利要求3至5任一项所述的DNN任务卸载的方法,其特征在于,移动端在计算成本时根据自身对时延、能耗和边缘服务价格的敏感程度设置对处理时延成本、移动端能耗成本和边缘服务价格成本的自定义权重。
7.根据权利要求6所述的DNN任务卸载的方法,其特征在于,所述时延包括计算时延和传输时延,其中,计算时延包括本地处理时延和服务处理时延,本地处理时延等于在移动端处理的所有子任务的处理时延之和,服务处理时延等于在边缘服务器处理的所有子任务的处理时延之和,DNN任务的各个子任务的处理时延通过将该子任务对应的影响因素输入处理时延预测模型得到,其中,该处理时延预测模型包括多个处理时延预测子模型,不同类型的DNN任务的不同类别的层对应于一个处理时延预测子模型,每个处理时延预测子模型均为经过训练数据训练得到的神经网络模型,训练数据为经过多次重复时延测试实验得到的各种子任务对应的多个影响因素和子任务的处理时延的关系。
8.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序可被处理器执行以实现权利要求1至7中任一项所述方法的步骤。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;以及
存储器,其中存储器用于存储一个或多个可执行指令;
所述一个或多个处理器被配置为经由执行所述一个或多个可执行指令以实现权利要求1至7中任一项所述方法的步骤。
CN202110006130.6A 2021-01-05 2021-01-05 一种dnn任务卸载的方法 Active CN112822264B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110006130.6A CN112822264B (zh) 2021-01-05 2021-01-05 一种dnn任务卸载的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110006130.6A CN112822264B (zh) 2021-01-05 2021-01-05 一种dnn任务卸载的方法

Publications (2)

Publication Number Publication Date
CN112822264A CN112822264A (zh) 2021-05-18
CN112822264B true CN112822264B (zh) 2022-07-15

Family

ID=75857303

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110006130.6A Active CN112822264B (zh) 2021-01-05 2021-01-05 一种dnn任务卸载的方法

Country Status (1)

Country Link
CN (1) CN112822264B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113435580B (zh) * 2021-06-29 2022-06-07 福州大学 一种边缘环境下dnn应用计算卸载自适应中间件构建方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096362A (zh) * 2019-04-24 2019-08-06 重庆邮电大学 一种基于边缘服务器协作的多任务卸载方法
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 国网河南省电力公司信息通信公司 一种边缘网络计算卸载和任务迁移方法及装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10440096B2 (en) * 2016-12-28 2019-10-08 Intel IP Corporation Application computation offloading for mobile edge computing
CN110553629B (zh) * 2019-09-20 2020-12-15 中南大学 一种基于边缘计算的无人机目标追踪功耗优化方法及系统
CN111835827B (zh) * 2020-06-11 2021-07-27 北京邮电大学 物联网边缘计算任务卸载方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096362A (zh) * 2019-04-24 2019-08-06 重庆邮电大学 一种基于边缘服务器协作的多任务卸载方法
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)

* Cited by examiner, † Cited by third party
Title
Mingjin Gao ; Rujing Shen.Computation Offloading with Instantaneous Load Billing for Mobile Edge Computing.《IEEE Transactions on Services Computing ( Early Access )》.2020, *

Also Published As

Publication number Publication date
CN112822264A (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
Baek et al. Managing fog networks using reinforcement learning based load balancing algorithm
CN111953759B (zh) 基于强化学习的协同计算任务卸载和迁移的方法及装置
CN111405568B (zh) 基于q学习的计算卸载和资源分配方法及装置
CN113950103B (zh) 一种移动边缘环境下多服务器完全计算卸载方法及系统
CN111953758B (zh) 一种边缘网络计算卸载和任务迁移方法及装置
CN109002358B (zh) 基于深度强化学习的移动终端软件自适应优化调度方法
CN113225377B (zh) 物联网边缘任务卸载方法及装置
CN107766135B (zh) 移动朵云中基于粒子群和模拟退火优化的任务分配方法
CN110928654B (zh) 一种边缘计算系统中分布式的在线任务卸载调度方法
CN113810233B (zh) 一种在随机网络中基于算网协同的分布式计算卸载方法
CN111524034B (zh) 高可靠低时延低能耗的电力巡检系统及巡检方法
CN113553165B (zh) 一种基于博弈论的移动边缘计算任务卸载和资源调度方法
CN111262944B (zh) 异构移动边缘计算网络中分层任务卸载的方法与系统
CN112783567B (zh) 一种基于全局信息的dnn任务卸载决策方法
CN112188627B (zh) 一种基于状态预测的动态资源分配策略
CN112817741B (zh) 一种边缘计算的dnn任务控制方法
CN115190033B (zh) 一种基于强化学习的云边融合网络任务卸载方法
CN114928607B (zh) 面向多边接入边缘计算的协同任务卸载方法
CN112822264B (zh) 一种dnn任务卸载的方法
Zhang et al. Effect: Energy-efficient fog computing framework for real-time video processing
CN114172558B (zh) 一种车辆网络中基于边缘计算和无人机集群协同的任务卸载方法
CN112905315A (zh) 移动边缘计算mec网络中的任务处理方法、装置及设备
Dong et al. Content caching-enhanced computation offloading in mobile edge service networks
CN115408072A (zh) 基于深度强化学习的快速适应模型构建方法及相关装置
CN114090108B (zh) 算力任务执行方法、装置、电子设备及存储介质

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