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

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

Info

Publication number
CN113641448A
CN113641448A CN202110808605.3A CN202110808605A CN113641448A CN 113641448 A CN113641448 A CN 113641448A CN 202110808605 A CN202110808605 A CN 202110808605A CN 113641448 A CN113641448 A CN 113641448A
Authority
CN
China
Prior art keywords
container
layer
download
allocation
edge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110808605.3A
Other languages
English (en)
Inventor
贾维嘉
娄炯
唐志清
沈平
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhuhai Campus Of Beijing Normal University
Original Assignee
Zhuhai Campus Of Beijing Normal University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhuhai Campus Of Beijing Normal University filed Critical Zhuhai Campus Of Beijing Normal University
Priority to CN202110808605.3A priority Critical patent/CN113641448A/zh
Publication of CN113641448A publication Critical patent/CN113641448A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种边缘计算容器分配和层下载排序体系结构及其方法,所述的体系结构包括:包括UEs、边缘节点、调度器和容器仓库。所述的方法包括:镜像层分组,容器分配,镜像层下载排序;所述的容器分配包含了一种层感知的容器分配算法,所述的镜像层下载排序包含了一种贪心的镜像层排序算法。本发明可以有效降低了容器的总启动时间,且无需开发者修改容器***的结构。

Description

一种边缘计算容器分配和层下载排序体系结构及其方法
技术领域
本发明涉及信息技术领域,属于计算机网络中的分布式***领域、边缘计算领域,以及机器学习领域,涉及边缘计算和分布式***中的资源调度、机器学习的深度强化学习等方法。
背景技术
对于执行时间短(例如,处理来自物联网传感器的定期更新)或边缘计算中需要快速响应时间(例如,机器人运动)的应用程序,容器的启动延迟是一个非常棘手的问题。容器启动延迟包括从远程注册表获取(若本地不存在)容器镜像到其主机并安装它。在边缘计算中,由于带宽有限,镜像下载时间越长,启动延迟越大。镜像下载时间占据启动时间的大部分,因为镜像安装延迟较低(约1秒),在异构设备上也更稳定。此外,由于存储资源有限、用户动态移动、容器镜像数量庞大等原因,不可能预先将所有图像存储在每个边缘节点上。因此,大量容器启动时间成为亟待优化的问题。
近来有很多工作通过按需要获取镜像文件,提取镜像文件的公共部分,或者重新组织镜像来减少容器的启动延迟,这些工作需要修改容器或者整个***架构。也有相关工作通过考虑容器镜像在边缘节点上已存在层的大小来决定容器调度,以减少容器在部署节点上的启动时间。
目前有方法是通过修改容器文件结构或者容器***架构的方法来减少容器的启动时间会减少容器的隔离性,减小了容器的稳定性。但是这样的方法需要开发者花费大量时间修改其已经发布的容器。
直接根据在边缘节点上已有镜像层大小来决定容器调度的方法忽略了以下几点问题:首先是边缘计算中常见的多个容器共同调度的场景,目标是最优化多个容器的总启动时间。其次,在多个容器联合调度的场景中,镜像层的下载顺序会进一步影响到容器总启动时间。最后,边缘节点间下载带宽的异构性也会影响到容器的启动时间。
发明内容
为了克服上述问题,我们设计了一种边缘计算容器分配和层下载排序体系结构及其方法。本方法首先将被同一组容器进行共享的层进行分组以减小优化问题的规模,加快方法运行速度。其次同时考虑容器之间的层共享以及边缘节点上已有镜像层的大小依次选取一个容器放到合适的边缘节点上。最后,为了对每个边缘节点的镜像层下载进行排序,设计了一种边缘计算容器分配和层下载排序体系结构及其方法。
具体的包含以下内容:
一种边缘计算容器分配和层下载排序体系结构及其方法:所述的边缘计算的体系结构,包括UEs、边缘节点、调度器和容器仓库。所述的边缘节点通过无线通信与众多UEs连接。所述的每个边缘节点都拥有一个下载队列,所述的边缘节点根据其下载队列中的层序列依次从容器仓库下载镜像层。所述的调度器用于收集容器仓库和边缘节点的信息,所述的容器仓库为容器镜像存储库或存储库集合,容器仓库部署在云端。
进一步地,2、一种边缘计算容器分配和层下载排序体系结构及其方法:所述方法主要包含:(1)镜像层分组,(2)容器分配,(3)镜像层下载排序。
所述的镜像层分组为:与每个容器仓库具有相同关系的任意两层li,li′会被添加到同一组,将整个镜像层的组看做一个镜像层。
所述的容器分配为:选出一个容器仓库和一个边缘节点实施分配,按照层感知的容器分配算法确定容器仓库分配变量,所述的层感知的容器分配算法步骤具体为:
Figure BDA0003167445520000031
Figure BDA0003167445520000041
所述的镜像层下载排序为:首先我们将容器层按照西德尼分解(sidneydecomposition)法分成排序完毕的多个集合,然后对同一集合内的容器层按照容器为单位进行调度,按照贪心的镜像层排序算法对每一轮选择剩余大小最小的容器并下载其剩余的镜像层。所述的贪心的镜像层排序算法步骤具体为:
Figure BDA0003167445520000042
Figure BDA0003167445520000051
进一步地,一种边缘计算容器分配和层下载排序体系结构及其方法,容器仓库调度过程包括:
(1)多个UE卸载多个任务。
(2)调度器收集任务信息和边缘节点状态。
(3)根据收集到的信息,调度器做出容器仓库分配和层下载排序的决策。
(4)利用这些决策和其他先验信息,每个边缘节点拥有一个下载队列,并根据下载队列中的序列下载镜像层。
(5)每个容器仓库在下载完毕所有属于它的镜像层之后开始运行。
进一步地,所述的一种边缘计算容器分配和层下载排序体系结构及其方法,所述的层分组和容器分配方法在调度器中实现并运行,所述的层排序方法可以在每个节点的kubelet中实现。
进一步地,所述的一种边缘计算容器分配和层下载排序体系结构及其方法,所述的创建容器,包含以下步骤:
首先,用户通过接口调用API来初始化pod创建请求,
然后,调度器根据层分组和容器分配方法的输出,在选定的节点上创建pod并返回结果,
最后,每个节点的kubelet根据层排序方法的结果来管理镜像层下载,并在给定的pod中创建容器。
进一步地,一种边缘计算容器分配和层下载排序体系结构及其方法,所述的层感知的容器分配算法在每个循环中,通过计算
Figure BDA0003167445520000061
Figure BDA0003167445520000062
中的分数来选择容器和节点对,该分数由层共享和现有层大小组成。
进一步地,一种边缘计算容器分配和层下载排序体系结构及其方法,所述的镜像层下载排序中对同一集合内的容器层按照容器为单位进行调度,如贪心的镜像层排序算法中j←argminjpj所示,每一轮选择剩余大小最小的容器并下载其剩余的镜像层。
附图说明
图1是本发明的边缘计算的体系结构图,
图2是本发明实施例中开源容器管理***Kubernetes的结构图,
图3是本发明实施例中在均匀分布下,不同调度算法容器启动时间的CDF图,
图4是本发明实施例中在Zipf分布下,不同调度算法容器启动时间的CDF图,
图5是本发明实施例中在不同的最大容器运行数量的比较图,
图6是本发明实施例中在不同的最大带宽的比较图,
图7是本发明实施例中在不同的最大存储空间的比较图,
图8是本发明实施例中不同容器数的层分组对算法运行时间的影响参考图,
图9本发明实施例中不同边缘节点数量的层分组对算法运行时间的影响参考图。
具体实施方式
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
为了达到上述目的,我们首先对边缘计算当中容器调度与镜像层下载排序问题进行了建模,证明了该问题是一个NP难度问题。考虑到边缘节点的异构性与镜像层在多个镜像之间共享的特性,我们设计了一个镜像层感知的调度方法,并且讨论了该方法在开源容器管理***Kubernetes***上实现的可行性。最后基于仿真的实验证明了该方法的有效性。
在这里特意补充说明一下开源容器管理***Kubernetes的结构。Kubernetes集群至少由一个主节点和多个计算节点组成。主节点包括一个名为etcd的高可用键值数据库、一个用于公开API的API服务器、一个用于调度部署的调度器和一个用于管理整个集群的控制器。每个节点都是Kubernetes集群的主力,由许多pod和一个管理组件kubelet组成。在节点中,kubelet用于处理任务和管理pod。pod是容器的集合,是Kubernetes的核心管理单元。具体结构图参考附图2。
我们考虑的场景是异构的边缘计算环境,其包括多个用户设备(UEs)、一组异构边缘节点E={e1,e2,…,e|E|}、调度器和容器仓库。调度器用于收集容器和边缘节点的信息。然后,确定容器分配和层下载顺序。容器仓库是一个容器镜像存储库或存储库集合。容器调度过程包括:(1)多个UE卸载多个任务。(2)调度器收集任务信息和边缘节点状态。(3)根据收集到的信息,调度器做出容器分配和层下载排序的决策。(4)利用这些决策和其他先验信息,每个边缘节点拥有一个下载队列,并根据下载队列中的序列下载镜像层。(5)每个容器在下载完毕所有属于它的镜像层之后开始运行。
假设每个UE卸载在特定容器上运行的任务。因此,C={c1,c2,…,c|C|}既用于表示容器也用于表示所有任务。二进制变量ajk表示容器cj是否分配给边缘节点ek。如果将cj分配给ek,则ajk=1,否则ajk=0。每个容器cj应分配给一个边缘节点,这表示UE将任务cj卸载到边缘节点:
Figure BDA0003167445520000081
由所有容器组成的层集合表示为L={l1,l2,…,l|L|}。层li的大小定义为pi。关系变量rij用于表示层li和容器cj之间的关系。如果层li属于容器cj的图像,即容器cj需要层li,则二进制变量rij∈{0,1}设置为1,否则设置为0。在调度之前rij是已知的。层由不同的图像共享,因此边缘节点只需下载一次层。二进制变量dik∈{0,1}定义为是否在边缘节点ek上下载层li。边节点ek完成下载层li的时间定义为层li的就绪时间tl ik。容器cj的启动时间定义为tc j。在下载属于其图像的所有层之前,容器cj无法在边缘节点ek上开始运行,因此tc j大于其层在其指定的边缘节点ek中就绪时间:
Figure BDA0003167445520000091
边缘节点是部署在接入点的计算设备,它们通过低延迟无线通信与UE连接。边缘节点ek的存储、带宽和运行容器数限制分别定义为sk、bk和mk。存储在边缘节点ek中的层的总大小不能超过其存储限制:
Figure BDA0003167445520000092
有限数量的容器可以在边缘节点上同时运行:
Figure BDA0003167445520000093
假设每个边缘节点都拥有一个下载队列。边缘节点每次在队列的最前面(左侧)下载一层。下载队列中的层需要进行排序。边节点ek上li层和li′层的下载优先级定义为一个二进制变量xkii′∈{0,1}.如果xkii′设置为1,则层li应在层li′之前下载,否则,层li′应在层li之前下载。特别是,xkii等于1,确保每个层的就绪时间都包含自己的下载时间。此外,两层之间的优先顺序需是相对的:
Figure BDA0003167445520000094
而且,层与层之间的优先顺序的是可传递的,具体定义为:
Figure BDA0003167445520000101
同时考虑排队时间和下载时间,边缘节点ek上li层的就绪时间可以通过以下公式计算:
Figure BDA0003167445520000102
我们的目标是优化所有容器的启动时间之和。优化问题被表述为:
Figure BDA0003167445520000103
Figure BDA0003167445520000104
(9)中的变量M被设置为一个大的正数,例如|C|。(9)中的约束确保对于每个层li,当任何需要它的容器cj被分配到一个边节点ek(即,ajk=1),则应将层li下载到边缘节点ek即dik=1。否则,dik等于0以最小化下载量。通过归约的方法可以证明上述调度问题即使在只有一个边缘节点的情况下也是NP难度问题。
因此为了解决该问题,我们设计了一种层感知的启发式调度方法,该方法主要包含如下三个部分:
1.镜像层分组。与每个容器具有相同关系的任意两层li,li′会被添加到同一组当中,即,li,li′满足:
Figure BDA0003167445520000105
因为镜像的下载完成时间需要在其所有层就绪之后,因此镜像层分组后会在不影响调度结果的情况下,有效减少问题规模。其次,镜像层分组只需要遍历所有关系变量rij即可,其时间复杂度为O(|L||E|)。在后续两部分中我们将整个镜像层的组看做一个镜像层。
2.容器分配。我们每次都选出一个容器和一个边缘节点实施分配,主要考虑到两个重要因素:
(1)容器之间的层共享。若将容器分配给边缘节点而不考虑层共享,则不同的边缘节点倾向于下载重复的层,这会消耗额外的带宽。此外,下载冗余层也会增加排队延迟。因此,所有容器的总启动时间都会增加。
(2)每个边节点的现有层大小。仅仅根据容器和边缘节点之间的层共享将容器分配给边缘节点会导致不同边缘节点之间的工作负载不平衡。这样做虽然消除了冗余层下载,但它会使大部分镜像层下载在少数边缘节点上,使其他节点未冲分利用,从而造成较高的排队延迟。因此我们设计一种层感知的容器分配算法,即下面所说方法1,此方法1考虑到了上述两种因素:
Figure BDA0003167445520000111
Figure BDA0003167445520000121
在方法1中,输入是带宽集{bk|ek∈E},存储集{sk|ek∈E},运行容器数量限制{mk|ek∈E},层大小{pi|li∈L}和关系变量{rij|li∈L,cj∈C}。输出是容器的分配决策ajk。特别的,在每个循环中,通过计算第10行中的分数来选择容器和节点对,该分数由层共享和现有层大小组成。
镜像层下载排序。当容器分配变量确定时,二进制变量dik由分配变量ajk和方程(9)确定。将原始问题分解为|E|个独立的镜像层下载排序问题。对于每个镜像层下载排序问题,我们首先将其转化为单个机器上依赖任务的最小化加权总完成时间问题。SidneyDecomposition是解决该问题的有效方法,同时能达到2的近似比。因此我们基于西德尼分解法(Sidney Decomposition)设计了贪心的镜像层排序算法,即下面所说的方法2,具体步骤为:
Figure BDA0003167445520000122
Figure BDA0003167445520000131
在方法2当中容器层被分成多个集合。集合之间先后关系被Sidney Decomposition确定,不同集合内的容器层的先后关系因此也被确定。我们对同一集合内的容器层按照容器为单位进行调度,如方法2第15行所示,每一轮选择剩余大小最小的容器并下载其剩余的镜像层。
具体实施例
我们在模拟的环境下,用python3.6在一个具有Intel内核i710750h2.60GHz CPU和16gb ram的桌面电脑上实现了调度方法和仿真环境。在实验中,我们考虑了一个具有多个边缘节点的真实边缘计算场景。默认情况下,我们将带宽设置为10Mbps,边缘节点数设置为15,运行容器数限制设置为50,存储容量限制设置为20GB,容器总数设置为200,以及hyperparameterα为0.5。在默认设置中,容器有足够的容量来存储层和运行容器。
数据方面,我们从DockerHub收集了最新版本的5000个最受欢迎的镜像。为了与其他的调度方法进行比较,我们从爬取的数据集中选取了155个最常用的镜像。在过滤了大小为0的镜像层之后,总共有810个镜像层。155个图像的总大小为60gb,所有层的总大小为30gb。对于每个实验,所有容器是根据Zipf分布和均匀分布从上述155个图像中随机选择的。我们将Zipf的形状系数默认设置为1.1。对于每个实验,我们重复十次。
我们将本方法(简称LASA)与以下基准方法进行比较:
(1)随机调度(RS):每次根据分配顺序将容器随机分配给边缘节点和序列层。
(2)Layer match Scheduling(LS):对于随机顺序中的每个容器,选择一个边缘节点,该节点的大部分图像层存储在本地,并根据容器的分配顺序排列层。
(3)基于Sidney分解的调度(SDS):首先通过Sidney分解对所有容器排序,然后将每个容器连续分配给一个节点,直到达到设定阈值,然后通过方法2对每个边缘节点中的层进行排序。
(4)Kubernetes Scheduling(K8S):在Kubernetes中使用的调度策略,它将容器调度到本地存储所需图像的边缘节点,否则调度到下载大小最小的边缘节点。
在默认设置下,我们对比了不同调度方法在均匀分布和Zipf分布情况下的整体结果,具体如附图3和附图4所示。可以明显的对比出本方法(图中所示为LASA)的优点:对不同大小的容器,在不同的分布下,该方法都可以稳定的减少总启动时间。
同时,我们比较了不同方法在不同异构环境下的表现,具体为:
1、容器总启动时间在不同的最大容器运行数量的比较,结果如附图5,
2、容器总启动时间在不同的最大带宽的比较,结果如附图6,
3、容器总启动时间在不同的最大存储空间的比较,结果如附图7,
从上述实验结果图当中可以看出,本方法在不同的异构环境下相比基准方法均达到了更小的容器启动时间。
此外,我们对比了启用层分组与不启用层分组的方法运行时间,具体为:
1、不同容器数的层分组对方法运行时间的影响,结果如附图8所示,
2、不同边缘节点数量的层分组对方法运行时间的影响,结果如附图9所示。
通过对比可以发现:启用了层分组,可以有效减小50%-70%的方法运行时间。
通过具体实施方式和实施例可以明显得出,本方法有以下有益效果:
(1)本方法考虑到容器之间的镜像层共享,通过对多个容器的联合调度来减少容器的总启动时间。
(2)本方法考虑了一个异构的边缘计算场景中多个容器的联合分配。同时进一步考虑了容器分配完毕后,每个节点上镜像层的下载顺序;同时考虑容器分配和镜像层下载顺序可以最大化地减少多个容器的总启动时间。
(3)本方法通过镜像层分组的方法在不影响容器总启动时间优化结果的情况下有效减小了优化问题的规模。
(4)通过搜集DockerHub中的真实容器与镜像相关数据,并设计仿真实验,我们证明了相比其他调度方法,本方法有效降低了容器的总启动时间,且无需开发者修改容器***的结构。
以上所述仅为本发明的实施例,并非以此限制本发明的保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的***领域,均同理包括在本发明的保护范围内。

