当前位置: 首页 > 专利查询>英特尔公司专利>正文

负载平衡系统、设备和方法技术方案

技术编号:19126118 阅读:40 留言:0更新日期:2018-10-10 07:35
本发明专利技术涉及负载平衡系统、设备和方法,实施例涉及对一个或多个网络端口上的数据进行负载平衡。一种设备可以包括处理电路,该处理电路用以:经由第一端口向目的地设备传输第一系列数据包中的第一数据包,确定第一系列数据包中的第一数据包与第二数据包之间的时间间隔,以及响应于确定该时间间隔大于时间阈值,经由第二端口向目的地设备传输第二数据包。

【技术实现步骤摘要】
负载平衡系统、设备和方法
本文中所讨论的实施例涉及用于确定将数据从源设备提供到目的地设备所通过的路径的系统、设备和方法。
技术介绍
网络可以包括多条路径,通过这些路径可以将来自源设备的数据提供给目的地设备。这些路径可以在一个或多个属性(延迟、带宽、负载等等)方面是不同的。属性上的这种变化可以是第一路径上的负载不同于第二路径上的负载的证据。具有更大负载的路径可以包括的路径遍历时间大于具有更少负载的路径的路径遍历时间。附图说明图1作为示例图示了网络的实施例的框图;图2作为示例图示了图1的网络接口控制器(NIC)的实施例的分解视图;图3作为示例图示了数据包系列的逻辑示图;图4作为示例图示了用于负载平衡的方法的实施例的框图;图5作为示例图示了系统的实施例的逻辑框图。具体实施方式以下描述和附图充分地说明了具体实施例,以使得本领域技术人员能够对它们进行实践。其他实施例可以结合结构改变、逻辑改变、电学改变、过程改变以及其他改变。可以将一些实施例的部分和特征包括在其他实施例中或者代替其他实施例的部分和特征。权利要求中所阐述的实施例涵盖这些权利要求的所有可用等价方式。网络流量可能是突发性的。已经存在检查针对该现象的原因的多种研究。传输控制协议(TCP)窗口耗尽是可能引起流量突发的一个简单示例,但是其并非这一行为的唯一来源。数据包的突发有时被称为“数据包串(packettrain)”。数据包串是同一流(前往同一目的地)中的一组数据包,并且它们可以具有指定的最大数据包间时间间隔(timegap)。数据包串包括来自同一源并且前往同一目的地的一连串数据包。当两个数据包之间的时间超过某个数据包间间隔时间时,认为该数据包属于不同的数据包串。数据包串在本文中有时被称为微流。在其他实例中,微流可以意指非常短暂的连接。在这一应用的情境中,微流是所建立的连接内的一系列数据包,诸如数据包串。微流间的时间参数可由用户配置,其具有的值取决于应用使用网络所利用的频率。微流的数据包间到达时间(数据包间隔)可以是系统参数,诸如可以取决于网络硬件和/或软件。可以将一些数据中心(datacenter)进行连接,以便将延迟最小化以及允许高带宽通信。针对这种数据中心架构的方面之一是,所有托运器(sled)将具有与不同交换机的指定数量的相应连接。托运器是可以位于托运器架上的设备。每个托运器可以提供计算能力和/或通信能力。可以由NIC来提供连接,该NIC包括与连接数量相等的端口数量。可以经由端口中的任意来发送任意给定的数据包。然而,可能重要的是,同一流中的数据包以相同的顺序到达。如果经由不同端口发送同一流中的数据包,则这可能使数据包乱序地到达它们的目的地。这可能是由于数据包在不同路径上遇到的不同延迟或不同的拥堵水平。乱序的数据包到达可能导致不必要的重传。重传增加了延迟并且不必要地消耗带宽。为了避免这一情况,在当前经由同一端口来发送同一流(连接)中的数据包。流量可以在以下一般方法之一中通过NIC的端口之间的流或连接来划分:1.确定性,诸如可以基于所定义的转发表;2.随机流分配,诸如可以是基于散列值(hashvalue)的;以及3.动态负载平衡,诸如可以是基于拥堵的。本文中所讨论的实施例涉及动态负载平衡。确定性流遵循在存储器中定义的预定义路径,诸如可以包括路由表等等。随机流分配可以确定用于数据包的散列值,将散列值与预定的散列表进行比较,以及基于散列表中的条目将数据包转发到端口。动态负载平衡技术可以包括确定诸如路径上的流量之类的属性,以及基于该属性改变下一个数据包路径。确定性和随机分配方法是静态的并且即使当可以经由再平衡而改善带宽时也可能不允许再平衡。本文中考虑了动态负载平衡(DLB)。然而,乱序数据包可能出现,以及可能有利的是,避免这样的乱序数据包,以便在接收到数据包之后减少处理时间和/或错误。源设备与目的地设备之间的路径可以是长久的或短暂的。当给定的托运器具有短暂的连接时,可能对于托运器而言容易的是使用DLB来平衡其端口上的流量。当建立了新的连接时,可以将它们分配给当前最少加载的端口。当连接中的一些或所有连接都是长久的时,这种简单的方法可能是不够的。对于一些流量模式而言,“巨量数据流(elephantflow)”(例如,大的连续的流)能够极大地影响带宽管理。巨量数据流可能消耗显著的带宽并且可能是长久的。在建立连接时并非显而易见的是,该连接的寿命将是多久,或者该连接将需要多少吞吐量。鉴于这一点,可能的是,上述方法中的任意将过度数量的巨量数据流随机地放置在同一端口上,从而使该端口上的带宽饱和,而其他端口上的带宽仍是可用的。这种最坏的情况是不太可能的,但是也不太可能的是,所有连接将以按照最大限度利用NIC的端口的方式进行分配而告终。如果例如NIC上的每个端口具有50Mbps的带宽,则NIC的端口具有200Mbps的聚合带宽(假设NIC具有四个端口)。确定性或随机流分配可以在同一端口上放置两个需求流。这些流将会彼此竞争,并且甚至在NIC的其他三个端口被轻度加载时总共被限制到仅50Mbps的总数。类似地,当在同一端口上放置这两个流原本已经是正确决策时,DLB技术可以做出带宽管理决策。然后其他端口上的短暂流结束它们的传送并且被拆除。然而,两个巨量数据现在被绑定到同一端口并且即使当带宽在其他端口上变为可用时也可能不被移动。所需要的是一种用以在不引起乱序数据包的情况下对流正使用的端口进行再分配的DLB方法。本文中所讨论的系统、设备和方法可以监视流,并且寻找被发送的数据包之间的间隔。如果间隔足够大,则这允许随后的数据包在系统上的任意端口上进行传输(例如,NIC、多片上系统(SOC)式系统等等)。这允许在避免数据包重排序的同时进行伺机再平衡。图1作为示例图示了网络100的实施例的框图。如图示的网络100包括源设备110和目的地设备120。源设备110是数据包所起源于的设备(数据包源)。目的地设备120是数据包要被传输到的设备。源设备110与目的地设备120之间的是交换网络130。第一数据包微流144(“STRMAMF1”)和第二数据包微流146(“STRMAMF2”)从源设备110流向目的地设备120。如图示的源设备110包括网络接口控制器(NIC)112。NIC112(例如,与交换网络130一起)将源设备110连接到网络的一个或多个其他设备。NIC112是硬件部件。用于NIC的一些其他常用术语可以包括:主机结构接口(HFI)、网络接口卡、网络适配器、局域网(LAN)适配器以及物理网络接口。NIC112包括电学部件和电子部件,诸如可以包括处理电路(参见图2)。NIC112包括多个端口114和116。端口114和116被配置成将数据包传送到交换网络130或者从交换网络130接收数据包。NIC112可以由多SOC系统或其他接口设备或系统来代替。如图示的目的地设备120包括网络接口控制器(NIC)122。NIC122(例如,与交换网络130一起)将目的地设备120连接到网络100的一个或多个其他设备。NIC122可以类似于NIC112。NIC112包括多个端口124和126。端口124和126被配置成将数据包传送交换网络130或者从交换网络130接收数据包。如图示的交换网本文档来自技高网...
负载平衡系统、设备和方法

