边缘计算:展望和挑战
《Edge Computing: Vision and Challenges》 by Weisong Shi
物联网爆发式的增长推动了新的计算范式:边缘计算。边缘计算是在网络的边缘来处理数据,解决响应时间的要求、电池寿命限制、带宽成本节省、以及数据安全和隐私。
云计算(2005年)改变了一切,比如:
- software as a sevice (SaaS):Google Apps, Twitter, Facebook等等。
- 可扩展设备和数据处理引擎:GFS,MapReduce,Hadoop,Spark等等。
物联网(1999年)一开始是为了供应链,现在广泛应用于健康、家庭、环境和运算,使得我们进入后云(post-cloud)时代,使得数据消费者变成了数据制造者和消费者。
论文结构:
- 第二部分:边缘计算的需求和定义
- 第三部分:案例研究
- 第四部分:可能的挑战和机遇
- 第五部分:总结
什么是边缘计算?
数据在网络边缘快速地产生,所以在网络边缘处理数据会更高效。之前有如下的相关工作:
- 小型数据中心
- 微云(cloudlet)
- 雾计算(fog computing)
因为云计算不总是高效,尤其是数据在网络边缘产生。
为什么我们需要边缘计算?
与数据高速产生相比,数据的网络传输变成了云计算范式处理数据速度的瓶颈。同时,绝大多数电气设备是物联网的一部分,既是数据生产者又是数据消费者,会产生巨量的数据,这个时候云计算来处理这些数据就变得不高效了:如果要传输这些数据要占用大量带宽和计算资源;另外数据保密性的要求也是云计算在物联网中的障碍;最后很多物联网的终端节点都是低功耗的,而无线传输是高功耗的,所以将一些计算任务给到网络边缘是高能效的。
图一是传统的云计算结构:数据产生后传输到云,数据消费者发送请求到云从而消费数据。
在云计算范式中,网络边缘的终端设备往往是数据消费者,但是现在人们也用他们的移动设备来生产数据。这种从数据消费者到数据生产者及消费者的转变使得网络边缘要设置更多功能,同时因为数据的隐私性,在网络边缘处理数据会比将源数据直接上传到云更好。
边缘计算的定义
边缘计算(edge computing)能够在网络边缘,靠近数据源的地方执行计算,并且在下游代表云计算服务,在上游代表物联网服务。
边缘(edge)是在数据源和云数据中心之间的计算和网络资源。
- 边缘计算:更关注万物(things)
- 雾计算:更关注设施(infrastructure)
图二显示的是边缘计算的双路计算流(two-way computing stream):万物不再仅是数据消费者,同时也是数据生产者,执行更多以前在云上执行的计算任务。
案例研究
云卸载(cloud offloading)
云计算相对较长的延迟使得用户体验变差,而由于移动云环境中能耗的权衡,大量研究阐述了云卸载技术。
在传统网络中, 只有数据会在边缘服务器中缓存,因为内容提供商在internet中提供数据。在物联网中,大量数据在网络边缘被生产和消费,那么在边缘计算范式中,数据和数据操作都应该在边缘被缓存起来。比如,在线购物服务:客户频繁操作购物车,如果购物车可以在网络边缘更新,而不是云服务器,所有延迟都将大幅减少。边缘服务器和云服务器可以在后台进行同步。另外,多个边缘节点在必要时进行数据同步。那么如上所述,延迟和用户体验都会极大地改善。
视频分析(video analytics)
智能手机和网络摄像头的普及使得视频分析成了新兴技术,云计算不太适合,因为视频传输时间太长,而且很可能涉及隐私,但是在边缘计算中,可以利用各类设备的数据和计算能力比云计算更快地得到结果。
在这个案例中,举了一个孩子丢失,边缘计算如何比云计算更好地帮助我们找回孩子的例子。
智能家居(smart home)
物联网技术会使得智能家居极大地收益,很多产品已经在市场上购买到,比如智能灯具、智能电视等等,但是仅仅是在现有家居设备里添加无线(wifi)模块是不够的。在智能家居中,不单是可连接的设备(connected device),便宜的无线传感器和控制器都应该被部署在房间的各个角落。这些设备会产生大量的数据,同时因为数据传输和隐私的考虑,这些数据应该当即在家中进行处理。在这里云计算范式是不太适合的。
在这个案例中,还简单地介绍了edgeOS。
智慧城市(smart city)
边缘计算范式可以灵活地从单一家庭扩展到社区,甚至整个城市。对于智慧城市而言,边缘计算的这些特性使得它可以是一个理想的智慧城市的平台:大数据量、低延迟、可位置感知的。
挑战和机遇
可编程性(programmability)
在云计算中,云提供商决定计算过程,这个计算过程、设施对用户基本是透明的;程序是在云上运行的。
在边缘计算中,计算是从云上卸载的,边缘节点很可能是异构平台。在这里,论文提出了计算流的概念:一系列功能和计算,应用于数据传播路径中的数据。
命名(naming)
在边缘计算中,设备非常多。在边缘节点上运行着很多应用,每个应用也有自己的设备,所以命名方案就变得非常的重要,但是边缘计算的命名机制还没有建立和标准化。
在这里,又略微详细地介绍了edgeOS。
数据抽象(data abstraction)
在这里,又是EdgeOS。
服务管理
要保证系统稳定,需要的特性:可区分性,可扩展性,隔离,可靠性。
- 可区分性:网络边缘会部署多个服务,不同服务有不同优先级。
- 可扩展性:大挑战。相对于移动系统,物联网中的设备更具动态性,可以通过设计一个灵活可扩展的服务管理层来解决。
- 隔离:需要解决的问题。
- 移动系统:应用崩溃了,整个系统会重启。
- 分布式系统:共享资源可以通过不同的同步机制如锁或令牌环等进行管理。
- EdgeOS:比较复杂。
- 可靠性:重要问题。
隐私和安全
在网络边缘,数据隐私和安全保护是重要服务。在物联网中,设备会收集大量隐私数据。有些隐私信息可以在处理数据之前剔除,这可能是一个不错的保护隐私和数据安全的方法。
数据的所有权,在移动应用中,终端用户的数据由服务提供者保存和分析。而数据留在产生数据的地方可以让用户更好地保护隐私。
在网络边缘上,保护隐私和数据安全的工具太少。
优化指标
在边缘计算中,有多个层次具有计算能力。要选择最佳的分配策略优化指标:
- 延迟:最重要的性能指标之一,特别是在交互式应用或服务中。云计算有强大的计算能力,能在短时间内处理非常复杂的任务。但是延迟不是由计算时间决定的,长网络延迟会对实时/交互式应用的行为产生深远的影响。为了减少延迟,最好在最近的物理层完成工作。
- 带宽:从延迟的角度来看,高带宽减少传输时间。对于短距离传输,可以建立高带宽来向边缘发送数据。如果数据在边缘进行处理,系统延迟将大大减少,也可以节省边缘与云端的带宽。
- 能耗:电池是网络边缘设备最珍贵的资源,将一部分工作在边缘完成可以节省能耗,不过,要在计算能耗和传输能耗间权衡。
- 成本:从服务提供者的角度来看,边缘计算提供了更少的延迟和能耗,从而增加数据吞吐量,改善用户体验,赚去更多的利润。
总结
在网络边缘,处理数据可以保证更短的响应时间和更好的可靠性,所以很多服务从云上迁移到了网络边缘,这样可以避免大量数据的传输,节省带宽。因为物联网和移动设备的普及,网络边缘从数据消费者转变成了数据生产者和消费者,所以在网络边缘处理数据更高效。论文中,提出了对边缘计算的理解和定义,列举了一些如智能家居,智能城市的,案例,来进一步介绍边缘计算的应用,最后提出了一些挑战和机遇:可编程性,命名,数据抽象,服务管理,隐私和安全防护以及优化指标。