我们看这篇论文的目的在于看看它的研究问题定义是什么样的。
对于 Cloudlet Placement and Task Allocation 问题(CPTA),可以被描述为:
给定一个 AP 的集合
,一个云端 ,一个用户提交的任务请求集合 。CPTA 问题是要解决将 cloudlet 合理地放置在 上,然后将用户的任务合理地分配给相应的 cloudlet,以达到总能耗最小,同时用户的任务延迟约束条件能够满足。 这篇论文和我们的研究问题的不同之处在于:这篇论文是把 cloudlet 定义为处理任务的整个应用,而我们要放置的不是 “cloudlet”,而是要放置应用程序的各个模块。
Cloudlet Placement and Task Allocation in Mobile Edge Computing
System Model
Task Completion Delay Calculation
假设有 N 个 AP(Access Point,可以理解为用户将任务提交给的边缘服务器,服务就放置在这些 AP 上,在这篇论文中服务用 “Cloudlet” 来表示) 组成的集合
。 - 不同的 AP 之间通过链路连接,对于
,其任务传输速率为
假设云服务器用
来表示 因此,计算资源节点集合
,共有 N + 1 个计算资源节点 - 不同的 AP 之间通过链路连接,对于
对于放置了 Cloudlet(服务)的 AP,假设其计算能力为
,当和 Cloudlet 相关的任务被传输给该 AP 执行时,如果任务负载超过了 ,AP 可以选择将剩余的任务卸载到其他 AP 上(这些其他 AP 也是放置了对应 Cloudlet 的 AP)执行,或者直接将剩余的任务卸载到云端执行。 对于用户的任务请求
, 表示和该任务请求直接接入的 AP, 表示用户的延迟需求, 表示任务大小。这篇论文还假设任务是可以被划分为多个部分,这多个部分是能够在不同的 AP 上执行的。 - 传输延迟
更具体来说,对于放置在
这些 AP 上的 m 个 cloudlet 来说,它们分别执行了任务的一部分 ,任务请求 的剩余任务部分 被卸载到云端执行, ,则任务请求 r 的延迟为: ,$D_x = \left{ \right.$ 是 cloudlet 对任务量 的处理时间,用 来代替表示 cloudlet 对单位任务量的处理时间 是云端对任务量 的处理时间,用 来代替表示云端对单位任务量的处理时间
- 传输延迟
总结一下这篇论文对任务处理延迟的建模:任务是可以被划分为多个部分交由不同的计算资源节点执行的(当然这些计算资源节点需要放置了和任务相对应的 cloudlet),任务不同部分的延迟都包括执行时间和传输时间两部分,取任务的不同部分的延迟最大值作为任务最终的延迟,具体可以见论文中的例子。
- 我们的建模不用这么麻烦,我们就假设任务是不可分的。但是延迟 = 执行时间 + 传输时间是合理的。
Energy Consumption
- 能耗包含两部分:静态能耗(计算资源节点保持待机状态所必须的能耗) + 执行任务能耗(和执行任务时间有关)
表示的是计算资源节点的静态能耗, 是保持开机的时间 是执行任务的能耗, 表示的是任务大小,单位为 GB
Problem Definition
对于 Cloudlet Placement and Task Allocation 问题(CPTA),可以被描述为:
给定一个 AP 的集合
,一个云端 ,一个用户提交的任务请求集合 。CPTA 问题是要解决将 cloudlet 合理地放置在 上,然后将用户的任务合理地分配给相应的 cloudlet,以达到总能耗最小,同时用户的任务延迟约束条件能够满足。 为了更具体地公式化研究问题,给出以下定义:
:用户提交的任务请求集合 :将用户请求 中 部分的任务量给 AP n 执行 :将用户请求 中 部分的任务量由 AP n 传输给云端执行 :如果 cloulet 放置在 AP n 上, ,否则 :如果链接 (i,j) 处于使用状态, ,否则
目标:最小化能耗
约束:任务的延迟约束、任务量约束,AP 计算资源约束、任务分配约束
这篇论文将问题公式化描述为 混合整数线性规划 MILP 问题。所以它所提出的解决办法是针对如何去解决 MILP 问题了。