一种基于虚拟交换机的虚拟数据中心资源分配系统及方法与流程

文档序号:20271976发布日期:2020-04-03 19:08阅读:625来源:国知局
一种基于虚拟交换机的虚拟数据中心资源分配系统及方法与流程

本发明属于资源优化分配技术领域,尤其涉及一种基于虚拟交换机的虚拟数据中心资源分配系统及方法。



背景技术:

目前,最接近的现有技术:vdc技术能将虚拟资源与物理资源分离,因此允许多个vdc在同一物理数据中心(pdc)上运行。但是,由于pdc中物理资源总量的限制,pdc提供商(称为基础设施提供商,inps)必须谨慎处理租户的请求。为了降低运营成本并获得更多利润,inps必须决定接受哪些vdc请求(vdcrs)被接受,并为这些请求分配相应的资源。该资源分配问题通常被称为嵌入问题。vdc嵌入被认为是为未云计算的成功提供性能保证的关键技术。vdc嵌入问题对于inps说非常重要,因为它决定了inps的收入。vdc嵌入问题源于虚拟网络嵌入(vne)问题。然而,与isp网络中传统的vne问题不同,vdc嵌入问题具有以下特点:(1)pdc和vdc由更多不同类型的网络元素、实体组成。(2)pdc和vdc有特殊的拓扑结构,例如fat-tree,bcube。(3)pdc和vdc具有良好的可扩展性。(4)pdc通常拥有冗余链路,可实现负载均衡。(5)因为pdc中的物理实体设备分布集中,所以vdc嵌入问题对位置和延迟不敏感。基于以上观察,传统的vne解决方案不适用于vdc嵌入问题。因此有必要深入研究vdc嵌入问题。

目前,一些相关工作研究了vdc嵌入问题。但是,这些现有的工作并未充分考虑上述特征以及各种类型的资源。特别是在物理交换机(pss)和物理机(pms)上嵌入vss。因为vss具有灵活控制网络流的功能,所以在软件定义网络(sdn)领域被广泛地研究。sdn支持的交换机在工业领域被划分为两类:一种是基于软件实现,并集成到负责计算虚拟化的管理程序中;另一种是基于支持openflow协议的硬件交换机(如pica8,bigswitch)。因此,在映射vss时应同时考虑pms和pss。vss嵌入问题及其可能的嵌入位置,提高了vdc嵌入问题的灵活性和可扩展性,以及pdc的利用率和vdcrs的接受率,并进一步提高了inp的利润。与此同时,它带了vdc嵌入问题建模的差异性,及不同的解决方案。

当前,许多租户并不满足单个的虚拟机的租用,许多大客户希望从数据中心租用多个虚拟机、虚拟交换机、带宽及其他虚拟网络功能(virtualnetworkfuntions,vnf),这形成了所谓的虚拟数据中心(virtualdatacenter,vdc)。vdc嵌入被认为是为未云计算的成功提供性能保证的关键技术。但是,vdc嵌入问题是np难的,其计算时间与vdc的数量和规模呈指数级增长。虽然近年,一些相关工作被提出以提高嵌入问题的效率,但是现有绝大多数工作忽略了虚拟交换机,尤其是将其嵌入在物理交换机上,从而导致物理资源的利用率降低。此外,大多数已有的相关工作,假设多个虚拟节点不能被嵌入到同一个物理节点上。这种假设进一步降低了数据中心的资源的利用率。

综上所述,现有技术存在的问题是:现有虚拟数据中心的嵌入方案未充分考虑多类资源的分配,尤其是虚拟交换机的嵌入问题。其它技术方案并未考虑到虚拟交换机的多种嵌入位置(物理机和物理交换机),也未对虚拟交换机独立进行讨论,导致物理资源的利用率降低。

解决上述技术问题的难度:虚拟数据中心的资源分配问题是np难的,其计算时间复杂度和空间复杂度与多个因素相关:物理数据中心的资源规模,虚拟数据中心的数量和需求规模。该资源分配问题(嵌入问题)的计算复杂度随这些因素的规模增长呈指数级增长。从数据角度看,这类资源分配问题属于线性或非线性整数规划问题,在计算机复杂理论中,整数规划问题属于np难问题,无法在多项式时间内求得最优解。尤其是在本发明中考虑了虚拟交换机的嵌入及其多个嵌入位置,更是为整数规划问题增加了求解变量的个数和计算复杂度。根据实验,以一小规模数据中心为例,描述其计算复杂度。例如,一小型物理数据中心包含50台物理服务器和10台物理交换机,每台服务器包含4核处理器,32g内存,每台交换机包含1核处理器和2g内存,物理节点之间带宽为1000m。一批小规模的虚拟数据中心请求包含15个虚拟数据中心,平均每个请求包含6个虚拟服务器和2个虚拟交换机。其中每个虚拟服务器提出2核处理器需求,8g内存需求;每交换机提出1核需求和1g内存需求,虚拟节点之间链路带宽需求为100m。在上述这种小规模数据中心里求解一批小规模的虚拟数据中心请求,按照常规计算求解资源最优分配,需要花费6个多小时甚至更长时间。这对数据中心服务提供者和租户说是无法接受的。因此设计合理的解决方案,使得vdc资源分配问题能在合理时间内解决是虚拟数据中心嵌入问题的关键。

解决上述技术问题的意义:虚拟数据中心的资源分配问题不同于虚拟网络嵌入问题,需要考虑的网络元素更多。其中,虚拟交换机作为虚拟数据中心的重要设备,影响着数据中心网络流的的分布。有别于其它虚拟网络嵌入的相关工作,本发明将虚拟交换机作为独立元素,纳入虚拟数据中心资源分配问题的建模中。并且考虑了虚拟交换机的多个可能放置位置(物理交换机、物理服务器)。这一设计使得资源分配问题建模有别于其它类似工作。

