奥卡姆剃刀原理:如何理解云计算和边缘计算?



最近几年,经常冒出来一些新词,比如云计算和边缘计算。但相关的内容介绍往往又比较务虚,让人看了更加不知道它们都是什么。

今天的《科技参考》,我就依照奥卡姆剃刀原理,帮你理解一下云计算和边缘计算。

 

云计算可能还是你相对熟悉的概念。通俗来说,就是把计算任务从本地挪到远程,往往是挪到一个大的计算中心。在那里完成计算之后,再把计算结果返回本地。这样本地就不用部署很强的硬件搞计算了。

而边缘计算的介绍大都说,这是把一部分计算任务放在分散各处的本地去完成,这样可以减少云服务器的计算压力,也能缓解传输带宽上的压力。然后再套上其他流行词,比如边缘计算特别适用于物联网、车联网、AR / VR 等应用场景。

这样的介绍,往往让思维正常的人感到困惑:云计算和边缘计算的宣传话术难道这么精神分裂吗?一分钟前还说,把计算放在云端好处多多;而一分钟后又说,把计算放在本地缓解压力。这到底是因为什么呢?

其实,那些话都没有错,只不过都没有按照奥卡姆剃刀的原理进行阐述,所以看上去好像是在背课文。

奥卡姆剃刀原理并不是一个科学原理,它没有数学或者实验的证明,而是一个美学和价值观上的追求,经常被描述为“如非必须,勿增实体”。

只不过科学进展通常也都是在山穷水尽的时候喷涌而出的,于是往往就和奥卡姆剃刀原理有着同样的价值观,所以科学界也欣赏这样的价值观。

 

为什么要有云计算?

首先,我们按照“如非必须,勿增实体”的逻辑来理解一下云计算。

为什么一定要把计算任务放在远端的服务器上呢?因为有些任务的执行,必须是多点采集数据,然后再把多点数据汇集在一起,计算一番,计算后的那个结果才有价值。

比如,在早晚高峰时城区各处道路的拥堵状况的显示。必然需要成千上万辆车实时汇报自己的位置,然后画出它们的动态分布情况。最后再用图形界面在一张地图上把车辆密度渲染出来。这样的任务,是不可能在某个行驶的汽车里完成的,而是需要上传到一个终端。

同样的,监控街区里有没有在逃分子,那些摄像头采集的数据也都需要挨个分析,通过人脸识别比对出犯罪分子。这样的任务也不可能在每个摄像头里完成。

这就是奥卡姆剃刀里的“如非必须”,于是就只能增加云计算服务器等实体了。

云计算还有另外一种“必须增加实体”的应用场景,就是单个芯片的算力不足但又希望拥有很强的算力的情况。

比如,美国的所有芯片都限制出口给中国,中国有自己的芯片吗?当然有,比如龙芯。不过一直以来,龙芯在单位能耗下的性能都落后于当时市售量最大的那些芯片好几代。

这样的芯片用来运行办公软件还可以,运行复杂的任务就吃力了。而使用云计算的方式,可以把多几倍的低算力的芯片集成在一起,对外提供很强的性能。这也是一种在迫不得已下增加的实体。

当然,云计算之所以能成为主流的算力部署方式,更多还是因为在很多场景里,它比传统方案更便宜,能省钱就能增加利润,这其实也是“如非必须,勿增实体”的一种表现。

 

边缘计算解决了什么困难?

明白了云计算,那边缘计算又怎么用奥卡姆剃刀理解呢?它其实是为了应对云计算中不可调和的矛盾而出现的。

比如,我刚刚举过的一个例子,要监控街区里有没有在逃分子。按传统云计算的方式,就是这个街区部署的一万个摄像头,每个都把动态画面实时传输给 30 公里外的服务器,然后由服务器做统一计算分析。

要知道,那都是视频数据,一万个摄像头同时传输,这是一个不可想象的超大数据量。而传到服务器后,那边还要再集中处理。退一万步说,就算传输的带宽足够,接下来分析视频数据、比对出在逃犯所花费的时间也是巨大的。

