用于提供胖树拓扑中的交换机之间的无死锁路由的系统和方法技术方案

技术编号:10184031 阅读:141 留言:0更新日期:2014-07-03 14:25
一种系统和方法可以支持在中间件机器环境中的多个交换机之间路由数据包,从而通过在中间件机器环境中启用IP over Infiniband(IPoIB)通信来支持基于互联网协议(IP)的管理业务。所述多个交换机可以使用路由算法来对中间件机器环境中的交换机间业务执行路由。然后,可以选择中间件环境中的交换机作为用于不能使用路由算法到达其目的地的交换机间业务的集线器交换机。此外,当经由集线器交换机在源交换机与目的地交换机之间存在路径时,可以更新与集线器交换机相关联的路由表。

【技术实现步骤摘要】
【国外来华专利技术】用于提供胖树拓扑中的交换机之间的无死锁路由的系统和方法版权声明本专利文档的公开内容的一部分包含受版权保护的资料。版权所有人不反对任何人如该专利文档或专利公开内容在专利商标局的专利文件或记录中所登载的那样对它进行复制再现,但是保留所有其他版权权利。
本专利技术总体上涉及计算机系统,更特别地,涉及支持中间件机器环境中的交换机对交换机通信。
技术介绍
胖树拓扑用于如今的高性能计算(HPC)集群,并且用于基于InfiniBand(IB)技术的集群。对于胖树,与大多数其他技术一样,路由算法对于网络资源的高效率使用是有益的。然而,当涉及交换机对交换机通信时,现有的路由算法具有限制。没有一种现有的路由算法支持对于高效率系统管理有益的无死锁、全连接的交换机对交换机通信。这些大致是本专利技术的实施例意图解决的领域。
技术实现思路
本文中描述可以支持在中间件机器环境下的多个交换机之间路由数据包的系统和方法。中间件机器环境可以通过在中间件机器环境下启用IPoverInfiniband(IPoIB)通信来支持基于互联网协议(IP)的管理业务。所述多个交换机可以使用路由算法来对中间件机器环境下的交换机间业务执行路由。然后,可以选择中间件机器环境下的交换机作为用于使用路由算法不能到达目的地的交换机间业务的集线器交换机。此外,当经由集线器交换机在源交换机与目的地交换机之间存在路径时,可以更新与集线器交换机相关联的路由表。在本专利技术的示例性实施例中,提供一种用于支持中间件机器环境下的交换机间业务路由的系统。该系统可以包括多个交换机,其中至少一个可以包括路由单元、选择单元和更新单元。路由单元可以使用第一路由算法来对中间件机器环境下的交换机间业务执行路由;选择单元可以选择中间件机器环境下的交换机作为用于使用第一路由算法不能到达目的地的交换机间业务的集线器交换机;当经由集线器交换机在源交换机与目的地交换机之间存在路径时,更新单元可以用于更新与集线器交换机相关联的路由表。在实施例中,所述多个交换机可以形成胖树拓扑。选择单元可以选择胖树拓扑中的叶交换机作为集线器交换机,并且该叶交换机可以到达胖树拓扑中的多个交换机目的地。在胖树拓扑中,第一路由算法可以使用向上/向下拐弯(turn)模型来路由交换机间业务。当向上/向下拐弯模型失败时,交换机间业务向下/向上拐弯,并且所有向下/向上拐弯都被局域化到其中集线器交换机作为子树根节点的单个无死锁子树,以便防止胖树拓扑中的死锁。在另一实施例中,所述多个交换机中的所述至少一个还可以包括迭代单元,其迭代经过胖树拓扑中的多个叶交换机,以便找到可以到达胖树拓扑中的多个交换机目的地的一个或多个叶交换机。在例子中,所述多个交换机中的所述至少一个还可以包括检查单元。检查单元可以检查集线器交换机是否具有兄弟交换机,并且当至目的地交换机的路径不存在时,检查与所述兄弟相关联的路由表是否包含所述路径。在例子中,所述多个交换机中的所述至少一个还可以包括路径设置单元,其用于当所述兄弟交换机存在并且与所述兄弟交换机相关联的路由表包含到目的地交换机的路径时,在源交换机和子树根交换机上设置通过所述兄弟交换机到目的地交换机的路径。在另一个例子中,所述多个交换机中的所述至少一个还可以包括端口设置单元,其用于将用于目的地交换机的输出端口设置为与用于集线器交换机的输出端口相同。附图说明图1示出当在中间件机器环境下发生死锁时的示例性场景的例示。图2示出根据本专利技术的实施例的提供单核胖树拓扑中的交换机之间的无死锁路由的例示。图3示出根据本专利技术的实施例的提供多核胖树拓扑中的交换机之间的无死锁路由的例示。图4例示根据本专利技术的实施例的用于提供胖树拓扑中的交换机之间的无死锁路由的示例性流程图。图5例示根据本专利技术的交换机的示例性实施例。具体实施方式本文中描述可以支持在中间件机器环境下的多个开关之间路由数据包的系统和方法。中间件机器环境可以通过在中间件机器环境下启用IPoverInfiniband(IPoIB)通信来支持基于互联网协议(IP)的管理业务。InfiniBand(IB)网络和子网管理根据本专利技术的实施例,IB网络可以被称为子网,其中子网包括使用交换机和点对点链路互连的一组主机。IB交织结构(fabric)可以构成一个或多个子网,其中每个子网可以使用路由器互连。使用本地标识符(LID)来寻址子网内的主机和交换机,并且单个子网限于49151个LID。IB子网可以具有至少一个子集管理器(SM),其负责初始化和启动网络,包括驻留在子网中的交换机、路由器和主机信道适配器(HCA)上的所有IB端口的配置。在初始化时,SM从发现状态开始,在发现状态下,SM对网络进行扫描以发现所有交换机和主机。在发现状态期间,SM可以发现其他SM,并且可以就谁应是主控SM进行商议。当发现状态完成时,SM进入主控状态。在主控状态下,SM进行LID分配、交换机配置、路由表计算和部署以及端口配置。主控状态一完成,子网就启动并且准备好供使用,并且在子网已经被配置之后,SM负责监视网络变化。另外,SM可以负责计算保持所有的源和目的地对之间的全连接、无死锁和适当负荷均衡的路由表。可以在网络初始化时计算路由表,并且每当拓扑改变时可以重复该处理以便更新路由表并且确保最佳性能。在正常操作期间,SM执行网络的周期性过光扫描(lightsweep),以检查拓扑改变事件,诸如当链路发生故障时、当装置被添加时、或者当链路被移除时。如果在过光扫描期间发现改变事件,或者如果SM接收到通知网络改变的消息(陷阱),则SM可以根据所发现的改变来重新配置网络。该重新配置也可以包括在初始化期间使用的步骤。IB是无损联网技术,其中可以对每一虚拟通道(VL)执行流控制(flow-control)。VL是同一物理链路上具有独立的缓冲、流控制和拥塞管理资源的逻辑信道。VL的概念使得可以在物理拓扑上构建虚拟网络。这些虚拟网络或层可以用于各种目的,诸如高效率路由、死锁规避、容错性和服务差异化。胖树路由根据本专利技术的实施例,胖树拓扑是分层网络拓扑,例如,均衡的胖树可以在每一层都具有相等的链路容量。此外,可以通过构建具有多个根的树(例如可以使用XGFT表示法描述的m端口n树定义或k-aryn树定义)来实现胖树拓扑。胖树路由算法可以利用可用网络资源。胖树路由算法可以包括两个阶段:从源转发数据包的向上阶段、以及当朝向目的地转发数据包时的向下阶段。这两个阶段之间的过渡发生在最近公共祖先处,最近公共祖先是可以通过其向下端口到达源和目的地两者的交换机。这样的路由实现确保无死锁,并且该实现还确保朝向同一目的地的每一个路径会聚在同一根(顶部)节点处,使得朝向该目的地的所有数据包在向下方向上遵循单个专用路径。通过具有用于每个目的地的专用向下路径,有效地去除了向下阶段中的争用(移至向上阶段),使得用于不同目的地的数据包在其路径上仅争用一半交换机中的输出端口。另外,超额预订的胖树中的向下路径不是专用的,可以由几个目的地共享。交换机对交换机通信除了终端节点之间的通信之外,胖树拓扑允许交换机对交换机通信。当交换机对交换机通信发起很少的业务时,可以忽略交换机对交换机通信,或者换句话讲,可以认为IB交换机是从路由算法的观点来讲可以安全地忽略的透明装置。另一方面,交换机对本文档来自技高网...
用于提供胖树拓扑中的交换机之间的无死锁路由的系统和方法