本虚拟数据中心的资源分配问题就是np难的,其计算复杂度与资源请求规模和数量呈指数增长关系。在考虑虚拟交换机的前提下,进一步增大了这类问题的难度,尤其是本发明提出的批处理模型下,多个虚拟请求的同时处理更是非线性整数规划问题。在考虑当前服务器计算能力情况下,处理小规模资源分配问题耗时长达数小时;更大规模情况下,计算时间长达几天或者无法计算出结果。本发明提出的5个算法,其中2个主算法,3个辅助算法。5个算法共同协作,使得在多项式时间内找到虚拟数据中心嵌入问题的次优解。通过大量的仿真评估了算法的性能,结果表明,本发明提出的模型在请求接受率,提供商利润和资源利用率方面优于现有方案。



技术实现要素:

针对现有技术存在的问题,本发明提供了一种基于虚拟交换机的虚拟数据中心资源分配系统及方法。

本发明是这样实现的,一种基于虚拟交换机的虚拟数据中心资源分配方法,所述基于虚拟交换机的虚拟数据中心资源分配方法包括以下步骤:

步骤一,创建批处理模型,利用快速转换算法tafb将批处理模型转化为实时处理模型;

步骤二,创建实时处理模型,利用快速启发式取整嵌入算法fhre进行资源分配;使vdc嵌入问题可在多项式时间内找到次优解。

进一吧,所述批处理模型使用集合表示,包括了k个独立的请求,引入一个决策变量πi表示请求gi是否会被接受,模型表示如下:

capacity约束:

mfcl约束:

domain约束:

在优化目标中,πi=0表示inps拒绝请求gi,那么所有属于该gi的虚拟请求vms、vss和vls都不会消耗任何物理资源;从约束1.25到约束1.30中,πi都乘以了它所对应的gi的请求;在域约束中,πi用于限制的取值范围。

进一步,所述步骤一创建批处理模型:利用快速转换算法tafb将批处理模型转化为实时处理模型具体包括:

(1)在转化过程中,计算不同vdcrs的加权分数,优先嵌入高分数的组合,即多个资源需求和延迟分数更高的vdcrs组合;

(2)多次调用frva算法对vdcrs组合所请求的资源与可用资源进行对比预验证;初始化各种变量和数组;排除两种明显不合需求的情况;

(3)对于验证失败组合,再选取其它组合进行验证,对于验证成功的组合就按照实时模型处理;

(4)frva调用递归函数resverf判断是否所有虚拟节点嵌入到当前的pdc中;

(5)判断虚拟节点的类型并设置它们的嵌入范围;如果vreq(vidx)>pres(pidx),当前虚拟节点无法被嵌入到当前物理节点中;将跳到下一个物理节点,否则,被嵌入到物理节点pres(pidx)上,并且函数resverf进入递归并检查下一个虚拟节点。

进一步,所述快速转换算法tafb具体包括:使用规则验证和筛选符合当前可用物理资源的vdcrs组合,并从中选出最大化inps利润的组合,调用rvem模型解出该组合;使用算法frva过滤掉不可行的vdcrs,更新完它们的延迟权重因子后,将不可行的vdcrs放入等待队列中;从剩余的个请求中选择多个vdcrs,选择操作从所有个vdcrs的组合开始并逐步减少vdcrs的数量,所选组合按加权分数公式进行排序;

公式是每个vdcrs的加权系数,是各种所需资源和延迟因子的加权求和表达式,其中中所有vms、vss和vls的资源需求经过归一化后的值,是为了公平起见而使用的归一化延迟因子;

是加权系数,根据pdc和vdc的特点灵活地调整这些系数;将选择中的vdcrs合并为单个如果通过验证,将调用rvem模型求解新的如果该被成功嵌入,则嵌入结果就是批处理vdcrs的嵌入结果;否则,处理下一个选择并将新选择的vdcrs重新组合。

进一步,所述实时处理模型为

容量约束:

mfcl约束:

域约束:

约束(1.13)、(1.14)和(1.15)是确保每个pm的资源足够分配给该请求,其中ac(mp),am(mp)和ad(mp)分别表示当前可用的cpu、内存和存储资源;约束(1.13)和(1.14)包含有变量公式(1.16)和(1.17)是关于pss的约束条件;约束(1.18)表示中所有虚拟链路ev映射在物理链路ep上的总带宽需求不超过其当前可用带宽ab(ep);约束(1.20)确保中的所有虚拟机vms必须嵌入到物理机上;

约束(1.21)确保中的所有虚拟交换机vss被嵌入pms或pss中;约束(1.22)和(1.23)表明是二进制变量,是非负的标量变量。

进一步,所述步骤二创建实时处理模型,利用快速启发式取整嵌入算法fhre进行资源分配;使vdc嵌入问题可在多项式时间内找到次优解具体包括:

(1)在fhre算法中,将模型中的所有0-1变量进行松弛得到rvem-lp模型;解松弛后的线性问题,得到对应的小数变量;

(2)将rvem中的所有0-1变量进行松弛;接着调用rrvc算法嵌入最佳候选虚拟节点;

(3)从rvem-lp中移除已被嵌入的虚拟节点vns及对应的变量,更新该rvem-lp,并重新求解,直到所有变量都被嵌入,就完成虚拟数据中心申请的资源分配。

进一步,所述快速启发式取整嵌入算法fhre包括:

(1)将rvem中的所有0-1变量进行松弛,称为rvem-lp问题;解这个松弛后的线性问题,得到对应的小数变量

(2)将rvem中的所有0-1变量进行松弛,称为rvem-lp利用的启发式信息找到一个ev及其vip,vtp;同时找到可能嵌入vip、vtp的物理节点,并将节点分别记录到中;如果vip和vtp其中之一已被嵌入,那么对应的集合等于它当前的嵌入物理节点;如果ev的vip和vtp都被嵌入,则删除ev和对应的变量;

(3)调用rrvc算法嵌入最佳候选虚拟节点,在rrvc算法中,对ev的所有pip和ptp对进行构造和排序,并将对应的嵌入变量向上取整;如果取整成功,则对应变量设置为1,其他与该ev的pip和ptp相关的变量均设置为0;该过程一直被重复执行,直到vip和vtp成功嵌入或集合t为空;步骤(2)和步骤(3)被重复执行,直到所有的vls被访问;所有虚拟节点vns都被成功嵌入时,rvem不再含有二进制变量;rvem问题转化为经典的多商品流mcf问题,问题利用线性规划在多项式时间内求解;

