一种在边缘计算不同层次进行协同处理的方法与流程

文档序号:21626571发布日期:2020-07-29 02:33阅读:302来源:国知局
一种在边缘计算不同层次进行协同处理的方法与流程

本发明属于计算任务的协同处理技术领域,涉及一种在边缘计算不同层次进行协同处理的方法,具体涉及一种整合边缘计算不同层次(服务节点、服务节点集群、服务中心等)的多种异构资源进行协同处理的方法。



背景技术:

当移动终端设备需要使用某种计算结果时,终端本地处理计算任务这一方式将带来最小的延迟,从而确保获取计算结果的实时性。然而,受制于设备尺寸和重量的约束,由电池驱动的移动终端设备通常面临着能源供给有限以及自身计算能力不足的困境。为了解决上述问题,基于云端融合思路的移动云计算技术被提出,其基本思路在于将计算密集型任务组件从终端卸载到远端的云平台进行计算。移动云计算方法能够有效地利用移动设备和云计算平台的优势,并且实时地调整负载分布,从而优化计算性能与设备能效。考虑到终端与云端的网络通信延迟,这种终端云端协同的计算架构虽然非常适合于对延迟有一定容忍程度的应用,但其无法满足实时交互类应用对低延迟的迫切需求。

为了弥补云端远程处理实时性较差的缺陷,基于在临近终端的网络边缘处理计算任务思路的边缘计算应运而生。美国迈阿密大学研究了由可再生能源可用性驱动的跨边缘负载均衡问题,并提出了基于机器学习的最优负载调度算法。英国帝国理工大学研究了在多边缘情况下如何协同优化服务放置与负载调度,并提出了在线成本与服务质量平衡优化算法。此外,美国麻省大学阿默斯特分校还提出了跨边缘的快速透明的虚拟机迁移算法,从而支持跨边缘的负载调度与协同。值得注意的是,虽然跨边缘的资源协同有利于利用节点间的能效和时延异构性,并克服单一节点有限资源容量的约束,然而在实际生产环境中,地理上邻近的多个终端可能会隶属于不同的网络运营商。而运营商逐利的天性也使得只有在提供了充足的经济激励下,才会与其它运营商共享稀缺的边缘计算资源。然而,如何设计面向跨边缘资源协同的高效经济激励机制仍是一个开放性难题,而这也是本项目所力图突破的一个重点。

实际上,在机动作战环境下,数据处理的计算任务复杂度高、时延敏感,而服务中心或服务节点计算能力受限,难以独立快速完成战场信息的数据处理和反馈,并且通信带宽受限且不稳定,较难协同。



技术实现要素:

本发明目的是为了克服现有技术的不足而提供一种在边缘计算不同层次进行协同处理的方法,以将工作量大的、复杂的任务分解为工作量小的、简单的细粒度任务组件集,达到降低单个任务计算负载的目的,优化计算任务处理的整体性能与成本。

为达到上述目的,本发明所采用的技术方案为:一种在边缘计算不同层次进行协同处理的方法,它包括以下步骤:

(a)基于k-means聚类算法把时延敏感度与计算量最相似的任务组件聚集在一起;

(b)基于历史数据预测服务中心的可用服务时间,并实时感知动态变化的通信因素,评估计算卸载任务是否能够在时延容忍范围内完成处理与反馈,以对计算资源进行预测和切分;

(c)将待协同服务节点进行分类和分配优先级;

(d)判断计算资源是否足够,当服务中心计算资源短缺时,按优先级依次确定协同服务节点;当服务中心计算资源充足时,进行多个服务节点协同处理。

优化地,步骤(b)中,服务中心还通过感知覆盖范围内服务节点间的网络连接性与空闲计算资源信息,将服务节点群体映射到网络面和资源面两个维度。

进一步地,步骤(c)中,在所述网络面,建立基于服务节点与间直连通信关系且可支持服务节点计算卸载的通信链路图;在所述资源面,引入节点权重刻画所述通信链路图中各个服务节点的空闲富余计算资源数量;通过集成网络面与资源面,形成面向协同服务节点计算卸载的服务节点资源分布图以进行分类。

进一步地,步骤(b)中,还根据感知的网络环境,动态调节计算任务组件,实现基于任务特征的计算自适应任务卸载。

更进一步地,步骤(b)中,所述自适应任务为深度学习推理模型任务。

更进一步地,步骤(b)中,所述深度学习推理模型包括:

(b1)离线训练阶段;在离线训练阶段,训练好任务需求的分支网络,同时为分支网络中的不同神经网络层训练回归模型,以此估算神经网络层在服务中心与在服务节点上的运行时延;

