一种边缘计算容器分配和层下载排序体系结构及其方法技术

技术编号:30783752 阅读:13 留言:0更新日期:2021-11-16 07:45
本发明专利技术公开了一种边缘计算容器分配和层下载排序体系结构及其方法,所述的体系结构包括:包括UEs、边缘节点、调度器和容器仓库。所述的方法包括:镜像层分组,容器分配,镜像层下载排序;所述的容器分配包含了一种层感知的容器分配算法,所述的镜像层下载排序包含了一种贪心的镜像层排序算法。本发明专利技术可以有效降低了容器的总启动时间,且无需开发者修改容器系统的结构。结构。结构。

【技术实现步骤摘要】
一种边缘计算容器分配和层下载排序体系结构及其方法


[0001]本专利技术涉及信息
,属于计算机网络中的分布式系统领域、边缘计算领域,以及机器学习领域,涉及边缘计算和分布式系统中的资源调度、机器学习的深度强化学习等方法。

技术介绍

[0002]对于执行时间短(例如,处理来自物联网传感器的定期更新)或边缘计算中需要快速响应时间(例如,机器人运动)的应用程序,容器的启动延迟是一个非常棘手的问题。容器启动延迟包括从远程注册表获取(若本地不存在)容器镜像到其主机并安装它。在边缘计算中,由于带宽有限,镜像下载时间越长,启动延迟越大。镜像下载时间占据启动时间的大部分,因为镜像安装延迟较低(约1秒),在异构设备上也更稳定。此外,由于存储资源有限、用户动态移动、容器镜像数量庞大等原因,不可能预先将所有图像存储在每个边缘节点上。因此,大量容器启动时间成为亟待优化的问题。
[0003]近来有很多工作通过按需要获取镜像文件,提取镜像文件的公共部分,或者重新组织镜像来减少容器的启动延迟,这些工作需要修改容器或者整个系统架构。也有相关工作通过考虑容器镜像在边缘节点上已存在层的大小来决定容器调度,以减少容器在部署节点上的启动时间。
[0004]目前有方法是通过修改容器文件结构或者容器系统架构的方法来减少容器的启动时间会减少容器的隔离性,减小了容器的稳定性。但是这样的方法需要开发者花费大量时间修改其已经发布的容器。
[0005]直接根据在边缘节点上已有镜像层大小来决定容器调度的方法忽略了以下几点问题:首先是边缘计算中常见的多个容器共同调度的场景,目标是最优化多个容器的总启动时间。其次,在多个容器联合调度的场景中,镜像层的下载顺序会进一步影响到容器总启动时间。最后,边缘节点间下载带宽的异构性也会影响到容器的启动时间。

技术实现思路

[0006]为了克服上述问题,我们设计了一种边缘计算容器分配和层下载排序体系结构及其方法。本方法首先将被同一组容器进行共享的层进行分组以减小优化问题的规模,加快方法运行速度。其次同时考虑容器之间的层共享以及边缘节点上已有镜像层的大小依次选取一个容器放到合适的边缘节点上。最后,为了对每个边缘节点的镜像层下载进行排序,设计了一种边缘计算容器分配和层下载排序体系结构及其方法。
[0007]具体的包含以下内容:
[0008]一种边缘计算容器分配和层下载排序体系结构及其方法:所述的边缘计算的体系结构,包括UEs、边缘节点、调度器和容器仓库。所述的边缘节点通过无线通信与众多UEs连接。所述的每个边缘节点都拥有一个下载队列,所述的边缘节点根据其下载队列中的层序列依次从容器仓库下载镜像层。所述的调度器用于收集容器仓库和边缘节点的信息,所述
的容器仓库为容器镜像存储库或存储库集合,容器仓库部署在云端。
[0009]进一步地,2、一种边缘计算容器分配和层下载排序体系结构及其方法:所述方法主要包含:(1)镜像层分组,(2)容器分配,(3)镜像层下载排序。
[0010]所述的镜像层分组为:与每个容器仓库具有相同关系的任意两层li,li

