2. 南京大学 计算机软件新技术国家重点实验室, 南京 210023;
3. 南京大学 软件新技术与产业化协同创新中心, 南京 210023
2. State Key Laboratory for Novel Software Technology, Nanjing University, Nanjing 210023, China;
3. Collaborative Innovation Center of Novel Software Technology and Industrialization, Nanjing University, Nanjing 210023, China
虚拟现实(Virtual Reality,VR)和增强现实(Augmented Reality,AR)技术能够帮助用户在各类应用中获得更好的体验,如医生利用VR技术可以重复地模拟手术以寻找最佳手术方案,消费者借助AR技术可以在商场中实时查看各类产品信息。VR任务中对用户视野的3D实时渲染以及AR任务中对真实场景的实时识别均为计算密集型任务,由于用户终端计算性能有限,因此需要在远程云服务器上完成此类任务。然而,移动终端和远程云服务器之间带宽有限且网络不稳定,当终端发起与远程云服务器之间的大量实时数据传输时,网络延时会对应用效果造成较大影响。
在5G时代,移动基站可以作为边缘云计算节点取代远程云服务器的部分功能。相较于远程云服务器,边缘云计算节点到用户终端物理距离更近。一方面,边缘云计算节点到用户终端具有更高的传输速度;另一方面,由于物理距离近,因此可以对某些特定场景下的应用做更细致的优化。例如,同一个VR场景中的多个用户所需要渲染的视野图像都来自同一个虚拟世界建模,为这几个用户渲染的图像往往存在冗余,文献[1]针对此类冗余进行了优化,显著提升了VR应用的实时响应性能。
在一些AR应用中同样也存在着类似的冗余。以AR导航为例,在一个边缘云计算节点附近的AR导航用户往往具有非常相似的周边环境,那么在AR识别过程中,多个导航用户对环境的识别任务就会存在冗余。因此,如何利用这样的冗余来减少边缘云节点的计算量,提升整体的用户体验,成为一个有待研究的问题。
本文介绍基于缓存的AR性能优化方法,包括任务请求处理、边缘节点组织和缓存管理等方面的优化。在此基础上,对可部署资源有限场景下优化用户时延的问题进行数学建模,进而针对中小规模和大规模场景分别提出IDM和LDM算法,并通过实验验证算法性能。
1 相关工作本节介绍计算卸载、移动AR/VR应用、服务缓存放置和边缘计算资源管理等方面的相关工作。
在计算卸载方面,学者针对卸载内容、卸载时机、卸载方法等进行了大量研究[2-4]。WANG等人将边缘节点网络抽象成一个图结构,研究对于给定的基站集合如何放置单独的边缘节点,从而使一个节点服务于多个基站,以尽可能地均衡负载并降低访问时延[5]。本文将边缘节点网络抽象成一个自组织并定时同步的网络,关注当多个用户都卸载到同一个边缘云网络时可能存在冗余计算的问题。在此基础上,研究在原基站添加边缘节点功能的部署问题,在总部署代价有限的情况下,通过安排新增边缘节点的计算资源量以降低用户时延。
笔者着眼于边缘计算背景下移动AR应用的性能优化。在此之前,也有类似基于云计算的研究工作[6],例如:Glimpse通过缓存机制提升了识别准确率,使用触发帧选择的方法降低了无线传输时延[7];面向指纹识别设计的VisualPrint系统方案仅上传图像中最不同的特征,从而在低带宽的情况下对AR任务进行卸载[8]。类似于AR,VR也是边缘计算的杀手级应用,在此方面,LI等人设计了MUVR系统,在多用户的边缘云上对3D渲染的冗余任务进行优化,提升了应用性能[1]。本文根据AR和边缘计算节点的共同点做了进一步的优化:AR的环境识别与请求发出的位置密切相关,而被分配到的边缘计算节点往往也与请求发出的位置距离不远,因此,针对这样特定的环境,本文使用缓存来进行计算冗余消减,从而有效减少传输和计算开销。
当多个服务器在处理相似的内容时,使用缓存就可以避免不必要的重复处理。关于如何放置服务缓存的问题,之前的一些工作调研内容包括视频缓存到服务器的最优分配方案、减少数据传输量的最优缓存位置、在稠密蜂窝网络中的动态服务缓存等[9-11]。本文研究在基站具有边缘计算能力的场景下如何部署计算缓存的边缘服务器和分配有限的资源,从而使用户获得时延更低的使用体验。
在边缘云中,资源管理对于服务质量和系统效率有着重要作用。目前,学者主要对资源分配和任务调度进行研究,包括均衡网络节点负载以优化应用性能、动态适应环境变化、基于层次架构的启发式负载分配算法、最小化总的加权服务响应时间的在线任务分配与调度算法等[12-14]。考虑到直接为基站增加边缘计算功能可以避免单独部署边缘节点的较大开销,本文研究在可部署代价有限的情况下如何分配可部署的计算资源,从而使用户时延降到最低。
因为移动增强现实(Mobile AR,MAR)是在现实世界情境下应用的,所以快速准确的物体识别成为能够将虚拟世界与真实世界互相融合的关键环节[15]。现有物体识别方法包括传统方法[16-18]和基于深度卷积神经网络的方法[19-20]。训练深度卷积神经网络是目前较为流行的方法,但是要达到一定的精度需要不小的计算代价。Chameleon系统通过多节点协作,在计算资源投入和物体识别精度上取得了很好的权衡[19]。Focus系统通过使用简单的卷积神经网络构建近似索引,加快了对数据集的吸收和查询[20]。本文关注AR识别请求与其物理位置之间的关系,以缓存的方式对物体识别进行加速。
2 问题描述本节介绍基于缓存的冗余消减系统模型,对用户请求时延、用户轨迹预处理和节点部署做形式化表述,将问题聚焦于已知用户请求轨迹且部署总代价有限的情况下,如何为基站部署边缘节点的计算资源,以取得最低的平均时延,并证明此问题是NP-Complete的。
2.1 基于缓存的冗余消减 2.1.1 节点缓存本文考虑在一个城市中多个部署边缘计算功能的基站协作进行AR识别的场景。当一个移动终端需要发起任务请求时,它会寻找距离自己最近的基站并将任务相关数据传送出去。基站收到这样的请求后,首先会检查相关数据是否已经被计算过。如果自己计算过,则直接返回计算结果;如果在其他节点计算过,则将请求重定向到缓存所在节点,由缓存所在节点返回计算结果;如果没有计算过,则在当前节点进行计算并把结果缓存在当前节点中,并通知所有其他节点。
为避免冗余计算,本文设置缓存为全局式的,即在整个城市中任意一个位置的请求都只会被计算一次。一次典型的基于缓存的AR任务执行过程如图 1所示。
|
Download:
|
| 图 1 一次典型的基于缓存的AR任务执行过程 Fig. 1 A typical cache-based AR task execution process | |
要实现全局缓存,就需要全局节点通过一定方式保持同步。在本文构建的冗余消减模型中,全局节点自组织地形成一棵最小生成树(Minimum Spanning Tree,MST),每个节点只需要和父子节点周期性地发送保活报文即可维持此结构的正常运行。当节点离开或失效时,其父子节点就可以检测到,子节点直接连接到失效节点的父节点上。若根节点失效,则从根节点的子节点中随机选取一个作为根节点。在每个节点中维护一张如表 1所示的缓存表,以保存符合某些特征的数据是否已经被计算过并缓存至所在的节点。节点接收到新的请求时,会先查询这张表以获取缓存信息。若没有缓存,节点经过计算生成新缓存之后,它会通知其父子节点递归地更新所有节点的缓存表,具体过程如图 2所示。
|
下载CSV 表 1 全局缓存的缓存表 Table 1 Cache table for global cache |
|
Download:
|
| 图 2 缓存更新示意图 Fig. 2 Schematic diagram of cache update | |
由于信号随着距离增加而衰减,因此基站的服务范围通常情况下是一个以基站为圆心的圆。本文设基站的有效服务距离为
AR识别任务往往是一个计算密集型任务,因此,一个边缘服务器所具有的CPU核心数、主频以及GPU时钟速度、内存总线容量等计算资源参数对于AR任务的效率起到重要作用。考虑到相关参数往往是整数,本文把计算资源抽象为一个正整数
在AR识别请求中,输入的数据通常为图像视频信息。不同设备、不同用户在进行AR识别时分辨率和图像大小往往各不相同,因此,定义变量
对于一个位置为y且计算资源量为
1) 若请求数据已在服务器的缓存表中,则可以直接获取计算结果,此时用户时延包括数据传输时延与获取结果时延两部分。数据传输时延表示为
2) 若请求数据不在服务器的缓存表中,则节点需要先对请求数据进行处理并缓存,然后将缓存结果返回给用户,此过程的时延包括数据传输时延和数据处理时延。数据传输时延与上一种情况相同,为
对现有基站和云服务器的数据进行分析,得到AR用户的历史轨迹数据集
此外,通过对历史AR用户识别任务数据进行分析,可以得到识别任务结果重用的相关信息。本文将相互之间可以重用识别结果的请求称为同一类别,从而可以得到
| $ {K_{ij}} = \left\{ \begin{array}{l} 1, 第 j个请求属于第 i个类别 \\ 0, 第 j个请求不属于第 i个类别 \end{array} \right. $ | (1) |
对于属于同一类别的识别请求,其识别目标往往是相同的,如同一个路口、同一家商店等,显然这样的请求属于且只会属于一个类别,即:
| $ \sum\limits_{i = 1}^\kappa {{K_{ij}}} = 1{\rm{, }}\forall 1 \le j \le n $ | (2) |
对于每一个类别,系统会在最早的请求到来时计算一次,之后就可以直接返回缓存结果。考虑到每个类别第一次请求的特殊性,本文定义
根据收集到的用户轨迹信息,需要对边缘服务器节点部署位置进行决策。因为是在现有基站基础上新增功能,所以拥有候选基站位置集合
| $ \mathop {{\rm{min}}}\limits_h \{ {\rm{dist}}({\boldsymbol{x}_j}, {\boldsymbol{l}_h})\} \le r, \forall {\boldsymbol{x}_j} \in X $ | (3) |
因此,需要决策的就是在各个节点上分配的计算资源量
部署开销指为每个候选基站要部署特定计算资源量所付出的代价。因为不同的基站位置不同,具体情况也不尽相同,所以用集合
| $ \sum\limits_{h = 1}^m {{c_i}} {d_i} \le R $ | (4) |
其中,R为总部署代价上限。
2.5 总时延优化请求平均时延应当尽可能地小,以提升用户体验。由于请求数量为常数,因此等价于让所有请求的总时延最小,本文将其定义为:
| $ T = {T^{\rm{u}}} + {T^{\rm{c}}} $ | (5) |
其中,
未命中缓存的总时延即
| $ {T^{\rm{u}}} = \sum\limits_{i = 1}^\kappa {\sum\limits_{j:j = {g_i}} {\left( {\lambda \frac{{{s_j}}}{{{c_{\mathop {{\rm{argmin}}}\limits_{h:{c_h} > 0} \{ {\rm{dist}}({\boldsymbol{x}_j}, {\boldsymbol{l}_h})\} }}}} + \mu {s_j} \cdot \mathop {{\rm{min}}}\limits_{h:{c_h} > 0} {\rm{dist}}({\boldsymbol{x}_j}, {\boldsymbol{l}_h})} \right)} } $ | (6) |
命中缓存的总时延为同类别中第一次到达请求之后的请求时延之和,因此,需要计算各类别中所有序号大于
| $ {T^{\rm{c}}} = \sum\limits_{i = 1}^\kappa {\sum\limits_{j:{K_{ij}} = 1, j > {g_i}} {\left[ {\mu {s_j} \cdot \mathop {{\rm{min}}}\limits_{h:{c_h} > 0} \{ {\rm{dist}}({\boldsymbol{x}_j}, {\boldsymbol{l}_h})\} + \eta } \right]} } $ | (7) |
因此,所有请求总时延为:
| $ T = \lambda \sum\limits_{i = 1}^\kappa {\frac{{{s_{{g_i}}}}}{{{c_{f\left( i \right)}}}}} + \mu \sum\limits_{j = 1}^n {{s_j}} \cdot \mathop {{\rm{min}}}\limits_{h:{c_h} > 0} \{ {\rm{dist}}({\boldsymbol{x}_j}, {\boldsymbol{l}_h})\} + \eta (n - \kappa ) $ | (8) |
本文的优化问题描述为问题1:
| $ \begin{align} & \underset{C}{\mathop{\text{min}}}\, T \\ & \text{s}.\text{t}.\;\;\mathcal{C}1:\sum\limits_{h=1}^{m}{{{c}_{h}}}{{d}_{h}}\le R \\ & \;\;\;\;\;\;\;\;\mathcal{C}2:\underset{h:{{c}_{h}}>0}{\mathop{\text{min}}}\, \{\text{dist}({{\boldsymbol{x}}_{j}}, {{\boldsymbol{l}}_{h}})\}\le r, \forall {{\boldsymbol{x}}_{j}}\in X \\ & \;\;\;\;\;\;\;\;\mathcal{C}3:{{c}_{h}}\in \mathbb{N}, \forall 1\le h\le m \\ \end{align} $ | (9) |
其中,
由于优化目标函数中的求最小值操作难度较大,因此本文考察原问题中的一种特殊情况,即所有基站均部署边缘节点的情况。修改优化问题
| $ \mathcal{C}3:{{c}_{h}}\in {{\mathbb{N}}_{+}}, \forall 1\le h\le m $ | (10) |
在此约束条件下,由2.4节所述,基站集合
| $ T=\lambda \sum\limits_{i=1}^{\kappa }{\frac{{{s}_{{{g}_{i}}}}}{{{c}_{f\left( i \right)}}}}+\mu \sum\limits_{j=1}^{n}{{{s}_{j}}}\cdot \underset{h}{\mathop{\text{min}}}\, \{\text{dist}({{\boldsymbol{x}}_{j}}, {{\boldsymbol{l}}_{h}})\}+\eta (n-\kappa ) $ | (11) |
式(11)中唯一与自变量
| $ \begin{array}{*{35}{l}} \underset{C}{\mathop{\text{min}}}\, \sum\limits_{h\in F}{\frac{{{W}_{h}}}{{{c}_{h}}}} \\ \text{s}.\text{t}.\;\;\;\mathcal{C}1:\sum\limits_{h=1}^{m}{{{c}_{h}}}{{d}_{h}}\le R \\ \;\;\;\;\;\;\;\;\;\mathcal{C}3:{{c}_{h}}\in {{\mathbb{N}}_{+}}, \forall 1\le h\le m \\ \end{array} $ | (12) |
针对一个城市,所研究的任务与位置密切结合的MAR应用场景往往局限于少数区域,如AR导航可能集中在一些特定的复杂路口或繁华的中心地带,AR商场购物可能集中在购物中心区域。在一个请求量较为稀疏的较小范围内,基站数量
根据上文分析,在从问题
| $ {{c}_{h}}=1, \forall h\notin F $ | (13) |
设
由于分配给不在
由此得到一个只需对
| $ \begin{align} & \underset{C}{\mathop{\min }}\, \sum\limits_{u=1}^{\left| F \right|}{\frac{{{W}_{{{F}_{u}}}}}{{{c}_{{{F}_{u}}}}}} \\ & \text{s}\text{.t}\text{.}\;\; \mathcal{C}1:\sum\limits_{u=1}^{\left| F \right|}{{{c}_{{{F}_{u}}}}{{d}_{{{F}_{u}}}}\le {R}'} \\ & \;\;\;\;\;\;\mathcal{C}3:{{c}_{{{F}_{u}}}}\in {{\mathbb{N}}_{+}}, \forall 1\le u\le \left| F \right| \\ \end{align} $ | (14) |
其中,
观察发现问题
对于
| $ \begin{array}{l} {p_{i, j}} = \mathop {{\rm{min}}}\limits_{0 \le k{d_{{F_i}}} \le j} \left\{ {{p_{i - 1, j - k{d_{{F_i}}}}} + \frac{{{W_{{F_i}}}}}{k}} \right\}\\ 1 \le i \le \left| F \right|, 1 \le j \le R' \end{array} $ | (15) |
需要注意的是,所有的索引都从0开始计,
对于使式(18)取得最小值的
| $ {a_{i, j}} = {a_{i - 1, j - k}} \cup \{ {c_j} = k\} , 1 \le i \le \left| F \right|, 1 \le j \le R' $ | (16) |
问题3与普通非线性背包问题的不同之处在于,问题中除了决策变量以外,参数均为实数而非整数。但是对于中小规模的输入,可以通过将
本文通过设计动态规划算法IDM(Integral Delay Minimization)对上述问题进行求解,如算法1所示。首先对初始的特殊情况进行设置。对于
算法1 IDM
输入 各基站位置集合L,各基站单位部署开销D,请求数据集
输出 计算资源分配方案
计算各类别第一次请求序号
构造最近可用基站查找函数
计算各基站第一次请求总任务量集合
构造第一次请求的基站集合
对集合
计算动态规划问题的最大代价
构造
初始化
初始化
for i=1 to m do
for j=1 to
end for
end for
return
IDM算法的时间复杂度分析如下:计算
在一个用户终端密集、基站分布多的城市人流密集区域,数据集中的请求数量往往非常多,而基站数量也非常多,因此,总部署代价上限通常较高,这就导致动态规划算法会有很高的时间复杂度而不再适用,因此,本文研究大规模场景下的启发式算法。
4.1 大规模场景分析大规模场景有如下特征:
1) 请求量大。小规模场景中请求稀疏,相应类别较少,而大规模场景中会存在很多用户在很多位置发起请求的情况,这也导致其具有请求类别多的特征。当请求数
2) 基站密集,代价上限高。在小规模场景下,由于请求不多,因此稀疏部署的基站足以满足用户需求。在大规模请求场景中,为保证用户体验的流畅性,往往会部署很多基站,而该区域总可用代价也会很高。IDM算法中动态规划的时间复杂度为
因此,在大规模场景下,应选择在用户平均时延目标不降低太多的情况下时间复杂度较低的算法。经过观察可以发现,对于本文所研究的服务与位置紧密关联的AR识别任务,属于同一类别的任务往往是集中分布的,同类的任务集中在一个很小的区域中,而不同类的任务散布在整个区域中。IDM算法在寻找每个类别执行计算任务的基站时,对所有基站都进行了遍历,但实际上距离一个类别较远的基站基本上是不可能执行该类别的计算任务的,尤其是在大规模场景中,基站分布较为密集,一个类别的计算任务必然在其附近的基站执行。
根据以上分析可知,在寻找每个类别执行计算任务的基站时,并不需要遍历所有基站。同样地,在为每个基站决定其计算资源部署情况时,也并不需要遍历所有请求。那么,就可以把所有请求与基站按照空间分布进行切分,从而得到多个规模较小的子问题,对于每个子问题使用IDM算法求解后,再得到最终的解。
4.2 算法设计考虑到子问题中的基站与请求应在空间上聚集在一起,因此本文通过聚类对原问题进行切分。因为数据规模较大且对聚类密度和层次没有特殊需求,所以本文选择具有线性时间复杂度的K-Means聚类算法。
通过构造启发式算法LDM(Large-scale Delay Minimization)来求解大规模场景下的问题,如算法2所示。对各个类别的请求计算它们的中心点,即同一类别所有请求位置坐标的均值,得到中心点集合
算法2 LDM
输入 各基站位置集合
输出 计算资源分配方案
计算各类别中心点集合
对
初始化子问题集合
for all
end for
for all
if
将
end if
end for
初始化子问题解的集合
for all Pi∈P do
使用IDM算法(算法1)求解Pi得到Ci
end for
return
上文2.4节中提到,在解原问题的时候有一个最基础的假设——所有基站应该能够覆盖所有的请求位置。如果切分得到的子问题不能满足这一条件,那么就无法使用IDM算法对子问题进行求解。因此,在得到子问题集合
经过覆盖条件检查与合并,对新的子问题可以分别使用IDM算法求解。由于子问题之间相互独立,因此可以并行化完成求解这一过程,从而进一步加快本文算法的运行速度。子问题的解
假设大规模场景中基站、请求都是均匀分布的,那么平均每个子问题的基站数量、请求数量都是原问题的
本节分别模拟中小规模场景和大规模场景,对IDM算法和LDM算法进行实验分析,并使用直接均分和数值优化两种方法作为对比。直接均分法令所有
本节从研究场景和缓存模型两方面介绍模拟实验中的背景设置和相关参数。
5.1.1 研究场景本文研究500 m
对于本文的缓存模型:设置计算时延参数
本节按照中小规模的场景对IDM算法进行实验测试。在此场景下,基站足以覆盖研究区域的大部分地区,但是较为稀疏,因此,设置基站数量为30个且在研究区域中均匀分布。由于场景中请求不会太密集,因此设置请求数量为500个。此外,由于各个类别的请求数量往往不相同,但单个类别的请求不会太多,因此设置每个类别的请求数量在[1, 10]之间均匀分布。部署的总代价上限为500。本文将以此为基础,改变一些变量观察算法性能。
首先研究请求数量对于平均时延的影响,如图 3所示。当请求数量较少时,请求可能集中地被少数基站处理,因此,直接均分会使很多不需要执行任务的基站分配到较多的资源,导致需要计算的基站资源减少,从而增加时延。之后随着请求数量提升,请求分布更趋均匀,基站的任务分配也更均衡,所以,时延会有下降趋势。IDM算法的平均时延始终与数值最优的平均时延非常相近,保持在常数级的差别,由此可以看出IDM算法对最优的逼近效果较好,对于请求数量的变化表现也很稳定。
|
Download:
|
| 图 3 中小规模场景下请求数量对平均时延的影响 Fig. 3 Influence of number of requests on average delay under small and medium scale scenarios | |
在部署计算资源过程中,总代价上限会对整体系统性能造成较大影响。如图 4所示,随着总代价上限的提升,3种方法的平均时延均有所下降,而且不同部署策略之间的差异也会不断减小。这是因为当总代价上限提升时,各基站的计算资源逐渐充裕,由此部署策略对于总时延的影响也会减弱。可以看出,IDM算法从最开始的与数值最优略有差距,直到总代价上限为900时差距几乎消失,整个过程中两者的差距始终很小。
|
Download:
|
| 图 4 中小规模场景下总代价上限对平均时延的影响 Fig. 4 Influence of limit of total cost on average delay under small and medium scale scenarios | |
本节对大规模场景进行模拟,测试LDM算法的时延优化能力和执行时间。在1 000 m×1 000 m的矩形区域内进行研究。大规模场景中基站往往较为密集,所以将基站数量增加到了300个,是中小规模场景的10倍,仍然均匀分布在研究区域中。大规模场景中请求数量也会很多,因此,设置请求数量为5 000个。请求增多会带来类别的增加,但是每个类别中请求的数量往往不会有太多变化,因此,仍然设置每个类别的请求数量在[1, 10]之间均匀分布。由于请求数很多,部署资源时的总代价上限也随之提升,本文设置为5 000。此外,LDM算法本身有一个超参数ϕ用于调节子问题数量,设置为10。本文将以此为基础,变化一些参数观察算法性能。
考虑到请求数量是大规模场景中最重要的影响因素,因此本文研究在请求数量达到2 000以上的情况下,随着请求数量增加各部署算法平均时延的变化情况,如图 5所示。可以看出:直接均分法的平均时延上升极为缓慢,基本不变;LDM算法、IDM算法与数值最优的平均时延都在缓慢上升,增长也越来越缓慢;当请求数量越来越多时,LDM算法与数值最优的差距越来越小,不断逼近;在整个过程中,LDM算法的平均时延都与数值最优相差不多。由此可见,LDM算法更适用于存在大量请求的环境。
|
Download:
|
| 图 5 大规模场景下请求数量对平均时延的影响 Fig. 5 Influence of number of requests on average delay under large scale scenarios | |
LDM算法虽然平均时延略高于IDM算法,但是算法运行时间远低于IDM算法。在大规模场景下,IDM算法处理5 000个请求的平均时延为1 852 ms,运行时间为384 s,而LDM算法完成同样的任务平均时延为1 696 ms,运行算法却只需7 s,其速度是IDM算法的54倍,而平均时延却只增加了9%,这无疑是值得的。如图 6所示:随着请求数量的增加,IDM算法运行时间显著增加,而LDM算法的运行时间却始终保持在非常低的水平。由此可见,LDM算法对于大规模密集场景牺牲了少量的平均时延优化效果,却带来了大幅的运行时间缩减。
|
Download:
|
| 图 6 大规模场景下请求数量对运行时间的影响 Fig. 6 Influence of number of requests on running time under large scale scenarios | |
本文以边缘计算为背景,研究基于冗余任务消减的AR性能优化方法,针对AR任务的冗余性,设计冗余消减的系统结构,包括节点本地缓存生成与管理、全局缓存同步等。以现有缓存系统为基础,对如何为基站部署边缘服务器的计算资源以最优化平均用户时延的问题进行建模,并借助动态规划的思想设计求解整数问题的IDM算法。中小规模场景下的实验结果表明,IDM的平均时延只比实数最优解增加5.85%。此外,对大规模场景进行分析,并借助分而治之的思想,使用K-Means聚类将原问题切分成多个子问题用LDM进行分别求解,以加快算法运行速度。实验结果表明,相比于IDM算法,LDM算法在平均时延只增加9.20%的情况下,运行时间下降了98.15%。下一步将以更准确的真实场景建模和online任务调度为出发点对本文算法进行优化。
| [1] |
LI Yong, GAO Wei.MUVR: supporting multi-user mobile virtual reality with resource constrained edge cloud[C]//Proceedings of 2018 IEEE/ACM Symposium on Edge Computing.Washington D.C., USA: IEEE Press, 2018: 1-16.
|
| [2] |
HUANG D, WANG P, NIYATO D. A dynamic offloading algorithm for mobile computing[J]. IEEE Transactions on Wireless Communications, 2012, 11(6): 1991-1995. DOI:10.1109/TWC.2012.041912.110912 |
| [3] |
XU Jie, CHEN Lixing, REN Shaolei. Online learning for offloading and autoscaling in energy harvesting mobile edge computing[J]. IEEE Transactions on Cognitive Communications and Networking, 2017, 3(3): 361-373. DOI:10.1109/TCCN.2017.2725277 |
| [4] |
SUN Yuxuan, ZHOU Sheng, XU Jie. EMM: energy-aware mobility management for mobile edge computing in ultra dense networks[J]. IEEE Journal on Selected Areas in Communications, 2017, 35(11): 2637-2646. DOI:10.1109/JSAC.2017.2760160 |
| [5] |
WANG S, ZHAO Y, XU J, et al. Edge server placement in mobile edge computing[J]. Journal of Parallel and Distributed Computing, 2019, 127: 160-168. DOI:10.1016/j.jpdc.2018.06.008 |
| [6] |
CHATZOPOULOS D, BERMEJO C, HUANG Z, et al. Mobile augmented reality survey: from where we are to where we go[J]. IEEE Access, 2017, 5: 6917-6950. DOI:10.1109/ACCESS.2017.2698164 |
| [7] |
CHEN T Y H, RAVINDRANATH L, DENG S, et al.Glimpse: continuous, real-time object recognition on mobile devices[C]//Proceedings of the 13th ACM Conference on Embedded Networked Sensor Systems.New York, USA: ACM Press, 2015: 155-168.
|
| [8] |
JAIN P, MANWEILER J, ROY C R.Low bandwidth offload for mobile AR[C]//Proceedings of the 12th International Conference on Emerging Networking Experiments and Technologies.New York, USA: ACM Press, 2016: 237-251.
|
| [9] |
SHANMUGAM K, GOLREZAEI N, DIMAKIS A G, et al. FemtoCaching: wireless content delivery through distributed caching helpers[J]. IEEE Transactions on Information Theory, 2013, 59(12): 8402-8413. DOI:10.1109/TIT.2013.2281606 |
| [10] |
PRABH K S, ABDELZAHER T F. Energy-conserving data cache placement in sensor networks[J]. ACM Transactions on Sensor Networks, 2005, 1(2): 178-203. DOI:10.1145/1105688.1105690 |
| [11] |
XU Jie, CHEN Lixing, ZHOU Pan.Joint service caching and task offloading for mobile edge computing in dense networks[C]//Proceedings of INFOCOM'18.Washington D.C., USA: IEEE Press, 2018: 207-215.
|
| [12] |
JIA Mike, LIANG Weifang, XU Zichuan, et al.Cloudlet load balancing in wireless metropolitan area networks[C]//Proceedings of INFOCOM'16.Washington D.C., USA: IEEE Press, 2016: 1-9.
|
| [13] |
TAN Haisheng, HAN Zhenhua, LI Xiangyang, et al.Online job dispatching and scheduling in edge-clouds[C]//Proceedings of INFOCOM'17.Washington D.C., USA: IEEE Press, 2017: 1-9.
|
| [14] |
WANG Lin, JIAO Lei, LI Jun, et al.Online resource allocation for arbitrary user mobility in distributed edge clouds[C]//Proceedings of 2017 IEEE International Con-ference on Distributed Computing Systems.Washington D.C., USA: IEEE Press, 2017: 1281-1290.
|
| [15] |
JAIN P, MANWEILER J, ROY C R.Overlay: practical mobile augmented reality[C]//Proceedings of the 13th Annual International Conference on Mobile Systems, Applications, and Services.New York, USA: ACM Press, 2015: 331-344.
|
| [16] |
WAN Ying, HAN Yi, LU Hanqing. Research on moving object detection algorithm[J]. Computer Simulation, 2006, 23(10): 229-234. (in Chinese) 万缨, 韩毅, 卢汉清. 运动目标检测算法的探讨[J]. 计算机仿真, 2006, 23(10): 229-234. |
| [17] |
ARTH C, LIMBERGER F, BISCHOF H.Real-time license plate recognition on an embedded DSP-platform[C]//Proceedings of 2007 IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C., USA: IEEE Press, 2007: 1-8.
|
| [18] |
SHAIKH Z A, KHAN U A, RAJPUT M A, et al.Machine learning based number plate detection and recognition[C]//Proceedings of ICPRAM'16.Rome, Italy: SciTePress, 2016: 327-333.
|
| [19] |
JIANG J, ANANTHANARAYANAN G, BODIK P, et al.Chameleon: scalable adaptation of video analytics[C]//Proceedings of 2018 Conference of the ACM Special Interest Group on Data Communication.New York, USA: ACM Press, 2018: 253-266.
|
| [20] |
HSIEH K, ANANTHANARAYANAN G, BODIK P, et al.Focus: querying large video datasets with low latency and low cost[C]//Proceedings of the 13th USENIX Symposium on Operating Systems Design and Implementation.Carlsbad, USA: USENIX Association, 2018: 269-286.
|
2021, Vol. 47
