对边缘计算的理解 2020-08-17 笔记 暂无评论 1305 次阅读 [TOC] # 简单了解边缘计算 参考:[知乎:什么是边缘计算?](https://www.zhihu.com/question/35792003/answer/425689401) ![](https://www.proup.club/usr/uploads/2020/08/637307802.png) ![](https://www.proup.club/usr/uploads/2020/08/2877729832.png) ![](https://www.proup.club/usr/uploads/2020/08/2855312369.png) ![](https://www.proup.club/usr/uploads/2020/08/3336058155.png) # 凭经验的理解 ## 边缘是什么 是C/S架构的客户端; 是分散在各处的、采集信号的传感器; 是CDN的分散在各地的节点; ## 与集中式的计算相比 - 边缘计算 - 用附近的数据,数据量比较少。 - [↑]计算量小。 - [-]计算结果,从局部看应该更符合当地情况。 - 对硬件配置的要求 - [↑]对中心节点的硬件配置要求低 - [↓]对边缘节点的硬件配置要求高 - [↓]边缘节点数量多 - 实时性高 - 集中式的计算 - 汇集全部数据,数据量很多。 - [↓]计算量大。 - [-]计算结果,从整体上看应该更好。 - 对硬件配置的要求 - [↓]对中心节点的硬件配置要求很高 - [↑]对边缘节点的硬件配置要求低 - [-]边缘节点数量多 - 实时性低 ## 问题 ### 边缘节点与边缘节点之间如何数据交换? - 我能想到的通信方式 1. P2P - [↑]去中心化 - [↑]实时性好 - [↓]若节点数量、地址有变化,不好维护。 - [↓]节点可能都要有公网ip,才能相互通信。 - [↓]通信成本高。 - 需要往多个节点广播相同数据的时候,一个一个发送,耗时间。 - 可能需要同时维持很多个连接,占用非必要的计算资源。 2. 转发服务 - [↓]中心化 - [↓]实时性不好 - 消息特别多时需要排队 - 边缘节点可能与查询服务器离得远 - [↑]若节点数量、地址有变化,容易维护。 - [↑]边缘节点不需要有公网ip - [↑]通信成本低 - 边缘节点只维护一个与转发服务器的连接就行了。 3. 分布式转发服务 - [↑]去中心化 - [-]实时性一般 - [↓]不太好维护 - 两个边缘节点,如果各自连接不同的转发服务器,会很麻烦。 - [↑]边缘节点不需要有公网ip - [↑]通信成本比较低 4. 汇总+查询服务 - [↓]中心化 - [↓]实时性不好 - 消息特别多时需要排队 - 边缘节点可能与查询服务器离得远 - [↑]若节点数量、地址有变化,不需要维护。 - [↑]边缘节点不需要有公网ip - [↑]通信成本低 - 边缘节点只维护一个与查询服务器的连接就行了。 - [↓]存储成本高 - 查询服务器要维护一个“记录历史数据”的数据库。 5. 用**区块链记账**代替**节点之间的通信** - [↑]去中心化 - [↓]实时性差 - 要等挖到矿,数据才算分享成功。 - [↑]若节点数量、地址有变化,容易维护。 - [↓]每个节点都要有公网ip - [↓]通信成本高 - 不光要计算,还要挖矿,特别浪费计算资源。 - [↓]存储成本高 - 每个节点都要保存“记录历史数据”的完整链。 ### 想设计一个边缘计算的模型,能怎么考虑 - 最好有一个中心化计算的模型,把计算任务分给边缘节点,设计起来应该会简单点。 - 边缘节点只使用局部数据,如何利用好局部数据。 - 如果把它当成“联邦学习”,边缘节点与边缘节点之间如果能达到“数据可用不可见” - 感觉不是个好办法。这是在人为地引入更严格的限制。 - 联邦学习的方法,拿到边缘计算里,应该能用。 - 先设计一个专门给边缘节点“解决局部问题”的模型,留出“修改参数”的接口,然后想办法用少量的数据来描述本节点的“状态”、“特征”之类的,或者叫“损失值”。损失值就是数据交换的全部数据了。 - 边缘节点与边缘节点之间不通信。 - 边缘节点把损失值发给中央节点。 - 中央节点遥控边缘节点修改参数。 - 这样边缘节点就能抽象成数学公式了,由中央节点解出、配平。 # 看文献 知网搜“边缘计算”,被引用最多的文献,是 [《边缘计算:万物互联时代新型计算模型》](https://www.proup.club/usr/uploads/2020/08/648994382.caj) ## 产生背景 - 2005-2015:集中式大数据处理时代 - 通过云计算中心,集中式存储和处理数据 - 终端设备从数据消费者转变为数据生产者,产生海量实时数据。 - 线性增长的集中式云计算能力无法匹配爆发式增长的海量边缘数据。 ## 云计算服务的不足 ![](https://www.proup.club/usr/uploads/2020/08/3677118501.png) - 云计算服务的不足 - 实时性 - 隐私保护 - 能耗 ## 边缘计算的定义 ![](https://www.proup.club/usr/uploads/2020/08/934156693.png) - 边缘计算 - 在网络边缘执行计算的一种新型计算模型 - 边缘 - 从数据源到云计算中心路径之间的任意计算和网络资源。 - 边缘的下行数据表示云服务 - 上行数据表示万物互联服务 - 边缘设备 - 传感器、智能手机等 - 兼顾数据的生产者和消费者 - 与云中心的请求传输是双向的 - 网络边缘设备从云中心请求内容及服务 - 网络边缘设备执行部分计算任务 - 包括数据存储、处理、缓存、设备管理、隐私保护等。 ## 边缘计算的优势 ![](https://www.proup.club/usr/uploads/2020/08/2785595576.png) >边缘计算模型与云计算模型并不是非此即彼的关系,而是相辅相成的关系,边缘式大数据处理时代是边缘计算模型与云计算模型的相互结合的时代,二者的有机结合将为万物互联时代的信息处理提供较为完美的软硬件支撑平台. ## 边缘计算典型应用实例 ### 云计算任务迁移 - EAWP(edge accelerated Web platform)模型 - 根据用户设备的环境确定数据分配和传输方法。 - 边缘设备借助其一定的计算资源实现从云中心迁移部分或全部任务到边缘端执行。 例如:在线购物应用,操作购物车 - 默认条件下: - 流程: - 先在云中心改变购物车状态 - 用户设备上购物车内产品视图再更新 - 操作时间取决于: - 网络带宽 - 云中心负载情况 - 用边缘计算: - 购物车内产品视图的更新操作从云中心迁移到边缘节点 - 这样会降低用户请求的响应延时。 - 购物车数据可被缓存在边缘节点。 - 流程: - 当用户的请求到达边缘节点时, - 新的购物车视图立即被推送到用户设备。 - 边缘节点与云中心的数据同步可在后台进行。 ### 边缘计算视频监控 针对海量视频数据,云计算中心服务器计算能力有限等问题: 1. 基于边缘计算的视频图像预处理技术(preprocessing) - 通过预处理,去除视频图像冗余信息 - 使部分或全部视频分析迁移到边缘处 - 降低对云中心的计算、存储和网络带宽需求 - 提高视频分析的速度 - 预处理使用的算法采用软件优化、硬件加速等方法 - 提高视频图像的分析的效率 2. 基于行为感知的视频监控数据弹性存储机制(elastic storage) - 平台:边缘计算软硬件框架 - 实时提取和分析视频中的行为特征,实现监控场景行为感知的数据处理机制 - 根据行为特征决策功能,实时调整视频数据。 - 减少无效视频的存储,降低存储空间 - 最大化存储“事中”证据类视频数据 - 增强证据信息的可信性 - 提高视频数据存储空间利用率 ### 智能家居 >智能家居环境中,除了联网设备外,廉价的无线传感器和控制器应部署到房间、管道、地板和墙壁等,出于数据传输负载和数据隐私的考虑,这些敏感数据的处理应在家庭范围内完成. ![](https://www.proup.club/usr/uploads/2020/08/1744201961.png) 务管理层,该层需满足服务差异性(differentiation)、可 扩展性(extensibility)、隔离性(isolation)及可靠性 (reliability)(详见3.4节)等需求 - 边缘操作系统(edge operation system, EdgeOS) - 运行在家庭内部的边缘网关上 - 通信层 - 实现各种通信协议 - 数据抽象层 - 对不同来源的数据进行融合、处理 - 服务管理层 - 满足以下需求 - 服务差异性(differentiation) - 可扩展性(extensibility) - 隔离性(isolation) - 可靠性(reliability) ### 智慧城市 边缘计算模型可从智能家居灵活地扩展到社区 甚至城市的规模. 原则:将计算最大程度迁移到数据源附近 >用户需求在计算模型上层产生并且在边缘处理. 边缘计算可作为智慧城市中一种较理想的平台,主要取决于以下3个方面: 1. 大数据量 2. 低延时 3. 位置识别 ### 智能交通 - 智能交通控制系统实时分析 - 由监控摄像头和传感器收集数据并自动做出决策 - 如果上传数据到云计算中心: - 造成带宽浪费和延时等待 - 不能优化基于位置识别的服务 - 在边缘服务器上运行智能交通控制系统 - 智能交通信号灯 - 智能停车系统 - 无人驾驶汽车 - 如果上传传感器数据到云计算中心: - 增加实时处理的难度 - 消耗较大的电能 - 在灾难混乱环境下难以实时传输 - 用边缘计算模型: - 实现数据采集的实时处理 - 实时共享信息 - 降低经数据中心中转时间 - 节省电能 ## 协同边缘 ![](https://www.proup.club/usr/uploads/2020/08/3014613444.png) 协同边缘是连接多个数据拥有者的边缘。 ## 挑战 ### 可编程性 - 计算流 - 沿着数据传输路径,在数据上执行的一系列计算/功能。 - 计算/功能 - 可以是某个应用程序的全部或部分函数 - 发生在允许应用执行计算的数据传输路径上 - 属于软件定义计算流的范畴 - 主要应用于: - 数据的设备端 - 边缘节点 - 云计算环境 ![](https://www.proup.club/usr/uploads/2020/08/1727284821.png) 各节点的数据通信方式:虚拟的共享数据视图 - 烟花模型管理器(firework manager) - 将组合数据视图的服务请求分解成若干子任务,并发送给每一个参与者 - 烟花模型节点(firework node) - 提供一组预定义的功能接口 - 用来计算生成视图 - 注册自己的数据集及相应功能 - 注册的数据集是对所有其他节点可见的 **我的理解:** 之前我想的“汇总+查询服务”的通信方式,和这个很像。 这也是“汇总+查询服务”,只不过汇总的不是数据的“值”,而是数据的“形”(或者说数据的“键”)。 这样的好处就是,对中央节点的硬件配置要求大大降低了,不需要太多的存储空间(因为数据保存在边缘节点里),也没有太多的计算量(计算任务分配给边缘节点)。 >边缘计算模型中协同问题(如同步、数据/状态的迁移等)是可编程性方面亟待解决的问题之一. ### 命名规则 >与计算机系统的命名规则类似,边缘计算的命名规则对编程、寻址、识别和数据通信具有非常重要的作用 - 命名数据网络(named data net-working, NDN) - [↑]提供了以数据为中心的网络分层结构命名规则和友好的服务管理 - [↑]保障了边缘计算具有可扩展性 - [↓]需要额外代理,来支持蓝牙、ZigBee等通信协议 - [↓]很难将设备硬件信息与服务提供商隔离,因此存在一定的安全隐患 - 移动优先(MobilityFirst) - [↑]将命名和网络地址分开,以更好地支持移动性 - [↓]命名规则需要一种全局唯一标识符,而在网络边缘环境下,固定信息聚合服务程序不需要这种标识符 - [↓]全球唯一标识符(GUID)不够人性化,使服务程序较难管理 **范围较小且固定的边缘环境:** ![](https://www.proup.club/usr/uploads/2020/08/86265959.png) 利用边缘操作系统给每个设备分配网络地址。 >当应用到城市级别的系统时,命名规则仍是一个待解决的问题。 ### 数据抽象 网关层实现对数据的预处理(如去噪、事件检测、隐私保护等),然后发给应用层。 有三种挑战: 1. 不同设备所传输数据格式的多样性。 - 有用的信息提取成表格,隐藏其他数据细节 - 编号(ID) - 名字(Name) - 时间(Time) - 数据(Data) ![](https://www.proup.club/usr/uploads/2020/08/3198061882.png) 2. 数据抽象程度的不确定性。 - 过滤较多源数据 - 导致一些应用或服务程序因无法获得足够信息而运行失败 - 保留大量源数据 - 数据存储和管理将是系统开发者所面临的另一种挑战 - 边缘设备发送的数据具有不可靠性 - 如何从不可靠信息源中抽象出有用的信息仍是一个技术挑战 3. 数据抽象的适用性 - 由于边缘设备的异构性,数据表示及操作也有所不同 ### 服务管理 1. 差异性 - 服务的优先级不同 2. 可扩展性 - 当某个设备损耗后,新的设备是否可以继续之前的服务 - 需要设计一种灵活且可扩展的边缘操作系统来实现服务层的管理 3. 隔离性 - 如果应用程序崩溃,如何保证系统能正常运行 - 引入/取消部署框架 - 如何隔离第三方程序与用户的隐私数据 - 服务管理层应该增加符合应用场景的访问控制机制 4. 可靠性 - 服务角度 - 实际情况下,难以确定服务失败的具体原因,如何降低终止服务的风险 - 采用无线传感网或者如PROFINET工业网络可作为可靠性的一种有效解决方案 - 系统角度 - 可以在系统层部署如故障检测、设备替换和数据质量检测等服务 - 数据角度 - 可靠性主要取决于数据感知和通信 - 低电量等不可靠情况下,边缘设备会发送精度较低的数据 - 如何利用多维参考数据源和历史数据,提供可靠的服务 ### 数据隐私保护及安全 1. 社会对隐私和安全的意识 - 例如弱密码的WIFI、默认密码的路由器、不安全的WIFI热点 2. 边缘设备兼顾数据收集者和所有者 - 网络边缘设备所收集的数据应存储在边缘 - 用户应有权限制服务提供商使用这些数据 - 为保护用户隐私,应在边缘设备中删除高度隐私的数据 3. 数据隐私和安全有效工具的缺乏 - 网络边缘设备资源有限 - 现有数据安全的方法并不能完全适用于边缘计算 - 网络边缘高度动态的环境也会使网络更易受到攻击 ### 理论基础 边缘计算是一种综合性很强的科学研究,横跨计算、数据通信、存储、能耗优化等多个领域. - 可以基于一种多目标优化的理论为基础, - 实现计算、数据通信以及能耗的综合最优; - 另一方面,可以分别在计算、通信、能耗等不同维度建立边缘计算相关理论基础 - 计算维度:计算维度上建立计算任务的负载均衡理论,指导云中心与边缘端的任务分配,实现云中心和边缘端计算能力的最大使用效率; - 通信维度:同时根据计算负载均衡和分布式系统理论,边缘端与云端的数据通信,最优化网络传输带宽; - 能耗维度:研究分布式多维边缘端设备能耗理论模型(如利用多维度李亚普诺夫理论),建立多边缘端的能耗效率模型,优化边缘端设备能耗,提高有限能量资源的利用率, - 此外,也可以根据类似李亚普诺夫可靠性理论,建立基于多边缘设备的边缘计算可靠性理论. ### 商业模式 - 边缘计算的商业模型 - 不仅是以服务为驱动,用户请求相应的服务, - 更多的将以数据为驱动 - 每个用户需求向数据拥有者(利益相关者)提供数据请求,然后云中心或是边缘端数据拥有者将处理的结果反馈给用户 - 由原来的中心-用户的单边商业模式转变为用户-中心、用户-用户的多边商业模式. ## 相关研究工作 ### 分布式数据库模型 数据存储在多台计算机上。 分布式数据库操作不局限于单台机器,而允许在多台机器上执行事务交易,以此来提高数据库访问的性能。 - 分布式数据库 - [↑]提供了大数据环境下的数据存储 - [↑]实现数据的分布式存储和共享 - [↓]较少关注其所在设备端的异构计算和存储能力 - [↓]所需的空间较大 - [↓]数据的隐私性较低 >边缘计算模型中数据位于边缘设备端,具有较高的隐私性、可靠性和可用性. 万物互联时代,“终端架构具有异构性并需支持多种应用服务”将成为边缘计算模型应对大数据处理的基本思路. ### P2P计算 - P2P计算 - 与边缘计算紧密相关 - 是较早将计算迁移到网络边缘的一种文件传输技术 - 研究主题: - 分散化 - 最大化可扩展性 - 容忍较高层节点流失 - 恶意行为防止 - 主要成就: - 分布式Hash表 - 后来演变为云计算模型中key-value分布式存储一般范式 - 广义Gossip协议 - 已被广泛用于非简单信息扩散的复杂任务处理类应用中,如数据融合和拓扑管理 - 多媒体流技术 - 视频点播、实时视频、个人通信等 >边缘计算模式源于P2P,但拓展了一些P2P中原来没有的新技术和新手段,将P2P的概念扩展到网络边缘设备,实现P2P计算和云计算的融合. ### 内容分发网络(content distribution networks, CDN) - 内容分发网络 - 基于互联网的缓存网络 - 通过在网络边缘部署缓存服务器来降低远程站点的数据下载延时,加速内容交付 >内容分发网络的缓存服务器与边缘计算模型中边缘服务器类似,均位于网络的边缘.但是,边缘计算模型的“边缘”不限制在边缘节点,还包括网络边缘的摄像头、智能手机、网关、可穿戴的计算设备和传感器等设备 ### 移动边缘计算(mobile edge computing, MEC) 移动边缘计算是在接近移动用户的无线电接入网范围内,提供信息技术服务和云计算能力的一种新的网络结构,并已成为一种标准化、规范化的技术。 - 边缘服务器 - 建立在云计算中心与边缘设备之间 - 完成终端数据的计算任务 - 移动边缘终端基本认为不具有计算能力 ### 雾计算(fog computing) - 雾计算 - 部署在网络边缘的雾服务器组成“雾层” - 避免云计算中心与移动用户之间多次通信 - 移动用户量巨大时,可以访问雾服务器中缓存的内容、请求一些特定的服务 - 雾服务器可以与云计算中心相连,并使用云计算中心强大的计算能力和丰富的应用和服务 边缘计算和雾计算的区别: - 边缘计算除了关心基础设施,也关心边缘设备,包括Things的管理等。 - 雾计算更多是指基础设施。 ### 海云计算 万物互联背景下,待处理数据量达到ZB级,信息系统的感知、传输、存储和处理的能力需提高3个数量级,同时整体能耗要保持在2010年的水准,也就是说,需实现1000倍每瓦性能的优化. “海云计算系统项目”目标是实现面向ZB级数据处理的能效要比现有技术提高1000倍,研究内容主要包括从整体系统结构层、数据中心级服务器及存储系统层、处理器芯片级等角度提出系统级解决方案. “海”端:由人类本身、物理世界的设备和子系统组成的终端(客户端) 海云计算关注“海”的终端设备; 边缘计算是从“海”到“云”之间的任意中间计算资源和网络资源。 海云计算是边缘计算的一个非常好的子集实例。 # 看完文献后的理解 并不是说“**边缘节点**解决边缘的局部问题,再由**中央节点**协调”。边缘计算解决的就是局部问题。 边缘计算不是为了“云计算任务从中央下放到边缘”,而是为了解决“万物互联”中的一系列问题。 - 让一个地理范围之内的所有边缘设备的互联/计算需求,就近解决,不再经过云计算中心。 - 解决隐私数据的安全问题。 首先在于:“一个地理范围内的所有**边缘设备**能更高效、更安全地彼此分享信息”。有烟花模型。 然后是:“这个地理范围内,有设备/系统能用这些信息来提供各种服务”。有边缘操作系统。 “一个地理范围内”,就是“边缘计算”所说的“边缘”。 边缘计算模型里,要有边缘设备,要有一个控制中心。 - 边缘设备 - 采集、存储数据。 - 向控制中心登记自己有哪些数据是可公开的。 - 提供查询接口,用于提供自己公开数据的视图。 - 可以向控制中心查询其他设备的公开数据。 - 可以向边缘操作系统请求各种服务 - 控制中心,或者叫边缘服务器 - 把查询任务分成子任务,调用相应边缘设备的查询接口。 - 搭载边缘操作系统,为边缘设备提供各种服务 - 不一定非要是独立的设备。可以由边缘设备(例如手机)兼任。 有一个要注意的,像温度传感器之类的,可以被视为“没有计算能力”的边缘设备,需要连接一个边缘服务器,共同构成一个“有计算能力”的边缘设备。 标签: none 本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