最近在看 EC 和 Fog 方面的论文,发现很多论文都没有很好地区分这两个概念,往往是混为一谈的,仔细想想,我也感觉边缘与雾差别性不大,不是很好具体地区分。我又在网上收集了一些资料,总结为这篇博文,仅供参考。
边缘计算的各个定义
边缘计算与云计算一样,是一种计算的范式,更具体地说,是一种分布式的计算范式。
由于行业、技术背景等不同,边缘计算在不同人眼里是有一定差异的。我们先来看看不同专家是如何定义边缘的:
定义一
ETSI MEC ISG标准委员会的董事Alex Reznik,给了一个宽泛的定义:任何不是传统数据中心的都可以成为某个人的边缘节点。
Alex Reznik, Chair of the ETSI MEC ISG standards committee, has a broad definition, “Anything that’s not a traditional data center could be the ‘edge’ to somebody.”
这个定义有点高深抽象,过于宽泛,感觉等于啥也没说。…(⊙_⊙;)…
定义二
The State of the Edge report将定义限定为靠近最后一英里网络的服务器。
The State of the Edge report concentrates on servers “in close proximity to the last mile network.”
根据这个定义,贴近终端用户的服务器设备都算。比如靠近企业的微数据中心、基站内部署的容器化的边缘计算服务器等、CDN服务器、贴近游戏用户的游戏加速服务器等。
定义三
Gamelet论文定义边缘节点是距离移动端用户一到两个hop,能够满足实时游戏的响应时间约束。
Gamelet paper defines ‘the edge node is mostly one or two hops away from the mobile client to meet the response time constraints for real-time games’.
Gamelet系统基本上是一个分布式micro-cloud系统,像计算密集的任务如游戏模拟和渲染都卸载到Gamelet边缘计算节点,这些节点距离移动端用户只有几跳。
这个定义,是从游戏的延迟响应的角度来看的。例如微软的xCloud就可以归为这一类。
定义四
Philip Laidler,认为边缘计算是在用户端设备(CPE, Costumer Premise Equipment)上运行的工作负载。也有些人根据面向的用户类型,分别称之为用户端边缘计算、企业端边缘计算或设备端边缘计算。
Philip Laidler believes “edge compute includes workloads running on customer premises.” Some call this the customer, enterprise or device edge.
这个定义还不错,覆盖了用户、企业和物联网设备的各种场景。
用户端边缘计算:游戏加速、互联网CDN、MEC。
企业端边缘计算:边缘层视频监控分析、边缘层视频会议加速、边缘层机器学习。
设备端边缘计算:物联网边缘计算、车联网等。
定义五
边缘计算另外一个内涵更为窄的定义是:包括任何类型的计算机程序,通过更贴近请求侧来交付低延迟。
Another, more inclusive way to define “edge computing” is to include any type of computer program delivers low latency nearer to the requests.
这个定义只关注了低延迟,范围太窄,把边缘层机器学习、车联网V2X之类排除在外。CDN、游戏加速、物联网实时流处理都符合这个定义。
定义六
Karim Arabi,在IEEE DAC 2014 Keynote中,以及2015年的MIT的MTL Seminar的受邀演讲中,宽泛的定义边缘计算为云之外的在网络的边缘侧的所有计算,更具体的定义是云之外的需要实时数据处理的应用程序。
Karim Arabi, in an IEEE DAC 2014 Keynote and subsequently in an invited talk at MIT’s MTL Seminar in 2015 defined Edge Computing broadly as all computing outside Cloud happening at the Edge of the network and more specifically in applications where real-time processing of data is required.
在他的定义中,关注的是实时性。云计算处理的时大数据,而边缘计算处理的是Instant Data,传感器或用户产生的实时数据。
In his definition, Cloud Computing operates on “Big Data” while Edge Computing operates on “Instant Data” that is real-time data generated by sensors or users. 根据这个定义,游戏仿真渲染加速、传感器数据实时处理、车联网都属于这个范畴。
游戏处理的Instant Data就是游戏渲染数据、游戏仿真数据。
传感器的实时数据,就是各种物联网传感器的数据。
车联网的实时数据,V2X的数据。
定义七
在Edge Computing: A Primer一书中,边缘计算的定义是任何在数据源和云数据中心之间的计算和网络资源。
Here we define “Edge” as any computing and network resources along the path between data sources and cloud data centers. For example, a smartphone is an edge between body things and cloud, a gateway in a smart home is the edge between home things and cloud, a Micro Data Center (MDC) and a Cloudlet is the edge between a mobile device and cloud.
这个定义把数据源和云之间的所有设备都看成边缘计算设备。例如智能手机是body things和云之间的边缘计算设备,智能家居的网关是home things和云之间的边缘计算设备,微数据中心MDC和Cloudlet是移动设备和云之间的边缘计算设备。
Edge Computing VS Cloud Computing
Edge Computing VS Fog Computing
它俩的关键区别,在于数据处理的位置。
-
边缘计算中,数据是在贴近设备侧处理的。比如传感器的数据通过串口传输到直连的网关内,进行分析处理。
-
雾计算中,数据处理是在局域网中或连在局域网上的硬件进行处理的。因此,雾计算的数据是在局域网的网关或者雾计算节点上进行的。
-
边缘计算的计算靠近数据源。边缘计算更关注于物,而雾计算更关注于现场的网络基础设施。
简而言之,边缘计算将智能放在设备侧,而雾计算是放在局域网内。