Claims (7)

1.一种边缘计算容器分配和层下载排序体系结构及其方法:所述的边缘计算的体系结构,包括UEs、边缘节点、调度器和容器仓库。所述的边缘节点通过无线通信与众多UEs连接。所述的每个边缘节点都拥有一个下载队列,所述的边缘节点根据其下载队列中的层序列依次从容器仓库下载镜像层。所述的调度器用于收集容器仓库和边缘节点的信息,所述的容器仓库为容器镜像存储库或存储库集合,容器仓库部署在云端。
2.一种边缘计算容器分配和层下载排序体系结构及其方法:所述方法主要包含:(1)镜像层分组,(2)容器分配,(3)镜像层下载排序。
所述的镜像层分组为:与每个容器仓库具有相同关系的任意两层li,li′会被添加到同一组,将整个镜像层的组看做一个镜像层。
所述的容器分配为:选出一个容器仓库和一个边缘节点实施分配,按照层感知的容器分配算法确定容器仓库分配变量,所述的层感知的容器分配算法步骤具体为:
输入:{bk|ek∈E},{sk|ek∈E},{mk|ek∈E},{pi|li∈L},{rij|li∈L,cj∈C}
输出:ajk
Figure RE-RE-FDA0003285845630000011
Figure RE-RE-FDA0003285845630000021
所述的镜像层下载排序为:首先我们将容器层按照西德尼分解(sidneydecomposition)法分成排序完毕的多个集合,然后对同一集合内的容器层按照容器为单位进行调度,按照贪心的镜像层排序算法对每一轮选择剩余大小最小的容器并下载其剩余的镜像层。所述的贪心的镜像层排序算法步骤具体为:
输入:{pi|li∈L},{rij|li∈L,cj∈C},bk,C
输出:
Figure RE-RE-FDA0003285845630000022
Figure RE-RE-FDA0003285845630000023
Figure RE-RE-FDA0003285845630000031
3.根据权利要求1所述的一种边缘计算容器分配和层下载排序体系结构及其方法,容器仓库调度过程包括:
(1)多个UE卸载多个任务。
(2)调度器收集任务信息和边缘节点状态。
(3)根据收集到的信息,调度器做出容器仓库分配和层下载排序的决策。
(4)利用这些决策和其他先验信息,每个边缘节点拥有一个下载队列,并根据下载队列中的序列下载镜像层。
(5)每个容器仓库在下载完毕所有属于它的镜像层之后开始运行。
4.根据权利要求1所述的一种边缘计算容器分配和层下载排序体系结构及其方法,所述的层分组和容器仓库分配算法在调度器中实现并运行,所述的层排序算法可以在每个节点的kubelet中实现。
5.根据权利要求1所述的一种边缘计算容器分配和层下载排序体系结构及其方法,所述的创建容器仓库,包含以下步骤:
(1)用户通过接口调用API来初始化pod创建请求,
(2)调度器根据层分组和容器仓库分配算法的输出,在选定的节点上创建pod并返回结果,
(3)每个节点的kubelet根据层排序算法的结果来管理镜像层下载,并在给定的pod中创建容器仓库。
6.根据权利要求2所述的一种边缘计算容器分配和层下载排序体系结构及其方法,所述的层感知的容器分配算法在每个循环中,通过计算
Figure RE-RE-FDA0003285845630000041
中的分数来选择容器和节点对,该分数由层共享和现有层大小组成。
7.根据权利要求2所述的一种边缘计算容器分配和层下载排序体系结构及其方法,所述的镜像层下载排序中对同一集合内的容器层按照容器为单位进行调度,如贪心的镜像层排序算法中j←argminjpj所示,每一轮选择剩余大小最小的容器并下载其剩余的镜像层。
CN202110808605.3A 2021-07-16 2021-07-16 一种边缘计算容器分配和层下载排序体系结构及其方法 Pending CN113641448A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110808605.3A CN113641448A (zh) 2021-07-16 2021-07-16 一种边缘计算容器分配和层下载排序体系结构及其方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110808605.3A CN113641448A (zh) 2021-07-16 2021-07-16 一种边缘计算容器分配和层下载排序体系结构及其方法