(4)从rvem-lp中移除已被嵌入的vns及其对应的变量,更新该rvem-lp,并重新求解;同样,解出的结果用于更新ω,f;(1)-(4)重复执行,直到所有的虚拟节点vns都被嵌入;无法求解rvem-lp时,inps拒绝该gv。

所述启发式取整嵌入算法进一步还包括:

对于虚拟链路ev通过组合自集合中的不同pip和ptp,构造了路径对集合t,并根据的虚拟路径长度按升序对t进行升序排序;然后选择集合t中的第一对,即最短路径对,并尝试向上取整这个路径对所对应的松弛lp解;使用表示相应松弛解的向上取整,符号|表示三者取其一;如果都没有被嵌入,那么将它们对应的松弛解都向上取整;如果只有其中之一没有被嵌入,那么未嵌入的松弛解向上取整;取整操作之后,检查取整是否违反了关于资源的约束;

如果所有约束被满足,则意味着向上取整成功;然后正式地将变量设置为1,与相关的其他变量设置为0,同时从ω中删除与和/或相关的变量,并更新ev,f;变量中的下标*/il表示除嵌入之外的所有的物理节点;如果向上取整的操作不满足约束,则将第一对从集合t中移出并选择下一对;重复该过程,直到有一对成功嵌入或t为空。

本发明的另一目的在于提供一种实施所述基于虚拟交换机的虚拟数据中心资源分配方法的基于虚拟交换机的虚拟数据中心资源分配系统,所述基于虚拟交换机的虚拟数据中心资源分配系统包括:

高分数组合嵌入模块,用于优先嵌入高分数的组合,资源需求和延迟分数更高的vdcrs;

变量和数组初始化模块,用于多次调用算法对某个vdcr请求的资源与可用资源进行对比预验证;初始化各种变量和数组;排除两种明显不合需求的情况;

虚拟节点嵌入判断模块,用于调用递归函数resverf判断是否所有虚拟节点嵌入到当前的pdc中;

嵌入范围判断模块,用于判断虚拟节点的类型并设置它们的嵌入范围;

模型求解模块,用于将rvem中的所有0-1变量进行松弛,解松弛后的线性问题,得到对应的小数变量;将rvem中的所有0-1变量进行松弛;调用rrvc算法嵌入最佳候选虚拟节点;从rvem-lp中移除已被嵌入的vns及其对应的变量,更新该rvem-lp,并重新求解。

本发明的另一目的在于提供一种实现所述基于虚拟交换机的虚拟数据中心资源分配方法的信息数据处理终端。

综上所述,本发明的优点及积极效果为:针对现有的虚拟交换机的资源分配方式忽略虚拟交换机,导致物理资源的利用率降低的问题,本发明提出了在线模型和批量模型有效地描述vdc嵌入问题。在在线模型和批量模型两类模型中,考虑了多种类型的资源分配和虚拟交换机的两种可能的嵌入位置。为了允许多个虚拟节点在同一物理节点上共存,改进了传统的流守恒定律。本发明的在线模型和批量模型的目标是在确保嵌入解决方案在多项式时间内可行的同时,最大化云提供商的收入。

本发明使用了有效的嵌入算法解决这两个np-hard问题。与现有方法相比,本发明提出的启发式算法利用了原模型松弛后的信息,使vdc嵌入问题可在多项式时间内找到次优解。通过大量的仿真评估了算法的性能,结果表明,本发明提出的模型在请求接受率,提供商利润和资源利用率方面优于现有方案。

本发明首先,在vdc嵌入问题中,本发明考虑了多种类型的资源和虚拟交换机的嵌入,并提出了精确的数学模型。据本发明所知,这是首次在pms和pss上考虑vss的嵌入,将导致vdc嵌入问题建模时引入新的约束。为了允许同一vdc请求内的多个虚拟节点(vns)嵌入在同一物理节点(pns)上,本发明修改了传统的流守恒定律,以确保建立正确的虚拟路径。本发明提出了多个启发式算法有效地解决原始np难问题。与其他方法相比,本发明的算法提高了vdc请求的接受率和降低了虚拟链路的嵌入成本,inps的利润被大幅提高。4)本发明的启发式算法充分利用了松弛解的信息,因此计算时间大幅降低。仿真结果表明本发明提出的模型在vdc请求接受率、inps收益和资源利用率方面优于现有方法。

附图说明

图1是本发明实施例提供的基于虚拟交换机的虚拟数据中心资源分配系统的结构示意图;

图中:1、高分数组合嵌入模块;2、变量和数组初始化模块;3、虚拟节点嵌入判断模块;4、嵌入范围判断模块;5、模型求解模块。

图2是本发明实施例提供的基于虚拟交换机的虚拟数据中心资源分配方法流程图。

图3是本发明实施例提供的创建批处理模型的方法流程图。

图4是本发明实施例提供的创建实时处理模型的方法流程图。

图5是本发明实施例提供的在考虑虚拟交换机的情况下vdc嵌入问题。虚拟交换机vs可以映射在pm或ps上,虚拟机vm只能嵌入在pm上示意图。

图6是本发明实施例提供左图两个pms的可用资源数为28,两个vdcrs总请求资源为30;如果不使用ps资源,则其中一个请求将被拒绝;右图所示,在使用ps资源的情况下,两个vdcrs都能被成功嵌入。

图7是本发明实施例提供的两个vdcrs被嵌入的例子示意图;(a)、(b)和(c)分别显示了在不考虑ps的情况下,两个请求被嵌入的可能情况。可以观察到,这三种情况都会产生较高带宽消耗;(d)显示了在利用ps的情况下,带宽占用大大降低。

图8是本发明实施例提供的vl的vip和vtp嵌入实例示意图;圆圈表示vm或pms,矩形表示vss或pss,箭头表示流动方向;vsn表示虚拟节点,psn表示物理节点;虚线箭头表示可能的嵌入。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

针对现有技术存在的问题,本发明提供了一种基于虚拟交换机的虚拟数据中心资源分配系统及方法,下面结合附图对本发明作详细的描述。

如图1所示,本发明实施例提供的基于虚拟交换机的虚拟数据中心资源分配系统包括:

高分数组合嵌入模块1,用于优先嵌入高分数的组合,资源需求和延迟分数更高的vdcrs。

