CN112783567B - 一种基于全局信息的dnn任务卸载决策方法 - Google Patents

一种基于全局信息的dnn任务卸载决策方法 Download PDF

Info

Publication number
CN112783567B
CN112783567B CN202110006175.3A CN202110006175A CN112783567B CN 112783567 B CN112783567 B CN 112783567B CN 202110006175 A CN202110006175 A CN 202110006175A CN 112783567 B CN112783567 B CN 112783567B
Authority
CN
China
Prior art keywords
unloading
task
time delay
dnn
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.)
Active
Application number
CN202110006175.3A
Other languages
English (en)
Other versions
CN112783567A (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 CN202110006175.3A priority Critical patent/CN112783567B/zh
Publication of CN112783567A publication Critical patent/CN112783567A/zh
Application granted granted Critical
Publication of CN112783567B publication Critical patent/CN112783567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44594Unloading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • 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

Landscapes

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

Abstract

本发明实施例提供了一种基于全局信息的DNN任务卸载决策方法,包括:S1、响应于多个移动端的任务卸载请求,根据移动端的数量和DNN任务的层数生成对应的策略矩阵;S2、根据策略矩阵获取所有可能的卸载策略,每个卸载策略对所有移动端中每个移动端的DNN任务的卸载位置进行定义;S3、预测所有DNN任务的子任务对应的参考时延信息,包括该子任务的本地处理时延、服务器处理时延和对应的卸载传输时延;S4、基于参考时延信息确定每种卸载策略下各移动端的卸载任务到达边缘服务器的抵达时延和任务量;S5、对于每种卸载策略,计算该卸载策略对应的总时延;S6、从所有的卸载策略中选取总时延最小的卸载策略作为卸载决策。本发明可提高边缘辅助计算的整体效率。

Description

一种基于全局信息的DNN任务卸载决策方法
技术领域
本发明涉及深度神经网络任务的边缘计算领域,具体来说涉及深度神经网络任务的优化卸载领域,更具体地说,涉及一种基于全局信息的DNN任务卸载决策方法。
背景技术
现如今,深度学习广泛应用于众多移动端的应用程序中,比如苹果智能语音助手(Siri)和谷歌助理(Google Assistant)。然而,大多数的深度学习模型都需要复杂的计算,并且很难在移动端上以有限的计算资源计算其推理结果。因此,目前常用的方法是将深度学习任务卸载到云上,即移动云计算(Mobile Cloud Computing,简称MCC),云具有丰富的计算资源和强大的计算能力,可以处理复杂的计算任务。
由于云通常情况下与移动端距离很远,处理延迟通常大于100ms。这给延迟敏感的应用程序带来了糟糕的体验质量,这也是MCC的瓶颈。
为了缓解这一问题,移动边缘计算(Mobile Edge Computing,简称MEC)应运而生,通过布置在移动端附近的单个或者多个边缘服务器接收并处理移动端卸载的任务,从而加快计算密集型任务的处理过程来减轻移动端的计算负担。MEC中最直接的方法是将所有的计算从移动端转移到边缘服务器,目前已有许多研究。在一些研究中,研究者考虑了采用二进制卸载策略的无线MEC网络,通过0或者1来分别表示无线设备的每个计算任务在本地执行或者完全卸载到MEC服务器;然后,研究者提出了一个基于深度强化学习的在线卸载框架,该框架最优的适应了时变无线信道条件下的任务卸载决策和无线资源分配。在另一些研究中,研究者提出了一个分布式框架,该框架将移动端与更强大的后端服务器捆绑在一起,从而允许深度学习在本地执行或卸载到服务器。该框架能够结合应用程序的需求,智能的通过估计的方法来协调当前对网络情况和后端服务器负载情况,进而确定最佳策略。可以发现,在上述研究中,虽然将数据卸载到附近的边缘服务器是节省时间的,但是由于移动端的计算能力没有得到充分的利用,又或者多个移动端同时卸载数据导致边缘服务器的计算时延增加,再加上传输时延,使得整体的效率不高。特别是大量移动端的任务卸载顺序彼此独立时,则某一时刻可能这些移动端同时将所有数据都卸载到边缘服务器上,那么此时传输时延和边缘服务器的计算时延都可能大幅增加,而该时刻之后,边缘服务器又可能较长时间处于空闲的状态,不仅没有充分利用边缘服务器的资源,还可能影响用户体验。
为了提高MEC计算资源的利用率,部分卸载是一种可行的方法。实际上,部分卸载在MCC中已经得到了很好的研究,但在MEC中,部分卸载深度学习的任务存在很多的挑战。第一个挑战是,MCC中的许多工作都是通过自动程序分析来执行部分卸载,其中使用基于图的模型来区分子图和子图之间的相互作用。然后应用图划分算法来获得子图。但是对于深度学习任务,由于计算复杂度极高,很难进行自动程序分析。第二个挑战是多个移动端任务的联合优化调度,特别是对复杂的执行顺序决策。因此,虽然联合优化调度算法在单用户场景中得到了广泛的研究,但在多用户场景中联合优化调度的研究却很少。
为应对第一个挑战,许多工作利用深度学习的特定内部结构来研究如何实现部分卸载。一些研究者通过对单个移动端的DNN任务进行划分以实现单个移动端的时延最优。另一些研究者提出一个基于资源受限的物联网边缘集群的卷积神经网络(CNN)推理应用的自适应分布式执行框架DeepThings,其使用可伸缩的卷积层融合块分区(FTP)来最小化内存占用,同时提高并行性。
为应对第二个挑战,一些研究者考虑了一个基于多进多出技术(Multi InputMulti Output,简称MIMO)的多单元系统,其中,多个移动用户请求将计算卸载到云服务器。将卸载问题表示为在满足延迟约束的情况下,将无线资源和云分配给每个移动用户的计算资源联合优化,以最小化用户的总体能耗。为了解决这一问题,研究者提出了一种迭代算法,基于一种新的逐次凸逼近技术,收敛到原非凸问题的局部最优解。在另一些研究中,研究了多信道无线干扰环境下MEC的多用户计算卸载问题。他们将移动端之间的分布式计算卸载决策问题描述为一个多用户计算卸载博弈。然后,他们设计了一种能够达到纳什均衡的分布式计算卸载算法,推导出收敛时间的上界,并用两个重要的性能指标量化其在集中最优解上的效率比。
目前,如何让多个移动端任务实现低时延的部分卸载存在困难,特别是在这一过程中如何尽可能地综合利用多个移动端和边缘服务器的计算资源,从而减少全局的时延以及避免边缘服务器出现处理拥堵,是当前的技术难点。因此,有必要对现有技术进行改进。
发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提供一种基于全局信息的DNN任务卸载决策方法。
本发明的目的是通过以下技术方案实现的:
根据本发明的第一方面,提供一种基于全局信息的DNN任务卸载决策方法,包括:S1、响应于多个移动端的任务卸载请求,根据移动端的数量和DNN任务的层数生成对应的策略矩阵;S2、根据策略矩阵获取所有可能的卸载策略,每个卸载策略对所有移动端中每个移动端的DNN任务的卸载位置进行定义;S3、预测所有DNN任务的子任务对应的参考时延信息,包括该子任务的本地处理时延、服务器处理时延和对应的卸载传输时延;S4、基于参考时延信息确定每种卸载策略下各移动端的卸载任务到达边缘服务器的抵达时延和任务量;S5、对于每种卸载策略,根据抵达时延和任务量对多线程的边缘服务器的处理时延的影响,计算该卸载策略对应的总时延;S6、从所有的卸载策略中选取总时延最小的卸载策略作为卸载决策。
在本发明的一些实施例中,所述方法还包括:S7、根据卸载决策指示各个移动端对其DNN任务进行本地计算并且在计算至指定的卸载位置时进行任务卸载。
在本发明的一些实施例中,所述策略矩阵表示为:
Figure GDA0003560612690000031
其中,策略矩阵X的第i行表示移动端i的策略,对于该策略矩阵中的任意一个元素xij,表示移动端i的第j个子任务的处理方式,xij为第一数值时表示该子任务在移动端本地处理,xij为第二数值时表示该子任务卸载到边缘服务器上处理,i∈{1,…,N},j∈{1,…,M},N表示当前请求卸载任务的移动端的总数量,M表示DNN任务的层数。
在本发明的一些实施例中,按照以下约束条件根据策略矩阵获取所有可能的卸载策略:当一个移动端的DNN任务的某个子任务卸载到边缘服务器上执行时,该子任务后续所有子任务均在边缘服务器上执行。
在本发明的一些实施例中,步骤S3包括:S31、通过预先训练的时延预测模型预估相应类型的DNN任务的每层对应的子任务的本地处理时延、服务器处理时延;S32、预估DNN任务每层对应的子任务的输出数据的大小,并基于香农公式计算该子任务对应的卸载传输时延。
在本发明的一些实施例中,所述步骤S4包括:S41、根据卸载策略和参考时延信息确定该卸载策略下每个移动端在本地处理所有子任务的本地计算时延;S42、根据卸载位置获取预估得到的对应的卸载传输时延;S43、对每个移动端在本地处理所有子任务的本地计算时延和对应的卸载传输时延求和得到该移动端的卸载任务到达边缘服务器的抵达时延;S44、根据卸载任务中各子任务对应的服务器处理时延乘以边缘服务器的计算能力得到各子任务对应的任务量,求和得到卸载任务的任务量。
在本发明的一些实施例中,所述步骤S5包括:在卸载策略中移动端的数量小于等于边缘服务器的线程数量时,将所有抵达时延与所有任务量除以边缘服务器的计算能力的商之和作为该卸载策略对应的总时延。
在本发明的一些实施例中,所述步骤S5还包括:在卸载策略中移动端的数量大于边缘服务器的线程数量时,对所有移动端的抵达时延进行排序;获取抵达时延靠前的个数等于线程数量的先抵达的多个移动端,进入第一累计阶段,对每个线程分别对其中一个先抵达的移动端以每次增加一个待处理子任务对应的累计时延的方式进行逐层时延累加计算,直至完成对先抵达的多个移动端的所有卸载任务的时延累加计算或者当前到达边缘服务器的移动端的数量超过线程数量时进入第二累计阶段;在第二累计阶段,在当前卸载任务还未完成处理的移动端的个数小于线程数量时直接进入第三累计阶段,或者,在当前卸载任务还未完成处理的移动端的个数大于等于线程数量时,每次从当前抵达的所有移动端选择剩余任务量最大的移动端并在当前具有最小累计时延的线程对应的累积时延中增加该移动端的一个待处理子任务对应的时延,直至当前卸载任务还未完成处理的移动端的个数小于线程数量时进入第三累计阶段;在第三累计阶段,在当前所有移动端的卸载任务均抵达边缘服务器时,通过对当前所有线程的累计时延之和与剩余任务量的处理时延求和,得到该卸载策略对应的总时延。
根据本发明的第二方面,提供一种电子设备,包括:一个或多个处理器;以及存储器,其中存储器用于存储一个或多个可执行指令;所述一个或多个处理器被配置为经由执行所述一个或多个可执行指令以实现第一方面所述方法的步骤。
与现有技术相比,本发明的优点在于:
本发明在边缘服务器获得所有发出任务卸载请求的移动端的全局信息的情况下,可通过策略矩阵对多个移动端的DNN任务分别进行任务拆分,拆分的粒度以层为单位,使得任何一个移动端的DNN任务可以是不卸载、部分卸载甚至完全卸载的状态,得到所有可能的卸载策略,结合策略矩阵和本发明的时延累计方式,可在考虑抵达时延和任务量对多线程的边缘服务器的处理时延的影响的情况下,获得总时延最小的卸载策略作为最终的卸载决策,以指示各个移动端进行任务卸载,提高边缘辅助计算过程的整体效率。
附图说明
以下参照附图对本发明实施例作进一步说明,其中:
图1为根据本发明实施例的基于全局信息的DNN任务卸载决策方法的流程示意图;
图2为根据本发明实施例的实施场景的示意图;
图3为根据本发明实施例的输出图像对卷积层的本地处理时延和边缘服务器上的处理时延的影响规律示意图;
图4为根据本发明实施例的基于全局信息的DNN任务卸载决策方法的流程示意图;
图5为在不同带宽下三种技术方案的平均处理时延对比的结果示意图;
图6为三种技术方案下平均处理时延与DNN任务类型的关系示意图。
具体实施方式
为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如在背景技术部分提到的,现有的技术方案让多个移动端任务实现低时延的部分卸载存在困难,特别是在这一过程中如何尽可能地综合利用多个移动端和边缘服务器的计算资源,从而减少全局的时延以及避免边缘服务器出现处理拥堵,是当前的技术难点。本发明在边缘服务器获得所有发出任务卸载请求的移动端的全局信息的情况下,可通过策略矩阵对多个移动端的DNN任务分别进行任务拆分,拆分的粒度以层为单位,使得任何一个移动端的DNN任务可以是不卸载、部分卸载甚至完全卸载的状态,得到所有可能的卸载策略,结合策略矩阵和本发明的时延累计方式,可在考虑抵达时延和任务量对多线程的边缘服务器的处理时延的影响的情况下,获得总时延最小的卸载策略作为最终的卸载决策,以指示各个移动端进行任务卸载,提高边缘辅助计算过程的整体效率。
参见图1,本发明提供一种基于全局信息的DNN任务卸载决策方法,包括步骤:S1、S2、S3、S4、S5、S6、S7。为了更好地理解本发明,下面结合具体的实施例针对每一个步骤分别进行详细说明。
步骤S1:响应于多个移动端的任务卸载请求,根据移动端的数量和DNN任务的层数生成对应的策略矩阵。
根据本发明的一个实施例,假设边缘服务器当前收到N个移动端的任务卸载请求,每个移动端请求卸载一个DNN任务,DNN任务的层数为M。考虑到各层之间的相对独立性,可将每层的计算量视为一个子任务。这样一个DNN任务就被分成为M个子任务,可以在层与层之间进行DNN任务划分。为了更好地表达策略矩阵,用数学的方法描述划分的过程,将N×M的策略矩阵表示为:
Figure GDA0003560612690000061
其中,策略矩阵X的第i行表示移动端i的策略,对于该策略矩阵中的任意一个元素xij,表示移动端i的第j个子任务的处理方式,xij为第一数值时表示该子任务在移动端本地处理,xij为第二数值时表示该子任务卸载到边缘服务器上处理,i∈{1,…,N},j∈{1,…,M},N表示当前请求卸载任务的移动端的总数量,M表示DNN任务的层数。
步骤S2:根据策略矩阵获取所有可能的卸载策略,每个卸载策略对所有移动端中每个移动端的DNN任务的卸载位置进行定义。
根据本发明的一个实施例,为了避免DNN任务被拆分得过细,导致一个DNN任务被拆分为多个部分而存在过多的传输时延,本发明还对任务划分设置了约束条件。按照以下约束条件根据策略矩阵获取所有可能的卸载策略:当一个移动端的DNN任务的某个子任务卸载到边缘服务器上执行时,该子任务后续所有子任务均在边缘服务器上执行。参见图2,按照该约束条件,每个DNN任务最多只会被拆分为两部分(图2中虚线为示意性的拆分位置)。如果一个移动端将一个DNN任务在第m层和第m+1层之间划分,那么前m个子任务将在本地处理,并且第m个子任务的输出数据将被传输到服务器进行进一步处理。例如,假设该策略矩阵的各个元素xij都是0-1变量。其中,xij=0(对应第一数值)表示移动端i的第j个子任务在本地处理,xij=1(对应第二数值)表示移动端i的第j个子任务由边缘服务器处理。于是,根据约束条件得到的卸载策略中,如果有xi1=…=xij=0,xi,j+1=…=xiM=1,则意味着该卸载策略中对移动端i的DNN任务,在第j层和第j+1层之间进行划分;其中,第1-j层的子任务将由移动端i自身处理(本地处理),第j+1-M层的子任务将卸载至边缘服务器上,由边缘服务器处理。
步骤S3:预测所有DNN任务的子任务对应的参考时延信息,包括该子任务的本地处理时延、服务器处理时延和对应的卸载传输时延。
根据本发明的一个实施例,步骤S3进一步包括:S31、通过预先训练的时延预测模型预估相应类型的DNN任务的每层对应的子任务的本地处理时延、服务器处理时延;S32、预估DNN任务每层对应的子任务的输出数据的大小,并基于香农公式计算该子任务对应的卸载传输时延。优选的,DNN任务的各个子任务的处理时延通过将该子任务对应的特定影响因素输入处理时延预测模型得到,其中,该处理时延预测模型包括多个处理时延预测子模型,不同类型的DNN任务的不同类别的层对应于一个处理时延预测子模型,每个处理时延预测子模型均为经过训练数据训练得到的神经网络模型,训练数据为经过多次重复时延测试实验得到的各种子任务对应的多个特定影响因素和子任务的处理时延的关系。
根据本发明的一个示例,为了获得卸载策略中各个子任务的处理时延,本发明建立了DNN任务的处理时延预测模型。通过给定DNN任务必要的参数,处理时延预测模型可以预测每个子任务的本地处理时延和服务器处理时延。为了建立处理时延预测模型,首先从卷积神经网络框架(Caffe框架)的源代码中分析出影响各层处理时延的因素,如输入输出数据大小,内核大小等。然后通过控制变量的方法,测试各影响因素与该层在移动端或服务器的处理时延之间的关系。因此,可以得到各因素对处理时延的影响规律,即线性,二次等。此外,还可以选择影响显著的有效因素,删除无用因素来简化模型。基于所选的因素和预期的影响模式,利用多项式拟合建立处理时延预测模型。由于不同类型的DNN任务(例如VGG16、VGG13、ALEXNET、LENET等)的不同类别的层(例如卷积层、池化层、连接层)的影响因素可能不同,因此,针对不同类型的DNN任务的不同类别的层构建一个对应的处理时延预测子模型,并用获得的训练数据进行训练。而且,实际场景下,实际训练过程完全可以让运营商基于实际情况进行设置,例如支持的深度神经网络的类型、不同类别的层采用的影响因素等,从而构建适于各种实际场景下的处理时延预测模型。应当理解,处理时延预测模型可以是基于收集到的一个具有特定计算能力的计算设备对不同类型的DNN任务的不同类别的层的处理时延构建的训练数据训练得到的,针对不同计算能力的计算设备(移动端或者边缘服务器),乘以对应的换算系数即可预测出该计算设备(移动端或者边缘服务器)处理对应的子任务的时延。又或者,在条件允许的情况下,针对不同配置的计算设备(比如依据型号或者CPU配置区分),单独为该配置的计算设备训练一个处理时延预测模型。预测时延时,根据计算设备的型号将子任务对应的特定影响因素输入与该计算设备的型号对应的处理时延预测模型,输出该子任务对应的处理时延。若该计算设备是移动端,则输出的处理时延是该子任务的本地处理时延。若该计算设备是边缘服务器,则输出的处理时延是该子任务的服务处理时延。
下面以卷积层的处理时延预测模型搭建为例进行进一步说明。经过实验,选出了对卷积层显著影响的因素:卷积核的大小K,输入的数据量I,输出的数据量O,输出的图像大小G。基于这些数据,需要基于这些影响因素拟合Tl(G,K,O,I)和Ts(G,K,O,I),这里Tl和Ts分别代表卷积层的本地处理时延和在边缘服务器上的处理时延。在此假设的基础上,利用变量控制方法得到各影响因素的影响规律。在图3中,展示了输出图像大小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毫秒,可见拟合的效果较好,时延预测的准确性高。
对于传输时延,首先将Oij定义为第i个移动端的第j个子任务的输出数据。根据香农(Shannon)公式还定义了Vi u为第i个移动端与边缘服务器之间的最大传输速度:
Figure GDA0003560612690000091
其中,Wi和Gi分别是第i个移动端和服务器之间的带宽和信道增益。Pi t为第i个移动端的传输功率,N0为信道噪声功率谱密度,则上行传输时延为:
Figure GDA0003560612690000093
假设上行传输和下行传输采用相同的频谱。因此,在任务结果下载阶段,带宽和下行通道增益与上行通道增益相同。于是,每个移动端的下行可达速率仅在传输功率Ps上有所不同,边缘服务器到第i个移动端的下行最大传输速度:
Figure GDA0003560612690000101
其中,边缘服务器的传输功率Ps非常大,导致每个移动端都对应有较大的Vi d。考虑到最后一层的输出数据OiM非常小,下行可达率非常大,结果反馈时延可忽略不计。即,可直接将上行传输时延视为传输时延。
步骤S4:基于参考时延信息确定每种卸载策略下各移动端的卸载任务到达边缘服务器的抵达时延和任务量。
根据本发明的一个实施例,步骤S4还包括:S41、根据卸载策略和参考时延信息确定该卸载策略下每个移动端在本地处理所有子任务的本地计算时延;S42、根据卸载位置获取预估得到的对应的卸载传输时延;S43、对每个移动端在本地处理所有子任务的本地计算时延和对应的卸载传输时延求和得到该移动端的卸载任务到达边缘服务器的抵达时延;S44、根据卸载任务中各子任务对应的服务器处理时延乘以边缘服务器的计算能力得到各子任务对应的任务量,求和得到卸载任务的任务量。其中,卸载策略中定义了每个移动端的在本地处理的子任务和在边缘服务器上处理的子任务。参考时延信息中,根据每个移动端在本地执行的DNN任务的子任务的类型和子任务所在的层的类别,用预先训练的时延预测模型预测每个子任务的本地计算时延,求和得到该移动端在本地处理所有子任务的本地计算时延。根据移动端卸载任务的输出数据的大小除以该移动端与边缘服务器之间的上行传输速度得到卸载传输时延。
步骤S5:对于每种卸载策略,根据抵达时延和任务量对多线程的边缘服务器的处理时延的影响,计算该卸载策略对应的总时延。
根据本发明的一个实施例,步骤S5还包括:在卸载策略中移动端的数量小于等于边缘服务器的线程数量时,将所有抵达时延与所有任务量除以边缘服务器的计算能力的商之和作为该卸载策略对应的总时延。由于还存在移动端的数量大于边缘服务器的线程数量的情况,步骤S5还包括:在卸载策略中移动端的数量大于边缘服务器的线程数量时,对所有移动端的抵达时延进行排序;获取抵达时延靠前的个数等于线程数量的先抵达的多个移动端,进入第一累计阶段,对每个线程分别对其中一个先抵达的移动端以每次增加一个待处理子任务对应的累计时延的方式进行逐层时延累加计算,直至完成对先抵达的多个移动端的所有卸载任务的时延累加计算或者当前到达边缘服务器的移动端的数量超过线程数量时进入第二累计阶段;在第二累计阶段,在当前卸载任务还未完成处理的移动端的个数小于线程数量时直接进入第三累计阶段,或者,在当前卸载任务还未完成处理的移动端的个数大于等于线程数量时,每次从当前抵达的所有移动端选择剩余任务量最大的移动端并在当前具有最小累计时延的线程对应的累积时延中增加该移动端的一个待处理子任务对应的时延,直至当前卸载任务还未完成处理的移动端的个数小于线程数量时进入第三累计阶段;在第三累计阶段,在当前所有移动端的卸载任务均抵达边缘服务器时,通过对当前所有线程的累计时延之和与剩余任务量的处理时延求和,得到该卸载策略对应的总时延。其中,任务量以CPU周期数(CPU Cycles)为单位。该实施例的技术方案至少能够实现以下有益技术效果:该技术方案能够在结合以层为划分单位的DNN任务卸载策略的基础上,对DNN任务的总时延以层为累积单位预估总时延,且计算过程充分考虑了抵达时延和任务量对多线程的边缘服务器的处理时延的影响,准确性更高,可完成对不同DNN任务在不同拆分情况下时延的预测,有助于更好地确定总时延最优的卸载策略,提高现有边缘辅助计算技术的整体工作效率以及用户体验。
步骤S6:从所有的卸载策略中选取总时延最小的卸载策略作为卸载决策。
根据本发明的一个实施例,卸载策略对应的总时延包括按照步骤S5的方式预估的本地处理延迟、卸载传输延迟和服务处理延迟之和。优选的,总时延还包括结果反馈延迟。结果反馈延迟是指边缘辅助计算后,计算结果反馈给移动端时的反馈延迟。结果反馈延迟可以根据预计的结果数据的大小除以下行传输速度得到。
步骤S7:根据卸载决策指示各个移动端对其DNN任务进行本地计算并且在计算至指定的卸载位置时进行任务卸载。
根据本发明的一个示例,假设有4个移动端,DNN任务的层数为6层,得到的最终的卸载决策为
Figure GDA0003560612690000121
则表示指示第1个移动端在本地计算到第二层,第三层及以后的子任务卸载到边缘服务器执行;指示第2个移动端在本地计算所有子任务,不卸载;指示第3个移动端将所有子任务卸载到边缘服务器执行;指示第4个移动端在本地计算到第一层,第二层及以后的子任务卸载到边缘服务器执行。可见,本发明允许对多个移动端的DNN任务进行不同的任务拆分,拆分的粒度以层为单位,DNN任务可以是不卸载、部分卸载甚至完全卸载,结合策略矩阵和本发明的时延累计方式以更好地获得总时延最小的卸载决策,以提高边缘辅助计算过程的整体效率。
根据本发明的一个实施例,参见图4,一种基于全局信息的DNN任务卸载决策方法,包括步骤K01、K02、K03、K04、K05、K06、K07、K08、K09、K10、K11、K12、K13、K14、K15、K16、K17、K18、K19、K20、K21、K22、K23、K24、K25、K26、K27、K28、K29、K30、K31、K32、K33、K34、K35、K36。在该实施例中,假设有N个移动端,每个移动端的DNN任务的层数为M。步骤K12-K21对应于第一累计阶段,步骤K22-K31对应于第二累计阶段,步骤K32-K35对应于第三累计阶段。下面分别对每个步骤进行说明:
步骤K01、输入
Figure GDA0003560612690000122
转至步骤K02。其中,
Figure GDA0003560612690000123
表示第i个移动端的第j个子任务在本地处理情况下的本地处理时延,
Figure GDA0003560612690000124
表示第i个移动端的第j个子任务在卸载到边缘服务器上处理的情况下的服务处理时延,
Figure GDA0003560612690000125
表示第i个移动端的第j个子任务的输出数据传输到边缘服务器上的传输时延。
步骤K02、初始化,s=0,转至步骤K03。其中,s表示卸载策略的序号,步骤K02是在边缘服务器获取所有可能的卸载策略后,进行初始化,将卸载策略的序号s设置为0,即从第一个卸载策略开始计算每个卸载策略对应的总时延。
步骤K03、判断当前是否满足条件:s<(M+1)N,若是,转至步骤K04,若否,转至步骤K36。对于每一个移动端,其M层的DNN任务的划分方式有M+1种,则N个移动端所有可能的卸载策略有(M+1)N种。将(M+1)N个卸载策略放入数组S,遍历各个卸载策略,用于后续计算所有卸载策略对应的总时延。
步骤K04、计算第s个卸载策略的抵达时延T_start[],转至步骤K05。第s个策略的抵达时延包括每个移动端的抵达时延。每个移动端的抵达时延等于在该移动端本地处理的所有子任务的本地处理时延与本地处理的输出数据传输到边缘服务器上的传输时延之和,即要根据
Figure GDA0003560612690000131
Figure GDA0003560612690000132
来进行计算。
步骤K05、计算第s个卸载策略中各个移动端卸载到边缘服务器的子任务量task[],转至步骤K06。移动端卸载到边缘服务器上的任务量是根据卸载到边缘服务器上的所有子任务的服务处理时延之和乘以边缘服务器的计算能力。
步骤K06、判断当前是否满足条件:N≤B,若是,转至步骤K07,若否,转至步骤K09。若移动端的个数N小于等于边缘服务器的线程数量B,则可直接计算。
步骤K07、计算第s个卸载策略对应的T_final[s]=sum(T_start[s])+sum(task)/fs,转至步骤K08。T_final[s]表示第s个卸载策略对应的总时延。sum(T_start[s])表示对第s个卸载策略中所有移动端的抵达时延求和,sum(task)/fs表示对第s个卸载策略中所有移动端的卸载到边缘服务器的任务量求和后除以边缘服务器的计算能力。
步骤K08、s=s+1,转至步骤K03。第s个卸载策略对应的总时延计算完成后,s的数值加1,对下一个卸载策略对应的总时延进行计算。
步骤K09、对T_start数组中的元素从小到大排序,转至步骤K10。从小到大排序后,可分析各个移动端的输出数据预计的抵达顺序,按照先后顺序来设置时延累计规则。
步骤K10、将T_start数组中前B个元素放入空数组T_server[],转至步骤K11。T_server[]的编号从0开始,最大为边缘服务器的线程数量减1,相当于对时延进行累计,将前B个移动端的抵达时延依次放入T_server[0]-T_server[B-1]。
步骤K11、计算第s个卸载策略中各个移动端已做完的层数layer[],转至步骤K12。即:对于第i个移动端,计算已做完的层数layer[i]。
步骤K12、判断当前是否满足条件:T_start[B]>T_server[B-1],若是,转至步骤K13,若否,转至步骤K22。即:如果待处理任务的移动端没有超过线程数量,则继续累计先抵达的前B个移动端每个移动端的下一个子任务对应的时延,否则转至步骤K22。
步骤K13、判断当前是否满足条件:Layer[B-1]≥M,若是,转至步骤K14,若否,转至步骤K15。Layer[B-1]≥M表示先抵达的前B个移动端的所有子任务是否已完成。
步骤K14、将T_server[]中的元素均赋值为T_start[B],转至步骤K22。相当于先抵达的前B个移动端的所有子任务对应的时延均已完成累计,但后续移动端的输出数据还未抵达时,则将T_server[]中的元素均赋值为第B+1个的抵达时延T_start[B]。
步骤K15、初始化i=0,转至步骤K16。即,从先抵达的前B个移动端中的第一个移动端开始进行时延累计。
步骤K16、判断当前是否满足条件:i<B,若是,转至步骤K17,若否,转至步骤K12。
步骤K17、判断当前是否满足条件:Layer[i]≥M,若是,转至步骤K21,若否,转至步骤K18。即判断第i个移动端的已做完的层数layer[i]是否大于等于M。
步骤K18、layer[i]=layer[i]+1,转至步骤K19。相当于将第i个移动端的一个子任务的时延纳入累计后,就将已做完的层数layer[i]增加1。
步骤K19、
Figure GDA0003560612690000141
转至步骤K20。T_server[i]表示对第i个移动端的卸载任务进行处理的线程对应的时延。
Figure GDA0003560612690000142
表示第i个移动端的第layer[i]层的服务处理时延。
步骤K20、
Figure GDA0003560612690000143
转至步骤K21。task[i]表示第i个移动端的剩余任务量。
步骤K21、i=i+1,转至步骤K16。
步骤K22、Num=B,转至步骤K23。设置变量Num用来表示当前到达边缘服务器的移动端的最大序列号,将初始值设为B。
步骤K23、判断当前是否满足条件:T_start[Num+1]<T_server[B-1],若是,转至步骤K24,若否,转至步骤K25。
步骤K24、判断当前是否满足条件:Num==N-2,若是,转至步骤K25,若否,转至步骤K31。符号“==”表示判断两者是否相等。
步骤K25、判断当前是否满足条件:task中非0元素个数MD<B,若是,转至步骤K32,若否,转至步骤K26。
步骤K26、将task[0:Num]数组中最大元素的序列值赋给wait_num,转至步骤K27。
步骤K27、layer[wait_num]=layer[wait_num]+1,转至步骤K28。
步骤K28、
Figure GDA0003560612690000151
转至步骤K,判断当前是否满足条件:若是,转至步骤K,若否,转至步骤K。
步骤K29、
Figure GDA0003560612690000152
转至步骤K30。
步骤K30、对T_server中的元素从小到大排序,转至步骤K23。步骤K25-K30是在MD>B时,边缘服务器基于全局信息对卸载的子任务进行任务量排序以确定累计时延对应线程,首先定义变量wait_n um作为当前需要优先处理的移动端的序列号,即task[0:N um]中任务量最大的移动端的序列号;然后在T_s erver[0]中处理wait_n um的一个子任务,这是因为经过排序后,T_s erver[0]是T_s erver中最小的元素,这保证了任务量最大的子任务最优先被处理;接下来更新全局信息,已做层数layer[wait_n um]对应增加和剩余任务量task[wait_n um]对应减少,T_s erver再次进行从小到大排序。
步骤K31、Num=Num+1,转至步骤K23。步骤K23、K24、K31的目的是比较T_s tart[Num+1]和T_s erver[B-1]的大小关系,进而判断下一个移动端,即第Num+1个移动端是否到达边缘服务器。若第Num+1个移动端到达边缘服务器,即T_s tart[Num+1]<T_s erver[B-1],则执行Num=Num+1语句来判断下一个移动端是否到达边缘服务器,直至最后一个移动端到达边缘服务器,即Num==N-2。
步骤K32、判断当前是否满足条件:Num==N-2,若是,转至步骤K33,若否,转至步骤K34。当MD<B时,在计算时延之前需要先判断是否所有移动端都到达边缘服务器,即Num是否等于N-2。若Num==N-2,则所有移动都到达边缘服务器,时延的计算方式为K33所示的方式;若Num!=N-2则存在移动端未到达边缘服务器,时延的计算方式为K34所示的方式。
步骤K33、计算第s个卸载策略对应的T_final[s]=sum(T_server)+sum(task)/fs+T_server[B-MD-1:B-1],转至步骤K35。sum(T_server)表示对当前各个线程对应的累积时延进行求和。sum(task)表示对剩余任务量进行求和。T_server[B-MD-1:B-1]表示对第T_server[B-MD-1]~T_server[B-1]中的时延进行求和。
步骤K34、计算第s个卸载策略对应的T_final[s]=sum(T_server)+sum(task)/fs+T_start[s][Num+1:N-1]+T_server[B-1-(MD-(N-Num-1)):B-1],转至步骤K35。T_start[s][Num+1:N-1]表示对第Num个移动端的抵达时延T_start[s][Num+1]至第N个移动端的抵达时延T_start[s][N-1]进行求和。T_server[B-1-(MD-(N-Num-1)):B-1]表示对第T_server[B-1-(MD-(N-Num-1))]~T_server[B-1]中的时延进行求和。
步骤K35、s=s+1,转至步骤K03。
步骤K36、输出T_final[]最小值对应的卸载策略作为卸载决策。即计算完所有卸载策略对应的总时延T_final[]后,从中找出总时延最小的卸载策略作为最终的卸载决策。最后,边缘服务器会将卸载决策反馈给各个移动端,指导移动端按照卸载决策确定是否卸载以及卸载任务时对应的卸载位置。
发明人还进行了实验,以验证本发明所提出的全局最优机制的性能。由于DNN任务是在多台移动端和一台边缘服务器间处理,本实验使用四个香橙派Orange Pi Win Plus作为移动端,使用一台配置为CPU i5,4g RAM,3.4ghz CPU时钟频率的电脑作为移动边缘计算的边缘服务器。为了连接移动端和边缘服务器,实验中使用Socket接口作为通讯接口。实验时,发明人将本发明与其他两种常用的任务处理技术方案进行对比,为了简化,将本发明的技术方案简称为Case1,其他两种常用的任务处理技术方案分别简称为Case2、Case3。其中,Case2的技术方案中,移动端将所有DNN任务都卸载至服务器进行处理,目前大多数智能应用采用该种处理方式。Case3的技术方案中,移动端的所有DNN任务都在本地处理。在图5中,示出了不同带宽下每个技术方案的平均处理时延
Figure GDA0003560612690000161
其中
Figure GDA0003560612690000162
在本次对比实验中,假设每个移动端和边缘服务器之间的带宽相同,因此有W1=…=WN=W。从图中可以看出,Case1可以达到全局最小的平均处理时延。这是因为随着带宽变化,Case2下的服务器处理可能会导致较长的传输时延,Case3下的本地处理可能会导致较长的处理时延,而Case1中的由策略矩阵实现的划分及卸载机制在一定程度上对
Figure GDA0003560612690000171
进行了优化。此外,还可以看到,随着W的增加,Case1和Case2下的
Figure GDA0003560612690000172
减小,而Case3下的
Figure GDA0003560612690000173
并不会随着W增加变化。这是因为,Case1和Case2下的传输时延会随着W的增加而减少,而Case3下的传输时延始终为0,不受W的影响。此外,Case2下的
Figure GDA0003560612690000174
比Case1下的
Figure GDA0003560612690000175
减少的更加显著。原因是,在Case2中,每个移动端将其所有的DNN任务卸载到边缘服务器上,导致相对较长的传输时延。但是在Case1中,每个移动端只将部分DNN任务卸载到边缘服务器,导致相对较短的传输时延。传输时延越长,对带宽的变化越敏感。在图6中,示出了3种技术方案下平均处理时延
Figure GDA0003560612690000176
与DNN任务类型的关系。发明人选择了4种不同类型的DNN任务,即VGG16、VGG13、ALEXNET、LENET,其中DNN任务的计算复杂度依次下降。从图6中可以直观看出,随着DNN计算复杂度的降低,平均处理时延
Figure GDA0003560612690000177
降低。发明人还发现,无论DNN任务的类型如何,Case1下的
Figure GDA0003560612690000178
始终是所有Case中最小的。这是因为,对于计算复杂度相对较高的DNN任务(即:VGG16、VGG13、ALEXNET),由于移动端的计算能力有限,Case3下的传统本地处理时延过长;对于计算复杂度较低的DNN任务(即,LENET),Case2下的传统的服务器处理由于传输时延过长使得时延过长;而在Case1下,通过本发明的方法执行的全局最优的DNN任务划分及卸载,可以实现最小的任务处理时延。此外,由于VGG16、VGG13、ALEXNET的计算复杂度过高,将所有的DNN任务卸载到边缘服务器上比在本地处理要快。然而对于计算复杂度较低的LENET,移动端将任务划分到本地处理比卸载到边缘服务器上处理更快。原因是,当把较复杂的任务卸载到服务器上处理时,传输时延要比本地处理时延小的多,但是当将简单的任务卸载到边缘服务器上处理时,传输时延要比本地处理时延长得多。
通过以上实验测试的结果表明,相较于传统任务处理方式,本发明的技术方案利用全局信息实现了对多个移动端的DNN任务进行部分卸载的全局时延最优,解决了现有技术对DNN任务拆分卸载的困难,以及不能基于全局信息进行联合优化调度的问题,同时利用移动端的本地计算资源和边缘服务器的计算资源,并在结合传输时延的情况下,提高了边缘服务网络的整体计算效率,可以实现边缘服务器辅助计算场景下的最小处理延迟。
需要说明的是,虽然上文按照特定顺序描述了各个步骤,但是并不意味着必须按照上述特定顺序来执行各个步骤,实际上,这些步骤中的一些可以并发执行,甚至改变顺序,只要能够实现所需要的功能即可。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以包括但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (9)

1.一种基于全局信息的DNN任务卸载决策方法,其特征在于,包括:
S1、响应于多个移动端的任务卸载请求,根据移动端的数量和DNN任务的层数生成对应的策略矩阵,其中,所述策略矩阵表示为:
Figure FDA0003560612680000011
其中,策略矩阵X的第i行表示移动端i的策略,对于该策略矩阵中的任意一个元素xij,表示移动端i的第j个子任务的处理方式,xij为第一数值时表示该子任务在移动端本地处理,xij为第二数值时表示该子任务卸载到边缘服务器上处理,i∈{1,…,N},j∈{1,…,M},N表示当前请求卸载任务的移动端的总数量,M表示DNN任务的层数;
S2、根据策略矩阵获取所有可能的卸载策略,每个卸载策略对所有移动端中每个移动端的DNN任务的卸载位置进行定义;
S3、预测所有DNN任务的子任务对应的参考时延信息,包括该子任务的本地处理时延、服务器处理时延和对应的卸载传输时延;
S4、基于参考时延信息确定每种卸载策略下各移动端的卸载任务到达边缘服务器的抵达时延和任务量;
S5、对于每种卸载策略,根据抵达时延和任务量对多线程的边缘服务器的处理时延的影响,计算该卸载策略对应的总时延;
S6、从所有的卸载策略中选取总时延最小的卸载策略作为卸载决策。
2.根据权利要求1所述的基于全局信息的DNN任务卸载决策方法,其特征在于,所述方法还包括:
S7、根据卸载决策指示各个移动端对其DNN任务进行本地计算并且在计算至指定的卸载位置时进行任务卸载。
3.根据权利要求1所述的基于全局信息的DNN任务卸载决策方法,其特征在于,按照以下约束条件根据策略矩阵获取所有可能的卸载策略:当一个移动端的DNN任务的某个子任务卸载到边缘服务器上执行时,该子任务后续所有子任务均在边缘服务器上执行。
4.根据权利要求1所述的基于全局信息的DNN任务卸载决策方法,其特征在于,S3包括:
S31、通过预先训练的时延预测模型预估相应类型的DNN任务的每层对应的子任务的本地处理时延、服务器处理时延;
S32、预估DNN任务每层对应的子任务的输出数据的大小,并基于香农公式计算该子任务对应的卸载传输时延。
5.根据权利要求1至4任一项所述的基于全局信息的DNN任务卸载决策方法,其特征在于,所述步骤S4包括:
S41、根据卸载策略和参考时延信息确定该卸载策略下每个移动端在本地处理所有子任务的本地计算时延;
S42、根据卸载位置获取预估得到的对应的卸载传输时延;
S43、对每个移动端在本地处理所有子任务的本地计算时延和对应的卸载传输时延求和得到该移动端的卸载任务到达边缘服务器的抵达时延;
S44、根据卸载任务中各子任务对应的服务器处理时延乘以边缘服务器的计算能力得到各子任务对应的任务量,求和得到卸载任务的任务量。
6.根据权利要求5所述的基于全局信息的DNN任务卸载决策方法,其特征在于,所述步骤S5包括:
在卸载策略中移动端的数量小于等于边缘服务器的线程数量时,将所有抵达时延与所有任务量除以边缘服务器的计算能力的商之和作为该卸载策略对应的总时延。
7.根据权利要求6所述的基于全局信息的DNN任务卸载决策方法,其特征在于,所述步骤S5还包括:
在卸载策略中移动端的数量大于边缘服务器的线程数量时,对所有移动端的抵达时延进行排序;
获取抵达时延靠前的个数等于线程数量的先抵达的多个移动端,进入第一累计阶段,对每个线程分别对其中一个先抵达的移动端以每次增加一个待处理子任务对应的累计时延的方式进行逐层时延累加计算,直至完成对先抵达的多个移动端的所有卸载任务的时延累加计算或者当前到达边缘服务器的移动端的数量超过线程数量时进入第二累计阶段;
在第二累计阶段,在当前卸载任务还未完成处理的移动端的个数小于线程数量时直接进入第三累计阶段,或者,在当前卸载任务还未完成处理的移动端的个数大于等于线程数量时,每次从当前抵达的所有移动端选择剩余任务量最大的移动端并在当前具有最小累计时延的线程对应的累积时延中增加该移动端的一个待处理子任务对应的时延,直至当前卸载任务还未完成处理的移动端的个数小于线程数量时进入第三累计阶段;
在第三累计阶段,在当前所有移动端的卸载任务均抵达边缘服务器时,通过对当前所有线程的累计时延之和与剩余任务量的处理时延求和,得到该卸载策略对应的总时延。
8.一种计算机可读存储介质,其特征在于,其上包含有计算机程序,所述计算机程序可被处理器执行以实现权利要求1至7中任一项所述方法的步骤。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;以及
存储器,其中存储器用于存储一个或多个可执行指令;
所述一个或多个处理器被配置为经由执行所述一个或多个可执行指令以实现权利要求1至7中任一项所述方法的步骤。
CN202110006175.3A 2021-01-05 2021-01-05 一种基于全局信息的dnn任务卸载决策方法 Active CN112783567B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110006175.3A CN112783567B (zh) 2021-01-05 2021-01-05 一种基于全局信息的dnn任务卸载决策方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110006175.3A CN112783567B (zh) 2021-01-05 2021-01-05 一种基于全局信息的dnn任务卸载决策方法

Publications (2)

Publication Number Publication Date
CN112783567A CN112783567A (zh) 2021-05-11
CN112783567B true CN112783567B (zh) 2022-06-14

Family

ID=75755233

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110006175.3A Active CN112783567B (zh) 2021-01-05 2021-01-05 一种基于全局信息的dnn任务卸载决策方法

Country Status (1)

Country Link
CN (1) CN112783567B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113435580B (zh) * 2021-06-29 2022-06-07 福州大学 一种边缘环境下dnn应用计算卸载自适应中间件构建方法
CN114116050A (zh) * 2021-11-16 2022-03-01 天津市英贝特航天科技有限公司 一种边缘计算的选择性卸载方法及系统
CN114048040B (zh) * 2021-11-29 2022-05-13 中南大学 基于内存与图像分类模型时延关系的任务调度方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9900725B2 (en) * 2015-07-29 2018-02-20 Intel Corporation Technologies for an automated application exchange in wireless networks
US10440096B2 (en) * 2016-12-28 2019-10-08 Intel IP Corporation Application computation offloading for mobile edge computing
CN108540406B (zh) * 2018-07-13 2021-06-08 大连理工大学 一种基于混合云计算的网络卸载方法
US10757757B2 (en) * 2018-09-28 2020-08-25 Intel Corporation MEC-based distributed computing environment with multiple edge hosts and user devices
US10694439B2 (en) * 2018-11-13 2020-06-23 Verizon Patent And Licensing Inc. Systems and methods for assignment of multi-access edge computing resources based on network performance indicators
US20200296054A1 (en) * 2019-03-11 2020-09-17 Wipro Limited Method and system for providing network resource sharing in multi-access edge computing (mec) network
CN110347500B (zh) * 2019-06-18 2023-05-23 东南大学 用于边缘计算环境中面向深度学习应用的任务卸载方法
CN110365753B (zh) * 2019-06-27 2020-06-23 北京邮电大学 基于边缘计算的物联网服务低时延负载分配方法及装置
CN110764885B (zh) * 2019-08-28 2024-04-09 中科晶上(苏州)信息技术有限公司 一种多移动设备的dnn任务的拆分和卸载方法
CN110557769A (zh) * 2019-09-12 2019-12-10 南京邮电大学 基于深度强化学习的c-ran计算卸载和资源分配方法
CN110740473B (zh) * 2019-10-22 2021-07-20 中国科学院计算技术研究所 一种用于移动边缘计算的管理方法及边缘服务器
CN111148134B (zh) * 2019-12-19 2021-06-01 南京大学 一种基于移动边缘计算的多用户多任务卸载方法
CN111200831B (zh) * 2020-01-08 2021-08-24 中国科学院计算技术研究所 一种融合移动边缘计算的蜂窝网络计算卸载方法

Also Published As

Publication number Publication date
CN112783567A (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
CN112783567B (zh) 一种基于全局信息的dnn任务卸载决策方法
CN113242568B (zh) 一种不确定网络环境中的任务卸载和资源分配方法
CN113950066B (zh) 移动边缘环境下单服务器部分计算卸载方法、系统、设备
CN108920280B (zh) 一种单用户场景下的移动边缘计算任务卸载方法
CN111431941B (zh) 一种基于移动边缘计算的实时视频码率自适应方法
CN110543336B (zh) 基于非正交多址接入技术的边缘计算任务卸载方法及装置
CN112148380B (zh) 一种移动边缘计算任务卸载中的资源优化方法及电子设备
CN110798849A (zh) 一种超密网边缘计算的计算资源分配与任务卸载方法
CN112422644B (zh) 计算任务卸载方法及系统、电子设备和存储介质
CN110740473B (zh) 一种用于移动边缘计算的管理方法及边缘服务器
KR101201904B1 (ko) 클라우드 컴퓨팅에서의 리소스 분배 장치 및 그 방법
CN115190033B (zh) 一种基于强化学习的云边融合网络任务卸载方法
CN110764885A (zh) 一种多移动设备的dnn任务的拆分和卸载方法
CN113867843B (zh) 一种基于深度强化学习的移动边缘计算任务卸载方法
CN113573363A (zh) 基于深度强化学习的mec计算卸载与资源分配方法
CN113645637A (zh) 超密集网络任务卸载方法、装置、计算机设备和存储介质
CN112817741B (zh) 一种边缘计算的dnn任务控制方法
Miao et al. Adaptive DNN partition in edge computing environments
CN115473896A (zh) 基于dqn算法的电力物联网卸载策略和资源配置优化方法
CN113747507B (zh) 一种面向5g超密集网络的计算资源管理方法及装置
CN117579701A (zh) 一种移动边缘网络计算卸载方法及系统
CN112822264B (zh) 一种dnn任务卸载的方法
CN116996938A (zh) 车联网任务卸载方法、终端设备及存储介质
CN114615705B (zh) 一种基于5g网络下单用户资源分配策略方法
Narayana et al. A research on various scheduling strategies in fog computing environment

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