边缘计算那些事儿--边缘卸载技术

0 背景

        前面笔者有对边缘计算系统做过一次综述,从本文开始,笔者将重点解读边缘计算技术栈,首先介绍的是边缘计算卸载技术。所谓卸载技术,即将终端或者云端的计算任务卸载到边缘侧,通过综合判断性能、能耗、时延等指标,将数据或者计算模型下沉(上传)到合适的位置。在边缘计算的卸载中,基本的卸载策略是明确卸载谁,卸载到哪里,怎么卸载,何时卸载以及卸载多少的问题。本文也基于该卸载策略展开论述,并最终给出卸载的基本功能和评判的标准。

1 卸载的对象和位置

卸载的对象和位置即对应着卸载谁,卸载到哪里。在边缘卸载技术中包含云端、边缘端和终端三个角色,这三者之间卸载的方向都是由云端或者终端往边缘端卸载,就像是一个漏斗一样,从两侧往中间挤压。但是这种卸载方向并不是终点,在边缘端同样可以跟云端一样建立局部的集群,实现更强的计算能力。如果从协同的视角上看,这样的卸载方式又可以被定义为边云协同、端边协同和边边协同。不管是协同还是卸载,都是这几个角色之间相互配合,共同完成业务需求,满足时延和能耗这些基本的诉求。如下图所示,图中展示了这样的一种卸载关系。

        除了卸载位置以外,我们不禁要问,每个方向上卸载的内容是否都是一样的呢?很明显,云端或者终端,进而到边缘端,每一端所具备的能力和需求是不一样的。在云端往边缘端卸载的功能中,多是一种全局的视角,解决云端的一些痛点问题,比如时延问题、网络资源紧张的问题等。由此云端将诸如时延敏感的应用,智能的算法,网络的切片,设备的管理等服务下沉到边缘端,利用边缘侧就近处理数据的能力,降低时延、缓解网络资源的紧张和不合理分配。而在终端,主要是基于本地处理对能耗的需求、计算资源的需求过大,所以选择将诸如数据、模型等上传到边缘侧,利用边缘的计算和存储能力,解决终端的性能问题。来到边缘侧,边缘设备之间可以通过组网,实现动态地资源调度、协同进行算法的训练和预测,实现数据和模型在不同的边缘设备之间的卸载。

2 卸载的方式

        在了解了卸载位置和卸载对象之后,接下来我们就需要知道这些对象如何卸载、何时卸载和卸载多少的问题,如下图所示描述了各个端卸载时的一些常用方案。上一节我们知道云端卸载到边缘端的主要是一些智能算法和设备管理方面的功能。在卸载多少的问题上,智能算法,如深度学习算法,可以采用部分卸载的方案,将训练功能放到云端,边缘侧只负责预测,这样就可以充分利用云端的超强计算力和边缘侧的实时性好的特点。在卸载的方案上,边缘侧相对来说计算能力偏弱,云端的算法并不能直接卸载,需要将智能算法压缩后才可以在边缘侧达到预期的准确率,除此以外还可以在边缘端原生设计算法,相比直接使用压缩算法更加灵活。至于卸载的时机,可以预先将算法安装到边缘设备上,也可以根据实际的业务需求动态地安装,提前安装的方式需要占用边缘侧本就紧张的资源,而动态安装,则可以跟着业务拆卸,降低边缘侧的压力,但是对性能也会有一定的损耗。设备管理方面的功能卸载,典型的就是将设备的孪生数据缓存到边缘侧,这样就可以保证设备数据的安全性,实现设备脱管时仍能正常工作。在卸载时机上,一般采用预安装的方式,卸载的多少上采用完全卸载。

        终端往边缘端卸载包含数据和模型两类对象,在卸载的多少上,同样有部分卸载,完全卸载,还有与云端动态安装算法类似的,增量卸载模型的方式,当然作为终端也可以选择不卸载,通常情况下在本地直接处理的方式会作为性能对比的重要一环。在设计卸载算法的过程中,需要综合考虑时延、功耗、准确率、本地能力等因素,让终端只负责采集数据或者只做数据的预处理,大量的数据还是要就近卸载到边缘设备上。在卸载的时机上,边缘端可以预先安装好边缘侧需要的算法和模型,也可以由终端自行决定,将哪些模型卸载到边缘端,比如增量卸载,就是在神经网络算法中常用的方式,事先将第一优先级使用的层安装到边缘端,后续根据当时的网络和资源状态,选择将其他的神经网络层卸载或者本地处理。

        边缘设备之间的卸载是当前研究的热点,与上述两种卸载不同,这种卸载场景需要综合监控集群内的边缘设备,只有当前的设备资源空闲或者有足够的能力参与卸载任务时,才会将其加入进来。在卸载的时机上,因为涉及在边缘设备之间的数据和模型的迁移,需要提前预估终端的位置,将资源提前迁移过去,这需要使用轻量的虚拟化技术,需要建立位置预测模型,在边边卸载上,协同大于卸载。

3 卸载的功能

        综合上面的卸载对象、位置和方式,笔者将边缘设备需要实现的卸载功能总结如下图所示,该卸载功能可以承载在一个智能边缘网关设备上,可以是我们常见的wifi路由器,RRU或者AAU等嵌入式设备。

        从每个卸载视角上看需要实现的功能也是不一样的。云边卸载场景,要建立云边的连接,实现诸如计算框架、数据缓存、分析、处理任务,还需要实现终端设备的协同管理、资源的调度管理、网络资源的切分,这些都是云端和边缘端需要配合完成的。在端边卸载场景,首先要建立端边之间的连接,在此基础上实现异构数据的转换,这一点在云边就不需要,然后搭建一个中间件平台,对终端设备进行管理,引入轻量的智能算法库、虚拟化技术,方便开发者在此基础上进行二次开发,最后在模型的安装上,采用预测安装或者动态增量安装的方式。边边卸载场景,第一步同样是建立连接,然后需要建立一个资源预测、管理、调度的模型,对资源进行分析统计,利用闲置的资源,当边缘设备具备一定的规模后,甚至可以承担部分的训练能力,最后边缘设备之间可以协同处理数据,通过预测模型,提前迁移终端的数据或者模型。在边缘侧,可以将一些算法或者模型提前安装好,也要支持根据实际业务场景,动态或者增量安装的方式,这个需要对边缘设备资源做好评估。

4 卸载评判的标准

        最后当我们实现卸载功能后,需要从哪些角度评判卸载算法的优劣呢?通过上面的分析,我们看到在不同的端处,卸载的对象,策略都是不一样的,因此在进行评判时,同样要分为不同的场景。如下图所示是云边协同,端边协同和边边协同下的评判标准。云边更加看重实时性,能耗和精度。端边主要是从功耗,时延和资源配置方面进行考量。最后的边边则主要看集群的集体性能和闲置资源利用率。上述三个场景,都看重能耗,时延问题,这也是我们后续算法设计需要重点考虑的。

5 小结

        本文是边缘计算那些事儿的开篇,简述了卸载技术相关的知识点,围绕着卸载决策中的角色、时间、方式、地点等进行了详细的分析,并给出了采用这种卸载方式的原因。后续笔者将继续总结相关的知识点,以期搭建出基础的边缘计算技术栈,帮助读者快速入门。

猜你喜欢

转载自blog.csdn.net/linus_ben/article/details/127642305