变量和数组初始化模块2,用于多次调用算法对某个vdcr请求的资源与可用资源进行对比预验证;初始化各种变量和数组;排除两种明显不合需求的情况。

虚拟节点嵌入判断模块3,用于调用递归函数resverf判断是否所有虚拟节点嵌入到当前的pdc中。

嵌入范围判断模块4,用于判断虚拟节点的类型并设置它们的嵌入范围。

模型求解模块5,用于将rvem中的所有0-1变量进行松弛,解松弛后的线性问题,得到对应的小数变量;将rvem中的所有0-1变量进行松弛;调用rrvc算法嵌入最佳候选虚拟节点;从rvem-lp中移除已被嵌入的vns及其对应的变量,更新该rvem-lp,并重新求解。

如图2-图4所示,本发明实施例提供的基于虚拟交换机的虚拟数据中心资源分配方法包括以下步骤:

s101:创建批处理模型,利用快速转换算法(tafb)将批处理模型转化为实时处理模型;

s1011:在转化过程中,计算不同vdcrs的加权分数,优先嵌入高分数的组合,即多个资源需求和延迟分数更高的vdcrs组合。

s1012:多次调用frva算法对vdcrs组合所请求的资源与可用资源进行对比预验证;初始化各种变量和数组;排除两种明显不合需求的情况。

s1013:对于验证失败组合,再选取其它组合进行验证,对于验证成功的组合就按照实时模型处理。

s1014:frva调用递归函数resverf判断是否所有虚拟节点嵌入到当前的pdc中。

s1015:判断虚拟节点的类型并设置它们的嵌入范围;如果vreq(vidx)>pres(pidx),当前虚拟节点无法被嵌入到当前物理节点中;将跳到下一个物理节点,否则,被嵌入到物理节点pres(pidx)上,并且函数resverf进入递归并检查下一个虚拟节点。

s102:创建实时处理模型,利用快速启发式取整嵌入算法(fhre)进行资源分配;使vdc嵌入问题可在多项式时间内找到次优解。

s1021:在fhre算法中,将模型中的所有0-1变量进行松弛得到rvem-lp模型;解松弛后的线性问题,得到对应的小数变量。

s1022:将rvem中的所有0-1变量进行松弛;接着调用rrvc算法嵌入最佳候选虚拟节点。

s1023:从rvem-lp中移除已被嵌入的虚拟节点(vns)及对应的变量,更新该rvem-lp,并重新求解,直到所有变量都被嵌入,就完成虚拟数据中心申请的资源分配。

下面结合附图对本发明的技术方案作进一步的描述。

1.本发明研究vdc嵌入问题时考虑了虚拟交换机的嵌入。为了最大化inps的利润,提出了两种专用模型:在线模型和批量模型。两种模型都考虑了多种类型的资源和改进的流量守恒定律。然而这两种vdc嵌入问题被证明是np难的。为了在多项式时间内解决这两个问题,本发明采用了一个转换算法用于将批量模型转化为在线模型,然后根据松弛解的启发信息设计了一种快速嵌入算法。本发明分别分析两种算法的时间复杂度。最后,评估了两种嵌入算法的性能。图5显示了本发明考虑虚拟交换机嵌入的整体框架,它表明vss可以嵌入在pms或pss上。pss的资源被充分利用,并且单个vdc的所有元素可被嵌入到同一个pms中,例如图3中的vdc3请求。

1.1相关工作

虚拟化技术使pdc能够在隔离环境中操作多个vdc,并提高硬件的利用率。然而,如何有效地分配多个物理资源(即cpu、存储、带宽等)仍然是一个关键的挑战。目前,租户倾向于租用多个vm、带宽保证的虚拟链路、虚拟交换机和其他虚拟网络功能(vnf),用于构建企业内部网络并部署相关服务。虽然过去十多年学术界对vm放置问题进行了深入的研究,但vdc嵌入问题包含了更多的因素,因此vm放置问题的研究需要被更新和拓展。

2.vdc嵌入问题的描述及建模

本发明提出了改进的流守恒定律描述虚拟路径。最后,给出了vdc嵌入问题的两种数学模型,即在线模型和批量模型。本发明常用的变量和符号如表1所示。

表1符号列表

2.1vss嵌入到pss所带的优势

如前所述,vss可以被嵌入到两个位置:其一是与虚拟机管理程序绑定,共同运行在pms上,其二是运行在pss的操作系统上,即嵌入到pss中。与以往假定vms只嵌入在pms的情况相比,vss的两种可能嵌入的位置大大提高了嵌入方案的灵活性和成功率,其原因有两个:(1)物理硬件的利用率被提高,特别是pss的资源利用;(2)嵌入成本可被降低。例如,vls的嵌入成本。为了详细说明,本发明以下面两个简单的例子进行说明。

图6给出了两个vdc请求(vdcrs)的示例,并支持了上述第一条原因。在图中,矩形和圆形分别代表交换机和服务器。vdcrs中的数字表示某种类型的资源的需求(为了简单起见,本发明只列举一种类型的资源,即cpu核数)。物理网络中的数字代表了目前可用的资源数。显然,仅考虑两个pms的资源时,不能满足所有vdcrs请求的资源数,则两个请求中的其一将被拒绝。该图右侧显示了在考虑pss资源的情况下,两个vdcrs都被成功地嵌入。

图7展示了vls嵌入成本被降低的情况。该示例演示了两个vdcrs的不同嵌入解决方案。图7(a)、图7(b)和图(c)都没有使用ps的资源嵌入vs。本发明注意到,为了满足vdcrs的带宽请求,这三种情况都需要在两条物理链路上预留非常高的带宽。尤其是在图图7(c)中,两个物理链路上所需的带宽都达到280,超出了实际可用带宽。相比之下,图7(d)中解决方案嵌入成本低很多。由于其中一个vs被嵌入到了ps中,不仅节省了pms的资源,而且大大减少了物理链路上的带宽分配。一般情况下,两个虚拟节点之间的vl可能跨越多段pls,为了降低vls的嵌入成本,vls的两端应尽量靠近。而pss作为数据中心多个pms的中间节点,是vss的最佳嵌入位置,能够极大地降低vls的嵌入成本。从这两个简单的例子中本发明可以看出,在pss和pms中嵌入vss为vdc嵌入带诸多好处。这些优点将提高vdc嵌入请求的接受率,并进一步增加inps的收入。

