一种基于MDP的网络切片动态资源分配方法
技术领域
本发明属于移动通信领域,涉及一种基于MDP的网络切片动态资源分配方法。
背景技术
在未来的5G网络中将会出现多种应用场景,其中有三种典型的应用场景分别为增强移动带宽(eMBB)、大规模机器类型通信(mMTC)和超高可靠和低时延通信,应用场景的不同也就意味着在移动性、安全性、时延和可靠性等方面的要求各不相同。因此,如何应对在低成本高容量的期望下,满足多样化的业务需求以及终端海量连接的接入需求给现有网络带来了巨大的挑战。如果为不同的应用场景分别构建单独的物理网络是不现实的,而无线虚拟化技术可以实现网络资源的共享和隔离,能够提高网络的灵活性,因此下一代移动网络联盟提出了网络切片(NetworkSlice)的概念。网络切片是虚拟网络,网络切片技术与虚拟化技术息息相通,其实现是在一个物理基础设施上,结合软件定义网络(SDN)和网络功能虚拟化(NFV)等技术,构造出不同应用场景需求的网络切片,并采用有效的资源分配方式、网络切片的部署编排和运营策略,提升用户体验和提高网络资源的利用率。切片中的每个用户请求需要一条服务功能链(SFC)作为载体来传输,而每条SFC都由按一定顺序排列的VNF(虚拟网络功能)组成,所以服务器需要给每条SFC的各个VNF分配合适的资源(例如,CPU、存储资源等)使得能够满足各网络切片中业务的时延需求。物理基础设施中提供资源的服务器会有能量消耗,因此减少服务器的能量消耗是网络资源分配需要考虑的一大因素。
在现有的网络切片资源分配方案中,大多数在研究网络切片虚拟资源分配的问题中,没有考虑网络切片中既有时延敏感业务,也有非时延敏感业务,即没有考虑到时延敏感业务严格的时延要求,也没有考虑到基础设施中的电力成本不仅取决于服务器的能量消耗,还依赖于电力的实时价格情况。除此之外,目前研究的资源分配问题要么是静态的,要么就没有考虑当前时隙所做决策会对未来的收益会产生影响,即优化目标只是优化单步收益,而没有考虑系统在一个长时间内的收益。因此,利用MDP模型的特性,将其应用到本发明中,针对网络切片中时延敏感业务的时延要求,建立一个约束马尔科夫决策过程(CMDP)模型,以实现最大化网络吞吐量和最小化能量消耗之间的折中的同时满足用户的时延约束。
发明内容
有鉴于此,本发明的目的在于提供一种基于MDP的网络切片动态资源分配方法,在保证各网络切片中所有时延敏感业务严格的时延要求的前提下,根据各网络切片中用户的缓存队列状态信息和服务器所耗电力的实时价格状态信息,以期实现最大化网络吞吐量和最小化能量消耗之间的折中。
为达到上述目的,本发明提供如下技术方案:
一种基于MDP的网络切片动态资源分配方法,该方法为:在每个离散时隙上,在保证各网络切片中所有时延敏感业务严格的时延要求的前提下,根据各网络切片中用户的缓存队列状态信息和服务器所耗电力的实时价格状态信息,以实现最大化网络吞吐量和最小化能量消耗之间的折中为目标,为切片中每个用户的服务功能链上的虚拟网络功能分配合适的计算资源量并动态地调整提供计算资源的服务器开启的数量;
保证各切片中每个用户的长期平均时延不大于某个时延上限,以此避免用户数据堆积而引起不必要的丢包或处理延迟,根据排队论中的Little定理,平均的队列长度和平均的时延是线性关系;
其中长期平均时延为:用户的缓存队列在长时间上求平均后的队列长度;
按照所述的计算资源动态分配算法,至少需要为每个用户提供的计算资源量满足其最低时延需求的计算资源;
在每个离散时隙上,所有开启的服务器分配给所有部署在其上的VNF计算资源量总和不能超过其计算资源容量,以满足每个服务器的资源约束条件;
电力实时价格状态在每个离散时隙的变化过程为马尔科夫链;
用户队列缓存状态在每个离散时隙的变化过程为马尔科夫链。
进一步,所述网络切片中用户在每个时隙上的缓存队列更新过程为:
其中
为:切片k中的第l个用户在下一个时隙开始时的队列长度;
为:切片k中的第l个用户在当前时隙开始时的队列长度;具体根据服从
参数的泊松过程随机生成;
为:切片k中的第l个用户在当前时隙上新到达的数据包个数;
为:切片k中的第l个用户在当前时隙上离开的数据包个数;
dQ为:用户队列缓冲区的最大队列存储的容量。
进一步,所述为切片中每个用户的服务功能链上的虚拟网络功能分配合适的计算资源量并动态地调整提供计算资源的服务器开启的数量具体步骤为:
在每个决策时隙开始时,收集各网络切片中所有用户的缓存队列状态信息和电力实时价格状态信息;
确定MDP的决策,该决策为从状态空间到行动空间的映射,其确定了当系统处于任一状态时,系统对当前各用户业务队列状态和电力实时价格状态采取的行动;
系统根据当前各用户业务队列状态信息和电力实时价格状态信息做出最优的服务器开启数量和计算资源分配策略,并获得一个瞬时报酬;
瞬时报酬为服务网络切片中用户获得的收益和服务器能量消耗的成本之差。
进一步,所述目标为最大化系统长期平均报酬;其中长期平均报酬为在长时间上对系统获得的瞬时报酬求平均;
为了保证所述长期平均报酬最大化问题一定能收敛,引入一个折扣因子,表达对于系统而言与未来可能获得的收益相比,当前的收益将更具有价值,同时也保证长期平均报酬最大化问题的收敛性;
根据当前时隙的用户缓存队列状态和电力实时价格状态采取行动后会有一定的状态转移概率转移到下一状态,为避免对转移概率的依赖,引入决策后状态;决策后状态为在实施决定开启服务器数量和计算资源分配决策之后而用户数据到达之前系统所处的状态,描述了有哪些服务器需要开启并且各个服务器分配给各个VNF的计算资源量情况,与之相对的状态为决策前状态;决策前状态是指在实施行为之前系统所处的状态,反映了各切片中用户请求到达对系统产生的影响;
决策后状态和决策前状态之间的关系为决策后状态的值函数等效于以它为起点到达的决策前状态的值函数求数学平均。
进一步,所述决策后状态的值函数和最优决策通过在线学习算法计算得到,具体步骤为:
初始化所有可能的决策后状态的值函数,初始化拉格朗日乘子,初始化离散时隙t,初始化所有用户初始队列长度,设定初始参考状态;
观察当前时隙各切片中用户数据包的到达数和电力价格状态;
求出当前时隙使瞬时报酬最大的服务器开启数量和计算资源分配量的最优决策和各用户缓存队列数据包离开数;
记录当前时隙的最优策略和瞬时报酬;
按照在线学习的方法更新当前时隙决策后状态的值函数以及更新拉格朗日乘子;
更新当前时隙所有网络切片中用户的缓存队列状态信息和电力实时价格状态信息;
经过数次迭代后,判断是否满足收敛条件,
如果当前所述的服务器开启数量和计算资源分配方案不满足收敛条件,则重复以上步骤进行下一次迭代,如果当前所述的服务器开启数量和计算资源分配方案满足收敛条件,则算法终止。
本发明的有益效果在于:本发明提出的基于MDP的网络切片动态资源分配方法能够在实现最大化网络吞吐量和最小化能量消耗之间的折中的同时满足用户业务的时延约束。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为资源分配系统模型;
图2为MDP模型图;
图3为决策后状态与决策前状态的关系图;
图4为决策后状态值函数在线学习算法流程图。
具体实施方式
下面将结合附图,对本发明的优选实施例进行详细的描述。
参见图1所示,图1为一个计算资源分配系统模型图,其包含三个部分:用户队列101,其表示在各网络切片中每个用户端都有一个业务缓存队列;虚拟化层102,表示每一条服务功能链与101中的用户一一对应,其由一组有序排列的VNF组成;基础设施层103,其包含能够为虚拟化层102中的所有VNF提供计算资源的物理服务器集合。在每一时隙,用户的数据包到达后会在用户队列缓冲区排队等待被处理,服务器会根据用户缓冲区的队列长度来决定给其对应的服务功能链上的VNF分配合适的计算资源量,以提供给该用户一个服务速率来传输数据包,在下一时隙,用户缓冲区的队列长度会根据到达的数据包个数和当前时隙传输的数据包个数来更新。
参见图2所示,图2为约束马尔科夫决策过程(CMDP)模型,包括智能体201、环境202、行为206、报酬204和用户缓存队列状态205,以及电力市场的实时价格状态206。在每个决策时隙上,智能体201会根据当前用户队列状态205和电力实时价格206做出行为203。具体为切片中每个用户的SFC上的VNF分配合适的计算资源量并动态地调整提供计算资源的服务器开启的数量,在每个决策时隙开始时,收集各网络切片中所有用户的缓存队列状态信息205和电力实时价格状态信息206,当系统处于此时的状态时,系统对当前各用户业务队列状态205和电力实时价格状态206采取的行动203。系统根据当前各用户业务队列状态205和电力实时价格状态206做出最优的服务器开启数量和计算资源分配策略,在保证用户时延约束的条件下获得一个最大的瞬时报酬204。瞬时报酬204是对服务网络切片中用户获得的收益和服务器能量消耗的成本之差的最大化长期平均报酬。通过朗格朗日理论,可以把上述有时延约束的CMDP转化为无约束的MDP问题。因此,其行动空间满足的条件为每个开启的服务器的计算资源容量约束。根据当前时隙的用户业务队列状态205和电力实时价格状态206采取行动203后会以一定的状态转移概率转移到下一状态。
参见图3所示,图3为决策后状态与决策前状态的关系图。目标是长期平均报酬为在长时间上对系统获得的瞬时报酬求平均,为了保证所述长期平均报酬最大化问题的收敛性,并引入了一个折扣因子,由图2知根据当前时隙的用户业务队列状态和电力实时价格状态采取行动后会有一定的状态转移概率转移到下一状态。常用的解决上述MDP问题中贝尔曼方程的方法为值迭代和策略迭代,但是使用这两种方法的前提是知道状态转移概率,由于各切片用户数据包的到达和电力价格的变化是随机的,所以无法求得各状态之间的转移概率。为避免对转移概率的依赖,引入了决策后状态模型。图3是为了解释决策后状态的含义,图中包括当前时隙的决策前状态301、决策后状态302、和下一时隙的决策前状态303,以及各服务器计算资源分配决策304决策后状态模型为在实施决定开启服务器数量和计算资源分配决策304之后决策后状态302而用户数据到达之前当前时隙的决策前状态301,描述了有哪些服务器需要开启并且分配给各个VNF的计算资源量情况。决策前状态301是指在实施行为之前系统所处的状态,反映了各切片中用户业务请求到达对系统产生的影响。决策后状态302和决策前状态301之间的关系为决策后状态的值函数等效于以它为起点到达的决策前状态的值函数求数学平均。
参见图4所示,为决策后状态值函数在线学习算法流程图,步骤如下:
步骤401:初始化所有可能的决策后状态的值函数。
步骤402:初始化拉格朗日乘子。
步骤403:初始化时隙t。
步骤404:初始化所有业务初始队列长度。
步骤405:设定参考状态。
步骤406:观察当前时隙各切片中用户业务的到达数和电力价格。
步骤407:求出当前时隙最优决策和各业务队列数据包离开数。
步骤408:求出当前时隙系统效用,在每个决策时隙计算出使瞬时报酬最大的服务器开启数量和计算资源分配量。
步骤409:更新当前时隙决策后状态的值函数。
步骤410:经过数次迭代后,判断是否满足收敛条件,如果当前所述的服务器开启数量和计算资源分配方案不满足收敛条件,则执行411;如果当前所述的服务器开启数量和计算资源分配方案满足收敛条件,则跳转412。
步骤411:计算出当前时隙系统瞬时收益,更新当前时隙决策后状态的值函数以及更新拉格朗日乘子进行下一次迭代。
步骤412:输出最优决策和最大状态值函数。
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。