云应用带宽建模的制作方法_2

文档序号:9438923阅读:来源:国知局
的流量的带 宽保证。图3中的自环边可视为由虚拟交换机S2实现,C2中的每个VM通过具有容量的 双向链路连接至虚拟交换机S2。虚拟交换机S2表示双向连接。S2可由网络交换机实现。
[0020] TAG易于使用并且此外,因为TAG中规定的带宽需求可从一个组件的任何VM应用 到另一个组件的各VM,所以TAG适应应用组件之间的动态负载平衡和应用组件的动态调整 大小(被称为"伸缩")。当组件大小通过伸缩改变时,每VM带宽需求\和Re不一定改变。
[0021] TAG还可适应应用组件之间的中间盒(middlebox)。许多类型的中间盒(例如负 载均衡器和安全服务)仅检查一个方向上的流量,而不是反向的流量(例如,仅检查对数据 库服务器的查询而不是来自服务器的回应)。TAG模型也可适应这些单向中间盒。
[0022] 因为查询常常比响应消耗更小的带宽,因此规定定向带宽的能力允许TAG比单向 模型部署多达2倍以上的保证。例如,具有高输出带宽需求的VM可定位在与具有高进入带 宽需求的VM相同的服务器上。
[0023] 用户可通过测量来识别每VM保证以在TAG中使用,或者使用VM的处理容量和工 作量模型来计算每VM保证。
[0024] 现在描述可由部署管理器122确定的TAG部署。部署TAG可包括优化VM在物理 硬件104中物理服务器上的布置,同时保留网络中连接VM 106的物理链路上的带宽需求。 随后,带宽可被监控以实施所保留的带宽。
[0025] 在一个示例中,VM以如下这种方式被部署:许多VM尽可能被部署在树形物理拓扑 上,同时提供可由租户规定的带宽需求。部署可最小化超额订购的网络核心中的带宽使用, 假设超额订购的网络核心是树形网络拓扑中的带宽的瓶颈资源。树可包括根网络交换机、 中间核心交换机(例如聚合交换机)、以及在核心交换机下面且连接至作为子树中的叶子 的服务器的低层交换机(例如机架交换机的顶部)。树和子树可包括层3交换机和层2交 换机。在一个示例中,物理拓扑的最小可行子树被选择用于TAG的VM的布置。在所选择的 子树中,彼此大量对话的组件被布置在相同的子节点下。具有比预定阈值大的带宽需求的 组件可被认为是大量对话者。阈值可被确定为所有请求的带宽的函数。例如,最高的20% 可被认为是"大量对话者",或者阈值带宽量可从带宽需求的历史分析中确定。最小分割函 数可用于确定这些组件的布置。例如,这些组件的布置是在具有η个节点的有向网络G中寻 找最小容量分割的问题。最小分割函数可用于确定布置。例如,Hao和Orlin在"A faster algorithm for finding the minimum cut in a directed graph(用于查找有向图中的 最小分割的更快算法)"(J. Algorithms (算法杂志)17 :424-446, Hao, Jianxiu (郝建秀), Orlin, James B.(奥林· B ·杰姆斯)(1994))中公开了用于解决最小分割问题的高引用最 小分割函数。可使用其他最小分割函数。
[0026] 最小分割阶段完成后保持被布置的组件可尝试独立于其在子树中的布置来消耗 核心带宽。为了最小化核心带宽消耗,这些剩余组件的VM可以以通过充分利用链路带宽和 各个服务器的其他资源(CPU、存储器等)使服务器联合最大化的方式被布置。这可通过解 决像背包(Knapsack)问题这样的问题来实现。一些函数可用来解决背包问题。一个示例是 由Vincent Poirriez(文森特波瑞兹)、Nicola Yanev(尼古拉雅尼夫)、Rumen Andonov(汝 蒙安多诺夫)(2009)公开的"A Hybrid Algorithm for the Unbounded Knapsack Problem Discrete Optimization!;用于无边界背包问题离散优化的混合算法)"。在一个示例中,如 果一个组件具有与其他组件的高带宽需求,并且另一组件具有与其他组件的低带宽需求, 则剩余的彼此不常通信(例如,彼此之间不具有有向边,或者具有带宽小于阈值的有向边) 的组件可布置在一起。一旦确定了组件布置,带宽就可例如基于组件中VM的流量分布而保 留在组件的物理链路上。
[0027] 通过示例的方式参照图1中示出的云带宽建模和部署系统120描述方法400和方 法500。方法400和方法500可在其他系统中实施。
[0028] 图4图示根据示例的用于创建TAG的方法400。TAG基于应用的组件之间的通信 模式,例如对由分布式计算环境中的VM所托管的应用的带宽需求进行建模。在401处,应 用带宽建模模块121确定应用的组件。例如,云带宽建模和部署系统120例如从租户所提 供的用户输入接收应用中的组件的指示,且向应用带宽建模模块121提供组件的列表。云 带宽模型和部署系统120可具有用户的图形用户界面以输入组件,或用户可以以文件向云 带宽建模和部署系统120提供组件列表。
[0029] 在402处,应用带宽建模模块121在TAG中为每个组件创建顶点。在403处,应用 带宽建模模块121确定每个组件之间的带宽需求。带宽需求可从用户(例如租户)接收。 例如,租户可通过测量来识别每VM保证以在TAG中使用,或者使用VM的处理容量和工作量 模型来计算每VM保证。带宽需求可转换成网络中连接VM的不同链路上保留的带宽/保证。 例如,带宽需求是从一个组件的VM到另一个组件的VM的单向传输的带宽,并且可包括发送 速率(例如图3中示出的B1)和接收速率(例如图3中示出的B2)。还可为在一个组件(例 如图2和图3中示出的C2)中彼此通信的VM规定带宽需求。
[0030] 在404处,应用带宽建模模块121在TAG中创建组件之间的有向边以表示带宽需 求。
[0031] 图5图示根据示例的用于TAG中表示的组件的VM的布置的方法500。例如,云带 宽建模和部署系统120中的部署管理器122确定VM的布置。在501处,部署管理器122确 定云102中底层物理网络的物理拓扑的最小子树,该最小子树具有托管TAG中所有组件的 VM的容量。网络的物理拓扑可被表示为包括根交换机、连接至根交换机的中间交换机、以及 连接至中间交换机和服务器的低层交换机的树结构。树结构可包含包括交换机和服务器的 多个子树。
[0032] 在502处,部署管理器122确定TAG中具有大于阈值的带宽需求的组件,该阈值可 以是相对阈值或预定带宽。这些组件被认为是"大量对话者"。在一个示例中,相对阈值用 于确定大量对话者。例如,相对阈值被计算为可用的上行链路(将节点连接至其父节点) 带宽除以节点(交换机或服务器)下未使用的VM插槽数,该节点被认为用于部署感兴趣的 组件。
[0033] 在503处,部署管理器122为这些组件选择在所选择的子树中的同一子节点(例 如同一交换机)下的VM布置。例如,"大量对话者"组件被布置在同一服务器上,或被布置 在连接至子树中的同一交换机的服务器上。例如,这些组件的布置是查找具有η个节点的 有向网络G中的最小容量分割的问题。可使用最小分割函数来确定该布置。
[0034] 在504处,部署管理器122例如确定剩余VM的布置,以最小化可能是瓶颈的交换 机的带宽消耗,并最大化链路带宽和各个服务器的其他资源(CPU、存储器等)的利用。在一 个示例中,如果一个
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1