CN113641447A - 边缘计算中基于容器层依赖关系的在线学习型调度方法 - Google Patents

边缘计算中基于容器层依赖关系的在线学习型调度方法 Download PDF

Info

Publication number
CN113641447A
CN113641447A CN202110808603.4A CN202110808603A CN113641447A CN 113641447 A CN113641447 A CN 113641447A CN 202110808603 A CN202110808603 A CN 202110808603A CN 113641447 A CN113641447 A CN 113641447A
Authority
CN
China
Prior art keywords
task
container
layer
edge computing
dependency relationship
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
CN202110808603.4A
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 CN202110808603.4A priority Critical patent/CN113641447A/zh
Publication of CN113641447A publication Critical patent/CN113641447A/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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • 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/45579I/O management, e.g. providing access to device drivers or storage

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)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种边缘计算中基于容器层依赖关系的在线学习型调度方法。涉及边缘计算和分布式系统中的资源调度、机器学习的深度强化学习的方法,所采用的技术方案是:首先基于容器层的层面对边缘计算进行建模,考虑边缘计算中用户的任务完成时间,包括用户任务所需容器的下载时间,以及用户任务的运行时间。在此基础上,提出一个基于因式分解的算法,对边缘计算中容器层的依赖关系进行抽取,提取其中的高维和低维的稀疏依赖特征。最后,在基于提取的依赖关系以及任务、节点资源特征的基础上,设计一个基于策略梯度的学习型任务调度算法,并通过真实数据对整个流程进行验证。根据此发明所提供的方法可以对边缘计算中的资源进行更好的规划,减少边缘计算系统中的用户的任务的总体开销,以及边缘计算中容器运行时下载容器镜像文件所需开销。

Description