会被添加到同一组,将整个镜像层的组看做一个镜像层。
[0011]所述的容器分配为:选出一个容器仓库和一个边缘节点实施分配,按照层感知的容器分配算法确定容器仓库分配变量,所述的层感知的容器分配算法步骤具体为:
[0012][0013][0014]所述的镜像层下载排序为:首先我们将容器层按照西德尼分解(sidney decomposition)法分成排序完毕的多个集合,然后对同一集合内的容器层按照容器为单位
进行调度,按照贪心的镜像层排序算法对每一轮选择剩余大小最小的容器并下载其剩余的镜像层。所述的贪心的镜像层排序算法步骤具体为:
[0015][0016][0017]进一步地,一种边缘计算容器分配和层下载排序体系结构及其方法,容器仓库调度过程包括:
[0018](1)多个UE卸载多个任务。
[0019](2)调度器收集任务信息和边缘节点状态。
[0020](3)根据收集到的信息,调度器做出容器仓库分配和层下载排序的决策。
[0021](4)利用这些决策和其他先验信息,每个边缘节点拥有一个下载队列,并根据下载队列中的序列下载镜像层。
[0022](5)每个容器仓库在下载完毕所有属于它的镜像层之后开始运行。
[0023]进一步地,所述的一种边缘计算容器分配和层下载排序体系结构及其方法,所述的层分组和容器分配方法在调度器中实现并运行,所述的层排序方法可以在每个节点的kubelet中实现。
[0024]进一步地,所述的一种边缘计算容器分配和层下载排序体系结构及其方法,所述的创建容器,包含以下步骤:
[0025]首先,用户通过接口调用API来初始化pod创建请求,
[0026]然后,调度器根据层分组和容器分配方法的输出,在选定的节点上创建pod并返回结果,
[0027]最后,每个节点的kubelet根据层排序方法的结果来管理镜像层下载,并在给定的pod中创建容器。
[0028]进一步地,一种边缘计算容器分配和层下载排序体系结构及其方法,所述的层感知的容器分配算法在每个循环中,通过计算知的容器分配算法在每个循环中,通过计算中的分数来选择容器和节点对,该分数由层共享和现有层大小组成。
[0029]进一步地,一种边缘计算容器分配和层下载排序体系结构及其方法,所述的镜像层下载排序中对同一集合内的容器层按照容器为单位进行调度,如贪心的镜像层排序算法中j

argmin
j
p
j
所示,每一轮选择剩余大小最小的容器并下载其剩余的镜像层。
附图说明
[0030]图1是本专利技术的边缘计算的体系结构图,
[0031]图2是本专利技术实施例中开源容器管理系统Kubernetes的结构图,
[0032]图3是本专利技术实施例中在均匀分布下,不同调度算法容器启动时间的CDF图,
[0033]图4是本专利技术实施例中在Zipf分布下,不同调度算法容器启动时间的CDF图,
[0034]图5是本专利技术实施例中在不同的最大容器运行数量的比较图,
[0035]图6是本专利技术实施例中在不同的最大带宽的比较图,
[0036]图7是本专利技术实施例中在不同的最大存储空间的比较图,
[0037]图8是本专利技术实施例中不同容器数的层分组对算法运行时间的影响参考图,
[0038]图9本专利技术实施例中不同边缘节点数量的层分组对算法运行时间的影响参考图。
具体实施方式
[0039]为使本专利技术实施方式的目的、技术方案和优点更加清楚,下面将结合本专利技术实施方式中的附图,对本专利技术实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本专利技术一部分实施方式,而不是全部的实施方式。基于本专利技术中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种边缘计算容器分配和层下载排序体系结构及其方法:所述的边缘计算的体系结构,包括UEs、边缘节点、调度器和容器仓库。所述的边缘节点通过无线通信与众多UEs连接。所述的每个边缘节点都拥有一个下载队列,所述的边缘节点根据其下载队列中的层序列依次从容器仓库下载镜像层。所述的调度器用于收集容器仓库和边缘节点的信息,所述的容器仓库为容器镜像存储库或存储库集合,容器仓库部署在云端。2.一种边缘计算容器分配和层下载排序体系结构及其方法:所述方法主要包含:(1)镜像层分组,(2)容器分配,(3)镜像层下载排序。所述的镜像层分组为:与每个容器仓库具有相同关系的任意两层li,li

会被添加到同一组,将整个镜像层的组看做一个镜像层。所述的容器分配为:选出一个容器仓库和一个边缘节点实施分配,按照层感知的容器分配算法确定容器仓库分配变量,所述的层感知的容器分配算法步骤具体为:输入:{b
k
|e
k
∈E},{s
k
|e
k
∈E},{m
k
|e
k
∈E},{p
i
|l
i
∈L},{r
ij
|l
i
∈L,c
j
∈C}输出:a
jkjk
所述的镜像层下载排序为:首先我们将容器层按照西德尼分解(sidney decomposition)法分成排序完毕的多个集合,然后对同一集合内的容器层按照容器为单位进行调度,按照贪心的镜像层排序算法对每一轮选择剩余大小最小的容器并下载其剩余的镜像层。所述的贪心的镜像层排序算法步骤具体为:输入:{p
i
|l
i
∈...

【专利技术属性】
技术研发人员:贾维嘉娄炯唐志清沈平
申请(专利权)人:北京师范大学珠海校区
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1