(b2)在线优化阶段;回归模型将被用于寻找出符合任务时延需求的退出点以及模型切分点;

(b3)协同推断阶段;服务中心和服务节点设备将按照得出的方案运行深度学习模型。

由于上述技术方案运用,本发明与现有技术相比具有下列优点:本发明在边缘计算不同层次进行协同处理的方法,通过采用k-means聚类算法把任务组件进行聚集、对计算资源进行预测和切分并分配优先级,能够达到降低单个任务计算负载的目的,从而优化计算任务处理的整体性能与成本。

附图说明

图1为本发明服务中心与服务节点间的协同处理机制图;

图2为本发明多服务节点自组织集群协作构建图;

图3为本发明基于社区探测与聚合的服务节点集群协作构建;

图4为本发明深度学习分支网络的多层级与不同退出点示意图;

图5为本发明基于服务中心与服务节点协同的深度学习模型运行时优化框架图。

具体实施方式

下面将结合附图对本发明优选实施方案进行详细说明。

服务中心与服务节点的协同主要发生在两种场景:一是服务节点计算能力受限,且需要处理自身的计算任务,因此该节点能贡献给整个节点集群的计算能力仍相对有限,节点集群的总体任务可能超过集群的总体计算能力,所以需要考虑与服务中心间的协同,将过载的计算任务卸载到资源相对富余的战术服务中心;二是针对一些计算能力要求高,且难以继续进行任务拆分或者拆分度不高的任务,使用单个服务节点达不到期望的计算能力约束和时延、能耗等目标,此时优先考虑直接使用服务中心进行协同处理。因此提出在在边缘计算不同层次进行协同处理的方法,如图1所示,它包括以下步骤:

(a)基于k-means聚类算法把时延敏感度与计算量最相似的任务组件聚集在一起。

(b)基于历史数据预测服务中心的可用服务时间,并实时感知动态变化的通信因素,评估计算卸载任务是否能够在时延容忍范围内完成处理与反馈,以对计算资源进行预测和切分;服务中心还通过感知覆盖范围内服务节点间的网络连接性与空闲计算资源信息,将服务节点群体映射到网络面和资源面两个维度;

(c)将待协同服务节点进行分类和分配优先级;因此,在所述网络面,建立基于服务节点与间直连通信关系且可支持服务节点计算卸载的通信链路图;在所述资源面,引入节点权重刻画所述通信链路图中各个服务节点的空闲富余计算资源数量;通过集成网络面与资源面,形成面向协同服务节点计算卸载的服务节点资源分布图以进行分类;

(d)判断计算资源是否足够,当服务中心计算资源短缺时,按优先级依次确定协同服务节点;当服务中心计算资源充足时,进行多个服务节点协同处理。

在本实施例中,步骤(b)中,还根据感知的网络环境,动态调节计算任务组件,实现基于任务特征的计算自适应任务卸载,所述自适应任务为深度学习推理模型任务,所述深度学习推理模型包括:(b1)离线训练阶段;在离线训练阶段,训练好任务需求的分支网络,同时为分支网络中的不同神经网络层训练回归模型,以此估算神经网络层在服务中心与在服务节点上的运行时延;(b2)在线优化阶段;回归模型将被用于寻找出符合任务时延需求的退出点以及模型切分点;(b3)协同推断阶段;服务中心和服务节点设备将按照得出的方案运行深度学习模型。

在本实施例中,由于在战术服务中心资源短缺的情况下,首先满足优先级较高节点的协同请求,使得时延敏感与计算量消耗较少的任务能够优先执行,有效降低后续任务的排队时延,因此可以将服务中心与服务节点的动态协同问题数学建模为一个非凸的0-1整数规划问题,使用动态规划和遗传算法两种策略来解该。

服务节点集群的协同,主要面向机动作战环境下,当多个服务节点将计算复杂的数据处理任务同时卸载给同一服务中心时,将出现该服务中心计算能力难以同时满足卸载需求的情况。此外,服务节点根据需要随时机动,与服务中心的通信性能不稳定,当两者之间通信距离较大时,传输开销甚至可能高于计算卸载带来的性能收益。针对这种问题,为保证计算任务高效执行的同时减少对服务中心的依赖,采用基于服务中心辅助感知的高效服务节点集群构建机制,利用邻近节点的计算能力协同处理计算任务,最大程度使数据在源端就近得到处理,从而快速反馈,提高作战反应能力。如图2所示,服务中心通过感知覆盖范围内战术服务节点间的网络连接性与空闲计算资源等信息,服务中心可以将节点群体映射到两个维度:网络面以及资源面。在网络面,建立基于服务节点与节点间直连通信关系的可支持节点计算卸载的通信链路图;在资源面,引入节点权重来刻画通信链路图中各个服务节点的空闲富余计算资源数量。通过集成网络面与资源面,可以形成面向协同节点计算卸载的服务节点资源分布图。

这样邻近多个服务节点构建的微计算集群,共享彼此富余的计算资源,实现协作数据处理,即组成“移动资源共享域”。本申请利用社区探测与聚合算法(communitydetectionandmergingalgorithms)来设计以服务节点处理任务为驱动的服务节点集群高效协作构建机制。如图3所示,利用图分析中的社区探测(communitydetection)算法,识别服务节点资源分布图中由多个服务节点组成的移动资源共享域单元。进一步,采用合作博弈论中的联盟合成(coalitionformation)技术,对发现的资源域单元进行聚合,根据不同类型任务的计算卸载需求,从多个资源域均衡合理地汇总不同的计算资源,从而有效支撑多类应用的计算卸载需求,提升群化处理能力。

随着服务节点向服务中心提交的请求数增多,单个服务中心不可避免地面临计算能力受限的问题,难以对新增的计算卸载请求作出实时响应。通过多个服务中心相互协同,将计算任务卸载到相对空闲的服务中心,实现计算任务的实时处理,保证服务质量。由于待选择的服务中心间同样存在差异性,从待选择的服务中心是否可以信任以及是否能满足任务对延迟的需求两个方面考虑选取合适的服务中心进行协同以保证服务质量。从可信度的角度,在机动环境下,服务中心的地理位置动态变化,距离增大很有可能导致通信中断,无法反馈数据处理的结果。资源配置也是影响可信度的重要因素,服务中心储存能量不足会导致任务执行中断;服务中心的大量嵌入式设备中采用了闪存,而闪存的擦写次数在105量级,对需要更新次数较多的数据处理任务而言,这类非易失存储介质的擦写寿命也是影响服务质量的因素之一。通过集成服务中心的机动性、能量存储以及存储设备可靠性3个方面为综合信任度,形成综合信任评估体系与模型,通过对多个邻近的服务中心进行信任评估,判别服务中心是否满足计算任务对可信度方面的需求,保证计算任务的正常卸载与反馈。从响应延迟的角度,将战术服务中心的异构计算能力,基于历史数据预测战术服务中心的可用服务时间,同时实时感知网络带宽等动态变化的通信因素,从而实时评估计算卸载任务是否能够在时延容忍范围内完成处理与反馈,实现资源在战术服务中心间的共享和优化利用,高效地进行计算卸载,更好满足数据处理任务的服务质量需求。

在本申请中,服务节点本身具有计算能力弱,能量、通讯资源等有限的特点,在整个环境中,通讯条件恶劣且动态变化,此时,在考虑是否对战术服务节点的任务是否卸载的同时,也可以考虑针对任务本身进行改进,在一定程度上减小或缓解任务运行所需外部资源约束,又尽可能的保证任务目标的达成。因此,可以考虑根据感知的网络环境,动态调节计算组件,实现基于任务特征的计算自适应任务卸载技术,缩短服务节点的响应时延并保证尽量高的计算结果的准确率。最主要的就是应用深度学习通过训练神经网络。

深度学习推理模型,特别是卷积神经网络,包括卷积层、池化层、全连接层等。由于消耗大量的计算资源,直接将一个神经网络模型运行在资源受限的服务节点设备是非常困难的,但因为不同的神经网络层的计算资源需求以及输出数据量的大小都具有显著的差异性,直观的解决方法是将整个深度学习模型即神经网络切分成两个部分,其中计算量大的部分卸载到服务中心,而计算量小的部分保留在服务节点。服务节点与服务中心协同推断,有效降低了深度学习模型的推断时延,然而,选择不同的模型切分点将导致不同计算时间,那么通过任务的自适应,选择出最佳的模型切分点,可以最大化发挥出战术服务节点设备与服务中心协同的优势。

精简模型则是加速深度学习模型推断,优化计算任务卸载过程的另一手段,即选择计算资源需求不高而完成时间更快的“小模型”,而非选择资源开销更大的“大模型”。对于任意深度学习任务,我们可以离线训练具有多个退出点的分支网络,如图4所示,分支网络自身同样存在多层级,层数的增加可提高模型的精度,但这样也将导致推理模型的退出点延后,产生较长时延。分支网络的这个特性使得需要在深度学习模型的精度和推理时延之间做权衡。