边缘计算中基于容器层依赖关系的在线学习型调度方法
技术领域
本发明属于计算机网络中的分布式系统领域、边缘计算领域,以及机器学习领域,涉及边缘计算和分布式系统中的资源调度、机器学习的深度强化学习的方法。
背景技术
传统的基于容器镜像调度的算法无法从更细粒度的层面考虑到容器层的存在关系,从而可能会导致非常多的重复下载,浪费边缘节点中有限的带宽和存储资源。其次,已有的基于层的调度算法仅考虑到边缘节点上层的大小,无法很好的考虑边缘节点的异构性,可用资源的动态性,以及调度时的前后任务之间的隐藏依赖关系。此外,对于传统的深度学习技术,无法很好的提取层之间的隐藏的依赖关系,所以无法直接应用在基于层的调度问题中。
为了克服上述问题,我们提出了一套基于容器层依赖关系的学习型调度算法,将边缘节点中的容器层的分布关系充分考虑,并考虑到边缘节点的异构性和资源的动态性实时性,使用基于因式分解等方法抽取其中的隐藏关系,并通过基于强化学习的技术来实现任务调度以获取长期收益。
发明内容
针对以上问题,本发明提出了为了对边缘计算中的资源进行更好的规划,减少边缘计算系统中的用户的任务的总体开销,以及边缘计算中容器运行时下载容器镜像文件所需开销。为了达到上述提到的目的,解决上面提到的问题,首先基于容器层的层面对边缘计算进行建模,考虑边缘计算中用户的任务完成时间,包括用户任务所需容器的下载时间,以及用户任务的运行时间。在此基础上,提出一个基于因式分解的算法,对边缘计算中容器层的依赖关系进行抽取,提取其中的高维和低维的稀疏依赖特征。最后,在基于提取的依赖关系以及任务、节点资源特征的基础上,设计一个基于策略梯度的学习型任务调度算法,并通过真实数据对整个流程进行验证。
具体的包含以下步骤:
1)对边缘计算系统构建新模型,所述新模型包括:远程云端、用户任务、容器、镜像文件、层文件;
2)对边缘计算中任务调度的主要开销进行建模,
3)对边缘计算中基于层依赖关系的任务调度问题进行建模;
4)采用基于无模型的策略梯度强化学习算法对问题进行求解,所述强化学习的内容包含一个策略优化算法的优势函数:
Aπ(s,a)=Qπ(s,a)-Vπ(s)
以及最大化长期的收益方法:
Figure BDA0003167447160000021
5)设计一个抽取容器层依赖关系的策略网络,
6)进行动作限制与选取,
7)训练强化学习的策略网络。
进一步地,所述的边缘计算中基于容器层依赖关系的在线学习型调度方法,所述1)中远程云端、用户任务、容器、镜像文件、层文件之间的关系为:在边缘计算中,用户生成不同的任务,并请求不同的容器。而每个容器的运行都需要一个镜像文件。每个镜像文件都需要若干个层文件,层文件可以被不同的镜像文件共享。若请求的镜像文件在本地不存在,那么从远程云端的仓库下载。
进一步地,所述的边缘计算中基于容器层依赖关系的在线学习型调度方法,所述3)对边缘计算中基于层依赖关系的任务调度问题进行建模,还包含:容器镜像的下载时间,以及用户任务的执行时间和任务调度一些限制条件,
所述的任务调度一些限制条件包含:每个节点同时运行的容器数量限制;每个层文件占用的存储空间不能超过总的存储大小限制;且每个任务只能调度到一个节点,不能同时被调度到多个节点。
进一步地,所述的边缘计算中基于容器层依赖关系的在线学习型调度方法,所述4)采用基于无模型的策略梯度强化学习算法,所述的强化学习还包含:任务的状态空间、任务的动作空间、回报函数三个方面;
所述的任务的状态空间包括任务节点和任务资源的状态;表示为:
Figure BDA0003167447160000031
所述的动作空间为所有边缘节点和云端的集合,表示为:at∈N∪{n|N|+1}
所述的回报函数表示为:rt=-Tk
进一步地,所述的边缘计算中基于容器层依赖关系的在线学习型调度方法,所述4)采用基于无模型的策略梯度强化学习算法,所述的优势函数
Aπ(s,a)=Qπ(s,a)-Vπ(s)
其中,Vπ(s)是值函数,定义为:
Vπ(s)=Eτ~π[R(τ)|s0=s]
此外,Qπ(s,a)是状态动作函数,定义为:
Qπ(s,a)=Eτ~π[R(τ)|s0=s,a0=a]
最后,损失函数L(θ),定义为:
Figure BDA0003167447160000041
其中,
Figure BDA0003167447160000042
是预估的优势函数,通过以下方法计算得到:
Figure BDA0003167447160000043
进一步地,所述的边缘计算中基于容器层依赖关系的在线学习型调度方法,所述5)的策略网络为:将因式分解算法有效的结合到神经网络中,形成一个基于因式分解和向量嵌入层的策略网络结构;
进一步地,所述的边缘计算中基于容器层依赖关系的在线学习型调度方法,所述6)动作限制与选取包含以下步骤:
首先,对于节点负载进行限制,不能超过其计算能力;
其次,对于节点存储资源进行限制,不能超过其存储空间。
最后,整体上,需同时满足以上两个限制。如果同时满足以上限制,那么这个动作是合理的,否则,动作将被重新选择。
进一步地,所述的边缘计算中基于容器层依赖关系的在线学习型调度方法,所述7)训练强化学习的策略网络包含以下步骤:
首先,初始化一个记忆空间,用来存储训练所需的历史数据。
其次,从环境中得到初始的状态,并使用现有策略进行调度。
最后,调度得到的结果存放在记忆空间,当历史数据1000以上时,那么开始训练网络并更新网络参数。第一轮训练完成后,进入下一个循环。
进一步地,所述的边缘计算中基于容器层依赖关系的在线学习型调度方法,所述的从环境中得到初始的状态,并使用现有策略进行调度,具体步骤如下:
首先,从环境中提取到状态信息之后,被输入到一个策略网络中,通过向量嵌入层、因式分解层、线性层、输出层各层之后,得到一个随机策略,
其次,根据这个策略选择一个动作。有了动作之后,从环境中获得动作的回报函数,并输入到一个值函数。
最后,值函数通过计算出一个值以及对回报函数进行计算,得到一个损失函数,并根据损失函数来更新策略网络。
进一步地,所述的边缘计算中基于容器层依赖关系的在线学习型调度方法,所述的任务资源包括所需的CPU资源以及请求的容器和任务的预估信息,所述的预估信息定义为:
Figure BDA0003167447160000051
Figure BDA0003167447160000052
Figure BDA0003167447160000053
附图说明
图1是本发明的边缘计算中用户任务、容器、层之间的关系,
图2是本发明的基于层依赖关系的学习型调度算法流程图,
图3是本发明的不同算法的累积分布函数图,
图4是本发明的基于层依赖关系的学习型算法的收敛情况,
图5是不同任务数量下算法在异构边缘计算中的表现(任务基于uniform分布生成),
图6是不同节点数量下算法在异构边缘计算中的表现(任务基于uniform分布生成),
图7是不同任务数量下算法在同构边缘计算中的表现(任务基于uniform分布生成),
图8是不同节点数量下算法在同构边缘计算中的表现(任务基于uniform分布生成),
图9是不同带宽下算法在同构边缘计算中的表现(任务基于uniform分布生成),
图10是不同容器数量、CPU频率、存储资源下算法在同构边缘计算中的表现(任务基于uniform分布生成),
图11是不同任务数量、节点数量、随机数种子下算法在异构边缘计算中的表现(任务基于Zipf分布生成)
图12是不同任务数量下算法在同构边缘计算中的表现(任务基于Zipf分布生成)
图13是不同节点数量下算法在同构边缘计算中的表现(任务基于Zipf分布生成)
具体实施方式
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
1、对边缘计算系统进行建模,充分考虑用户任务完成时间。让N={n1,n2,…,n|N|}表示一个边缘节点的集合,其中|N|是边缘节点的数量。此外,还有一个远程的云端,用n|N|+1来表示。一系列的用户任务K={k1,k2,…,k|K|}正在请求不同的容器,并且需要被调度到某个边缘节点或者是云端。为了处理用户任务,必须在边缘节点上创建不同的容器C={c1,c2,…,c|C|},每个容器都需要一个镜像文件来运行,而每个镜像文件都必须包含一系列特定的层文件。我们用L={l1,l2,…,lL}来表示层的集合。对于集合N中的每个节点n,它都有一个正在运行的容器的集合
Figure BDA0003167447160000071
一个本地层的集合
Figure BDA0003167447160000081
此外,每个节点还有CPU频率fn,带宽bn,以及存储资源dn。每个节点能运行的容器数量也有限制,最多可以同时运行Cn个容器。
此外,容器c∈C所需要的层的集合是
Figure BDA0003167447160000082
如果
Figure BDA0003167447160000083
那么容器c包含了层l,反之,如果
Figure BDA0003167447160000084
则容器c不包含层l。每个层l的大小是dl。对于在t时刻生成的用户任务k∈K,它请求的CPU资源是pk,请求的容器是ck。调度之后,任务分配的节点被表示为
Figure BDA0003167447160000085
其中
Figure BDA0003167447160000086
表示任务k被调度到边缘节点n,否则的话
Figure BDA0003167447160000087
2、然后对边缘计算中任务调度的主要开销进行建模,用户任务完成时间主要包括用户请求的容器的初始化时间,主要就是容器镜像的下载时间,以及用户任务的执行时间。为了计算下载时间,引入一个变量
Figure BDA0003167447160000088
如果层l在t时刻存在于节点n上面,那么
Figure BDA0003167447160000089
否则,
Figure BDA00031674471600000810
此外,变量
Figure BDA00031674471600000811
用来表示每个层l的下载完成时间,如果层l已经存在于节点n或者是还没开始下载,那么
Figure BDA00031674471600000812
有了上述这些定义之后,下载时间和运行时间分别可以表示为:
1.下载时间:
Figure BDA00031674471600000813
2.计算时间:
Figure BDA00031674471600000814
3.总时间:
Figure BDA00031674471600000815
此外,任务调度时存在一些限制条件。首先,每个节点的计算资源有限,所以每个节点同时运行的容器数量是有限制的:
Figure BDA0003167447160000091
其次,每个节点的存储资源也是有限的,所以层文件占用的存储空间不能超过总的存储大小限制:
Figure BDA0003167447160000092
最后,每个任务只能调度到一个节点,不能同时被调度到多个节点,这个限制可以表示为:
Figure BDA0003167447160000093
3.有了这些开销以及限制,我们就可以最终对边缘计算中基于层依赖关系的任务调度问题进行建模,可以将问题建模如下:
Figure BDA0003167447160000094
Figure BDA0003167447160000095
4.对上面问题进行建模之后,我们采用基于无模型的策略梯度强化学习算法对问题进行求解。强化学习主要包括状态空间、动作空间、回报函数、策略等几个方面。首先,对于状态空间,因为任务调度和节点的资源、任务本身的请求非常相关,所以这两个方面都被考虑进状态空间。对于每个节点,首先包含了每个节点上面的层的存在情况。以及每个节点上都存在一些资源的实时情况,包括带宽、CPU频率、以及实时的总共剩余所需下载时间。
然后对于每个节点,状态可以表示为:
Figure BDA0003167447160000096
以及所有节点的状态可以表示为:
Figure BDA0003167447160000097
此外,对于每个时刻需要处理的任务,任务本身的资源请求是非常重要的信息,包括所需的CPU资源以及请求的容器。除此之外,任务的一些预估信息也非常重要,包括:
Figure BDA0003167447160000101
Figure BDA0003167447160000102
Figure BDA0003167447160000103
最终,任务的状态空间可以表示为:
Figure BDA0003167447160000104
而整个边缘计算系统的状态并定义为:
Figure BDA0003167447160000105
之后,对于动作空间的定义,我们将动作空间定义为所有边缘节点和云端的集合,可以表示为:at∈N∪{n|N|+1}
最后,对于回报函数,可以定义为rt=-Tk
强化学习的目标是最大化长期的收益,长期收益可以定义为:
Figure BDA0003167447160000106
为了对强化学习进行训练以获取一个最优的策略,我们需要一个策略优化算法。对于策略梯度算法来说,一个优势函数是非常重要的,定义为:
Aπ(s,a)=Qπ(s,a)-Vπ(s)
其中Vπ(s)是值函数,定义为:
Vπ(s)=Eτ~π[R(τ)|s0=s]
此外,Qπ(s,a)是状态动作函数,定义为:
Qπ(s,a)=Eτ~π[R(τ)|s0=s,a0=a]
最后,损失函数定义为:
Figure BDA0003167447160000111
其中,
Figure BDA0003167447160000112
是预估的优势函数,通过以下方法计算得到:
Figure BDA0003167447160000113
6.有了这些定义之后,我们还需要设计一个可以很好抽取容器层依赖关系的策略网络。常见的基于卷积神经网络或者是循环神经网络的结构无法对稀疏特征进行很好的抽取,而使用向量嵌入层则无法很好的从不同维度来抽取特征。为了解决这些问题,我们将因式分解算法有效的结合到神经网络中,并设计了一个基于因式分解和向量嵌入层的策略网络结构。
最后,在进行动作选取的时候,强化学习可能会选到一些比较差或者明显是不合理的动作,比如将任务调度到负载很高的节点或者是存储资源明显不够的节点。为了尽可能避免这些情况,我们还需要对动作进行一些限制。首先,对于节点负载的一些限制:
Figure BDA0003167447160000114
其次,对于节点存储资源的一些限制:
Figure BDA0003167447160000115
最后,整体的限制:
Figure BDA0003167447160000116
如果
Figure BDA0003167447160000117
那么这个动作是合理的,否则,动作将被重新选择。
7.开始训练强化学习的策略网络。首先初始化一个记忆空间,用来存储训练所需的历史数据。然后从环境中得到初始的状态,并使用现有策略进行调度。调度得到的结果被存放在记忆空间,如果已有足够多的历史数据,那么开始训练网络并更新网络参数。如果训练完成,进入下一个循环。整个过程如下所示:
输入:s0
输出:π*
对于每个循环:
初始化D为空集,Dn=0,
重置环境,获取初始状态s0
对于每个时刻:
在环境中运行策略
Figure BDA0003167447160000121
将得到的信息(st,at,rt,rt(θ),st+1)存储到D,
Dn←Dn+1
如果Dnmod|D|=0
计算
Figure BDA0003167447160000122
和L(θ)
训练网络,更新参数θold←θ
如果训练完成:中断。
返回π*
以及动作选择流程如下所示:
输入:at
输出:at
初始化un=0
计算
Figure BDA0003167447160000123
循环,当
Figure BDA0003167447160000131
如果un≥uN
at=Nn+1,中断
重新采样at
un=un+1
计算新的
Figure BDA0003167447160000132
返回at
具体实施例
我们使用Python进行编程,模拟了边缘计算系统中的边缘节点、容器、镜像、层、用户任务、调度器等类,基于这些类,实现了一个模拟的边缘计算环境。在此基础上,实现了状态获取、动作选择、环境更新、策略网络训练、策略梯度计算、值函数更新等学习型算法所需功能。策略网络主要包括向量嵌入层、因式分解层、线性层。实验数据来自真实的容器仓库爬取的数据,经过数据清洗和预处理后,一共得到了70个镜像文件和337个层文件。
此外,一些实验的主要参数设置如下。每个节点的存储空间范围是5GB到15GB,并随机进行设置。每个节点的带宽随机设置为70Mbps到90Mbps。每个节点的CPU频率被随机设置为7GHz到9GHz之间。对于云端,带宽为100Mbps,CPU频率为10GHz。此外,默认的用户任务数量为2000个。
为了更好的比较算法效果,我们在任务基于uniform分布生成与任务基于Zipf分布生成的环境下,选取了以下几个基线算法做对比参考,具体如下:
第一个是目前最先进的基于层的调度算法Dep,这个算法会根据每个节点上层的大小计算一个得分,然后根据得分进行调度。
第二个算法是基于Dep修改的算法Dep-Soft,这个算法会设置一个阈值,会从所有得分超过阈值的节点中随机选择一个进行调度。
第三个算法是Kube,是目前容器调度默认算法之一,基于镜像文件进行调度,不会考虑到层依赖之间的关系。
第四个算法是Monkey,也就是一个随机算法。
第五个算法是Dep-Down,是基于Dep算法的基础上,额外考虑了下载时间。
第六个算法是Dep-Wait,是将Dep算法考虑的容器层的大小修改为等待时间。
第七个算法是Dep-Comp,是将Dep算法中考虑的层的大小修改为计算时间。最后实验结果下:
首先是在任务基于uniform分布生成对比如下:
1、不同任务数量下算法在异构边缘计算中的表现,如说明书附图5所示,
2、不同节点数量下算法在异构边缘计算中的表现,如说明书附图6所示,
3、不同任务数量下算法在同构边缘计算中的表现,如说明书附图7所示,
4、不同节点数量下算法在同构边缘计算中的表现,如说明书附图8所示,
5、不同带宽下算法在同构边缘计算中的表现,如说明书附图9所示,
6、不同容器数量、CPU频率、存储资源下算法在同构边缘计算中的表现,如说明书附图10所示;
然后再是任务基于Zipf分布生成的对比,具体如下:
1、不同任务数量、节点数量、随机数种子下算法在异构边缘计算中的表现,如说明书附图11所示,
2、不同任务数量下算法在同构边缘计算中的表现,如说明书附图12所示,
3、不同节点数量下算法在同构边缘计算中的表现,如说明书附图13所示。
通过以上可以发现发现,此发明所述的方法有以下有益效果:
1)本方法从容器层依赖关系角度进行建模,并从层的粒度进行调度,可以有效解决边缘计算中任务时延过长问题,有效减少任务的总体完成时间。
2)本方法提出了一套容器层依赖关系挖掘抽取方法和基于层依赖的策略梯度学习型调度算法,可以根据节点的层分布情况将用户的任务调度到最合适的节点。
3)本方法提出的基于深度强化学习的训练方法,可以有效的考虑到层依赖和分布情况,以及前后任务请求的层之间的隐藏的关系,从整体上优化调度结果。
4)本方法通过对边缘计算系统进行具体情况的分析,设定出有助于选择动作的回报收益函数,可以有效减少整个边缘计算系统中的用户任务完成时间,提升用户体验。
5)本方法基于真实的数据集进行测试,并具有很强的泛化能力,可以适用于各种异构的边缘计算环境中。
以上所述仅为本发明的实施例,并非以此限制本发明的保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的系统领域,均同理包括在本发明的保护范围内。