2.2网络模型和资源表示

本发明将pdc网络建模成一个无向图,表示为gp=(mp;sp;ep),其中符号mp表示pdc网络中所有pms的集合,sp表示包括核心交换机、聚合交换机和tor交换机的集合。ep表示所有物理链路的集合。每一个物理机mp∈mp提供多种类型资源,如cpu、内存和磁盘等。在本发明中,主要考虑三种类型的资源,并使用ac(mp),am(mp)和ad(mp)表示当前可用的cpu、内存和磁盘资源。同样,每个物理交换机sp∈sp提供由ac(sp)和am(sp)表示的cpu和内存资源。本发明忽略交换机上的存储资源是因为交换机上的闪存是有限的。只用于存储交换机的操作系统。

本发明将vdc嵌入问题考虑为离散时间模型,其中inps的服务时间被划分为多个时间槽。在每个时间槽中,inps收集所有vdcrs并提交给一个调度器。该调度器(例如sdn控制器)拥有所有pms、pss和pls的全局信息。它决定接受或拒绝这些请求,并尽可能地将这些请求映射到pdc中,以最大化inps的利润。一个vdcr记为其中分别为vdcr中vms、vss和vls的集合。每个虚拟机都有自己的资源需求,表示为rt(mv)。t∈{c;m;d},集合{c;m;d}表示cpu资源、内存资源和磁盘资源的缩写。同样,每个虚拟交换机的资源需求表示为rt(sv);t∈{c;m},而rb(ev)表示每条虚拟链路的带宽需求。

inps总收入与嵌入的vdcrs的个数成比例。本发明首先定义单个vdcr被成功嵌入后带的毛利润。

其中αt和βt分别是对应vms和vss的不同资源的单价。实际上,这5个参数(αc,αm,αd,βc,βm)应该根据pdc的特性设置。例如,如果pdc的硬件配置中,pms的内存资源充足,inps可以设置较低的αm以鼓励那些高内存需求的vdcrs被嵌入。每个vdcrs具有自身的特点:有些请求是计算密集型,有些请求是内存消耗型,还有一些请求是存储导向型或高带宽需求的。总之,inps应根据其物理硬件特点和vdcrs特点制定价格策略,即通过设置参数t∈{c;m;d}和γ。

2.3决策变量和流变量

本发明考虑了vss的嵌入,vdc嵌入问题应该包含三个子问题:vms的嵌入、vss的嵌入和vls的嵌入。相对于vne嵌入问题,vss的嵌入为vdc的嵌入带了更多的麻烦:是应该先嵌入vms还是vss,还是应该首先考虑三个子问题的协调,以及如何协调它们在vne嵌入问题分类时,可分为单阶段模型和双阶段模型。其中,在双阶段模型中,由于相邻的vms在物理拓扑中可能被放置得相距较远,所以无论是基于协调的双阶段策略还是没有协调的双阶段策略,最终的vne嵌入性能都会降低。为了获得更好的性能,在本发明中,本发明拟打算建立单阶段模型,同时解决三个子问题。首先,本发明引入了相关的决策变量。表示嵌入vms决策变量:

同样,设为虚拟交换机的决策变量,表示是否将一个嵌入到pmmp∈mp

正如本发明在引言部分指出的,vss也可以嵌入到任意的sp∈sp中,因此本发明设置了另一个决策变量

对于每一个虚拟交换机它要么被嵌入在pss中,要么被嵌入在pms中,因此本发明得到以下约束:

对于任意的虚拟链路本发明使用变量表示虚拟链路ev在物理链路ep上的带宽分配。从技术上讲,vls的嵌入问题可被划分为两类:即单路径映射或多路径映射。则也可以分为两种类型。如果是二进制类型,即则vls嵌入问题属于单路径映射。如果是标量类型,即则vls嵌入问题属于多路径映射。如今在数据中心中,inps为了提高设备的鲁棒性,达到网络负载均衡的目的,pdc中存在大量冗余pls,因此vls的嵌入问题考虑成多路径映射更为合理。此外,多路径策略可以更好地提高pls的利用率,因此在本发明中,本发明考虑了vls嵌入的需求可以由多个路径承载,采用标量值。

2.4改进的流守恒定律和虚拟路径

由于单条虚拟链路vl可以跨越多个pls,因此必须将“虚拟路径”表示出,以确保vl被正确嵌入。有两种方法可以寻找“虚拟路径”:一种是传统的最优(最短)路径搜索,即bfs、dfs、bellman-ford、dijkstra、a*等路径搜索算法;另一种是采用流守恒定律和优化方法计算最优路径。事实上,当虚拟链路的起始点和终点的位置未知时,第一种方法并不适用。如果本发明考虑在同一个阶段内同时解决vms和vls的嵌入问题,那么本发明就不能预先知道vls的起始点和终点的实际物理位置,因此本发明采用了流守恒定律(flowconservationlaw,fcl)刻画虚拟路径。

在流守恒定律(fcl)中,源节点“产生”流,而汇聚节点“消耗”流。中间节点的输入和输出是相等的。本发明将虚拟链路的起点和终点分别定义为“虚拟起点”(virtualinitialpoint,vip)和“虚拟终点”(virtualterminalpoint,vtp)。本发明将虚拟起点(vip)和虚拟终点(vtp)所在的两个物理节点称为“物理起始点”(pip)和“物理终点”(ptp)。pip和ptp之间的多段相互连接的物理链路称为“虚拟路径”。对于任意虚拟路径其虚拟vip和vtp可以是vm,也可以是vs。为了简化表达式,本发明分别用表示ev的vip和vtp。设分别表示pip和ptp,表示ev的中间物理节点。

根据传统流守恒定律,本发明得到以下公式:

上述公式表达了从pip所在物理节点的所有链路上输出的关于ev的总流量,即等于该ev的带宽需求。lo(·)表示物理节点的输出链接集。同理,关于ptp的流守恒公式表达为:

li(·)是物理节点的输入链接集合。除pip和ptp外,其他中间物理节点的流守恒公式为:

通常情况下,公式(1.6)-(1.8)能确保单条虚拟链路vl被成功嵌入到多条pls并形成“虚拟路径”。

但是,在本发明的vdc嵌入场景中,这三个方程并不能表示同一个vdcr中的相邻虚拟节点被嵌入到同一物理节点的情况。因为在这种情况下,相邻虚拟节点所对应的该物理节点的所对应的输出链路pip和输入链路ptp上应当不存在关于虚拟链路ev的流量,这违反了公式(1.6)和(1.7)。与传统vne嵌入问题不同,如果物理节点具有足够的资源,则vdc嵌入问题允许上述情况。这种情况的允许使得vdc嵌入问题具有节省链路成本和降低传输时延的优点。

所以本发明需要改进传统的流守恒定律。本发明分析了一条虚拟链路vl的vip和vtp可能的嵌入情况,如图8所示。定向虚拟链路有四种情况:从vm指向vs,从vs指向vm,从vs指向vs,从vm指向vm。vm只能嵌入pms中,而vss可以嵌入pss或pms。可能的嵌入组合达到9种,本发明以情况(b)为例,定向虚拟链路ev从vs指向vm。如果该链路的vip,即vs嵌入在一个pm中,链路的vtp,即vm嵌入在另一个pm中。则本发明采用以下公式(1.9)代替传统流守恒公式(1.6),(1.7)以及(1.8)。

本发明分别解释公式(1.9)如何包含了(1.6),(1.7)以及(1.8)。对于任意的物理机如果特定虚拟链路ev只有vip映射到上面,那么公式(1.9)归约到公式(1.6))。如果只有ev的vtp映射到了该mp,那么公式(1.9)归约到公式(1.7)。如果ev的vip和vtp都没有映射到该mp,那么公式(1.9)归约到公式(1.8)。如果ev的vip和vtp都映射到mp上,那么公式(1.9)的右端等于零,并强制左侧为零。这意味同时嵌入虚拟链路ev的vip和vtp的mp上,其物理输入和输出链路上没有输入流和输出流。为了简洁地表达修改后的流守恒定律,本发明使用变量q统一表达变量x;y;z,符号n表示节点,这里节点包含交换机和机器,即囊括交换符号s和机器符号m。因此,图8中9种不同的嵌入组合可由如下改进的流守恒定律modifiedflowconservationlaw(mfcl)得到:

当vls被嵌入到pls上时,mfcl确保了正确的“虚拟路径”和预留带宽,不管该vls穿过多少个pls或物理节点。

2.5在线处理模型

在本发明中,本发明考虑了两种处理vdcrs的方法:一种是实时(在线)模式,另一种是批处理(离线)模式。两种模式各有其特点。接下,本发明分别讨论了两种模式,并给出了两种模式的数学模型。在实时模式下,inps会立即处理vdcr,并且一个接一个地处理,也就是说,inps只在特定的时间点处理单个vdcr。首先,本发明给出了inps嵌入一个vdcr请求时的成本:

在公式(1.11)中变量分别表示pms、pss和pls上t类资源的单价。inps接收单个vdcr嵌入的利润等于其毛收入减去其成本:

本发明的目标是使inps的利润最大化。下面,本发明提供了一个名为rvem的在线模型(实时vdc嵌入模型):

容量约束:

mfcl约束:

域约束:

约束(1.13)、(1.14)和(1.15)是确保每个pm的资源足够分配给该请求,其中ac(mp),am(mp)和ad(mp)分别表示当前可用的cpu、内存和存储资源。因为vss可以嵌入到pms中,并且只考虑cpu、内存资源,所以约束(1.13)和(1.14)包含有变量同理,公式(1.16)和(1.17)是关于pss的约束条件。约束(1.18)表示中所有虚拟链路ev映射在物理链路ep上的总带宽需求不超过其当前可用带宽ab(ep)。约束(1.20)确保了中的所有虚拟机vms必须嵌入到物理机上。

