CN110347500B - 用于边缘计算环境中面向深度学习应用的任务卸载方法 - Google Patents
用于边缘计算环境中面向深度学习应用的任务卸载方法 Download PDFInfo
- Publication number
- CN110347500B CN110347500B CN201910525863.3A CN201910525863A CN110347500B CN 110347500 B CN110347500 B CN 110347500B CN 201910525863 A CN201910525863 A CN 201910525863A CN 110347500 B CN110347500 B CN 110347500B
- Authority
- CN
- China
- Prior art keywords
- task
- edge server
- terminal equipment
- edge
- terminal
- 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
Links
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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开一种用于边缘计算环境中面向深度学习应用的任务卸载方法,首先将深度神经网络划分为若干个模型分块,采集系统中的相关数据并分析相应的特征;将得到的特征数据作为输入参数,建立M/M/n排队模型,得到终端设备层和边缘服务器层的平均任务数的期望,及任务在终端设备上开始执行以及将任务直接卸载到边缘服务器上开始执行的任务完成时间期望;以上述两个期望的最小最大值为目标函数,构建最小化任务执行时间的优化模型;使用启发式算法求解优化模型,得到最优卸载方案。此种方法能够实现针对不同的深度学习应用提出多模式,细粒度的个性化任务卸载方案,最小化任务完成时间,提高终端设备的资源利用率,从而满足高精度、低延迟的应用需求。
Description
技术领域
本发明属于边缘计算和深度学习领域,特别涉及一种在边缘计算环境中实现面向深度学习应用的任务卸载策略。
背景技术
近年来,随着深度学习技术的不断发展以及智能摄像头、智能传感器等智能终端的快速普及,在智能终端上运行深度学习应用已成为当前发展的必然趋势。智能终端实时采集、感知周围环境和用户行为信息等海量数据,并通过深度学习算法对这些环境与用户数据进行挖掘分析,以实现智能终端的智能化。随着智能应用的趋势朝实时处理的方向发展,对应用的执行性能提出了更高的需求:例如,在自动驾驶应用中,为了实现对周围环境的实时感知及操作反馈,需要在100毫秒内完成对车载摄像头及相关传感器输入数据的分析处理;而在智能安防应用中,为了实现对环境的实时监控及人员实时追踪,需要每秒识别24张视频帧才能完成对摄像头采集的视频数据进行及时处理,即在50毫秒左右就应该完成一张图片的处理。因此,如何对智能终端的输入数据进行高精确度、低延时的分析与处理成为实现深度学习应用在智能终端上高效执行的关键。然而,由于智能终端上的能源、计算资源相对有限,如果直接在智能终端上运行深度学习应用,将无法满足高精度、低延迟的应用需求。
针对这个问题,目前在智能终端上执行与部署深度学习应用的方案可以分为两类:(1)在智能终端上部署适用于终端环境的深度学习框架,利用模型压缩的方法获得轻量化模型以降低深度学习的计算量和存储空间以及利用GPU等计算架构对模型推断任务的执行进行优化。(2)利用云数据中心近似无限的计算和存储能力,将终端上的推断任务全部卸载到云数据中心进行处理,以满足深度学习应用对计算与存储资源的需求。
以上两种方法初步实现了深度学习应用在智能终端上的执行,但是仍然存在如下局限:(1)对于终端执行模式,采用模型压缩的方法,由于简化了模型,导致其推断精度将受到极大影响,无法满足应用对高精度的需求。(2)如果将全部终端数据发送到云端处理,虽然能支持复杂深度学习模型的计算以保证推断的精度,但由于需要将大量数据传输到云数据中心处理,终端和云之间的长距且不稳定的主干网络将导致较高的传输延时,难以满足深度学习应用的低延迟需求。因此上述执行模式受到计算资源以及网络传输性能等方面的制约,无法同时满足深度学习应用推断精度与实时性的需求。
为了解决上述问题,研究人员提出了一种新型的计算模式--边缘计算。边缘计算是指在网络边缘执行计算的一种新型计算模型,边缘计算中边缘的下行数据表示云服务,上行数据表示万物互联服务。边缘计算在靠近终端的位置部署一层计算资源较强的边缘层,通过对智能终端设备上的任务做出卸载决策,将计算量较大的部分迁移到边缘服务器甚至云上进行处理,以此扩展终端的计算能力和存储能力,有效提高应用的执行效率并实现高精度低延时的计算要求。目前,已有部分工作关注于利用边缘计算架构支持智能终端智能应用,其大多是将通用的计算架构与任务卸载算法直接应用于推断任务的卸载决策与调度。由于通用的计算架构与任务卸载算法无法有效适用于深度学习应用,必将导致能源以及计算资源的浪费,增大应用的响应时间。
现有边缘计算执行框架以及卸载机制的局限性主要体现在以下两点:
(1)根据深度神经网络的特征,简单的输入数据只需要经过浅层模型网络即可完成推断。但是现有工作通常认为每次模型推断都必需经过完整的模型网络才能得到结果。因此会造成大量不必要的计算开销,且影响模型推断任务的响应速度;
(2)现有的工作通常认为机器学习计算任务不可分割,并且只能进行0-1模式的任务卸载,这种卸载模式过于单一,即单个推断任务要么全在终端执行,要么在全在边缘或云端执行。这种粗粒度的卸载方式无法有效利用终端的计算能力,将导致任务的执行时间延长,同时还将大大增加边缘端的负载。
故现有边缘计算执行框架及卸载机制还存在较大的局限性,在计算资源以及能源相对有限的终端设备上仍然无法满足深度学习应用高精度低延时的需求,本案由此产生。
发明内容
本发明的目的,在于提供一种用于边缘计算环境中面向深度学习应用的任务卸载方法,其可克服背景技术中所指出的现有边缘计算环境中粗粒度、模式单一的任务卸载模式无法有效利用终端的计算能力,导致任务执行时间延长、边缘端负载增加,以及传统深度神经网络的推断默认必需经过完整的网络模型,造成额外计算开销大、响应速度低的问题,该方法能够实现针对不同的深度学习应用提出多模式,细粒度的个性化任务卸载方案,最小化任务完成时间,提高终端设备的资源利用率,从而满足高精度、低延迟的应用需求。
为了达成上述目的,本发明的解决方案是:
一种用于边缘计算环境中面向深度学习应用的任务卸载方法,包括如下步骤:
步骤1,在边缘计算环境中,利用深度神经网络分支网络的思想将深度神经网络划分为可级联的若干个模型分块,每个分块都对应一个出口,并分布式地部署在“端-边缘-云”中不同的位置,由此构建面向深度学习应用的边缘计算执行框架;
步骤2,基于步骤1所构建的边缘计算执行框架,采集系统中的相关数据并分析相应的特征,具体包括:边缘计算环境中计算资源、能源限制数据特征、深度学习分支网络模型的推断能力特征、终端所到达任务的数据特征;边缘计算环境下当前网络传输能力特征;
步骤3,将步骤2中所得到的特征数据作为输入参数,使用马尔科夫理论,建立M/M/n排队模型,得到终端设备层和边缘服务器层的平均任务数的期望;进一步分析得到任务在终端设备上开始执行以及将任务直接卸载到边缘服务器上开始执行的总任务完成时间期望;并以上述两个期望的最小最大值为目标函数,以终端设备层的能源以及计算资源作为限制条件,构建最小化任务执行时间的优化模型;
步骤4,使用启发式算法求解步骤3中所得到的优化模型,得到最优卸载方案。
上述步骤1中,将深度神经网络划分为3个分块,部署方案是:将第一分块部署在终端设备上,将第一、第二分块部署在边缘服务器上,最后在云数据中心部署第一至第三分块。
上述步骤1中,在构建边缘计算执行框架时,任务卸载决策器处于终端设备层,终端设备接收到任务之后决定将任务放在本地开始执行或是直接将任务迁移到边缘服务器开始执行,具体包括以下步骤:
步骤11,终端设备接收到任务后,任务卸载决策器判断其是否是延迟敏感型任务,若是进入步骤12,否则直接将任务迁移至云数据中心进行计算;
步骤12,任务卸载决策器根据步骤4中得到的最优卸载方案决定是否将其卸载至边缘服务器,若是进入步骤13,否则进入步骤14;
步骤13,终端设备将任务通过网络传输到边缘服务器层,从第一分块开始执行,到第一分块对应的第一出口时判断推断结果是否满足识别精度阈值,若是则返回结果给终端设备,否则进入步骤15;
步骤14,任务在终端设备开始执行,使用第一分块对其进行推断,在第一出口判断推断结果是否满足识别精度阈值,若是则结束任务,否则将第一出口的输出数据传输到边缘服务器,进入步骤15;
步骤15,接收任务在第一出口的输出数据,作为第二分块的输入数据,在第二分块对应的第二出口判断是否满足识别精度阈值,若是则返回推断结果给终端设备,否则将第二出口的输出数据传输到云数据中心,进入步骤16;
步骤16,接收来自边缘服务器的任务,运行分支网络模型的第三分块对接收数据进一步推断,将输出结果返回给终端设备。
上述步骤3中,构建最小化任务执行时间的优化模型的方法是:
步骤31,将任务卸载率α作为参数,将一批任务按照α和1-α的几率分割为两部分,分别代表从终端设备开始执行的任务集合以及直接卸载至边缘服务器层开始执行的任务集合;将从终端设备开始执行的任务执行流程以及直接卸载至边缘服务器层开始执行的任务执行流程看作两个独立的M/M/n排队系统,终端设备层和边缘服务器层的平均任务数的期望分别为Lt(α)和Le(α):
步骤32,从终端设备开始执行的任务集合以及从边缘服务器开始执行的任务集合的总任务任务完成时间期望分别为wt(α)和we(α):
其中,σ0,σ1分别表示第一出口和第二出口不满足置信度阈值的概率,data1,data2分别表示第一出口和第二出口的中间数据量,band1,band2分别表示从终端到边缘服务器的网络带宽和从边缘服务器到云计算中心的网络带宽;
步骤33,从终端设备开始执行的任务集合以及从边缘服务器开始执行的任务集合的总任务完成时间期望的最小最大值为目标函数,以终端设备层的能源Cr以及计算资源Rr作为限制条件构建的最小化任务完成时间的优化模型表示为:
min(max(wt(α),we(α)))
其中,C和R分别表示若将任务全放在终端设备上执行所需的能源与计算资源。
上述步骤4的具体内容是:
步骤41,令步骤3中所得到wt(α)和we(α)相等,求解得到最优卸载率α的值,判断当前α是否满足终端计算资源和能源的约束,若满足则返回当前卸载率α,否则进入步骤42;
步骤42,设置更新因子θ,依次更新卸载率α为(1-θ)×α,(1-θ)2×α,(1-θ)3×α…直至满足终端的能源和资源约束,返回当前卸载率,即为最佳卸载率;
步骤43,终端设备根据所得到的卸载率α对到达的任务进行任务迁移,将1-α比例的任务直接传输到边缘服务器层开始执行。对所到达的单个任务而言,每次以α的概率将其放置在终端设备上开始执行,以1-α的概率将其卸载至边缘服务器开始执行。
上述步骤2的具体步骤是:
步骤21,根据边缘计算环境下的历史日志数据,分析深度学习应用任务到达率历史数据特征,得到任务到达率为关于参数λ指数分布;
步骤22,获取边缘计算执行架构各层CPU性能、内存容量、磁盘大小数据特征,结合历史数据特征,计算获取各个分支网络分块在不同边缘计算层次的平均服务时间;
步骤23,获取边缘计算环境中,终端设备以及边缘服务器设备能够并行处理的最大任务数,即终端设备层的通道数kt,边缘服务器层的通道数ke;
步骤24,对当前网络性能进行监测,获取终端设备到边缘服务器以及边缘服务器到云数据中心的网络带宽;
步骤25,通过验证分支网络模型的历史数据,获取通过分支网络时满足某个特定置信度任务比例,近似计算模型各个出口不满足识别精度阈值的概率。
采用上述方案后,本发明主要解决由于计算能力与网络传输性能的制约,导致传统端云结构下的任务卸载模式无法同时满足深度学习应用推断精度与实时性要求的问题。核心逻辑包括:构建边缘计算执行框架,系统信息采集,卸载建模分析和任务卸载决策。本发明首先在边缘计算环境下合理部署分支网络模型,构建面向深度学习应用的执行框架;然后采集边缘计算环境中计算与网络资源的性能特征;结合边缘计算执行框架构建最小化任务执行时间的优化模型;最后提出任务卸载算法,针对不同的深度学习应用提出个性化卸载方案,最小化应用执行时间,进而满足高精度低延迟的应用需求。
本发明与现有技术相比,具有以下优点:
(1)本发明通过将深度神经网络的分支网络模型部署在边缘计算环境下,实现了深度学习任务计算的可分割,为细粒度的任务卸载方法提供了基础;
(2)由于任务卸载分析算法简单有效,实用性高,复杂度低,因此可以适用大规模任务环境下;
(3)由于本发明实现了任务卸载的多模式、个性化,因此可以更好的适用于不同深度学习应用的实际需求;
(4)由于本发明任务卸载方法实现细粒度的任务调度,计算负载可分割,因此可以有效利用终端计算能力,降低任务执行时间。
附图说明
图1是本发明的面向深度学习应用的边缘计算执行框架示意图;
图2是本发明的分支网络模型部署示意图;
图3是本发明的分支网络模型示意图;
图4是本发明的排队系统的状态转移图。
具体实施方式
以下将结合附图,对本发明的技术方案及有益效果进行详细说明。
本发明提供一种用于边缘计算环境中面向深度学习应用的任务卸载方法,包含四个部分,分别是构建边缘计算执行框架、系统信息采集、卸载建模分析和任务卸载决策。具体实现方法如下:
在构建边缘计算执行框架部分中,配合图1所示,本发明结合深度神经网络分支网络的思想构建面向深度学习应用的边缘计算执行框架,包含模型训练、任务卸载、任务执行三个逻辑步骤。在模型训练时将深度神经网络拆分成可级联的三个模型分块,并分布式地部署在边缘计算架构“端-边-云”的不同位置中。优选地,本发明在终端设备上部署分块1,在边缘服务器上部署分块1、分块2,在云数据中心部署分块1、分块2、分块3。基于此构建面向深度学习应用的边缘计算执行框架:实时推断任务可以根据精度需求和实时性需求动态决定卸载方式及任务出口,以实现计算过程的可分割以及多模式卸载。
如图3所示,本发明应用分支网络的思想将深度神经网络拆分成可级联的若干个模型分块,每个分块都对应一个出口,可根据推断任务的复杂程度决定是否提前退出推断。优选地,本发明将深度神经网络拆分成三个模型分块,分别对应出口1、出口2和出口3。
对于面向深度学习应用的边缘计算执行框架的构建,任务卸载决策器处于终端设备层,终端设备接收到任务之后决定将任务放在本地开始执行或是直接将任务迁移到边缘服务器开始执行。该执行框架的主要执行步骤如下:
步骤A1,终端设备接收到任务后,任务卸载决策器判断其是否是延迟敏感型任务,若是则进入步骤A2,否则直接将任务迁移至云数据中心进行计算;
步骤A2,终端设备接收到任务后,位于终端的任务卸载决策器根据任务卸载决策部分给出的卸载方案决定是否将其卸载至边缘服务器,若是进入步骤A3,否则进入步骤A4;
步骤A3,终端设备将任务通过网络传输到边缘服务器层,从分块1开始执行,到出口1时判断推断结果是否满足识别精度阈值,若是则返回结果给终端设备,否则进入步骤A5;
步骤A4,任务在终端设备开始执行,使用分支网络模型的分块1对其进行推断,在出口1判断推断结果是否满足识别精度阈值,若是则结束任务,否则将出口1的输出数据通过网络传输到边缘服务器,进入步骤A5;
步骤A5,边缘服务器接收任务在出口1的输出数据,作为分块2的输入数据,在出口2判断是否满足识别精度阈值,若是则返回推断结果给终端设备,否则将出口2的输出数据传输到云服务器,进入步骤A6;
步骤A6,云数据中心接收来自边缘服务器的任务,运行分支网络模型的分块3对接收数据进一步推断,将输出结果返回给终端设备。
如图1所示,本发明所公开的一种用于边缘计算环境中面向深度学习应用的任务卸载方法用于执行框架中的任务卸载步骤中。当一个推断任务到达时,如果输入数据较为简单,则可只经过部署在终端上的分块1即可完成推断;如输入数据较为复杂,分块1推断结果无法满足识别精度阈值时,才需将中间数据卸载到边缘服务器甚至是云数据中心的分块2或分块3的网络上继续执行,以完成最终的推断。除此之外,根据负载及延迟需求将推断任务直接卸载到边缘端的分块1开始执行。本发明所述的任务卸载方法,经过对系统的建模分析,针对不同的深度学习应用给出多模式的、细粒度卸载方案,决定将多少比例的任务直接卸载至边缘服务器开始执行,提高终端设备的资源利用率,以减少任务完成时间。
本发明在构建好边缘计算执行框架后,在系统信息采集步骤中,需要基于所构建的边缘计算执行框架,采集边缘计算环境中计算资源、能源限制数据特征;采集深度学习分支网络模型的推断能力特征;采集所到达任务的数据特征;边缘计算环境下当前网络传输性能特征。计算得到任务到达率、任务平均服务时间、终端层和边缘层通道数(能够同时处理的最多任务数),终端到边缘服务器和边缘服务器到云数据中心的带宽,以及分支网络模型出口不满足识别精度阈值的概率。
在系统信息采集部分中,基于所构建的边缘计算执行框架,采集边缘计算环境中计算资源、能源限制数据特征;采集深度学习分支网络模型的推断能力特征;采集所到达任务的数据特征;采集边缘计算环境下当前网络传输性能特征。具体步骤如下所示:
步骤B1,根据边缘计算环境下的历史日志数据,分析深度学习应用任务到达率的历史数据特征,得到任务到达率为关于参数λ指数分布;
步骤B2,获取边缘计算执行架构各层CPU性能、内存容量、磁盘大小等数据特征,结合历史数据特征,计算获取各个分支网络分块在不同边缘计算层次的平均服务时间;
步骤B3,获取边缘计算环境中,终端设备以及边缘服务器同时能够并行处理的任务量,即终端设备层的通道数kt,边缘服务器层的通道数ke;
步骤B4,对当前网络性能进行监测,获取终端到边缘服务器,以及边缘服务器到云数据中心的带宽;
步骤B5,通过大量验证模型的历史数据,获取通过分支网络时满足某个特定置信度任务比例,近似计算模型各个出口不满足识别精度阈值的概率。
在卸载建模分析部分中,如图2所示,在卸载建模分析部分中,将在系统信息采集部分中所获得到的数据作为输入参数,将任务的到达过程和对任务处理过程看成是一个马尔可夫过程,建立终端最小化任务完成时间的优化模型。具体的建模过程如下:
设应用A的推断任务到达率为λ,到达时间间隔服从指数分布。任务卸载决策器决定在终端执行的任务比例α,同时卸载1-α部分任务到边缘服务器执行。也就是说当一个任务到达时有α的概率在终端执行,则被直接卸载到边缘服务器层进行执行的概率为1-α。因此,终端层和边缘服务器层的任务到达间隔服从二项超指数分布。因此终端和边缘端的到达率λt,λe分别为:
如图2所示,不同模型分块在不同边缘计算层次上的处理时间分别服从关于<μ0,μ1,μ2,μ3>的指数分布。应用的推断任务顺序执行至三个出口,由于任务输入数据质量的差异,各模型出口有概率无法做出满足识别精度阈值的推断,设无法满足置信度的识别精度阈值概率为<σ0,σ1>,分别表示从智能终端卸载到边缘服务器以及从边缘服务器卸载至云数据中心的概率。由于边缘服务器层部署了分块1和分块2,所以任务在终端开始执行和直接卸载到边缘服务器层开始执行的服务时间期望分别为:
由于到达时间间隔和服务时间都服从指数分布,指数分布具有无后效性,故本文将终端层和边缘服务器层分别看做是两个独立的马尔科夫排队系统。用X(t)表示t时刻系统上的任务总数,假设其排队空间无限,所以系统的状态空间为E={0,1,2,…}。设系统的到达率和完成率为λi,μi,由生灭过程可得X(t)的状态转移概率函数具有如下特点,状态转移图如图4所示。
其中,j∈{t,e}分别代表终端层和边缘服务器层,下同。k表示系统的通道数,即系统可同时执行的最大任务数,且满足:
λj<kjμj
定义πji为j系统中有i个任务的概率,则有稳态向量πj∈{πt,πe}表示边缘计算架构下终端层和边缘服务器层的任务分布,其中πj=[πj0,πj1,πj2,…]。在随机系统达到稳态时,由连续时间参数的马尔可夫链的性质可知:
根据πjQj=0可求得稳态向量πj:
于是求得πj0为:
因此可求得达到稳态时系统中平均任务数的期望:
因为终端系统和边缘服务器系统的任务到达率λt和λe与α相关。所以将ρ1j和ρj表示为α的函数:
终端层和边缘层的平均任务数的期望可以看成关于卸载率α的函数,所以将终端层和边缘层的平均任务数的期望表示为Lt(α)和Le(α)。
对于直接卸载到边缘服务器上开始执行的任务,终端在接收到任务时直接将原始数据发送到边缘服务器层。在出口2若还不满足识别精度阈值,任务将会卸载至位于云数据中心进行计算。最终将计算结果返回到终端设备。因此,对于应用A可以求得在终端上开始执行以及在边缘服务器上开始执行的所有任务的完成时间期望wt(α),we(α):
其中,band1和band2分别代表从终端到边缘服务器的带宽和从边缘服务器到云服务器层的带宽。data0,data1,data2分别代表任务的原始数据大小,出口1到出口2的中间数据量,以及出口2到出口3的中间数据量。由于返回的结果数据量较小,所以回程的传输时间忽略不计。
基于上述的分析和假设,wt(α)、we(α)中较大者即为应用A的完成时间。同时系统还需综合考虑应用在终端执行的能耗和和资源,定义C为应用A全部在终端置信的能耗,R为其在终端执行所需消耗的资源,可以包含CPU资源,内存资源等。在任意时刻t,Cr和Rr表示终端的剩余能耗和空闲资源。因此本发明所构建的最小化任务完成时间的优化模型可以描述为:
min(max(wt(α),we(α)))
在任务卸载决策部分中,在终端设备上进行任务卸载决策,使用启发式算法求解所构建的最小化任务完成时间的优化模型,得到最优卸载比例,具体步骤如下所示:
步骤D1,令wt(α)和we(α)相等,求解得到最优卸载率α的值。判断当前α是否满足终端计算资源和能源的约束,若能满足则返回当前卸载率α,否则进入步骤D2;
步骤D2,设置更新因子θ,依次尝试更新卸载率α为(1-θ)×α,(1-θ)2×α,(1-θ)3×α…直至满足终端的能源和资源约束,返回当前卸载率,即为最优卸载率;
步骤D3,终端设备根据所得到的卸载率α对到达的任务进行任务迁移,将1-α比例的任务直接传输到边缘服务器层开始执行。对所到达的单个任务而言,每次以α的概率将其放置在终端设备上开始执行,以1-α的概率将其卸载至边缘服务器开始执行。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (4)
1.一种用于边缘计算环境中面向深度学习应用的任务卸载方法,其特征在于包括如下步骤:
步骤1,在边缘计算环境中,利用深度神经网络分支网络的思想将深度神经网络划分为可级联的若干个模型分块,每个分块都对应一个出口,并分布式地部署在“端-边缘-云”中不同的位置,由此构建面向深度学习应用的边缘计算执行框架;
步骤2,基于步骤1所构建的边缘计算执行框架,采集系统中的相关数据并分析相应的特征,具体包括:边缘计算环境中计算资源、能源限制数据特征、深度学习分支网络模型的推断能力特征、终端所到达任务的数据特征;边缘计算环境下当前网络传输能力特征;
步骤3,将步骤2中所得到的特征数据作为输入参数,使用马尔科夫理论,建立M/M/n排队模型,得到终端设备层和边缘服务器层的平均任务数的期望;进一步分析得到任务在终端设备上开始执行以及将任务直接卸载到边缘服务器上开始执行的任务完成时间期望;并以最小化上述两个期望中的最大值为目标函数,以终端设备层的能源以及计算资源作为限制条件,构建最小化任务执行时间的优化模型;
步骤4,使用启发式算法求解步骤3中所得到的优化模型,得到最优卸载方案;
所述步骤1中,将深度神经网络划分为3个分块,部署方案是:将第一分块部署在终端设备上,将第一、第二分块部署在边缘服务器上,最后在云数据中心部署第一至第三分块;
所述步骤3中,构建最小化任务执行时间的优化模型的方法是:
步骤31,将任务卸载率α作为参数,将一批任务按照α和1-α的几率分割为两部分,分别代表从终端设备开始执行的任务集合以及直接卸载至边缘服务器层开始执行的任务集合;将从终端设备开始执行的任务执行流程以及直接卸载至边缘服务器层开始执行的任务执行流程看作两个独立的M/M/n排队系统,终端设备层和边缘服务器层的平均任务数的期望分别为Lt(α)和Le(α):
步骤32,从终端设备开始执行的任务集合以及从边缘服务器开始执行的任务集合的完成时间期望分别为wt(α)和we(α):
其中,σ0,σ1分别表示第一出口和第二出口不满足置信度阈值的概率,data1,data2分别表示第一出口和第二出口的中间数据量,band1,band2分别表示从终端到边缘服务器的网络带宽和从边缘服务器到云计算中心的网络带宽;
步骤33,以最小化从终端设备开始执行的任务集合以及从边缘服务器开始执行的任务集合的完成时间期望的最大值作为目标函数,以终端设备层的能源Cr以及计算资源Rr作为限制条件构建的最小化任务完成时间的优化模型表示为:
min(max(wt(α),we(α)))
其中,C和R分别表示若将任务全放在终端设备上执行所需的能源与计算资源。
2.如权利要求1所述的方法,其特征在于:所述步骤1中,在构建边缘计算执行框架时,任务卸载决策器处于终端设备层,终端设备接收到任务之后决定将任务放在本地开始执行或是直接将任务迁移到边缘服务器开始执行,具体包括以下步骤:
步骤11,终端设备接收到任务后,任务卸载决策器判断其是否是延迟敏感型任务,若是进入步骤12,否则直接将任务迁移至云数据中心进行计算;
步骤12,任务卸载决策器根据步骤4中得到的最优卸载方案决定是否将其卸载至边缘服务器,若是进入步骤13,否则进入步骤14;
步骤13,终端设备将任务通过网络传输到边缘服务器层,从第一分块开始执行,到第一分块对应的第一出口时判断推断结果是否满足识别精度阈值,若是则返回结果给终端设备,否则进入步骤15;
步骤14,任务在终端设备开始执行,使用第一分块对其进行推断,在第一出口判断推断结果是否满足识别精度阈值,若是则结束任务,否则将第一出口的输出数据传输到边缘服务器,进入步骤15;
步骤15,接收任务在第一出口的输出数据,作为第二分块的输入数据,在第二分块对应的第二出口判断是否满足识别精度阈值,若是则返回推断结果给终端设备,否则将第二出口的输出数据传输到云数据中心,进入步骤16;
步骤16,接收来自边缘服务器的任务,运行分支网络模型的第三分块对接收数据进一步推断,将输出结果返回给终端设备。
3.如权利要求1所述的方法,其特征在于:所述步骤4的具体内容是:
步骤41,令步骤3中所得到wt(α)和we(α)相等,求解得到最优卸载率α的值,判断当前α是否满足终端计算资源和能源的约束,若满足则返回当前卸载率α,否则进入步骤42;
步骤42,设置更新因子θ,依次更新卸载率α为(1-θ)×α,(1-θ)2×α,(1-θ)3×α…直至满足终端的能源和资源约束,返回当前卸载率,即为最佳卸载率;
步骤43,终端设备根据所得到的卸载率α对到达的任务进行任务迁移,将1-α比例的任务直接传输到边缘服务器层开始执行。
4.如权利要求1所述的方法,其特征在于:所述步骤2的具体步骤是:
步骤21,根据边缘计算环境下的历史日志数据,分析深度学习应用任务到达率历史数据特征,得到任务到达率为关于参数λ指数分布;
步骤22,获取边缘计算执行架构各层CPU性能、内存容量、磁盘大小数据特征,结合历史数据特征,计算获取各个分支网络分块在不同边缘计算层次的平均服务时间;
步骤23,获取边缘计算环境中,终端设备以及边缘服务器设备能够并行处理的最大任务数,即终端设备层的通道数kt,边缘服务器层的通道数ke;
步骤24,对当前网络性能进行监测,获取终端设备到边缘服务器以及边缘服务器到云数据中心的网络带宽;
步骤25,通过验证分支网络模型的历史数据,获取通过分支网络时满足某个特定置信度任务比例,计算模型各个出口不满足识别精度阈值时的近似概率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910525863.3A CN110347500B (zh) | 2019-06-18 | 2019-06-18 | 用于边缘计算环境中面向深度学习应用的任务卸载方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910525863.3A CN110347500B (zh) | 2019-06-18 | 2019-06-18 | 用于边缘计算环境中面向深度学习应用的任务卸载方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110347500A CN110347500A (zh) | 2019-10-18 |
CN110347500B true CN110347500B (zh) | 2023-05-23 |
Family
ID=68182199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910525863.3A Active CN110347500B (zh) | 2019-06-18 | 2019-06-18 | 用于边缘计算环境中面向深度学习应用的任务卸载方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110347500B (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112748992B (zh) * | 2019-10-31 | 2024-03-01 | 中国电信股份有限公司 | 用于迁移任务的电子设备、方法及存储介质 |
CN110837816A (zh) * | 2019-11-18 | 2020-02-25 | 中国银行股份有限公司 | 光学字符识别系统、边缘节点及系统 |
CN110955463B (zh) * | 2019-12-03 | 2022-07-29 | 缀初网络技术(上海)有限公司 | 支持边缘计算的物联网多用户计算卸载方法 |
CN111124439B (zh) * | 2019-12-16 | 2022-05-03 | 华侨大学 | 一种云边协同的智能动态卸载算法 |
CN111047225B (zh) * | 2020-01-10 | 2021-03-23 | 惠州光弘科技股份有限公司 | 一种基于边缘侧模型处理的smt表面组装组件焊点的质量评定方法 |
CN111245950B (zh) * | 2020-01-20 | 2023-03-10 | 南京邮电大学 | 基于深度学习的工业物联网边缘资源智能调度系统及方法 |
CN111312368A (zh) * | 2020-01-20 | 2020-06-19 | 广西师范大学 | 一种基于边缘计算的加速医学图像处理速度的方法 |
CN111445026B (zh) * | 2020-03-16 | 2023-08-22 | 东南大学 | 面向边缘智能应用的深度神经网络多路径推理加速方法 |
CN111310922A (zh) * | 2020-03-27 | 2020-06-19 | 北京奇艺世纪科技有限公司 | 处理深度学习计算任务的方法、装置、设备和存储介质 |
CN111444019B (zh) * | 2020-03-31 | 2024-01-26 | 中国科学院自动化研究所 | 云端协同的深度学习模型分布式训练方法及系统 |
CN111832729A (zh) * | 2020-07-06 | 2020-10-27 | 东南数字经济发展研究院 | 一种保护数据隐私的分布式深度学习推理部署方法 |
CN111782301B (zh) * | 2020-07-08 | 2020-12-22 | 北京邮电大学 | 卸载动作集合获取方法及装置 |
CN111953758B (zh) * | 2020-08-04 | 2023-05-30 | 国网河南省电力公司信息通信公司 | 一种边缘网络计算卸载和任务迁移方法及装置 |
CN111953759B (zh) * | 2020-08-04 | 2022-11-11 | 国网河南省电力公司信息通信公司 | 基于强化学习的协同计算任务卸载和迁移的方法及装置 |
CN114077482B (zh) * | 2020-08-18 | 2024-04-16 | 中国科学院沈阳自动化研究所 | 一种工业智能制造边缘智能计算优化方法 |
CN112039965B (zh) * | 2020-08-24 | 2022-07-12 | 重庆邮电大学 | 一种时间敏感网络中的多任务卸载方法及系统 |
CN112085758B (zh) * | 2020-09-04 | 2022-06-24 | 西北工业大学 | 一种边端融合的终端情境自适应模型分割方法 |
CN112434805B (zh) * | 2020-10-30 | 2022-08-05 | 河海大学 | 一种深度神经网络模块分割方法 |
CN112434789B (zh) * | 2020-11-06 | 2023-07-07 | 中山大学 | 一种用于边缘视频分析的分布式神经网络模型划分方法 |
CN112511644A (zh) * | 2020-12-14 | 2021-03-16 | 首都信息发展股份有限公司 | 一种多设备位姿共享方法及装置 |
CN112297014B (zh) * | 2020-12-31 | 2021-04-27 | 之江实验室 | 一种面向机器人的云边端架构下的深度学习模型分割方法 |
CN112783567B (zh) * | 2021-01-05 | 2022-06-14 | 中国科学院计算技术研究所 | 一种基于全局信息的dnn任务卸载决策方法 |
WO2022160155A1 (zh) * | 2021-01-28 | 2022-08-04 | 华为技术有限公司 | 管理模型的方法及装置 |
CN116686266A (zh) * | 2021-03-05 | 2023-09-01 | 华为技术有限公司 | 模型训练的方法和装置 |
CN112862083B (zh) * | 2021-04-06 | 2024-04-09 | 南京大学 | 一种边缘环境下的深度神经网络推断方法及装置 |
CN113128681B (zh) * | 2021-04-08 | 2023-05-12 | 天津大学 | 一种多边缘设备辅助的通用cnn推理加速系统 |
CN113572804B (zh) * | 2021-04-29 | 2023-06-30 | 重庆工程职业技术学院 | 一种基于边缘协作的任务卸载系统、方法及装置 |
CN113238814B (zh) * | 2021-05-11 | 2022-07-15 | 燕山大学 | 基于多用户和分类任务的mec任务卸载系统及优化方法 |
CN113205513A (zh) * | 2021-05-27 | 2021-08-03 | 山东浪潮科学研究院有限公司 | 基于边缘计算的工业设备表面缺陷故障预警方法 |
CN113190342B (zh) * | 2021-06-01 | 2023-04-21 | 湖南工学院 | 用于云-边协同网络的多应用细粒度卸载的方法与系统架构 |
CN113676954B (zh) * | 2021-07-12 | 2023-07-18 | 中山大学 | 大规模用户任务卸载方法、装置、计算机设备和存储介质 |
CN114884945B (zh) * | 2022-04-28 | 2023-08-11 | 广东电网有限责任公司 | 数据传输方法、云服务器、设备、系统及存储介质 |
CN115562760B (zh) * | 2022-11-22 | 2023-05-30 | 南京邮电大学 | 基于边缘计算节点打分表的深度学习模型分层卸载方法 |
CN117032832B (zh) * | 2023-08-25 | 2024-03-08 | 重庆邮电大学 | 一种基于移动边缘计算的最小化任务调用成本卸载方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766889A (zh) * | 2017-10-26 | 2018-03-06 | 济南浪潮高新科技投资发展有限公司 | 一种云端边缘计算融合的深度学习计算系统和方法 |
CN109379727A (zh) * | 2018-10-16 | 2019-02-22 | 重庆邮电大学 | 车联网中基于mec的任务分布式卸载与协作执行方案 |
CN109543829A (zh) * | 2018-10-15 | 2019-03-29 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 在终端和云端上混合部署深度学习神经网络的方法和系统 |
CN109684075A (zh) * | 2018-11-28 | 2019-04-26 | 深圳供电局有限公司 | 一种基于边缘计算和云计算协同进行计算任务卸载的方法 |
Family Cites Families (1)
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 |
-
2019
- 2019-06-18 CN CN201910525863.3A patent/CN110347500B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107766889A (zh) * | 2017-10-26 | 2018-03-06 | 济南浪潮高新科技投资发展有限公司 | 一种云端边缘计算融合的深度学习计算系统和方法 |
CN109543829A (zh) * | 2018-10-15 | 2019-03-29 | 华东计算技术研究所(中国电子科技集团公司第三十二研究所) | 在终端和云端上混合部署深度学习神经网络的方法和系统 |
CN109379727A (zh) * | 2018-10-16 | 2019-02-22 | 重庆邮电大学 | 车联网中基于mec的任务分布式卸载与协作执行方案 |
CN109684075A (zh) * | 2018-11-28 | 2019-04-26 | 深圳供电局有限公司 | 一种基于边缘计算和云计算协同进行计算任务卸载的方法 |
Non-Patent Citations (2)
Title |
---|
Edge Intelligence: Paving the Last Mile of Artificial Intelligence With Edge Computing;ZHI ZHOU 等;《IEEE》;20190612;全文 * |
移动边缘计算任务卸载和基站关联协同决策问题研究;于博文等;《计算机研究与发展》;20180315(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110347500A (zh) | 2019-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110347500B (zh) | 用于边缘计算环境中面向深度学习应用的任务卸载方法 | |
CN111245950B (zh) | 基于深度学习的工业物联网边缘资源智能调度系统及方法 | |
CN112188442B (zh) | 基于移动边缘计算的车联网数据驱动任务卸载系统和方法 | |
CN114662661B (zh) | 边缘计算下异构处理器加速多出口dnn推理的方法 | |
CN110971706A (zh) | Mec中近似最优化与基于强化学习的任务卸载方法 | |
CN114285853B (zh) | 设备密集型工业物联网中基于端边云协同的任务卸载方法 | |
CN110928658A (zh) | 一种车边云协同架构的协同任务迁移系统及算法 | |
CN111711962B (zh) | 一种移动边缘计算系统子任务协同调度方法 | |
CN114189892A (zh) | 一种基于区块链和集体强化学习的云边协同物联网系统资源分配方法 | |
CN114520768B (zh) | 一种用于工业物联网中随机任务的ai卸载优化方法 | |
CN113286329B (zh) | 基于移动边缘计算的通信和计算资源联合优化方法 | |
CN112214301B (zh) | 面向智慧城市基于用户偏好的动态计算迁移方法及装置 | |
CN115292032A (zh) | 一种多用户接入的智能边缘计算系统中的任务卸载方法 | |
CN113642700A (zh) | 基于联邦学习和边缘计算的跨平台多模态舆情分析方法 | |
CN113645273A (zh) | 基于业务优先级的车联网任务卸载方法 | |
CN116579418A (zh) | 联邦边缘学习环境下模型分割优化的隐私数据保护方法 | |
CN115134370B (zh) | 一种多无人机辅助的移动边缘计算卸载方法 | |
CN112910716B (zh) | 一种基于分布式dnn的移动雾计算损耗联合优化系统和方法 | |
CN114172558B (zh) | 一种车辆网络中基于边缘计算和无人机集群协同的任务卸载方法 | |
CN115865914A (zh) | 车辆边缘计算中基于联邦深度强化学习的任务卸载方法 | |
CN115208892A (zh) | 基于动态资源需求的车路协同在线任务调度方法及系统 | |
CN113452625A (zh) | 基于深度强化学习的卸载调度与资源分配方法 | |
CN113382066A (zh) | 基于联邦边缘平台的车辆用户选择方法及系统 | |
Xie et al. | Real-time instance segmentation for low-cost mobile robot systems based on computation offloading | |
CN115696405B (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 |