因此,当深度学习任务的完成时间非常紧迫时,可以适当牺牲准确率来换取更优的性能表现(即时延)。显然,深度学习模型精简会带来时延与准确率之间的权衡问题,虽然通过提前退出模型方法实现了模型精简、缩短了计算时间,但由于计算量的减少它也会降低深度学习模型推断的准确率。考虑到某些应用程序,在容忍一定的准确率损失下具有严格的时延需求。因此,需要谨慎权衡性能与精度之间的折衷关系。特别是,考虑到预先设定的严格的时延目标,要在不违背时延需求的前提下最大化分割方案的准确率。

综合运用上述模型切分和模型精简等两种调节深度学习模型推断时间的优化手段,并小心权衡由此引发的性能与精度之间的折衷关系,对于给定时延需求的深度学习任务,如何联合优化模型切分和模型精简这两个决策,从而使得在不违反时延需求的同时最大化深度学习模型的精确度。可以采用一种基于服务中心与服务节点协同的深度学习模型运行时优化框架。如图5所示,优化逻辑分为三个阶段:离线训练阶段、在线优化阶段以及协同推断阶段。

基于服务中心与服务节点设备协同的深度学习模型推断框架思路为:在离线训练阶段,训练好任务需求的分支网络,同时为分支网络中的不同神经网络层训练回归模型,以此估算神经网络层在服务中心与在服务节点上的运行时延;在在线优化阶段,回归模型将被用于寻找出符合任务时延需求的退出点以及模型切分点;在协同推断阶段,服务中心和服务节点设备将按照得出的方案运行深度学习模型。

离线训练阶段,需要执行两个初始化操作:(1)分析服务中心与服务节点设备性能,针对不同类型的深度学习模型网络层,如卷积层、池化层等,生成基于回归模型的时延估算模型。在估算网络层的运行时延时,会对每层网络层进行建模而不是对整个深度学习模型进行建模,在初步的实验中,不同网络层的时延是由各自的自变量(如输入数据的大小,输出数据的大小)决定,基于每层的自变量,可以建立回归模型估算每层网络层的时延;(2)训练带有多个退出点的分支网络模型,从而实现模型精简,这里采用branchynet分支网络结构,在branchynet结构下,可以设计并训练出带有多个退出点的分支网络。需要注意的是,性能分析取决于设备,而深度学习模型是取决于应用的,因此在给定资源的情况下即限定服务中心与服务节点设备,以上两个初始化操作在离线阶段只需要完成一次。

在线优化阶段,主要工作是利用离线训练的回归模型在分支网络中找出符合时延需求的退出点以及模型切分点,因为需要最大化给出方案的准确率,因此在线优化阶段中将通过迭代的方式,从最高准确率的分支开始,迭代寻找出符合需求的退出点和切分点。在这个过程中,将实时测量当前服务节点与服务中心之间链路的网络带宽,以便于估算服务节点与服务中心间的数据传输时延。接着沿尺寸从大到小的网络分支,依次遍历每个网络分支上不同的切分点,并基于当前网络带宽和不同网络层计算时间估算所选网络分支与切分点对应的服务节点响应延迟与模型精确度。在遍历完所有的分支网络与切分点后,将输出满足时延需求的所有网络分支与切分点组合中具有最大精确度的一个组合。

协同推断阶段,根据上述在线优化阶段所输出的最优网络分支与切分点组合,服务中心与服务节点将对深度学习模型进行协同推断。

每个战术服务节点,其本身所拥有的计算资源(能源、计算能力等)是有限的,通过计算卸载可以将其任务分解为细粒度任务组件,并部分卸载到服务中心进行远程计算,部分保留在本地完成计算。同时,由于战术环境通信资源有限且不稳定,服务节点在面临自身计算能力有限的情况下,通信条件也是影响是否进行计算任务卸载的重要因素之一。另一方面,大多数无线网络的一些中继设备(卫星通信、战术无线基站等)使用多信道通信,在有多个服务节点请求进行计算任务卸载时,如何为服务节点选择合适的通信信道,以实现有效的通讯并完成计算卸载成为关键问题。如果过多服务节点同时选择相同的无线信道将计算任务卸载到服务中心,则可能导致相互严重干扰,这将降低计算卸载的数据传输速率,可能导致低能量效率和长时间数据传输延迟。为了面向多节点实现任务的高效计算卸载,基于博弈论、将多节点多通道间的计算任务卸载决策问题,建模为多节点计算卸载博弈。

上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1