AI的"最后一公里"?边缘计算

1,433 阅读5分钟

很火,至少过几年会更火🔥 火山引擎:当渲染遇上边缘计算,打造视频交互新模式

它究竟是何方神圣 Edge Computing

简单来说,在靠近用户的地方提供计算、存储、带宽等能力

它为什么会出现

  1. 根源的动力:加加速!

很多通信方面的努力都是为了信息交互的效率更高(就是要更快!)

为了让信息用更短的时间被用户接收到,我们从各个方面都做了努力:比如减少传输距离,加快传输速度,减少用户计算时间...

9788773a4d16e729562cfe93318f01c.jpg

基于cs架构,我们现在主要还是以云存储 和云计算作为主要的信息交互和处理的方式,然而随着物联网的发展,身边越来越多的终端设备(电脑、pad、手机、各种传感器)都需要联网与服务器通信,传统云计算架构无法满足爆发式的海量数据实时处理的诉求。

一个可行的解决方案是计算前移(计算力向着边缘下沉):当用户将自己的数据发送给云服务器的过程中,数据在经过的各种网关或者节点时,尽可能地先进行粗加工,给云服务器负担一定的压力。

云计算 vs 边缘计算

云计算: 用户提交数据请求到云服务器,服务器计算后返回结果; 边缘计算 用户提交数据到边缘服务器(比如基站),离用户更近;甚至直接使用用户的设备进行计算任务

云计算的劣势:延迟高、带宽低、不稳定

边缘计算 的优势:数据计算速度更快,对网络带宽的要求低

一个小问题,边缘计算和CDN是一回事嘛?

CDN:为了克服数据传输的延时和网络不确定性,侧重于传输能力

边缘计算:在边缘服务器/边缘设备基础上,侧重于计算能力

  1. 技术的支撑

硬件技术的突破推进科技进步,复杂的计算和学习任务可以由边缘服务器或边缘设备支持(边缘AI)

它能为我们做什么

大家也可以开开脑洞,如果我们拥有了近距离的计算能力,能在日常生活中带来哪些便利🤔

经典例子

  1. 低延迟

    1. 自动驾驶:扩大感知范围
    2. 医疗设备监控:实时报警
    3. AR、VR:实时计算
  2. 充裕的带宽

    1. 安全监控
    2. 视频会议、直播
  3. 边缘学习(与机器学习结合的场景,和上面的例子不属于同一个范畴)

  4. ......

边缘计算在字节

字节-架构边缘计算介绍

直播流的就近分发和就近访问,确保直播的低时延,降低中心带宽压力

边缘节点能够支持实时弹幕的边缘分发

虚拟穿戴、面部特效实时渲染

内测产品:Sparrow 边缘函数产品接入指南

边缘计算在前端

页面渲染:从SSR(服务端渲染) 到 CSR(客户端渲染),再到 ESR(边缘渲染)

两个参考标准: 1. 首次渲染的时长 FP(First Paint) 2. 首次可交互时长 TTI(Time To Interactive)

1. SSR(Server Side Rendering)服务端渲染

c14942c3adef882234bcb9c2965b2f7.jpg

  1. 暂时无法在飞书文档外展示此内容
  2.   缺点:首页白屏时间长、获取数据时间长

2. CSR(Client Side Rendering)+ CDN 客户端渲染

c444fc06418d01cf0b2f794b721715c.jpg

  1. 暂时无法在飞书文档外展示此内容
  2. 优点:减少白屏时间
  3. 缺点:静态、动态内容的串行请求导致渲染完整页面的时间增加

3. ESI (Edge Side Include) 边缘渲染

095151004308d8bbe8d453127ac5db5.jpg

  1. 暂时无法在飞书文档外展示此内容
  2.   先分割静态与动态内容,在边缘服务器分别进行处理并整合
  3.   优点:减少完整页面渲染时间
  4.   缺点:白屏时间没有减少

4. ESR(Edge Side Rendering)

869cd42954e56c17b1e455dd0087d55.jpg

  1. 暂时无法在飞书文档外展示此内容

  2.   几个优势:

  3. 静态内容较早返回,白屏时间短

  4. 动态内容由边缘更早发起请求,所以能更快渲染完整个页面

  5. 较少的连接数和较低的传输开销

ps:边缘计算在前端的应用目前不多,这个例子只是通过提高分发效率以加快页面渲染速度,可能也就用到了边缘服务器的两成功力🌄我会觉得更重要的是,AR、VR等等很多场景以前因为没有实时高性能的计算力被局限。而边缘计算的出现,能让我们越来越多的畅想有了落地的资本🏝

它的现状与挑战

  1. 边缘服务器的计算力与存储力不足

    1.   可能的解决方向:硬件设施提升,操作系统与隔离技术的辅助
  2. 数据安全与隐私问题

    1.   可能的解决方向:加密算法、其他不需要直接传输数据的方式
  3. 边缘设备之间的差异悬殊

    1. 更多指在边缘设备上部署学习任务
    2.   有限的通讯资源、有限且不可靠的设备、非独立同分布(Non-IID)数据
    3.   可能的解决方向:资源分配、激励制度、联邦学习

结尾

总~的来说,边缘计算本身只是人们希望把计算力能够迁移到更靠近边缘的设想,来支持现在越来越多的物联网设备,抵挡它们带来的洪水一样汹涌的数据量的增长。将计算资源放到边缘,可以极大提高数据的处理速度,并且节省了大量的带宽,让无人驾驶、智能城市等等概念能够一步一步的落地。

但在迁移计算力的途中,硬件软件等等各种的挑战是一定会面临的,所以目前边缘计算还处于起步的阶段。但是没关系,这个未来应该也很近👍

附录

偷懒没自己画的图片的来源: 图[1]来自p9.itc.cn/images01/20…

图[2] 来自 J. Yue et al., “A 65nm Computing-in-Memory-Based CNN Processor with 2.9-to-35.8TOPS/W System Energy Efficiency Using Dynamic-Sparsity Performance-Scaling Architecture and Energy-Efficient Inter/Intra-Macro Data Reuse”, ISSCC, pp. 234-235,2020.

图[4] 来自 ask.qcloudimg.com/http-save/d…