Claims (10)

1.边缘计算中基于容器层依赖关系的在线学习型调度方法,具体的包含以下步骤:
1)对边缘计算系统构建新模型,所述新模型包括:远程云端、用户任务、容器、镜像文件、层文件;
2)对边缘计算中任务调度的主要开销进行建模,
3)对边缘计算中基于层依赖关系的任务调度问题进行建模;
4)采用基于无模型的策略梯度强化学习算法对问题进行求解,
所述强化学习的内容包含一个策略优化算法的优势函数:
Aπ(s,a)=Qπ(s,a)-Vπ(s)
以及最大化长期的收益方法:
Figure FDA0003167447150000011
5)设计一个抽取容器层依赖关系的策略网络,
6)进行动作限制与选取,
7)训练强化学习的策略网络。
2.根据权利要求1所述的边缘计算中基于容器层依赖关系的在线学习型调度方法,所述1)中远程云端、用户任务、容器、镜像文件、层文件之间的关系为:在边缘计算中,用户生成不同的任务,并请求不同的容器。而每个容器的运行都需要一个镜像文件。每个镜像文件都需要若干个层文件,层文件可以被不同的镜像文件共享。若请求的镜像文件在本地不存在,那么从远程云端的仓库下载。
3.根据权利要求1所述的边缘计算中基于容器层依赖关系的在线学习型调度方法,所述3)对边缘计算中基于层依赖关系的任务调度问题进行建模,还包含:容器镜像的下载时间,以及用户任务的执行时间和任务调度一些限制条件,
所述的任务调度一些限制条件包含:每个节点同时运行的容器数量限制;每个层文件占用的存储空间不能超过总的存储大小限制;且每个任务只能调度到一个节点,不能同时被调度到多个节点。
4.根据权利要求1所述的边缘计算中基于容器层依赖关系的在线学习型调度方法,所述4)采用基于无模型的策略梯度强化学习算法,所述的强化学习还包含:任务的状态空间、任务的动作空间、回报函数三个方面;
所述的任务的状态空间包括任务节点和任务资源的状态;表示为:
Figure FDA0003167447150000021
所述的动作空间为所有边缘节点和云端的集合,表示为:
at∈N∪{n|N|+1}
所述的回报函数表示为:rt=-Tk
5.根据权利要求1所述的边缘计算中基于容器层依赖关系的在线学习型调度方法,所述4)采用基于无模型的策略梯度强化学习算法,所述的优势函数:
Aπ(s,a)=Qπ(s,a)-Vπ(s)
其中,Vπ(s)是值函数,定义为:
Vπ(s)=Eτ~π[R(τ)|s0=s]
此外,Qπ(s,a)是状态动作函数,定义为:
Qπ(s,a)=Eτ~π[R(τ)|s0=s,a0=a]
最后,损失函数L(θ),定义为:
Figure FDA0003167447150000031
其中,
Figure FDA0003167447150000032
是预估的优势函数,通过以下方法计算得到:
Figure FDA0003167447150000033
6.根据权利要求1所述的边缘计算中基于容器层依赖关系的在线学习型调度方法,所述5)的策略网络为:将因式分解算法有效的结合到神经网络中,形成一个基于因式分解和向量嵌入层的策略网络结构。
7.根据权利要求1所述的边缘计算中基于容器层依赖关系的在线学习型调度方法,所述6)动作限制与选取包含以下步骤:
首先,对于节点负载进行限制,不能超过其计算能力;
其次,对于节点存储资源进行限制,不能超过其存储空间。
最后,整体上,需同时满足以上两个限制。如果同时满足以上限制,那么这个动作是合理的,否则,动作将被重新选择。
8.根据权利要求1所述的边缘计算中基于容器层依赖关系的在线学习型调度方法,所述7)训练强化学习的策略网络包含以下步骤:
首先,初始化一个记忆空间,用来存储训练所需的历史数据。
其次,从环境中得到初始的状态,并使用现有策略进行调度。
最后,调度得到的结果存放在记忆空间,当历史数据1000以上时,那么开始训练网络并更新网络参数。第一轮训练完成后,进入下一个循环。
9.根据权利要求8所述的边缘计算中基于容器层依赖关系的在线学习型调度方法,所述的从环境中得到初始的状态,并使用现有策略进行调度,具体步骤如下:
首先,从环境中提取到状态信息之后,被输入到一个策略网络中,通过向量嵌入层、因式分解层、线性层、输出层各层之后,得到一个随机策略,
其次,根据这个策略选择一个动作。有了动作之后,从环境中获得动作的回报函数,并输入到一个值函数。
最后,值函数通过计算出一个值以及对回报函数进行计算,得到一个损失函数,并根据损失函数来更新策略网络。
10.根据权利要求4所述的边缘计算中基于容器层依赖关系的在线学习型调度方法,所述的任务资源包括所需的CPU资源以及请求的容器和任务的预估信息,所述的预估信息定义为:
Figure FDA0003167447150000041
Figure FDA0003167447150000042
Figure FDA0003167447150000043
CN202110808603.4A 2021-07-16 2021-07-16 边缘计算中基于容器层依赖关系的在线学习型调度方法 Pending CN113641447A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110808603.4A CN113641447A (zh) 2021-07-16 2021-07-16 边缘计算中基于容器层依赖关系的在线学习型调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110808603.4A CN113641447A (zh) 2021-07-16 2021-07-16 边缘计算中基于容器层依赖关系的在线学习型调度方法

