卸载技术的定义
卸载(Offloading)是一种将服务器、应用程序和相关数据移动到网络边缘的技术。这种技术可以增强个人设备或设备集合的计算需求,或者将云中处理设备请求的服务移至更接近数据源的位置。 卸载技术是雾/边缘计算中的关键技术之一,通过合理的资源分配和任务分发,实现了计算资源的优化配置。其优势:
- 减少延迟:将计算移至更接近用户的位置
- 提高性能:分布式处理提高整体系统性能
- 节省资源:优化资源利用和能耗
- 增强体验:改善用户的服务质量和体验
卸载的两个主要角度
1. 从用户设备到边缘的卸载 (Offloading from User Device to Edge)
这种技术通过使用边缘节点(通常距离一跳)来增强用户设备的计算能力。主要包括两种技术:
A. 应用分割 (Application Partitioning)
四种方法:
- 暴力破解法:探索所有可能的卸载计划组合(考虑云、边缘节点和用户设备),选择执行时间最短的方案
- 贪心启发式:专注于最小化移动设备上任务完成的时间
- 模拟退火:基于雾和云节点的利用率、总成本和应用完成时间来获得最小化成本和完成时间的卸载计划
- 模糊逻辑:使用模糊逻辑将用户设备的应用分割并放置在雾节点上
三种模型:
- 基于图的模型:如CloneCloud使用有向无环图(DAG)表示移动应用任务
- 基于组件的模型:将应用功能建模为组件,在边缘服务器和设备之间分割
- 基于神经网络的模型:将深度神经网络分布在用户设备、边缘节点和云之间
B. 缓存机制 (Caching Mechanisms)
- 分块和聚合:使用多无线接入技术(multi-RAT)架构进行上传缓存
- 基于反向拍卖游戏的机制:通过反向拍卖游戏激励缓存
2. 从云到边缘的卸载 (Offloading from the Cloud to the Edge)
这种方向的数据流相反,将工作负载从云移动到边缘。包括三种技术:
A. 服务器卸载 (Server Offloading)
复制方式:
- 数据库克隆:将应用的数据库复制到网络边缘
- 特定应用数据复制:特定应用选择将与用户相关的数据带到边缘
分割方式:
- 功能感知:将认知辅助应用所需的计算卸载到Cloudlet虚拟机
- 地理感知:如ENORM框架将游戏服务器分割并部署在边缘节点上
- 延迟感知:根据延迟要求将应用后端逻辑分割
B. 缓存机制
- 基于内容流行度的缓存:在边缘节点(如路由器和小基站)上缓存应用
- 多层缓存:在基站提供全局缓存,在边缘节点提供本地化缓存
C. Web编程
使用客户端-边缘-服务器架构,如Spaceify生态系统在边缘节点执行嵌入式JavaScript。