CN112506658A - 一种服务链中动态资源分配和任务调度方法 - Google Patents
一种服务链中动态资源分配和任务调度方法 Download PDFInfo
- Publication number
- CN112506658A CN112506658A CN202011433475.1A CN202011433475A CN112506658A CN 112506658 A CN112506658 A CN 112506658A CN 202011433475 A CN202011433475 A CN 202011433475A CN 112506658 A CN112506658 A CN 112506658A
- Authority
- CN
- China
- Prior art keywords
- virtual network
- chain
- function
- service
- network function
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 238000013468 resource allocation Methods 0.000 title claims abstract description 8
- 230000006870 function Effects 0.000 claims abstract description 237
- 230000002787 reinforcement Effects 0.000 claims abstract description 30
- 230000003111 delayed effect Effects 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims abstract description 6
- 238000004364 calculation method Methods 0.000 claims description 21
- 239000003795 chemical substances by application Substances 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 10
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 230000008901 benefit Effects 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 210000002569 neuron Anatomy 0.000 claims description 3
- 238000012549 training Methods 0.000 claims description 3
- 230000001960 triggered effect Effects 0.000 claims description 3
- 230000006855 networking Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种服务链中动态资源分配和任务调度方法,包括:获取到达的服务功能链的信息以及计算节点的资源信息;确定已到达服务功能链中虚拟网络功能的冗余数量;基于截止时间对虚拟网络功能任务进行排序;利用强化学习智能体决定排序后队首的虚拟网络功能是否延后调度;按照最早完成优先分配虚拟网络功能任务到计算节点上执行;重复以上过程,直到所有服务功能链都被成功调度。本发明在调度冗余服务功能链时,利用强化学习智能体,对之前已经分配计算节点的虚拟网络功能采用了概率性延后执行的方式,保证了每个服务功能链的可靠性执行,同时减少冗余实例对资源的占用,以提高的网络的资源利用率。
Description
技术领域
本发明涉及5G网络中服务功能链调度的研究领域,特别涉及一种应用于服务功能链的可靠性调度方法。
背景技术
软件定义网络(SDN)和网络功能虚拟化(NFV)在网络架构演进中扮演着至关重要的角色。传统的网络功能是通过专用的硬件设备来实现的,这种方式硬件成本高,并且维护困难。此外,还存在着网络僵化的问题(network coupling),即通过专用硬件设备构建的网络无法适应新型的网络服务请求,如果需要进行适配,则需要人工的重新加入设备并做好排布工作,而这个过程的时间成本是非常昂贵的,并且***的更新容易引入新的错误隐患,令***的可靠性下降。为了应对这个挑战,软件定义网络和网络功能虚拟化通过对传统基于专用设备实现的网络元件设备进行抽象,使用运行在通用服务器上的软件来完成这些网元的功能,从而减少了网络服务运营商的设备成本以及运维成本开销,同时大大增加了网络升级的灵活性和可操作性。
在网络功能虚拟化框架中,服务功能链(Service Function Chain,SFC)或服务链是由一组有序的虚拟网络功能(Virtual Network Function,VNF)组成。网络流量经过不同的VNF序列将形成不同的服务功能链,从而网络可以为用户提供不同的网络服务,如:防火墙、深度包检测、入侵检测***等。网络功能虚拟化通过对服务功能链中的网络功能进行虚拟抽象,使用软件实现的网络功能称为虚拟网络功能。在服务链中采用网络功能虚拟化,是因为其可以提供网络功能的高效部署和编排。互联网工程任务组(Internet EngineeringTask Force,IETF)的服务链工作组(SFC working group)以及开放网络基金会(OpenNetwork Foundation,ONF)提出了服务链的架构标准,给出了在运营商网络、移动网络、以及数据中心网中的用例。
为了达到网络的更高性能,目前存在一些服务功能链调度的方法来提高网络资源的利用率。基于整数线性规划的方法(ILP)在服务功能链调度中被广泛应用于确定最后的调度方法。然而,因为服务功能链调度问题是NP难的,这些方法可以找出调度最优解,但是时间效率非常低,只能适用于小规模的场景,无法扩展到大规模的实际运行场景。此外,为了达到网络服务更高的可靠性,服务功能链的执行需要引入冗余的虚拟网络功能实例,这些冗余的实例占用了额外的网络通信资源和计算资源,从而导致了更长的等待时间。因此,在5G网络中服务功能链调度器需要更加智能以在低时延和高可靠性之间进行权衡。一些已有的解决方案大多数基于离线的场景,如模拟退火算法(SA)、遗传算法(GA)和粒子群优化算法(PSO)等,这些方法都假设已知未来所有的服务功能链请求信息,基于这些全局信息来优化服务链调度策略。然而,这些方法无法在实际场景中应用,因为提前预知未来到达任务情况在实际网络中是难以达到的,真实的网络环境中请求的到达时随机无序的。因此,针对服务链调度问题,需要提出一种动态的调度策略才能符合实际网络场景的需求。
发明内容
针对现有技术存在的缺陷,本发明提供一种5G网络中服务功能链动态可靠性调度方法。本发明方法能够适应5G网络的低时延和高可靠性要求,同时基于在线的调度方式,能够应用在实际的网络环境中。
本发明至少通过如下技术方案之一实现。
一种服务链中动态资源分配和任务调度方法,包括以下步骤:
S1、获取到达的服务功能链的信息以及计算节点的资源信息;
S2、获取已到达服务功能链中虚拟网络功能的冗余数量;
S3、基于截止时间对虚拟网络功能任务进行排序;
S4、利用强化学习智能体决定排序后队首的虚拟网络功能是否延后调度;
S5、按照最早完成优先分配虚拟网络功能任务到计算节点上执行;
重复以上过程,直到所有服务功能链都被成功调度。
优选的,服务功能链是由各种类型的虚拟网络功能(VNF)串联组成,前驱VNF结点在计算节点上执行完毕后后继VNF结点才能开始执行;
令S表示网络中到达的服务功能链的集合,令si∈S表示第i个服务功能链,令F表示虚拟网络功能的集合,令f∈F表示某个类型的虚拟网络功能,令wf表示虚拟网络功能f的计算负载;
对于服务功能链si,令sij表示第i个服务功能链中的第j个虚拟网络功能,其中sij∈F,令Θi表示第i个服务功能链的可靠性要求,服务功能链的可靠性要求定义为能够成功执行完成整条服务功能链的概率,即该服务功能链中每个虚拟网络功能都被成功执行的概率;令Φi表示服务链si的最后时限(deadline),调度决策需要保证到达的服务功能链最后在该时限前完成,否则认为服务功能链请求失败;
令N表示网络中的计算节点的集合,令k∈N表示网络中的某个计算节点,计算节点负责部署执行VNF实例;令Vk表示计算节点的处理速度;令θ表示计算节点的可靠性,计算节点的可靠性定义为在计算节点上执行完成一个VNF的成功率。
优选的,对于一条服务功能链中的各个虚拟网络功能,各个虚拟网络功能的类型互不相同。
优选的,服务功能链的可靠性公式为:
其中xijk表示将虚拟网络功能sij部署在计算节点k上运行,该公式表示对于一条服务功能链中的每个虚拟网络功能,都至少有一个被成功执行完成的概率,此外,***中最大的冗余数量定义为Rm,对于一个虚拟网络功能实例,其冗余数量最多不可超过Rm;
服务功能链的时延为链中的每个虚拟网络功能执行时间sij/Vk与等待时间之和。
优选的,每个计算节点在同一时刻至多只能执行一个虚拟网络功能实例;如果发生计算节点先前部署的虚拟网络功能实例类型与接下来需要部署的实例类型不同,则认为节点上发生虚拟网络功能切换,该重部署的切换操作时间设为δ。
优选的,步骤S1包括以下步骤:
S101、对于***中存在的所有虚拟网络功能f∈F,获取所有虚拟网络功能的类型、计算负载、以及重部署的切换操作需要的时间δ;
S102、对于***中每个计算节点k∈N,获取计算节点可靠性θ以及计算节点的处理速度Vk;
S103、对于当前时刻已到达的服务功能链si∈S,获取其可靠性需求Θi、最后期限需求Φi、以及组成功能链的各个虚拟网络功能sij;
S104、对已经开始执行任务的所有计算节点,获取其正在执行的虚拟网络功能和待执行队列的信息。
优选的,步骤S2包括以下步骤:
S201、定义Rel(·)为服务功能链的可靠性函数,计算公式为公式(1),初始化一个向量a,向量a中的每一位表示冗余数量,此时向量a中每一位的值都设为Rm,向量长度为服务功能链的长度L;
S202、计算Rel(a),如果Rel(a)≤Θ,其中Θ为服务链的可靠性要求,则说明***无法达到服务链的可靠性要求,直接拒绝该服务链请求,否则Rel(a)≥Θ,则进入步骤S203;
S203、将向量a中的值都设定为1,即初始化所有虚拟网络功能的冗余数量都是1,令aindex表示a的第index个元素,并初始化index=1,表示由第一个元素开始;
S204、如果Rel(a)≤Θ,则更新该位置的冗余数量,令aindex←aindex+1,即在原来的冗余数量上增加1,然后令index←(index+1)%L,即下标移动到后一个元素位置上,如果此时已经是最后一个元素,则移动到第一个元素位置;否则进入步骤S205,重复执行步骤S204;
S205、根据虚拟网络功能的计算负载对si中的任务进行排序,得到序列s′i,则对于每个虚拟网络功能s′ij,其冗余数量为aj。
优选的,步骤S3包括以下步骤:
S301、***中的所有服务功能中的虚拟网络功能,都需要经过中央调度器分配计算资源,映射到计算节点上执行;
S302、调度器维护一个等待队列Q,其优先级基于虚拟网络功能任务的剩余时间即最后期限与当前时刻之差,剩余时间越少的优先级越高;
S303、调度器由任务触发,触发等待队列Q更新的时机为:
1)新到达的服务链中的网络功能的首个虚拟网络功能加入到队列;
2)当一个虚拟网络功能实例执行完毕,如果该服务功能链还有后驱的虚拟网络功能任务,则加入到队列;
3)当一个虚拟网功能实例执行完毕,在等待队列Q中的其它冗余实例移出队列;
S304、等待队列队首的虚拟网络功能任务将被强化学习调度器调度。
优选的,步骤S4包括以下步骤:
S401、构建强化学习网络,所述强化学习网络由一个嵌入层和三个全连接层组成,其中全连接层分别由64、32、16隐藏层神经元组成;所述强化学习网络的输入为:虚拟网络功能类型、服务功能链中虚拟网络功能剩余数量、服务功能链长度、虚拟网络功能计算负载、服务功能链剩余长度、距离截止期限的剩余时间、计算节点的虚拟网络功能类型、每个计算节点的部署该任务的提前时间;其中提前时间Ta的计算公式为:
Ta=Tw-Te (2)
Te=Tn+Tδ+Tp (4)
Tp=wij/Vk (5)
如果发生切换,则Tδ=Δ否则Tδ=0,强化学习网络的输出为推迟该虚拟网络功能任务执行的概率;其中,Tw表示虚拟网络功能的期望截止时间,Te表示实际的完成时间,u、v和j分别指代服务链中的第u个、第v个和第j个虚拟网络功能,wij表示第i个服务链的第j个虚拟网络功能的计算负载,Δ表示计算节点发生VNF切换的时间长度,Tn表示当前时刻,Tδ表示切换时间长度,Tp表示处理时间;
S402、强化学习的奖励定义为r=Tw-Te;
S403、采用A3C(Advantage Actor-Critic)模型对强化学习网络进行训练,使用12个同构的本地网络进行学习,并使用1个全局网络来汇总参数,参数更新公式为:
其中θ表示全局网络的所有参数,θ′表示本地网络的所有参数,θv表示全局网络中价值网络的所有参数、θ′v表示本地网络中价值网络的所有参数,表示对θ′求梯度,ai表示在第i步的动作,si表示在第i步的输入状态,V(si;θ′v)表示值函数网络输出的值,R表示时间折扣后的价值;
S404、智能体的决策过程为,首先根据步骤S304输入等待队列队首的虚拟网络功能任务信息到训练好的强化学习网络中,智能体输出推迟执行的概率,基于该概率决定该任务是否被延迟执行,如果延迟执行,则回到队列中等待下一次被调度,如果没有被延迟执行则进入下一步。
优选的,所述步骤S5为:将虚拟网络功能任务分配到计算节点上运行,采用最早完成优先的方法,将任务分配到能最早执行完成的节点上运行。
本发明与现有技术相比,具有如下优点和有益效果:
(1)本发明提出的一种应用于5G网络环境下的服务功能链可靠性调度方法,能够在执行时间和冗余策略之间进行权衡,以适应新型5G网络对于时延和可靠性的要求。
(2)本发明考虑了计算节点在执行不同类型的虚拟网络功能时,进行切换操作的时间成本,更符合实际网络的真实情况。
(3)本发明提出的基于强化学习的在线调度方式,能够在缺少未来到达请求基本信息的情况下为已经到达的服务功能链进行调度,可以在真实的网络环境中应用。
附图说明
图1是本实施例一种服务链中动态资源分配和任务调度方法的流程示意图;
图2是本实施例一种服务链中动态资源分配和任务调度方法的循环示意图。
具体实施方法
下面将结合附图来详细描述本发明的实施例中的技术方案。应当理解,所描述的实施例仅仅是为了使本领域的技术人员能够更好地理解并实施本发明,而并非以任何方式限制本发明的范围。
图1为本发明所述的一种服务链中动态资源分配和任务调度方法的流程示意图,接下来对每个步骤进行详细地解析。
S1、获取到达的服务功能链的信息以及计算节点资源信息,包括以下步骤:
S101、对于***中存在的所有虚拟网络功能f∈F,确认其类型、计算负载、以及重部署的切换操作需要的时间δ。本实施例中虚拟网络功能的类型包括:A、B、C、D、E共5种类型,其计算负载分别为10、5、20、8、15,单位为Mb。令δ=40ms。
S102、对于***中每个计算节点k∈N,获取计算节点可靠性θ、计算节点的处理速度Vk。本实施例中共有10个计算节点,其中5个节点处理速度为100Mb/s,另外5个为160Mb/s。
S103、对于当前时刻已到达的服务功能链si∈S,获取其可靠性需求Θi、最后期限需求Φi、以及组成功能链的各个虚拟网络功能sij。本实施例中的其中一个服务链为{A,B,C,D,E}。其可靠性要求Θi=0.95,最后期限需求为600ms。
S104、对已经开始执行任务的所有计算节点,确认其正在执行的虚拟网络功能和待执行队列的信息。
S2、确定已到达服务功能链中虚拟网络功能的冗余数量,包括以下步骤:
S201、定义Rel(·)为计算服务链可靠性的的函数。初始化一个向量a,其值都设为Rm,向量长度为服务功能链的长度L。对于本实施例Rm=3,长度L=5,θ=0.95;
服务功能链的可靠性公式为:
其中xijk表示将虚拟网络功能sij部署在计算节点k上运行,该公式表示对于一条服务功能链中的每个虚拟网络功能,都至少有一个被成功执行完成的概率,此外,***中最大的冗余数量定义为Rm,对于一个虚拟网络功能实例,其冗余数量最多不可超过Rm。
S202、计算Rel(a),如果Rel(a)≤Θ,则说明***无法达到该可靠性请求,直接返回。否则Rel(a)≥Θ,则进入步骤S203。对于本实施例,Rel(a)=[1-(1-0.95)3]5≈0.99938>0.95,因此进入步骤S203;
S203、将向量a中的值都设定为1,即初始化所有虚拟网络功能的冗余数量都是1,令index=0
S204、如果Rel(a)≤Θ则aindex←aindex+1,index←(index+1)%L;否则进入步骤S205,重复执行步骤S204。如图2所示,对于S204进行第一次循环时,Rel(a)=[1-(1-0.95)1]5=0.815≤0.95;第二次循环时,下标为1的位置自增1,冗余数量为2,则Rel(a)=[1-(1-0.95)2][1-(1-0.95)1]4=0.848≤0.95;第三次循环时,下标为2的位置自增1,冗余数量为2,则Rel(a)=[1-(1-0.95)2]2[1-(1-0.95)1]3=0.917≤0.95,因此继续循环操作,依次类推。在第五次循环时,下标为4的位置自增1,冗余数量为2,Rel(a)=[1-(1-0.95)2]4[1-(1-0.95)1]1=0.954>0.95,因此结束循环,则a={2,2,2,2,1}。
S205、根据虚拟网络功能的计算负载对si中的任务进行排序,得到序列s′i。则对于每个虚拟网络功能s′ij,其冗余数量为aj。{A,B,C,D,E}对应的计算负载为{10、5、20、8、15},因此按照计算负载排序后,得到{B,D,A,E,C},则结合a={2,2,2,2,1},可得到各自的冗余数量,A=2,B=2,C=1,D=2,E=2。
S3、基于截止时间对虚拟网络功能任务进行排序,包括以下步骤:
S301、***中的所有服务功能中的虚拟网络功能,都需要经过中央调度器分配计算资源,映射到计算节点上执行;
S302、调度器维护一个等待队列Q,其优先级基于虚拟网络功能任务的剩余时间(最后期限与当前时刻之差),剩余时间越少的优先级越高吗,对于本实施例最后期限为Φi=600ms,该实施例根据该最后期限参与任务队列排序;
S303、调度器是任务触发的,触发等待队列Q更新的时机为:
1)新到达的服务链中的网络功能的首个虚拟网络功能加入到队列;
2)当一个虚拟网络功能实例执行完毕,如果该服务功能链还有后驱的虚拟网络功能任务,则加入到队列;
3)当一个虚拟网络功能实例执行完毕,在队列Q中其它冗余实例移出队列。
对于本实施例是新到达的服务功能链请求(还未被调度过),因此直接将其中的虚拟网络功能实例加入到等待队列Q中,需要注意的是服务链中首个虚拟网络功能实例的冗余数量为A=2,需要按照冗余的数量来进行加入。另外如果该服务链首个虚拟网络功能被成功执行完毕时,其后驱的虚拟网络功能B将加入等待队列,其冗余度为2。
S4、利用强化学习智能体决定排序后队首的虚拟网络功能是否延后调度。强化学习智能体决策的步骤包括:
S401、构建强化学习网络,强化学习网络网络由1个嵌入层和3个全连接层组成,其中全连接层分别由64、32、16隐藏层神经元组成。强化学习网络的输入为:虚拟网络功能类型、服务功能链中虚拟网络功能剩余数量、服务功能链长度、虚拟网络功能计算负载、服务功能链剩余长度、距离截止期限的剩余时间、计算节点的虚拟网络功能类型、每个计算节点的部署该任务的提前时间。其中提前时间的计算公式为:
Ta=Tw-Te (2)
Te=Tn+Tδ+Tp (4)
Tp=wij/Vk (5)
如果发生了切换则Tδ=Δ否则Tδ=0。强化学习网络的输出为推迟该虚拟网络功能任务执行的概率。Tw表示虚拟网络功能的期望截止时间,Te表示实际的完成时间,u、v和j分别指代服务链中的第u个、第v个和第j个虚拟网络功能,wij表示第i个服务链的第j个虚拟网络功能的计算负载,Δ表示计算节点发生VNF切换的时间长度,Tn表示当前时刻,Tδ表示切换时间长度(如果没有切换则为0),Tp表示处理时间。
对于本实施例,认为开始时刻计算节点不需要切换操作,因此Tδ=0,对于Vk=100Mb/s的节点,Tp=100ms,对于Vk=160Mb/s的节点,Tδ=62.5ms。对于Vk=100Mb/s的节点,Ta=-3.45ms,对于Vk=160Mb/s的节点,Ta=40.95ms。
S402、强化学习的奖励定义为r=Tw-Te;
S403、采用A3C(Advantage Actor-Critic)模型对强化学习网络进行训练,使用12个同构的本地网络进行学习,并使用1个全局网络来汇总参数。参数更新公式为:
其中θ表示全局网络的所有参数,θ′表示本地网络的所有参数,θv表示全局网络中价值网络的所有参数、θ′v表示本地网络中价值网络的所有参数,表示对θ′求梯度,ai表示在第i步的动作,si表示在第i步的输入状态,V(si;θ′v)表示值函数网络输出的值,R表示时间折扣后的价值。
S404、智能体的决策过程为,首先输入等待队列队首的虚拟网络功能任务信息(虚拟网络功能任务信息为步骤S401中输入的信息)到训练好的强化学习网络中,智能体输出推迟执行的概率,基于该概率随机采样决定该任务是否被延迟执行,如果延迟执行,则回到队列中等待下一次被调度,如果没有被延迟执行则进入下一步。对于本实施例,假定智能体决策该虚拟网络功能任务没有被延迟执行。
S5、按照最早完成优先分配虚拟网络功能任务到计算节点上执行。对于本实施例,此时可以将任务分配到任意一个Vk=160Mb/s的计算节点上运行。
服务功能链的时延为链中的每个虚拟网络功能执行时间sij/Vk与等待时间之和。***中认为一个虚拟网络功能任务执行完成时,此时其冗余的若干实例都取消执行,此时后继的虚拟网络功能才可以开始执行。
以上实施例仅适用于说明本公开,而并非对本公开的限制,有关技术领域的普通技术人员,在不脱离本公开的精神和范围的情况下,还可以做出各种变化和变形,因此所有等同的技术方案也属于本公开的范畴,本公开的专利保护范围应由权利要求限定。
Claims (10)
1.一种服务链中动态资源分配和任务调度方法,其特征在于,包括以下步骤:
S1、获取到达的服务功能链的信息以及计算节点的资源信息;
S2、获取已到达服务功能链中虚拟网络功能的冗余数量;
S3、基于截止时间对虚拟网络功能任务进行排序;
S4、利用强化学习智能体决定排序后队首的虚拟网络功能是否延后调度;
S5、按照最早完成优先分配虚拟网络功能任务到计算节点上执行;
重复以上过程,直到所有服务功能链都被成功调度。
2.根据权利要求1所述的一种服务链中动态资源分配和任务调度方法,其特征在于,服务功能链是由各种类型的虚拟网络功能(VNF)串联组成,前驱VNF结点在计算节点上执行完毕后后继VNF结点才能开始执行;
令S表示网络中到达的服务功能链的集合,令si∈S表示第i个服务功能链,令F表示虚拟网络功能的集合,令f∈F表示某个类型的虚拟网络功能,令wf表示虚拟网络功能f的计算负载;
对于服务功能链si,令sij表示第i个服务功能链中的第j个虚拟网络功能,其中sij∈F,令Θi表示第i个服务功能链的可靠性要求,服务功能链的可靠性要求定义为能够成功执行完成整条服务功能链的概率,即该服务功能链中每个虚拟网络功能都被成功执行的概率;令Φi表示服务链si的最后时限(deadline),调度决策需要保证到达的服务功能链最后在该时限前完成,否则认为服务功能链请求失败;
令N表示网络中的计算节点的集合,令k∈N表示网络中的某个计算节点,计算节点负责部署执行VNF实例;令Vk表示计算节点的处理速度;令θ表示计算节点的可靠性,计算节点的可靠性定义为在计算节点上执行完成一个VNF的成功率。
3.根据权利要求2所述的一种服务链中动态资源分配和任务调度方法,其特征在于,对于一条服务功能链中的各个虚拟网络功能,各个虚拟网络功能的类型互不相同。
5.根据权利要求4所述的一种服务链中动态资源分配和任务调度方法,其特征在于,每个计算节点在同一时刻至多只能执行一个虚拟网络功能实例;如果发生计算节点先前部署的虚拟网络功能实例类型与接下来需要部署的实例类型不同,则认为节点上发生虚拟网络功能切换,该重部署的切换操作时间设为δ。
6.根据权利要求5所述的一种服务链中动态资源分配和任务调度方法,其特征在于,步骤S1包括以下步骤:
S101、对于***中存在的所有虚拟网络功能f∈F,获取所有虚拟网络功能的类型、计算负载、以及重部署的切换操作需要的时间δ;
S102、对于***中每个计算节点k∈N,获取计算节点可靠性θ以及计算节点的处理速度Vk;
S103、对于当前时刻已到达的服务功能链si∈S,获取其可靠性需求Θi、最后期限需求Φi、以及组成功能链的各个虚拟网络功能sij;
S104、对已经开始执行任务的所有计算节点,获取其正在执行的虚拟网络功能和待执行队列的信息。
7.根据权利要求6所述的一种服务链中动态资源分配和任务调度方法,其特征在于,步骤S2包括以下步骤:
S201、定义Rel(·)为服务功能链的可靠性函数,计算公式为公式(1),初始化一个向量a,向量a中的每一位表示冗余数量,此时向量a中每一位的值都设为Rm,向量长度为服务功能链的长度L;
S202、计算Rel(a),如果Rel(a)≤Θ,其中Θ为服务链的可靠性要求,则说明***无法达到服务链的可靠性要求,直接拒绝该服务链请求,否则Rel(a)≥Θ,则进入步骤S203;
S203、将向量a中的值都设定为1,即初始化所有虚拟网络功能的冗余数量都是1,令aindex表示a的第index个元素,并初始化index=1,表示由第一个元素开始;
S204、如果Rel(a)≤Θ,则更新该位置的冗余数量,令aindex←aindex+1,即在原来的冗余数量上增加1,然后令index←(index+1)%L,即下标移动到后一个元素位置上,如果此时已经是最后一个元素,则移动到第一个元素位置;否则进入步骤S205,重复执行步骤S204;
S205、根据虚拟网络功能的计算负载对si中的任务进行排序,得到序列s′i,则对于每个虚拟网络功能s′ij,其冗余数量为aj。
8.根据权利要求7所述的一种服务链中动态资源分配和任务调度方法,其特征在于,步骤S3包括以下步骤:
S301、***中的所有服务功能中的虚拟网络功能,都需要经过中央调度器分配计算资源,映射到计算节点上执行;
S302、调度器维护一个等待队列Q,其优先级基于虚拟网络功能任务的剩余时间即最后期限与当前时刻之差,剩余时间越少的优先级越高;
S303、调度器由任务触发,触发等待队列Q更新的时机为:
1)新到达的服务链中的网络功能的首个虚拟网络功能加入到队列;
2)当一个虚拟网络功能实例执行完毕,如果该服务功能链还有后驱的虚拟网络功能任务,则加入到队列;
3)当一个虚拟网功能实例执行完毕,在等待队列Q中的其它冗余实例移出队列;
S304、等待队列队首的虚拟网络功能任务将被强化学习调度器调度。
9.根据权利要求8所述的一种服务链中动态资源分配和任务调度方法,其特征在于,步骤S4包括以下步骤:
S401、构建强化学习网络,所述强化学习网络由一个嵌入层和三个全连接层组成,其中全连接层分别由64、32、16隐藏层神经元组成;所述强化学习网络的输入为:虚拟网络功能类型、服务功能链中虚拟网络功能剩余数量、服务功能链长度、虚拟网络功能计算负载、服务功能链剩余长度、距离截止期限的剩余时间、计算节点的虚拟网络功能类型、每个计算节点的部署该任务的提前时间;其中提前时间Ta的计算公式为:
Ta=Tw-Te (2)
Te=Tn+Tδ+Tp (4)
Tp=wij/Vk (5)
如果发生切换,则Tδ=Δ否则Tδ=0,强化学习网络的输出为推迟该虚拟网络功能任务执行的概率;其中,Tw表示虚拟网络功能的期望截止时间,Te表示实际的完成时间,u、v和j分别指代服务链中的第u个、第v个和第j个虚拟网络功能,wij表示第i个服务链的第j个虚拟网络功能的计算负载,Δ表示计算节点发生VNF切换的时间长度,Tn表示当前时刻,Tδ表示切换时间长度,Tp表示处理时间;
S402、强化学习的奖励定义为r=Tw-Te;
S403、采用A3C(Advantage Actor-Critic)模型对强化学习网络进行训练,使用12个同构的本地网络进行学习,并使用1个全局网络来汇总参数,参数更新公式为:
其中θ表示全局网络的所有参数,θ′表示本地网络的所有参数,θv表示全局网络中价值网络的所有参数、θ′v表示本地网络中价值网络的所有参数,表示对θ′求梯度,ai表示在第i步的动作,si表示在第i步的输入状态,V(si;θ′v)表示值函数网络输出的值,R表示时间折扣后的价值;
S404、智能体的决策过程为,首先根据步骤S304输入等待队列队首的虚拟网络功能任务信息到训练好的强化学习网络中,智能体输出推迟执行的概率,基于该概率决定该任务是否被延迟执行,如果延迟执行,则回到队列中等待下一次被调度,如果没有被延迟执行则进入下一步。
10.根据权利要求9所述的一种服务链中动态资源分配和任务调度方法,其特征在于,所述步骤S5为:将虚拟网络功能任务分配到计算节点上运行,采用最早完成优先的方法,将任务分配到能最早执行完成的节点上运行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011433475.1A CN112506658B (zh) | 2020-12-09 | 2020-12-09 | 一种服务链中动态资源分配和任务调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011433475.1A CN112506658B (zh) | 2020-12-09 | 2020-12-09 | 一种服务链中动态资源分配和任务调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112506658A true CN112506658A (zh) | 2021-03-16 |
CN112506658B CN112506658B (zh) | 2024-04-26 |
Family
ID=74970517
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011433475.1A Active CN112506658B (zh) | 2020-12-09 | 2020-12-09 | 一种服务链中动态资源分配和任务调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112506658B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608855A (zh) * | 2021-08-12 | 2021-11-05 | 北京师范大学珠海校区 | 一种边缘计算中服务功能链放置的强化学习方法 |
CN115208892A (zh) * | 2022-07-19 | 2022-10-18 | 河海大学 | 基于动态资源需求的车路协同在线任务调度方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108260169A (zh) * | 2018-01-26 | 2018-07-06 | 重庆邮电大学 | 一种基于QoS保障的服务功能链动态部署方法 |
US20180349202A1 (en) * | 2017-05-30 | 2018-12-06 | Hewlett Packard Enterprise Development Lp | Virtual Network Function Resource Allocation |
CN110275758A (zh) * | 2019-05-09 | 2019-09-24 | 重庆邮电大学 | 一种虚拟网络功能智能迁移方法 |
-
2020
- 2020-12-09 CN CN202011433475.1A patent/CN112506658B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180349202A1 (en) * | 2017-05-30 | 2018-12-06 | Hewlett Packard Enterprise Development Lp | Virtual Network Function Resource Allocation |
CN108260169A (zh) * | 2018-01-26 | 2018-07-06 | 重庆邮电大学 | 一种基于QoS保障的服务功能链动态部署方法 |
CN110275758A (zh) * | 2019-05-09 | 2019-09-24 | 重庆邮电大学 | 一种虚拟网络功能智能迁移方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608855A (zh) * | 2021-08-12 | 2021-11-05 | 北京师范大学珠海校区 | 一种边缘计算中服务功能链放置的强化学习方法 |
CN115208892A (zh) * | 2022-07-19 | 2022-10-18 | 河海大学 | 基于动态资源需求的车路协同在线任务调度方法及*** |
CN115208892B (zh) * | 2022-07-19 | 2023-10-24 | 河海大学 | 基于动态资源需求的车路协同在线任务调度方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN112506658B (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108566659B (zh) | 一种基于可靠性的5g网络切片在线映射方法 | |
Guo et al. | Optimal scheduling of VMs in queueing cloud computing systems with a heterogeneous workload | |
CN108965014B (zh) | QoS感知的服务链备份方法及*** | |
CN109561148A (zh) | 边缘计算网络中基于有向无环图的分布式任务调度方法 | |
CN108111335B (zh) | 一种调度和链接虚拟网络功能的方法及*** | |
CN112506658B (zh) | 一种服务链中动态资源分配和任务调度方法 | |
CN110471621B (zh) | 一种面向实时数据处理应用的边缘协同存储方法 | |
WO2020121292A1 (en) | Efficient data processing in a serverless environment | |
CN111369009A (zh) | 一种能容忍不可信节点的分布式机器学习方法 | |
Li et al. | Efficient online scheduling for coflow-aware machine learning clusters | |
CN111061565A (zh) | 一种Spark环境下的两段式流水线任务调度方法及*** | |
CN113190342B (zh) | 用于云-边协同网络的多应用细粒度卸载的方法与***架构 | |
Pedarsani et al. | Scheduling tasks with precedence constraints on multiple servers | |
CN112417748A (zh) | 一种调度自动驾驶仿真任务的方法、***、设备及介质 | |
CN112130927A (zh) | 一种可靠性增强的移动边缘计算任务卸载方法 | |
CN113377503A (zh) | 一种协作式ai的任务调度方法、装置与*** | |
CN116582407A (zh) | 一种基于深度强化学习的容器化微服务编排***及方法 | |
Asheralieva et al. | Ultra-reliable low-latency slicing in space-air-ground multi-access edge computing networks for next-generation internet of things and mobile applications | |
CN115865912A (zh) | 网络边缘在线服务功能链部署方法、***和设备 | |
Wei et al. | Composite rules selection using reinforcement learning for dynamic job-shop scheduling | |
CN111813525B (zh) | 一种异构***工作流调度方法 | |
CN117118836A (zh) | 基于资源预测的服务功能链多阶段节能迁移方法 | |
CN114866612B (zh) | 一种电力微服务卸载方法及装置 | |
Ahmad et al. | Performance modeling of load‐balancing algorithms using neural networks | |
CN111880898B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |