具有可预测性能的云数据中心两层带宽分配方法及系统的制作方法
【技术领域】
[0001] 本发明设及计算机技术领域,具体设及一种具有可预测性能的云数据中屯、两层带 宽分配方法及系统。
【背景技术】
[0002] 随着云计算技术的不断发展,由于其简单的按需付费模式和廉价的部署与维护成 本,越来越多的企业选择将他们的应用迁移部署到云平台上。成本和性能是云租户最关屯、 的问题。然而,现有商用云平台的网络资源是在租户间W尽力而为的方式所共享。如Amazon EC2保证了租户对于CPU,内存和硬盘的需求,却不能提供网络带宽的保证。运使得云服务提 供商所提供服务的性能和成本具有较高的不确定性。所W缺乏带宽保证会产生一系列问 题,阻碍企业应用迁移到公有云。同时,也会使得租户申请的虚拟机上跑的应用的不可预测 性:由于运行期间网络带宽的不一致,同一个云应用的运行时间是不同的,相应的,根据现 有的定价模型,虚拟机的使用费用也将是不同的。运些影响因素主要是由云租户间不同的 期望性能与获得性能的不一致而造成的。
[0003] 尽管在共享的网络基础设施上实现有带宽保证的网际资源管理是固有的难题,但 学术上和行业中已经提出了有很多工作来解决运个难题。但目前的方案存在很大的局限 性:1)现有的粗粒度网络抽象模型不能完整地表达租户的网络需求,并且在需求层面浪费 了部分带宽资源;2)虚拟机放置算法没有充分考虑租户角度的需求;3)当前的运行时机制 不能实现未使用带宽在有保证租户和无保证租户间的公平分配。
【发明内容】
[0004] 针对现有技术中的缺陷,本发明提供了一种具有可预测性能的云数据中屯、两层带 宽分配方法及系统,解决了现有的带宽分配方法存在的不能完整地表达租户的网络需求、 在需求层面浪费带宽资源、无法充分考虑租户的需求、W及不能实现未使用的带宽资源在 有保证租户和无保证租户间公平分配的问题。
[0005] 为解决上述问题,第一方面,本发明提供了一种具有可预测性能的云数据中屯、两 层带宽分配方法,包括:
[0006] 在云租户层面,根据细粒度虚拟集群FGVC网络抽象模型对租户发送的包含网络需 求的虚拟机请求进行带宽保证优化;
[0007] W及,根据预设分配算法对优化后的虚拟机请求进行物理机及相应的带宽资源分 配;
[0008] 在应用层面,采用E-F运行时机制将物理机及相应的带宽资源公平地分配给有保 证租户和无保证租户。
[0009] 进一步地,所述根据细粒度虚拟集群FGVC网络抽象模型对租户发送的包含网络需 求的虚拟机请求进行带宽保证优化,包括:根据所述虚拟机请求确定虚拟机的剩余带宽,将 所述虚拟机的剩余带宽平均分给与所述虚拟机连接的未分配的链路,W及将虚拟机两端带 宽保证中的最小值作为虚拟机间带宽保证。
[0010] 进一步地,所述根据预设分配算法对优化后的虚拟机请求进行物理机及相应的带 宽资源分配,包括:
[0011] 根据下述=种预设分配算法中的任意一种对优化后的虚拟机请求进行物理机及 相应的带宽资源分配:
[0012] 第一预设分配算法:从物理机层至根路由层寻找第一个可W满足两个条件的子 树,包括一台物理机、一个ToR交换机、一个汇聚层交换机或一个核屯、层交换机;第一个条件 是子树中空闲的虚拟机槽大于等于租户请求的虚拟机数;第二个条件是该子树下的带宽满 足虚拟机请求的带宽需求;
[0013] 第二预设分配算法:物理机层至根路由层寻找第一个可W满足两个条件的子树, 包括一台物理机、一个ToR交换机、一个汇聚层交换机或一个核屯、层交换机;第一个条件是 子树中空闲的虚拟机槽大于等于租户请求的虚拟机数;第二个条件是该子树下的剩余带宽 是最小的,且可满足租户的带宽需求;
[0014] 第=预设分配算法:物理机层至根路由层寻找第一个可W满足两个条件的子树, 包括一台物理机、一个ToR交换机、一个汇聚层交换机或一个核屯、层交换机;第一个条件是 子树中空闲的虚拟机槽大于等于租户请求的虚拟机数;第二个条件是子树中剩余带宽的总 数最大,且可满足虚拟机请求中的带宽需求。
[0015] 进一步地,在所述根据预设分配算法对优化后的虚拟机请求进行物理机及相应的 带宽资源分配之前,所述方法还包括:根据预设排序算法对优化后的虚拟机请求进行排序。
[0016] 进一步地,所述根据预设排序算法对优化后的虚拟机请求进行排序,包括:
[0017] 根据下述五种预设排序算法中的任意一种对优化后的虚拟机请求进行排序:
[0018] 先来先服务FCFS:按到来顺序执行;
[0019] 最小利润率优先SRRF:拥有最小利润率的任务先执行;
[0020] 最大利润率优先LRRF:拥有最大利润率的任务先执行;
[0021] 最大权重优先:在排队调度机制中引入了权重,每个虚拟机请求的权重是该虚拟 机请求的利润率乘W等待时间或除W等待时间。
[0022] 进一步地,所述采用E-F运行时机制将物理机及相应的带宽资源公平地分配给有 保证租户和无保证租户包括:当存在未被分配的带宽资源时,按服务器粒度为无保证租户 设定带宽保证。
[0023] 第二方面,本发明还提供了一种具有可预测性能的云数据中屯、两层带宽分配系 统,包括:云租户层面处理模块和应用层面处理模块;
[0024] 所述云租户层面处理模块,用于根据细粒度虚拟集群FGVC网络抽象模型对租户发 送的包含网络需求的虚拟机请求进行带宽保证优化;
[0025] W及,用于根据预设分配算法对优化后的虚拟机请求进行物理机及相应的带宽资 源分配;
[0026] 应用层面处理模块,用于采用E-F运行时机制将物理机及相应的带宽资源公平地 分配给有保证租户和无保证租户。
[0027] 进一步地,所述云租户层面处理模块具体用于:根据所述虚拟机请求确定虚拟机 的剩余带宽,将所述虚拟机的剩余带宽平均分给与所述虚拟机连接的未分配的链路,W及 将虚拟机两端带宽保证中的最小值作为虚拟机间带宽保证。
[00%]进一步地,所述云租户层面处理模块具体用于:
[0029] 根据下述=种预设分配算法中的任意一种对优化后的虚拟机请求进行物理机及 相应的带宽资源分配:
[0030] 第一预设分配算法:从物理机层至根路由层寻找第一个可W满足两个条件的子 树,包括一台物理机、一个ToR交换机、一个汇聚层交换机或一个核屯、层交换机;第一个条件 是子树中空闲的虚拟机槽大于等于租户请求的虚拟机数;第二个条件是该子树下的带宽满 足虚拟机请求的带宽需求;
[0031] 第二预设分配算法:物理机层至根路由层寻找第一个可W满足两个条件的子树, 包括一台物理机、一个ToR交换机、一个汇聚层交换机或一个核屯、层交换机;第一个条件是 子树中空闲的虚拟机槽大于等于租户请求的虚拟机数;第二个条件是该子树下的剩余带宽 是最小的,且可满足租户的带宽需求;
[0032] 第=预设分配算法:物理机层至根路由层寻找第一个可W满足两个条件的子树, 包括一台物理机、一个ToR交换机、一个汇聚层交换机或一个核屯、层交换机;第一个条件是 子树中空闲的虚拟机槽大于等于租户请求的虚拟机数;第二个条件是子树中剩余带宽的总 数最大,且可满足虚拟机请求中的带宽需求。
[0033] 进一步地,所述应用层面处理模块具体用于:当存在未被分配的带宽资源时,按服 务器粒度为无保证租户设定带宽保证。
[0034] 由上述技术方案可知,本发明所述的具有可预测性能的云数据中屯、两层带宽分配 方法及系统,在云租户层面采用了细粒度虚拟集群FGVC网络抽象模型对租户发送的包含网 络需求的虚拟机请求进行了带宽保证优化,并根据预设分配算法对优化后的虚拟机请求进 行物理机及相应的带宽资源分配;在应用层面,采用了 E-F运行时机制将物理机及相应的带 宽资源公平地分配给有保证租户和无保证租户,从而解决了现有的带宽分配方法存在的不 能完整地表达租户的网络需求、在需求层面浪费带宽资源、无法充分考虑租户的需求、W及 不能实现未使用的带宽资源在有保证租户和无保证租户间公平分配的问题。
【附图说明】
[0035] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明 的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据 运些附图获得其他的附图。
[0036] 图1是本发明第一个实施例提供的具有可预测性能的云数据中屯、两层带宽分配方 法的流程图;
[0037] 图2是本发明第二个实施例提供的具有可预测性能的云数据中屯、两层带宽分配方 法的流程图;
[0038] 图3是Sponge化t系统实现步骤的示意图;
[0039] 图4a是一个软管模型示意图;
[0040] 图4b是一个虚拟机连接图(VCG)的示意图;
[0041 ] 图5a是一个MapReduce虚拟机群的VCG图;
[0042] 图化是是一个典型的S层网络应用的VCG图;
[0043] 图6a是一个FGV村青求示意图;
[0044] 图化是FGV对莫型优化过程示意图;
[0045] 图7是两阶段虚拟机放置示意图;
[0046] 图8a是一条物理链路上的一种E-F运行时机制示意图;
[0047] 图8b是一条物理链路上的另一种E-F运行时机制示意图;
[004引图9是树状拓扑中E-F运行时机制示意图;
[0049] 图10是不同应用的带宽节省量示意图;
[0050] 图11是不同组合的完成时间示意图;
[0051 ]图是利润率示意图;
[0052] 图12b是虚拟机利用率(每秒)示意图;
[0053] 图13a是不同平均带宽大小的完成时间示意图;
[0054] 图13b是不同平台负载下的完成时间示意图;
[0055] 图14a和图14b是不同组合的等待时间和队列长度不意图;
[0056] 图15a和图15b是每个请求的等待时间和队列长度随时间的变化示意图;
[0057] 图16a和图16b是不同平均带宽大小和平台负载下的平均等待时间示意图;
[0058] 图17是实验平台拓扑结构示意图;
[0059] 图18a和图18b是多对一的实验场景不意图;
[0060] 图19a和图19b是多对一的两种情景;
[0061 ] 图20是MapReduce实验的CDF示意图;
[0062] 图21是本发明第=个实施例提供的具有可预测性能的云数据中屯、两层带宽分配 系统的结构示意图。
【具体实施方式】
[0063] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他发明,都属于本发明保护的范围。
[0064] 图1示出了本发明第一个实施例提供的具有可预测性能的云数据中屯、两层带宽分 配方法的流程图,如图1所示,本实施例的具有可预测性能的云数据中屯、两层带宽分配方法 包括如下步骤:
[0065] 步骤101:在云租户层面,根据细粒度虚拟集群FGVC网络抽象模型对租户发送的包 含网络需求的虚拟机请求进行带宽保证优化;
[0066] W及,根据预设分配算法对优化后的虚拟机请求进行物理机及相应的带宽资源分 配。
[006