逃犯的正脸也许是在晚上 6 点被清楚的拍下来的,结果算啊算,等他吃完晚饭又睡了一觉、第二天再次出发的时候,结果还没有比对出来。于是,这个监控街区的功能就很弱了。

还有,全自动工厂的流水线上,会有少量的不合格产品,它们从外观上就可以判断出来。如果把所有产品合格与否的视觉识别都放在云上,那可能带宽上造成了 10 秒延迟,云服务器计算又用了 5 秒钟来做识别,然后下达指令,把那个残次品标注出来。

你想,中间延迟了 15 秒钟,在一个无人的流水线上,真是很难再把这个残次品准确地标记出来了。这些都是云计算在具体应用里会遇到的困难,那该怎么办呢?

其实,就是看看主要的延迟都出现在了哪儿。首先就是带宽不足,其次就是图像识别。只要把这两部分问题解决好,就能做到实时跟踪逃犯,马上把不合格品打上标记。就是这样被迫的需求推动了边缘计算的出现。

具体实施办法是这样的:

先在每个摄像头下面都部署一个小计算机,采集到的数据先别往云上传了,直接在本地小计算机里算,比对一下看看是不是逃犯。对流水线残次品的监控也是这样的,盯着流水线的摄像头下面就有计算机,在这里直接做图像识别,不到一秒就能判断出是不是残次品。

然后,马上啪的一下贴一个标签上去,“不合格”。你看,中间几十秒或者几小时的延迟全都没有了。

而负责云计算的那个服务器呢,也不全闲着。当标记了在逃犯以后,它会根据摄像头实时跟踪的位置画出逃犯的逃跑轨迹,然后自动通知公安部门。而生产线对应的那个云服务器,也会把当前这个被识别为残次品的各种零件做溯源,找到责任人。

所以,边缘计算并不是一个独立存在的事物,它是寄生于云计算产生的困难中的一个解决方案。就像汽车的 ABS 防抱死系统不能独立存在,而必须依附在刹车系统之内一样。

 

什么是雾计算?

接着,我们还能依据奥卡姆剃刀原理,理解边缘计算里的一些其他结构。

比如,在一个摄像头下面安置一台计算机,但之前这个街区已经部署了 1 万个摄像头,已经严重超支了,没有多少经费再为每个摄像头下面安一台计算机了,怎么办呢?

可以让 10 个摄像头共用一台计算机。因为不是每个摄像头都会时时刻刻产生动态画面的。只要画面传输到这个管片计算机所需要的时间,和这台计算机做人脸识别的时间,不会长到追不上逃犯就可以了。

放在工厂的环境里也是这样。连到一个计算机上的采集设备也不会只有一个摄像头,那样太浪费了。

我们可以把温度传感器、烟感传感器等都连在这台处于网络边缘的计算机上,让它处理完这些设备的初步数据后,再把结果传给云服务器就可以了。

只不过,为了让所有设备最终都能和云服务器相连,它们之间需要满足一定的连接结构。这个连接条件其实是有数学证明的,今天,这个网络结构叫作 mesh。

而如果本地的那些摄像头要分析处理的任务太重,根本不是一台能塞进摄像头的计算机能解决的,那么干脆就在距离最近的 10 个摄像头的物理中心点,部署一组服务器。在远离云服务器的地方,搭建一个小型的云服务,然后让附近的设施和小型云服务器相连,让整个网络构成 mesh 结构。

今天,这类做法又被叫作边缘计算中的雾计算。

你发现了吗?不止是云计算、边缘计算,连边缘计算里的不同网络结构、边缘计算的分类也都可以通过奥卡姆剃刀原理从根本上理解。其实,它们都可以被理解为,在技术不到位或者钱不够的情况下做的权宜之计。

奥卡姆剃刀原理是一种务实的、追根溯源的价值取向。尤其是在对人类来说最困难、最糊弄不过去的问题上,这种思考方式往往是唯一行得通的。

这就是今天的全部内容。你平时有没有用过奥卡姆剃刀原理想问题呢?可以在留言区举个例子,分享给大家。

聯系郵箱:0xniumao@gmail.com