Publications (1)

Publication Number Publication Date
CN113641448A true CN113641448A (zh) 2021-11-12

Family

ID=78417622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110808605.3A Pending CN113641448A (zh) 2021-07-16 2021-07-16 一种边缘计算容器分配和层下载排序体系结构及其方法

Country Status (1)

Country Link
CN (1) CN113641448A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114194770A (zh) * 2021-12-27 2022-03-18 锐视智能(济南)技术研究中心(有限合伙) 一种对矩形瓶自动定向排序的送料装置
CN117850980A (zh) * 2023-12-25 2024-04-09 慧之安信息技术股份有限公司 基于云边协同的容器镜像构建方法和***

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114194770A (zh) * 2021-12-27 2022-03-18 锐视智能(济南)技术研究中心(有限合伙) 一种对矩形瓶自动定向排序的送料装置
CN114194770B (zh) * 2021-12-27 2024-02-20 锐视智能(济南)技术研究中心(有限合伙) 一种对矩形瓶自动定向排序的送料装置
CN117850980A (zh) * 2023-12-25 2024-04-09 慧之安信息技术股份有限公司 基于云边协同的容器镜像构建方法和***

Similar Documents

Publication Publication Date Title
US9442760B2 (en) Job scheduling using expected server performance information
CN109788046B (zh) 一种基于改进蜂群算法的多策略边缘计算资源调度方法
CN108182109B (zh) 一种云环境下的工作流调度与数据分配方法
Abad et al. Package-aware scheduling of faas functions
CN111381950A (zh) 一种面向边缘计算环境基于多副本的任务调度方法和***
CN114138486A (zh) 面向云边异构环境的容器化微服务编排方法、***及介质
CN107291536B (zh) 一种云计算环境下应用任务流调度方法
CN113641448A (zh) 一种边缘计算容器分配和层下载排序体系结构及其方法
CN110221920B (zh) 部署方法、装置、存储介质及***
CN112416585A (zh) 面向深度学习的gpu资源管理与智能化调度方法
WO2021180092A1 (zh) 任务调度方法和装置
CN115022311B (zh) 微服务容器实例的选择方法及装置
Fu et al. An optimal locality-aware task scheduling algorithm based on bipartite graph modelling for spark applications
Ijaz et al. MOPT: list-based heuristic for scheduling workflows in cloud environment
Mohamed et al. Hadoop-MapReduce job scheduling algorithms survey
CN111159859B (zh) 一种云容器集群的部署方法及***
CN112860383A (zh) 集群资源调度方法、装置、设备及存储介质
CN109062683B (zh) 主机资源分配的方法、装置及计算机可读存储介质
Garg et al. Heuristic and reinforcement learning algorithms for dynamic service placement on mobile edge cloud
CN107070965A (zh) 一种虚拟化容器资源下的多工作流资源供给方法
CN117539612A (zh) 基于混沌麻雀算法的ai训推平台任务调度方法和***
CN115361349B (zh) 资源使用方法和装置
Meddeber et al. Tasks assignment for Grid computing
CN116010051A (zh) 一种联邦学习多任务调度方法及装置
CN115080207A (zh) 基于容器集群的任务处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination