什么是边缘计算?

标签: 技术前沿, 知乎问答

保留所有版权,请引用而不是转载本文(原文地址 https://yeecode.top/blog/44/ )。

计算机领域的各种概念炒作层出不穷,而我又是一个偏实干的码农。就是从写代码做起,而不是悬在空中做一些概念。

所以当我看到“边缘计算”这一新概念之后,第一反应是看它是不是个纯炒作的概念。

然后调研和思考了一番。

别说,还真不是:

在介绍以上内容之前,先说一下边缘计算是什么。

“边缘”二字说的是边缘节点。这是一个网络概念,边缘节点是指那些离用户很近的、不在主干网络上的节点。用户在访问网络中的信息时,请求会先到达边缘节点,然后由边缘节点逐步转发到核心节点上。CDN部署的CDN节点其实就属于边缘节点,这样,用户请求静态资源时,可以在边缘节点上获得,而不需要经过层层转发后从核心节点获得。

“边缘计算”就是在边缘节点上展开计算。在此之前,如果有计算工作,需要边缘节点将请求转发到核心节点上进行。有了边缘计算,则计算工作可以在靠近用户的边缘节点上开展,不需要再到核心节点开展。

1、发展趋势分析

好多年以前,还在本科的我认准了物联网是未来的发展方向,然后侧重朝这方面发展。当然,事实证明,我的方向偏了,毕竟直到现在物联网也没大火过。

那时候,在我(和我的学校、实验室)受限的认知和受限的资金条件下,物联终端采集走的是“终端-上位机-互联网”的路线。终端与上位机之间通过有线或者无线的串口或者并口连接,上位机和互联网之间通过WIFI或者双绞线连接。

下面是本科发的某篇论文中的结构图,可以看到上位机的存在。

图片

而那时的界面也主要在上位机中开发。

图片

所以是以下的三层结构:

而其实终端可以跨过上位机和互联网相连的。但那时的相关技术还不成熟,有两点:一是终端采用的单片机难以驱动WIFI或者GSM模块;二是有一些上述模块,但真的很贵。所以这两点可以总结为一点:我那时太穷,买不起这些芯片。

是的,那时我们几个团队还经常互相借12864……

到后来,实验室有钱了。这些芯片不在话下,于是我甚至可以终端直接从近海采集数据传到互联网了,如下图。

图片

注意,这里回传的不是视频信号本身。而是一些其他的二值化后的信号。另外,这东西部署在一个近海的钻井平台上,照片中看到的是小岛。

这时变为了两层结构,如下:

以上有一个共同的特点就是终端的计算能力很弱,往往只能做数据采集。

曾经我们做项目时还做过数学计算表。就是单片机计算多级的三角函数等都太慢了,所以我们在单片机烧录完主程序后剩下的空间中全部烧录一个计算好的计算表,让单片机通过差别得出近似结果,而不是真正计算。可见,单片机计算能力真的很差,还有就是,计算能力差也有能力差的办法。

之后终端的计算能力并不是没有长进,但是,应用场景的复杂度长进的更快。例如,现在的智能音箱,需要完成自然语言处理等操作,终端显然无法完成。

那这时候,下面的两层结构基本没有改变。只是,终端可以具有展示功能。复杂的计算还是需要借助互联网的服务器集群完成。

对于服务器集群而言,它将要负责大量终端传来的计算任务。

图片

那此时,对其进行分流操作十分必要。边缘计算就是对互联网端的计算资源进行的分流。

因此,从趋势上看,边缘计算是顺应发展的。

2、工程实现分析

我们知道,分布式系统是有价值的,但是它的实现成本是极高的。各种分布式算法、分布式中间件绕晕了一群人。

而边缘计算的各个节点之间的网络距离更远,其实现可能比分布式系统更为复杂。如果真是如此的话,边缘计算将只能存在于理论界,难以落地。

然而,万幸,边缘计算的实施难度要比分布式系统低很多。

因为,它不需要追求节点间的一致性。

边缘计算的核心节点负责分配流量,一旦流量分配结束。则某个终端接下来的所有处理均由边缘节点完成,且在整个处理过程中,该边缘节点无需和其他边缘节点同步状态信息。最多,只需要和核心节点同步少量状态信息。

这使得众多边缘节点之间是解耦的,没有了共识、一致性的要求。其实现容易了很多!

然后唯一的难点在于计算逻辑的分发,这点类似于CDN中静态资源的分发,但要略微复杂。因为CDN中的静态资源可以被动同源站保持一致,而边缘计算节点的计算逻辑则要一一推送。但即使这样,实现难度也不大。因为,没有了一致性的要求,推送可以是逐个开展的,甚至可以是分批次地支持灰度测试的开展的。

因此,边缘节点是容易落地的。

3、最终收益分析

边缘计算是很有价值的,可以总结为以下几点:

可见,边缘计算真的很有价值。

4、再说一点

计算机系统的发展总是这样,分分合合。从终端到个人计算机,这是分;从个人计算机到超级计算机,这是合;从超级计算机到分布式系统,这是分。

而边缘计算,就是一次分,从唯一的计算集群分不到边缘节点;但从大视角看,它仍旧是合,所有的计算还是要在互联网上进行。

或许,等终端的计算能力真的突飞猛进,可以独立实现AI等复杂计算的时候,边缘计算才会寿终正寝。那时,也便迎来了真正的分。每个终端可以独立处理复杂事务。

所以,边缘计算是一次合中的分。

本文首发于个人知乎:易哥(https://www.zhihu.com/people/yeecode),欢迎关注。

作者书籍推荐