同样,约束(1.21)确保中的所有虚拟交换机vss被嵌入pms或pss中。约束(1.22)和(1.23表明是二进制变量,是非负的标量变量。

在rvem模型中,只有当该vdcr的所有元素都可被嵌入时,vdcr才被接受。否则,将被拒绝或推迟。尽管rvem模型的目标是嵌入单个的vdcr,但是本发明可以根据策略构建一个等待队列存储所有的vdcr,还可以依据vdcr规模的大小、vdcr提供的额外费用、公平性、优先级等。被拒绝的vdcr可以插入该队列以等待重新被调度。在该rvem模型中,解出上述模型就是同时求解了vms、vss和vls的嵌入问题,这种单阶段嵌入策略避免了多阶段嵌入问题需要协调所带的麻烦。

2.6批处理模型

rvem模型能够实时处理提交的请求,但是rve模型缺乏前瞻性,从长远看,它可能不是最佳的嵌入策略。例如,reve模型在第一个vdcr到达时立即执行嵌入。为了使嵌入成本最小化或利润最大化,该vdcr将会整体地被嵌入到左边的pm中或右边的pm中。无论第一个vdcr被嵌入到哪个pm中,当第二个vdcr到达时,由于剩余pm资源不足,inps将会拒绝第二个vdcr。但是,当这两个vdcr请求被同时处理时,它们可以被成功地嵌入。总之,将第一个vdcr的所有元素嵌入到同一个物理节点对当前情况说可能是最佳选择,但是从长远看,这种策略并不是最佳的方案。

为了解决这种“近视”问题,本发明提出了一种批量的vdc嵌入模型(bvem)。在该模型中,几个vdcrs请求被组合在一起被同时处理,而不是像rvem模型一个接一个地被处理。该策略避免了资源利用的不平衡,并进一步提高了inps的利润。在一段时间内,inps收集到达的vdcrs请求,这些请求被发送到一个中心节点(如sdn控制器)处理。本发明使用用集合表示,包括了k个独立的请求,由于当前可用的物理资源不能保证所有请求都被接受,本发明引入了一个决策变量πi表示请求gi是否会被接受。因此,bvem模型表示如下:

capacity约束:

mfcl约束:

domain约束:

在优化目标中,πi=0表示inps拒绝请求gi,那么所有属于该gi的虚拟请求(包括vms、vss和vls)都不会消耗任何物理资源。所以从约束1.25到约束1.30中,πi都乘以了它所对应的gi的请求。在域约束中,πi用于限制的取值范围。实际上,rvem是bvem的特例。

3两类模型的快速求解方案

本发明首先证明了上述两个优化问题的难度为np-hard。为了降低bvem的复杂度,本发明提出了一个算法用于将bvem转换为rvem。最后,提出了一个快速启发式算法用于在多项式时间内求解rvem。

3.1np-hard证明

从数学角度看,rvem是混合整数线性规划(milp),bvem是混合整数非线性规划(minlp)。rvem是bvem的一个特例,如果能证明rvem是nphard,则bvem也是np-hard。在给出关于rvem问题的np-hard证明之前,本发明首先给出了通用分配问题(gap)的定义。

定义3.1(gap).给定m种类型的箱子b1至bm,n种商品a1至an。每个箱子有一定容量ti。gap问题的目标是找到一个最大利润的分配,使得商品放置不超过每个箱子容量ti。

定理3.1.rvem和bvem是np-hard问题。

3.2bvem问题的松弛与近似

本发明已经证明了bvem和rvem都是np-hard。此外,在bvem问题中,二元变量πi与其他变量在多个约束中相互耦合,使得求解更为困难。虽然目前一些商业求解器可以求解minlp问题(如cplex、gurobi等),但这些求解器只适用于小规模问题。当前商用数据中心已经发展到了较大的规模:几千台服务器(pms)通过规模庞大的链路相互连接,vdcrs的数量和规模也迅速增加。bvem和rvem问题的求解时间与物理资源的规模和vdcrs请求数量、规模呈指数级增长,因此传统求解器的计算时间超出了客户和服务供应商(inps)的容忍度。本发明必须提供多项式时间方法快速求解bvem。通过观察bvem,本发明发现:如果物理资源足够丰富,能够批量容纳所有vdcrs,那么每个πi=1。这意味着变量πi不起作用。基于以上事实,本发明有以下定理和算法。

定理3.2.假设当前的物理资源足够容纳该批次中所有的vdcrs请求,那么在该批次中嵌入多个vdcrs就相当于嵌入一个更大的vdcr,且该vdcr请求的资源等于所有请求的总和。

在定理3.2的保证下,本发明可以通过算法1.1(tafb)将bvem问题简化为rvem问题。该算法的核心思想是使用一些规则验证和筛选符合当前可用物理资源的vdcrs组合,并从中选出最大化inps利润的组合,然后调用rvem模型解出该组合。在tafb算法第1行中,本发明首先使用算法1.2(frva)过滤掉一些不可行的vdcrs,更新完它们的延迟权重因子后,将这些不可行的vdcrs放入等待队列中。算法1.2是一种验证资源的快速算法,本发明将在后面分析。经过上述过滤操作后,在第4行中,本发明从剩余的个请求中选择多个vdcrs。为了最大化被嵌入的vdcrs的数量,选择操作从所有个vdcrs的组合开始并逐步减少vdcrs的数量。所选组合按加权分数公式(1.36)进行排序。

公式(1.36)是每个vdcrs的加权系数。它是各种所需资源和延迟因子的加权求和表达式,其中中所有vms、vss和vls的资源需求经过归一化后的值,是为了公平起见而使用的归一化延迟因子。

是加权系数,可以根据pdc和vdc的特点灵活地调整这些系数。例如物理数据中心pdc拥有较多数量的pms时,inps更倾向于选择携带更多vms的vdcrs,并通过设置实现有倾向性的选择。

在算法第6行中,本发明将此选择中的vdcrs合并为单个如果通过了算法1.2的验证,本发明将调用rvem模型求解新的如果该被成功嵌入,则嵌入结果就是批处理vdcrs的嵌入结果。否则,本发明处理下一个选择并将新选择的vdcrs重新组合。算法1.1试图优先嵌入高分数的组合,即资源需求和延迟分数更高的那些vdcrs。这符合现实情况中优先满足大客户的惯例。当然为了公平起见,根据公式(1.36),延迟因子较大的vdcrs也会被优先选择。

算法1.1多次调用算法1.2对某个vdcr请求的资源与可用资源进行对比预验证,这有助于inps快速剔除无法被满足的vdcrs。在算法1.2中,从第1行到第5行,本发明初始化各种变量和数组。从第6行到第11行,本发明首先排除了两种明显不合需求的情况:在该vdcrgv中,所有vms的t类总资源的需求超过了所有pms中该类型的资源;所有vss的t类总资源的需求超过了该类资源在所有物理节点的可用量减去vms的需求。接下,本发明调用递归函数resverf判断是否所有虚拟节点都可以嵌入到当前的pdc中。如果递归调用结果返回1,表示当前pdc的资源足以嵌入此vdcr请求,否则,pdc不能嵌入此vdcr。因为vreq()是按降序排序的,所以函数resverf会从资源需求最高的虚拟节点开始检查。递归函数resverf的代码列举在算法1.3中。从第3行到第7行,本发明判断虚拟节点的类型并设置它们的嵌入范围。如果vreq(vidx)>pres(pidx),即当前虚拟节点无法被嵌入到当前物理节点中,本发明将跳到下一个物理节点,否则,本发明就假设它被嵌入到物理节点pres(pidx)上,并且函数resverf进入递归并检查下一个虚拟节点,如第18行所示。递归函数resverf简洁高效。与真正的嵌入不同的是resverf只做快速检查。一旦递归函数resverf找到嵌入所有虚拟节点的可行解决方案,它就会立即返回。

4rvem的快速解决方案

算法1.1表明,bvem的求解过程依赖于rvem的求解。然而,正如本发明之前分析的,rvem仍然是np-hard的。现有的求解器在搜索全局优化解时会带巨大的计算开销和延迟。因此,在本发明采用启发式算法在多项式时间内求解rvem。

4.1变量松弛和启发式凑整法

传统的求解器通常使用分支定界法、割平面法、回溯等方法处理milp问题,这些方法在状态空间树中寻找可行的解。然而,在vdc嵌入问题中,由于物理节点(pns)和物理链路pls,以及vdc中的虚拟节点(vns)、虚拟链路vls的大量存在,使得状态空间树非常庞大。当问题规模增大时,状态空间树会呈指数倍增长。显然,在这种庞大的状态空间中进行最优结果搜索的方法是不可取的,其计算延迟对inps和租户都无法接受。以往的一些相关工作试图松弛整数约束,并使用随机取整。然而随机取整法容易导致资源冲突,进而使本轮取整失败。因此在本发明中,本发明采用基于线性规划模型松弛的启发式算法求解rvem。通过对inps的收益分析,本发明基于事实得出了以下结论。

定理4.1.inps的利润与嵌入的vdc数量成正比,与vls嵌入成本成反比。

这两个提示促使本发明设计了快速启发式嵌入算法1.4。

4.2启发式凑整算法

与随机凑整法相比,算法1.4从松弛的rvem-lp结果和vdcr的拓扑结构中获取启发式信息。为了降低vls的嵌入成本,vl所对应的虚拟路径应尽可能短。

因此,本发明首先考虑具有高带宽需求的vls,尽可能以最短路径尽早嵌入这些vls的vip和vtp。在算法1.4中,第3行到第18行表达了这个观点。相对于嵌入过程的后期,在嵌入过程的初始阶段,可用的物理资源相对充足。此时,嵌入那些高需求的虚拟节点vns和虚拟链路vls更容易成功。

在算法1.4中,本发明的启发式嵌入算法可以分为四个步骤。在第一步中,本发明首先将rvem中的所有0-1变量进行松弛,称为rvem-lp问题。解这个松弛后的线性问题,得到对应的小数变量在第二步中,本发明首先将rvem中的所有0-1变量进行松弛,称为rvem-lp利用的启发式信息找到一个ev及其vip,vtp。同时本发明找到可能嵌入vip、vtp的物理节点,并将这些节点分别记录到中。如果vip和vtp其中之一已被嵌入,那么对应的集合等于它当前的嵌入物理节点。如果ev的vip和vtp都被嵌入,则删除ev和对应的变量。在第三步中,本发明调用rrvc算法嵌入最佳候选虚拟节点。在rrvc算法中,对ev的所有pip和ptp对进行构造和排序,并将它们对应的嵌入变量向上取整。如果取整成功,则对应变量设置为1,其他与该ev的pip和ptp相关的变量均设置为0。该过程一直被重复执行,直到vip和vtp成功嵌入或集合t为空。第二步和第三步被重复执行,直到所有的vls被访问。但是,部分vns仍然不能被成功嵌入,因为其他被置为0的变量在此时循环中没有及时释放所占用的资源。所以在第四步中,本发明从rvem-lp中移除已被嵌入的vns及其对应的变量,更新该rvem-lp,并重新求解。同样,解出的结果用于更新ω,f。上述四个过程重复执行,直到所有的虚拟节点vns都被嵌入。无法求解rvem-lp时,inps拒绝该gv。在第三步中,当所有虚拟节点vns都被成功嵌入时,即rvem不再含有二进制变量。此时,rvem问题转化为经典的多商品流(mcf)问题,该问题可以利用线性规划在多项式时间内求解。

本发明并不是直接选择带宽最高的ev,而是将松弛模型rvemlp中的作为指标进行求解。这是因为不仅包含了ev的带宽信息,而且还包含了ev的最短路径信息。本发明详细解释如下:首先,尽管集合f中的最大值的fevep不能完全代表原始ev的最高带宽需求,但至少表明了该ev比其他ev具有更高的带宽需求rb(ev)。因此在算法fhre中第5行选择最大的是合理的。其次,通过对松弛模型rvem-lp的求解,最大的不可能是ev“长”的虚拟路径上的流量分配,因为“长”虚拟路径和高流量分配必然导致该虚拟路径ev的嵌入成本增加,这与优化目标背道而驰。另一点值得指出的是,本发明在算法1.4中并没有直接嵌入ev,而是将该ev对应的变量作为指标去选择需要被嵌入的虚拟节点vns。一旦所有vns都被嵌入,则vls的嵌入可以用经典的mcfp在多项式时间内解决问题。

4.3复杂度分析

算法1.4(fhre)的时间复杂度和空间复杂度均为多项式的。算法fhre的总时间复杂度是:

o(fhre)=o(|nv|·|ev|0.5·(|ep||np|+|np|log|np|))

≈o|nv||np||ev|0.5(|ep|+log|np|))