Publications (1)

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

Family

ID=78417616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110808603.4A Pending CN113641447A (zh) 2021-07-16 2021-07-16 边缘计算中基于容器层依赖关系的在线学习型调度方法

Country Status (1)

Country Link
CN (1) CN113641447A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114257794A (zh) * 2022-03-02 2022-03-29 英特灵达信息技术(深圳)有限公司 一种视频分析算力调度方法及系统
CN114629959A (zh) * 2022-03-22 2022-06-14 北方工业大学 一种云环境中上下文感知的IoT服务调度策略生成方法
CN116974654A (zh) * 2023-09-21 2023-10-31 浙江大华技术股份有限公司 一种图像数据的处理方法、装置、电子设备及存储介质
CN117255126A (zh) * 2023-08-16 2023-12-19 广东工业大学 基于多目标强化学习的数据密集任务边缘服务组合方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114257794A (zh) * 2022-03-02 2022-03-29 英特灵达信息技术(深圳)有限公司 一种视频分析算力调度方法及系统
CN114629959A (zh) * 2022-03-22 2022-06-14 北方工业大学 一种云环境中上下文感知的IoT服务调度策略生成方法
CN114629959B (zh) * 2022-03-22 2023-11-17 北方工业大学 一种云环境中上下文感知的IoT服务调度策略方法
CN117255126A (zh) * 2023-08-16 2023-12-19 广东工业大学 基于多目标强化学习的数据密集任务边缘服务组合方法
CN116974654A (zh) * 2023-09-21 2023-10-31 浙江大华技术股份有限公司 一种图像数据的处理方法、装置、电子设备及存储介质
CN116974654B (zh) * 2023-09-21 2023-12-19 浙江大华技术股份有限公司 一种图像数据的处理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN113641447A (zh) 边缘计算中基于容器层依赖关系的在线学习型调度方法
WO2022077797A1 (zh) 量子线路的确定方法、装置、设备及存储介质
Wang et al. Fast adaptive task offloading in edge computing based on meta reinforcement learning
Shahriari et al. Taking the human out of the loop: A review of Bayesian optimization
Zuo et al. A multi-objective hybrid cloud resource scheduling method based on deadline and cost constraints
Kurdi et al. Multicuckoo: Multi-cloud service composition using a cuckoo-inspired algorithm for the internet of things applications
JP7451008B2 (ja) 量子回路の決定方法、装置、機器及びコンピュータプログラム
CN114721833A (zh) 一种基于平台业务类型的智能云端协调方法和装置
CN110008023B (zh) 基于遗传算法的云计算系统预算约束随机任务调度方法
Metzger et al. Realizing self-adaptive systems via online reinforcement learning and feature-model-guided exploration
Mehranzadeh et al. A novel-scheduling algorithm for cloud computing based on fuzzy logic
CN113240100B (zh) 基于离散Hopfield神经网络的并行计算方法及系统
Alqahtani Leveraging sparse auto-encoding and dynamic learning rate for efficient cloud workloads prediction
CN113762514A (zh) 数据处理方法、装置、设备及计算机可读存储介质
Zha et al. Coalition structure generation for partition function games utilizing a concise graphical representation
CN116582407A (zh) 一种基于深度强化学习的容器化微服务编排系统及方法
Tang et al. To cloud or not to cloud: an on-line scheduler for dynamic privacy-protection of deep learning workload on edge devices
Bengre et al. A learning-based scheduler for high volume processing in data warehouse using graph neural networks
Sakaue et al. Differentiable equilibrium computation with decision diagrams for Stackelberg models of combinatorial congestion games
Natarajan et al. Programming by rewards
Baresi et al. Training and Serving Machine Learning Models at Scale
CN111027709A (zh) 信息推荐方法、装置、服务器及存储介质
He Decision Scheduling for Cloud Computing Tasks Relying on Solving Large Linear Systems of Equations
CN112953845B (zh) 分布式系统流量控制方法及装置
CN114629959B (zh) 一种云环境中上下文感知的IoT服务调度策略方法

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