场景:云边协同,复杂且延迟敏感度低的任务卸载到中心云端进行处理,简单且延迟敏感度高的任务卸载到边缘云端进行处理
这篇论文考虑了两个问题:
- 物联网设备提交的任务应该交由哪个应用模块来执行 -> 动态的启发式任务处理算法
- 应用模块应该部署在哪个机器上 -> 改进的离散粒子群优化算法
- 考虑的因素是延迟和能耗
这篇论文通过使用 “矩阵” 的方式来描述应用程序模块和雾设备之间的放置关系。
IoT Application Modules Placement and Dynamic Task Processing in Edge-Cloud Computing
Introduction
- 对于 IoT 设备,中心云端计算需要面对以下问题:海量数据处理、有限的网络带宽、能耗负载、高任务处理延迟。为了较好地应对上述问题,提出用边缘节点来分担中心云端地任务负载,复杂且延迟敏感度低的任务卸载到中心云端进行处理,简单且延迟敏感度高的任务卸载到边缘云端进行处理。
- 在这种云边协同场景下,如何确定服务该部署在哪个机器上,IoT 设备提交的任务该交由哪个服务执行是需要考虑的,本文主要就是要解决这两个问题。
- 考虑的因素是延迟和能耗。
Problem Formulation
System architecture
云边协同的系统架构图如上图所示。主要有四部分组成:cloud server、 edge node layer Ⅱ、 edge node layer Ⅰ、 IoT device layer。
- IoT 设备将任务提交给与其直接关联的边缘服务器(edge node layer Ⅰ),edge node layer Ⅰ 中的边缘服务器会决定是将任务放在本地执行,还是交由同一层的邻居边缘服务器执行。
- 等任务处理完后,数据结果会被上传到 edge node layer Ⅱ。
- 等到所有任务处理完后,任务会返回给对应的 IoT 设备。
- 对于那些处理量大,延迟敏感度低的任务,会被直接上传给 cloud server 进行执行。
具体建模包括:
- 计算资源节点集合
- 每个节点
- 计算能力
- 计算能耗
- 计算能力
- 每个节点
- 计算资源节点之间的联系
- 每条边
- 带宽
- 带宽
- 每条边
- 计算资源节点集合
Energy Model
这篇论文关注的能耗包括云服务器的能耗和边缘服务器的能耗。
当没有任务在服务器
上执行时, 只有静态能耗 。当任务在服务器 上执行时, 的能耗为 。 这篇论文对服务器的能耗的计算是按阶段来划分的,当服务器的使用率变化了,会将服务器这个阶段内的能耗记录下来,然后累计计算服务器下个阶段内的能耗:
表示服务器 下个阶段的能耗 表示服务器 当前累计的能耗 表示当前系统时间 表示之前的系统时间 表示任务处理带来的服务器能耗的增加, , 表示服务器的利用率
数据传输的能耗
表示数据传输量 表示 和 之间单位时间内传输数据的能耗
Application Module
- 以两个常见的应用为例:城市安全领域的视频监控和智能医疗领域的血压监测。
- 城市安全领域的视频监控可以分为以下几个模块:
- Camera(摄像头)
- Motion detector(运动检测器)
- Object detector(物体检测器)
- Object tracker(物体跟踪器)
- Ptz control(云台控制)
- User interface(用户界面)
- 智能医疗领域的血压监测
- Blood pressure monitor(血压监测器)
- Patient client(患者客户端)
- Data analyzer(数据分析器)
- Diagnostic module(诊断模块)
- Client terminal(客户端终端)
- 可以看到,整个应用程序分为初始任务传输、中间任务处理和结束任务接收三个阶段,对应有不同的模块。
Proposed Algorithm
Dynamic Task Processing Algorithm
- 任务处理不是关注的重点,具体看论文
IoT Application Module Modulement
本文采用的是改进后的离散粒子群优化算法来对应用模块进行部署。
假设 IoT 应用有
- 每个应用有多个服务模块:
计算资源节点集合为
- 每个应用有多个服务模块:
我们要解决的是服务模块和计算资源节点集合之间的部署映射关系。考虑到 PSO 算法的核心公式:
将
表示为 N*M 的矩阵: 表示第 i 个服务模块部署在第 j 个计算资源节点上的百分比概率,取值范围 [0, 100]
将
表示为 N*M 的矩阵: 表示第 i 个服务模块是否部署在第 j 个计算资源节点上,$x_k^t(s_i,r_j) = \left{ \right.$
粒子的适应值函数
,这个适应值函数针对的就是能耗因素 这篇论文关于服务放置方面的算法主要关注于能耗,对于低延迟的满足好像主要是在
dynamic task processing algorithm
中实现的。
Experimental Results and Analysis
- 这篇论文并没有使用 baseline,而是以有无使用动态任务处理算法、有无使用优化后的离散粒子群算法作为比较组。