解决bvem的算法1.1(tafb)时间复杂度是

算法bvem的时间复杂度是:

为了简单地表达,本发明省略了log(*)项。

虽然o(bvem)包含一个指数项的值是经过frva算法过滤后的合格vdcrs的个数,通常与传统解决方案中搜索空间大小随vns和vls数量成指数增长的情况相比,本发明提出的算法的时间复杂度大大减少,因为

本发明提出了一个描述vdc嵌入问题的实用框架,提出了两种解决在线嵌入和批嵌入的新粒度模型,并考虑了内存和存储器等多种类型的资源。此外,为了使虚拟交换机能够嵌入到以前工作中很少考虑的物理交换机上,本发明引入了更多的嵌入变量,并使的模型区别于现有技术。此外,为了克服同一请求中的多个虚拟节点不能嵌入同一物理节点的缺点,改进了传统的fl低守恒律。这个改进给本发明的模型带了弹性和敏捷性。

针对这两个问题,提出了几种启发式算法。在一定的条件下,本发明设计了一个将一个批次中的多个vdcrs合并为单个vdcr的变换算法。预先验证的阳离子算法排除了大部分未鉴定的vdrs及其结合。接下,本发明从放宽的lp问题和vdcr的拓扑中使用启发式信息设计确定的舍入算法。与随机取整相比,本发明的决定是圆的,提高了验收率,提高了inps的性能。同时,可以在多项式时间求解,使本发明的框架在实际部署中更加实用。

本发明的实施方式可以通过硬件、软件或者软件和硬件的结合实现。硬件部分可以利用专用逻辑实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中实现,例如在诸如磁盘、cd或dvd-rom的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件实现。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1