【技术保护点】
1.一种包括处理电路的设备,所述处理电路用以:经由第一端口向目的地设备传输第一系列数据包中的第一数据包;确定所述第一系列数据包中的第一数据包与第二数据包之间的时间间隔;以及响应于确定所述时间间隔大于时间阈值,经由第二端口向所述目的地设备传输所述第二数据包。

【技术特征摘要】
2017.03.24 US 15/4688351.一种包括处理电路的设备,所述处理电路用以:经由第一端口向目的地设备传输第一系列数据包中的第一数据包;确定所述第一系列数据包中的第一数据包与第二数据包之间的时间间隔;以及响应于确定所述时间间隔大于时间阈值,经由第二端口向所述目的地设备传输所述第二数据包。2.根据权利要求1所述的设备,其中所述处理电路进一步用以估计与所述第一端口相关联的去往目的地设备的第一传输时间。3.根据权利要求2所述的设备,其中所述处理电路进一步用以估计与所述第二端口相关联的去往所述目的地设备的第二传输时间。4.根据权利要求3所述的设备,其中分别基于第一属性数据和第二属性数据来估计所述第一传输时间和第二传输时间。5.根据权利要求4所述的设备,其中如果所述第二传输时间小于所述第一传输时间,则所述第一时间阈值大于或等于所估计的第一传输时间与所估计的第二传输时间之间的差。6.根据权利要求2所述的设备,其中基于第一属性数据来估计与所述第一端口相关联的去往所述目的地设备的第一传输时间包括:所述处理电路用以测量去往所述目的地设备的数据包的传输与相关联的确认消息的接收之间的时间。7.根据权利要求2所述的设备,其中所述处理电路进一步用以:确定所述第二数据包与第三数据包之间的时间间隔;以及响应于确定所述时间间隔大于第二时间阈值,经由所述第一端口向所述目的地设备传输所述第三数据包。8.根据权利要求7所述的设备,其中如果所述第一传输时间小于所述第二传输时间,则所述第二时间阈值是所述第二传输时间与所述第一传输时间之间的差,以及如果所述第二传输时间小于所述第一传输时间,则所述第二时间阈值是最小时间阈值。9.根据权利要求2所述的设备,其中第一属性数据包括:通过所述第一端口沿着所述计算机设备与所述目的地设备之间的传输路径的拥堵信息和队列深度中的至少一个。10.根据权利要求1所述的设备,其中所述处理电路进一步用以响应于来自所述目的地设备的乱序消息来增加所述第一时间阈值。11.根据权利要求1所述的设备,进一步包括:具有所述第一端口和所述第二端口的网络接口控制器。12.根据权利要求1所述的设备,其中通过耦合于所述计算机设备与所述目的地设备之间的克洛斯网络传输所述数据包。13.根据权利要求1所述的设备,其中所述处理电路进一步用以响应于接收到在所述第一端口上的且与所述第一数据包相关联的确认以及在已经经由所述第二端口传输所述...

【专利技术属性】
技术研发人员:P康纳P萨兰加姆
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1