【技术保护点】
一种用于支持操作于一个或多个微处理器上的中间件机器环境中的多个交换机之间的路由的方法,包括:使用路由算法对所述中间件机器环境中的交换机间业务执行路由;选择所述中间件机器环境中的交换机作为集线器交换机以用于不能使用所述路由算法到达其目的地的交换机间业务;以及当经由所述集线器交换机在源交换机与目的地交换机之间存在路径时,更新与所述集线器交换机相关联的路由表。

【技术特征摘要】
【国外来华专利技术】2011.11.09 US 61/557,722;2012.10.16 US 13/653,3031.一种用于支持操作于一个或多个微处理器上的中间件机器环境中的多个交换机之间的路由的方法,包括:使用路由算法对所述中间件机器环境中的交换机间业务执行路由,其中所述中间件机器环境包括多个叶交换机;遍历所述多个叶交换机以确定特定叶交换机直接或者间接连接到所述中间件机器环境中的每个交换机;选择所述特定叶交换机作为集线器交换机以用于不能使用所述路由算法到达其目的地的交换机间业务;以及当经由所述集线器交换机在源交换机与目的地交换机之间存在路径时,更新与所述集线器交换机相关联的路由表。2.根据权利要求1所述的方法,还包括:使所述中间件机器环境中的所述多个交换机处于胖树拓扑中。3.根据权利要求2所述的方法,还包括:使用所述路由算法中的向上/向下拐弯模型来路由所述胖树拓扑中的交换机间业务。4.根据权利要求3所述的方法,还包括:当所述向上/向下拐弯模型失败时,使所述交换机间业务进行向下/向上拐弯,并且将所有的向下/向上拐弯局部化到其中所述集线器交换机作为子树根交换机的单个无死锁子树,以便防止所述胖树拓扑中的死锁。5.根据权利要求1至4中的任何一个所述的方法,还包括:当到所述目的地交换机的路径不存在时,检查所述集线器交换机是否具有兄弟交换机,并且检查与所述兄弟交换机相关联的路由表是否包含所述路径。6.根据权利要求4所述的方法,还包括:当到所述目的地交换机的路径不存在时,检查所述集线器交换机是否具有兄弟交换机,并且检查与所述兄弟交换机相关联的路由表是否包含所述路径;以及当所述兄弟交换机存在并且与所述兄弟交换机相关联的路由表包含到所述目的地交换机的路径时,在所述源交换机和所述子树根交换机上设置通过所述兄弟交换机到所述目的地交换机的路径。7.根据权利要求1至4中的任何一个所述的方法,还包括:使用于所述目的地交换机的输出端口与用于所述集线器交换机的输出端口相同。8.根据权利要求1至4中的任何一个所述的方法,还包括:使用递推函数用于交换机间路由中的跳跃计算,其中所述递推函数在构成所述路径的一个或多个交换机上迭代。9.一种用于支持中间件机器环境中的交换机间业务路由的系统,包括:多个交换机,所述多个交换机运行于一个或多个微处理器上,其中所述多个交换机操作为执行以下步骤:使用路由算法来对所述中间件机器环境中的交换机间业务执行路由,其中所述中间件机器环境包括多个叶交换机;遍历所述多个叶交换机以确定特定叶交换机直接或者间接连接到所述中间件机器环境中的每个交换机;选择所述特定叶交换机作为集线器交换机以用于不能使用所述路由算法到达其目的地的交换机间业务;以及当经由所述集线器交换机在源交换机与目的地交换机之间存在路径时,更新与所述集线器交换机相关联的路由表。10.一种用于支持中间件机器环境中的交换机间业务路由的系统,所述系统包括多个交换机,所述多个交换机中的至少一个交换机包括:路由单元,配置为使用路由算法来对所述中间件机器环境中的交换机间业务执行路由,其中所述中间件机器环境包括多个叶交换机;迭代单元,配置为遍历所述多个叶交换机以确定特定叶交换机直接或者间接连接到所述中间件机器环境中的每个交换机;选择单元,配置为选择所述特定叶交换机作为集线器交换机以用于不能使用所述路由算法到达其目的地的交换机间业务;以及更新单元,配置为当经由所述集线器交换机在源交换机与目的地交换机之间存在路径时,更新与所...

【专利技术属性】
技术研发人员:B·博格丹斯基
申请(专利权)人:甲骨文国际公司
类型:发明
国别省市:美国;US

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

1
相关领域技术
  • 暂无相关专利