一种可靠性感知的虚拟数据中心跨域映射方法
【技术领域】
[0001] 本发明属于虚拟数据中屯、跨域映射技术领域,具体设及一种可靠性感知的虚拟数 据中屯、跨域映射方法。
【背景技术】
[0002] 近些年,在部署服务应用到大型数据中屯、方面,云计算已经成为了一种有成本效 益的模型。在云计算的环境中,有两个主要的实体:基础设施提供者(In巧和服务提供者。 基础设施提供者拥有物理基础设施,负责将每个数据中屯、的物理资源划分成虚拟资源(例 如,虚拟机),然后将该些虚拟资源组给服务提供者。另一方面,服务提供者租用该些资源, 将其服务应用部署在互联网上,向端用户提供服务应用。用户可W获得该项技术所有的好 处,而不需要用基础设施和服务,W及技术较深的知识。因此,允许基础设施提供者,服务提 供者和用户能够集中注意力到他们自己的事情上。
[0003] 随着云计算的广泛使用和计算需求的增长导致了数据中规模的快速增加。但是, 在庞大的数据中屯、背后,其资源的平均利用率却相对较低,大部分设备空闲,给数据中屯、增 加巨大的能耗负担。目前,数据中屯、中使用虚拟化技术,可W有效提高数据中屯、资源利用 率。在该种新趋势下,每个租户的资源请求可抽象为一组虚拟机(VirtualMachine,VM) 和连接虚拟机的虚拟链路(VirtualLink)构成的虚拟数据中屯、(VirtualDataCenter, VDC),每个VM对应一定的计算资源(包括CPU、内存W及硬盘等)。和传统仅提供VM的方 式相比,VDC能够提供较好的网络资源的隔离,因此提高服务应用的性能。
[0004] Qi化ang提出了一个可靠的VDC映射框架,叫做Venice。作者提出用来估计VDC 映射可靠性的技术。作者设计出一个VDC映射算法,算法的目标是最大化CP的总收入,同 时最小化硬件失效带来的总的花费和不可用的服务。可靠性VDC映射问题是NP-hard问题, 因此,该问题的解决是非常困难的。作者在Greenhead中解决了可靠性感知的虚拟数据中 屯、映射。映射算法保证VDC请求的可靠性。然而,W上方案的主要限制是他们忽略了数据 中屯、内部和数据中屯、之间的带宽费用的不同,一些特定的VM有位置约束,并且VM之间要交 换数据。而且,W上算法不能直接应用在多数据中屯、的资源分配。多数据中屯、的拓扑规模 很大。因为我们需要考虑映射在不同数据中屯、的VDC中虚拟组件之间的带宽,该些单个数 据中屯、内的可靠的VDC映射算法不能应用于跨分布式基础设施的可靠性感知的VDC映射。
[0005]AhmedAmokrane研究跨分布式基础设施的虚拟数据中屯、映射。作者提出了一个 跨分布式基础设施VDC映射的管理框架,称为Greenhead。Greenhead的目标是最小化能源 消耗和最大化InP的总收益,同时尽可能确保环境友好。然后,作者提出算法将分区映射 到数据中屯、,映射的依据是不同数据中屯、所在地理区域的电价,数据中屯、的CPU,可再生能 源的可用性和单位能源的碳排放量。作者狄浩提出了跨数据中屯、的可靠的虚拟网络映射算 法,保证虚拟网络映射的生存能力。然而,在一些方面,VDC映射和VN映射存在着差异。例 如,在VN中的VM不能放在同一个物理节点上,而每个物理节点可W同时承载VDC中的多个 VM。进一步,不同于ISP网络,数据中屯、网络的拓扑通常是传统树,胖树,或者Clos拓扑等。 该样,就导致现存的VN映射算法不能直接应用来解决VDC跨域映射问题。
【发明内容】
[0006] 本发明的目的是提供一种可靠性感知的虚拟数据中屯、跨域映射方法。
[0007] 本发明所要解决的两个问题是;首先,由于是可靠性感知的映射,所W要保证VDC 的可靠性请求。该就要求映射完成的VDC的可靠性要不低于VDC请求的可靠性。其次,我 们解决的是VDC的跨域映射问题。骨干网的链路承载的是不同数据中屯、之间的通信流,它 的单位链路通信带宽的成本要比数据中屯、内部的单位带宽高很多。VDC的数据传输的主要 成本是骨干网上的带宽成本,相比于骨干网的带宽成本,数据中屯、内部的带宽成本可W忽 略不计。所W,减少骨干网通信带宽是我们要解决的另一个主要问题。
[0008] 本发明具体采用如下技术方案;
[0009] -种可靠性感知的虚拟数据中屯、跨域映射方法,其流程如图1所示,具体包括W 下步骤:
[0010] 步骤1.划分服务器等级;客户提供初始的虚拟机(VirtualMachine,VM)节点拓 扑图,总物理计算资源由多个物理数据中屯、值ataCenter,DC)组成,每个物理数据中屯、由 多个服务器构成;将同一个物理数据中屯、的所有服务器,按照其各自的失效率由高至低进 行等级划分,失效率相同的服务器划分为同一级,失效率最高的服务器划分为第一级,且失 效率越低,服务器等级越高,共计N个等级;定义服务器等级集合K={第一级服务器},即 K二 1 ;
[0011] 步骤2.对虚拟机进行分组;
[0012] 步骤2-1.将客户提供的初始的虚拟机节点拓扑图中的每个节点按顺序编号;
[0013] 步骤2-2.从拓扑图中选择与1号节点通信带宽最大的一个节点,把该节点与1号 节点汇成一个虚拟机分组,然后从所有节点(包括已经汇成一个虚拟机分组的两个节点) 中选择和2号节点通信带宽最大的节点,把该节点与2号节点汇成一个虚拟机分组,若该节 点是已经汇成某个虚拟机分组的某个节点,需要进行W下判断:若2号节点和该节点的通 信带宽大于该节点和之前虚拟机分组中节点的通信带宽,则将该节点之前所在的虚拟机分 组拆开,该节点与2号节点汇成一个新的虚拟机分组,否则选择与2号节点通信带宽次大的 节点,把该节点与2号节点汇成一个分组;同样汇成一个虚拟分组前还要检查该节点是否 已经和其他节点汇成一个虚拟机分组;
[0014] 按照上述方法处理剩余各个节点,由此得到多个虚拟机分组;
[0015] 步骤2-3.将得到的每一个虚拟机分组视为一个节点,由此构成新的节点拓扑图, 对该新拓扑图按照步骤2-2所述方法进行重新分组;
[0016] 步骤2-4.重复执行步骤2-3,直到由于限制条件使得不能够继续重新分组来减少 分组间通信带宽时止,分组结束;
[0017] 步骤3.映射分组内的工作虚拟机;从步骤2-4所得的多个虚拟机分组中随机选取 一个虚拟机分组Pi,并从所述多个DC中选取一个DC,使得该DC中等级最高的服务器相比 于其他DC中等级最高的服务器能够为所述虚拟机分组Pi提供最高的可靠性,记该DC为所 述虚拟机分组Pi的目标DC;按照本步骤上述方法,分别找出剩余的所有虚拟机分组各自的 目标DC;
[0018] 步骤4.先后映射虚拟机分组Pi没有备份的VM、有备份的VM;在整个虚拟数据中屯、 中,将互相之间为备份关系的VM汇聚为一个复本组,每一个复本组只包含相同备份的VM; 按步骤4-1至步骤4-2所述方法实现虚拟机分组Pi的映射;
[0019] 步骤4-1.从所述虚拟机分组Pi中随机选取一个没有备份的VM,将其映射至所述 目标DC的服务器等级集合K中计算资源能够满足所选VM、且可靠性最高的服务器,若服务 器等级集合K所包含服务器的计算资源均不满足所选VM的要求,则由低等级至高等级依次 扫描该DC中的所有服务器直至找到计算资源满足所选VM的前提下,最低等级服务器中可 靠性最高的服务器作为该VM的映射服务器;按上述方法将所述虚拟机分组Pi中剩余的没 有备份的VM映射至目标DC中相应的服务器上;
[0020] 步骤4-2.在完成所述虚拟机分组Pi中所有没有备份的VM的映射工作后,按步骤 4-1上述方法将所述虚拟机分组Pi中有备份的VM映射至目标DC中相应的服务器上;在映 射有备份的VM之前,核实与该VM呈备份关系的VM是否已经映射,若是,则该VM不进行映 射,若否,则将该VM映射至相应的服务器上,即保证每一个复本组中只有一个VM进行映射, 将剩余未映射的VM记录为起备份作用的VM;
[002。 步骤5.当映射完第一个分组后,即完成所述虚拟机分组P冲所有VM的映射后,在 剩余未映射的虚拟机分组中,选取与虚拟机分组Pi的通信带宽最大的虚拟机分组,按步骤4 所述的映射方法,完成该虚拟机分组的映射;
[0022] 步骤6.从剩余未映射的虚拟机分组中,选取与已完成映射的虚拟机分组之间的 通信带宽之和最大的虚拟机分组,按步骤4所述的映射方法完成该虚拟机分组的映射,由 此实现所有虚拟机分组的映射;
[0023] 步骤7.完成所有虚拟机分组的映射后,计算整个映射方案提供服务的可靠性,若 可靠性已满足要求,则整个虚拟数据中屯、的映射工作完成,若可靠性低于所需的可靠性 值,则按步骤7-1至步骤7-2所述方法进行可靠性提升;
[0024] 步骤7-1.从记录为起备份作用的VM中,随机选取一个尚未映射的VM,将其映射 至该VM所在虚拟机分组对应的目标DC的服务器集合K中计算资源能够满足该VM、且可靠 性最高的服务器上,若服务器等级集合K所包含服务器的计算资源均不满足该VM的要求, 则由低等级至高等级依次扫描该DC中的所有服务器直至找到计算资源满足所选VM的前提 下,最低等级服务器中可靠性最高的服务器作为该VM的映射服务器;
[00巧]步骤7-2.步骤7-1所选的VM完成映射后,计算整个映射方案提供服务的可靠性, 若可靠性已满足要求,则整个虚拟数据中屯、的映射工作完成,若可靠性低于所需的可靠性 值,则按照步骤7-1所述方法依次逐个增加起备份作用的VM的映射个数并计算整个映射方 案提供服务的可靠性,直至所述可靠性满足要求时止,完成整个映射工作;
[0026] 步骤8.若记录为起备份作用的VM均已完成映射,而整个映射方案提供服务的可 靠性依然未满足要求,则重新定义服务器等级集合K={第一级服务器,第二级服务器},即 K= 2 ;依次执行步骤2至步骤7完成整个虚拟数据中屯、的映射工作;
[0027] 步骤9.若K= 2时,按上述方法所得的映射方案的可靠性无法达到要求,则依次 计算K= 3,…,N时按步骤2至步骤7所得映射方案的可靠性直至所述可靠性达到要求时 止,此时的映射方案即为最终的映射方案;若K=N时所得的映射方案的可靠性依然无法满 足要求,则映射失败,拒绝该VDC的映射请求。
[0028] 本发明的有益效果是:
[0029] 本发明提出的方法能够在保证满足VDC可靠性请求的前提下,有效的降低映射所 产生的骨干网带宽,降低VDC请求的阻塞率;本发明提供的方法既保证VDC的可靠性,又不 浪费可靠性高的物理资源,进而能够提高VDC请求的接收率;同时,本发明还能明显的降低 骨干网带宽,降低映射的成本。
【附图说明】
[0030] 图1为本发
明提供的虚拟数据中屯、跨域映射方法流程图;
[003。 图2为本实施例DAA-VDC算法、DA-VN算法和RVDC算法平均骨干网带宽消耗的性 能对比;
[003引图3为本实施例DAA-VDC算法、DA-VN算法和RVDC算法不同VDC请求数目的累积 资源消耗对比;
[003引图4为本实施例DAA-VDC算法、DA-VN算法和RVDC算法阻塞率的性能对比。【具体实施方式】
[0034] 下面结合附图和实施例对本发明做进一步说明。
[00对实施例
[0036] 本实施例仿真环境是一个跨域的环境;地理上分布的=个物理数据中屯、即3个 DC;每个数据中屯、的拓扑是胖树拓扑,有128个物理服务器和80个物理交换机。为了估计 本发明提供方法的有效性,设置服务器的能源消耗参数。本实施例使用表一中能源消耗比 为0. 5的服务器,因为CPU能源消耗是服务器上能源最大的消耗,所W在仿真中只考虑CPU 的能源消耗,每个物理服务器有32个CP化。在仿真中,虚拟机资源请求是服务器上CPU的 个数。在实验中随机使用S种类型的初始虚拟机节点拓扑;星形拓扑,二叉树拓扑和随机连 通图。我们产生两组静态VDC请求。每个VM的计算资源大小仰U的数量)分布在巧,16] 区间内;每条虚拟链路的带宽资源大小分布在[1,3]区间内,单位是10Mbps。组一中VDC的 VM数目在区间巧,30]中随机产生,组而中VDC的VM数目在区间巧,15]中随机产生。我们 假设每个VDC的可靠性请求属于集合阳0%,92%,94% ,96% ,98% }。
[0037] 表1服务器参数
[0038]
[0039] 本实施例对本发明提供的VDC跨域映射算法值AA-VDC)与传统的虚拟网络跨多数 据中屯、映射算法值A-VN)及随机映射算法(RVDC)的性能进行了比较。DA-VN是跨多数据中 屯、的虚拟网络映射算法,考虑可靠性,实现低映射成本。RVDC是VDC的跨域映射算法,只考 虑将VM放置在可用的且可靠性最高的服务器上。因为原始的DA-VN算法只考虑没有位置 约束的VM,我们需要修改DA-VN使它适用于解决有位置约束的VM构成的VDC的映射问题。 修改方法如下:在DA-VDC的分区算法中考虑VM的位置约束,当交换VM时,要保证交换完成 VM后,同一个分区里不存在两个有着完全不同位置约束的VM。
[0040] 我们比较DAA-VDC算法、DA-VN算法和RVDC算法的性能。待比较的性能包括VDC 平均骨干网带宽消耗(所有VDC总的骨干网带宽消耗除WVDC数目)、VDC物理节点资源消 耗(所有VDC总能耗除WVDC数目)和VDC的阻塞率(被拒绝的VDC数目除WVDC数目)。 [00川从图2中可W观察到S种算法VDC平均骨干网带宽消耗的性能。随着VDC数目的 增加,平均骨干网带宽消耗趋于平稳。仿真结果表明,相比于DA-VN和RVDC,在映射相同数 目的VDC的条件下,本发明提供的方法所消耗的骨干网带宽较少。该是因为DAA-VDC算法 将通信带宽大的VM映射在同一个数据中屯、。避免将高带宽需求的链路映射在骨干网上,从 而减小的骨干网的带宽消耗。由图可知,在骨干网的带宽消耗方面,本发明提供的DAA-VDC 相比于DA-VN和RVDC有较大的优势。
[0042] 图3(a)、3化)分别展示了组一、组二的不同VDC请求数目的累积资源消耗结果。可 观察到,随着VDC请求数目的增加,更多的资源被使用。可W中图中看出DAA-VDC在资源消 耗方面有更好的性能,相比于DA-VN消耗的资源更少。该是因为本发明提供的方法没有使 用多余的资源作为备份来保证可靠性,而传统的过度供应策略比本发明提供的方法使用更 多的资源,导致更高的VDC资源消耗。
[004引从图4中显示,立种算法在阻塞率方面的性能。我们可W很清楚的看到,DAA-VDC能够接收更多的VDC请求,因此可W提高总收益。随着VDC数目的增加,VDC的阻塞率也在 增大。但是可W看到,我们的算法相比于DA-VN和RVDC有较低的阻塞率。因为DAA-VDC算 法在映射VDC的时候,当VDC的可靠性满足需求,算法就将剩余的VM映射在可靠性低的服 务器上。该样合理使用物力资源,不浪费高可靠性的物理资源。因此,我们的算法能够节约 资源,从而接受更多的VDC请求。
【主权项】
1. 一种可靠性感知的虚拟数据中心跨域映射方法,具体包括以下步骤: 步骤1.划分服务器等级;客户提供初始的虚拟机即VM节点拓扑图,总物理计算资源由 多个物理数据中心即DC组成,每个物理数据中心由多个服务器构成;将同一个物理数据中 心的所有服务器,按照其各自的失效率由高至低进行等级划分,失效率相同的服务器划分 为同一级,失效率最高的服务器划分为第一级,且失效率越低,服务器等级越高,共计N个 等级;定义服务器等级集合K={第一级服务器},即K= 1 ; 步骤2.对虚拟机进行分组; 步骤2-1.将客户提供的初始的虚拟机节点拓扑图中的每个节点按顺序编号; 步骤2-2.从拓扑图中选择与1号节点通信带宽最大的一个节点,把该节点与1号节 点汇成一个虚拟机分组,从所有节点中选择和2号节点通信带宽最大的节点,把该节点与2 号节点汇成一个虚拟机分组,若该节点是已经汇成某个虚拟机分组的某个节点,需要进行 以下判断:若2号节点和该节点的通信带宽大于该节点和之前虚拟机分组中节点的通信带 宽,则将该节点之前所在的虚拟机分组拆开,该节点与2号节点汇成一个新的虚拟机分组, 否则选择与2号节点通信带宽次大的节点,把该节点与2号节点汇成一个分组;同样汇成一 个虚拟分组前还要检查该节点是否已经和其他节点汇成一个虚拟机分组; 按照上述方法处理剩余各个节点,由此得到多个虚拟机分组; 步骤2-3.将得到的每一个虚拟机分组视为一个节点,由此构成新的节点拓扑图,对该 新拓扑图按照步骤2-2所述方法进行重新分组; 步骤2-4.重复执行步骤2-3,直到由于限制条件使得不能够继续重新分组来减少分组 间通信带宽时止,分组结束; 步骤3.映射分组内的工作虚拟机; 从步骤2-4所得的多个虚拟机分组中随机选取一个虚拟机分组Pi,并从所述多个DC中 选取一个DC,使得该DC中等级最高的服务器相比于其他DC中等级最高的服务器能够为所 述虚拟机分组Pi提供最高的可靠性,记该DC为所述虚拟机分组Pi的目标DC;按照本步骤 上述方法,分别找出剩余的所有虚拟机分组各自的目标DC; 步骤4.先后映射虚拟机分组Pi没有备份的VM、有备份的VM;在整个虚拟数据中心中, 将互相之间为备份关系的VM汇聚为一个复本组,每一个复本组只包含相同备份的VM;按步 骤4-1至步骤4-2所述方法实现虚拟机分组匕的映射; 步骤4-1.从所述虚拟机分组Pi中随机选取一个没有备份的VM,将其映射至所述目标DC的服务器等级集合K中计算资源能够满足所选VM、且可靠性最高的服务器,若服务器等 级集合K所包含服务器的计算资源均不满足所选VM的要求,则由低等级至高等级依次扫描 该DC中的所有服务器直至找到计算资源满足所选VM的前提下,最低等级服务器中可靠性 最高的服务器作为该VM的映射服务器;按上述方法将所述虚拟机分组Pi*剩余的没有备 份的VM映射至目标DC中相应的服务器上; 步骤4-2.在完成所述虚拟机分组Pi中所有没有备份的VM的映射工作后,按步骤4-1 上述方法将所述虚拟机分组Pi中有备份的VM映射至目标DC中相应的服务器上;在映射有 备份的VM之前,核实与该VM呈备份关系的VM是否已经映射,若是,则该VM不进行映射,若 否,则将该VM映射至相应的服务器上,即保证每一个复本组中只有一个VM进行映射,将剩 余未映射的VM记录为起备份作用的VM; 步骤5.当映射完第一个分组后,即完成所述虚拟机分组Pi中所有VM的映射后,在剩余 未映射的虚拟机分组中,选取与虚拟机分组通信带宽最大的虚拟机分组,按步骤4所 述的映射方法,完成该虚拟机分组的映射; 步骤6.从剩余未映射的虚拟机分组中,选取与已完成映射的虚拟机分组之间的通信 带宽之和最大的虚拟机分组,按步骤4所述的映射方法完成该虚拟机分组的映射,由此实 现所有虚拟机分组的映射。2.根据权利要求1所述的可靠性感知的虚拟数据中心跨域映射方法,其特征在于,完 成步骤6后还包括以下步骤: 步骤7.完成所有虚拟机分组的映射后,计算整个映射方案提供服务的可靠性,若可靠 性已满足要求,则整个虚拟数据中心的映射工作完成,若可靠性低于所需的可靠性值,则按 步骤7-1至步骤7-2所述方法进行可靠性提升; 步骤7-1.从记录为起备份作用的VM中,随机选取一个尚未映射的VM,将其映射至该VM所在虚拟机分组对应的目标DC的服务器集合K中计算资源能够满足该VM、且可靠性最 高的服务器上,若服务器等级集合K所包含服务器的计算资源均不满足该VM的要求,则由 低等级至高等级依次扫描该DC中的所有服务器直至找到计算资源满足所选VM的前提下, 最低等级服务器中可靠性最高的服务器作为该VM的映射服务器; 步骤7-2.步骤7-1所选的VM完成映射后,计算整个映射方案提供服务的可靠性,若可 靠性已满足要求,则整个虚拟数据中心的映射工作完成,若可靠性低于所需的可靠性值,则 按照步骤7-1所述方法依次逐个增加起备份作用的VM的映射个数并计算整个映射方案提 供服务的可靠性,直至所述可靠性满足要求时止,完成整个映射工作; 步骤8.若记录为起备份作用的VM均已完成映射,而整个映射方案提供服务的可靠性 依然未满足要求,则重新定义服务器等级集合K={第一级服务器,第二级服务器},即K= 2 ;依次执行步骤2至步骤7完成整个虚拟数据中心的映射工作; 步骤9.若K= 2时,按上述方法所得的映射方案的可靠性无法达到要求,则依次计算K= 3,…,N时按步骤2至步骤7所得映射方案的可靠性直至所述可靠性达到要求时止, 此时的映射方案即为最终的映射方案;若K=N时所得的映射方案的可靠性依然无法满足 要求,则映射失败,拒绝该VDC的映射请求。
【专利摘要】本发明提出了一种可靠性感知的虚拟数据中心跨域映射方法,属于虚拟数据中心跨域映射技术领域。本发明依次通过划分服务器等级、对虚拟机进行分组、映射分组内的工作虚拟机及计算当前方案可靠性的操作,实现VDC的跨域映射。本发明提供的映射方法没有使用多余的资源作为备份来保证可靠性,而传统的过度供应策略比本发明提供的方法使用更多的资源。相比与现有技术,本发明方法提高了VDC的可靠性,并实现了较低的带宽费用,降低VDC的阻塞率。
【IPC分类】H04L29/08, H04L12/46
【公开号】CN104901999
【申请号】CN201510147562
【发明人】廖丹, 卜思桐, 孙罡, 左成
【申请人】电子科技大学
【公开日】2015年9月9日
【申请日】2015年3月31日