多处理器系统的节点路由方法、控制器及多处理器系统的制作方法

文档序号:7895235阅读:222来源:国知局
专利名称:多处理器系统的节点路由方法、控制器及多处理器系统的制作方法
技术领域
本发明涉及计算机技木,尤其涉及一种多处理器系统的节点路由方法、路由策略控制器及多处理器系统。
背景技术
大規模的多处理器系统中,容错是指在部件失效情况下系统内处理器联网运作的能力,容错实现技术往往是以多处理器系统通信性能的大大降低为代价的。通常,多处理器系统内的节点通信时,由路由策略控制器制定路由策略提供给待发送信息的节点,使得待发送信息的节点沿最短路由转发报文。报文在从ー个节点发送另ー个节点的过程中,在到达目的节点之前通常要经过多个中间节点,由于路由策略控制器制定的路由策略,只允许报文使用最短路由转发,当最短路由中的某一链路发生故障时,报文就以循环的方式互相等待从而发生死锁。这样,包含在死锁配置内的所有报文将永远被阻塞。

发明内容
本发明提供一种多处理器系统的节点路由方法、控制器及多处理器系统,用于实现容错路由。本发明的第一个方面是提供一种多处理器系统的节点路由方法,包括获知多处理器系统内节点之间的可用链路的状态,所述多处理器系统包括第一子网,所述第一子网包括相连的至少两个节点;当所述第一子网中至少有ー个链路发生故障时,重新选定所述第一子网中所有节点之间的可用链路,以使所述第一子网中的节点利用所述重新选定的可用链路路由报文;重新选定的可用链路为所述第一子网中,每个节点上除去与故障链路的维度序号相同的链路之后剰余的链路,其中,维度序号为一条链路在两端节点的编号,一条链路在两端节点的编号相同。本发明的另ー个方面是提供一种多处理器系统的路由策略控制器,包括状态获知模块,用于获知多处理器系统内节点之间的可用链路的状态,所述多处理器系统包括第一子网,所述第一子网包括相连的至少两个节点;链路选定模块,用于当所述第一子网中至少有ー个链路发生故障时,重新选定所述第一子网中所有节点之间的可用链路,以使所述第一子网中的节点利用所述重新选定的可用链路路由报文;重新选定的可用链路为所述第一子网中,每个节点上除去与故障链路的维度序号相同的链路之后剰余的链路,其中,维度序号为一条链路在两端节点的编号,一条链路在两端节点的编号相同。本发明的又ー个方面是提供一种多处理器系统,包括上述多处理器系统的路由策略控制器和至少两个节点。本发明实施例提供的多处理器系统的节点路由方法、控制器及多处理器系统的技术效果是通过获知多处理器系统内节点之间的可用链路的状态,并当至少有ー个链路发生故障时,从每个节点上除去与故障链路的维度序号相同的链路之后剰余的链路中重新选定可用链路,利用重新选定的可用链路重新组织起新的路由,恢复系统通信,实现了容错路由。


图I为本发明实施例提供的多处理器系统的节点路由方法的流程图;图2为本发明实施例提供的多处理器系统的节点路由方法中多个子网的示意图;图3为本发明实施例一提供的多处理器系统的节点路由方法中的网络连接示意图; 图4为本发明实施例一提供的多处理器系统的节点路由方法中链路故障后的可用链路^^意图;图5为本发明实施例ニ提供的多处理器系统的节点路由方法中的网络连接示意图;图6为本发明实施例ニ提供的多处理器系统的节点路由方法中链路故障后的可用链路^^意图;图7为本发明实施例提供的多处理器系统的路由策略控制器的结构示意图;图8为本发明实施例提供的多处理器系统的结构示意图。
具体实施例方式图I为本发明实施例提供的多处理器系统的节点路由方法的流程图。本实施例中路由策略控制器为执行主体,如图I所示,该方法包括步骤11、获知多处理器系统内节点之间的可用链路的状态,该多处理器系统包括第一子网,该第一子网包括相连的至少两个节点。如路由策略控制器可监测得到多处理器系统内节点之间的可用链路的状态。或者多处理器系统内节点之间的可用链路的状态由专门的模块进行监控,路由策略控制器通过该专门的模块获知多处理器系统内节点之间的可用链路的状态,如正常、故障等。其中,一个节点可包括两个CPU。步骤12、当该第一子网中至少有ー个链路发生故障时,重新选定该第一子网中所有节点之间的可用链路,以使该第一子网中的节点利用该重新选定的可用链路路由报文;重新选定的可用链路为该第一子网中,每个节点上除去与故障链路的维度序号相同的链路之后剰余的链路,其中,维度序号为一条链路在两端节点的编号,一条链路在两端节点的编号相同。上述步骤11、步骤12可由路由策略控制器执行。其中,该多处理器系统还可包括第二子网,所述第二子网中的链路数量及其维度序号与所述第一子网中的链路数量及维度序号相同,该第一子网与该第二子网通过第n+1维的链路相连,其中,η为该第一子网和第二子网中链路的最大维度;当第一子网与该第二子网之间只有ー个n+1维的链路时,第一子网的节点均通过该条第n+1维的链路与第二子网相连;当第一子网与该第二子网之间有η个第n+1维的链路时,第一子网的每个节点分别均通过一条n+1维的链路与第二子网相连。相应地,本发明实施例提供的多处理器系统的节点路由方法还可包括选定该第一子网中的节点到该第二子网的可用链路,以使该第一子网中的节点将该报文路由到该第二子网;该第一子网中的节点到该第二子网的可用链路,包括第n+1维的链路及该第二子网中的可用链路,该第二子网中的可用链路为该第二子网中,各节点除去与该第一子网路由该报文所使用的链路维度序号相同的链路后,剰余的链路。优选地,第n+1维的链路,为该报文的发送节点与目的节点之间的路由的中间链路,以进ー步提高容错能力。从发送节点经过ー些中间节点,再到达目的节点有多跳,通常大于等于3跳,这些中间节点的链路就称为中间链路。优选地,该第一子网路由该报文使用的链路为前n/2维的链路,该第二子网路由该报文使用的链路为后n/2维的链路,以进ー步提高容错能力。 如图2所示,本实施例中,多处理器系统可包括子网A和子网B。假设子网A、子网B均是η维网络,即有η个维度,两个子网之间通过第n+1維,即维度Dn+Ι,也即维度序号为n+1的链路连接。子网A、子网B分别具有维度Dl,D2 "Dn,Dn+l,如果维度Dn+Ι的所有链路,即维度序号为n+1的链路,也即第n+1维链路全部断开,则两个子网不可互相通信。任何一个维度如维度Dn+Ι,即维度序号为n+1的链路,也即第n+1维链路上发生链路损坏,但只要保持相同维度下的任一根链路可用,就可以构造无死锁容错路由。要构造无死锁容错路由,维度为Dn+Ι的链路,即维度序号为n+1的链路,也即第n+1维链路必须位于维度编号路由的中间。其中,维度编号路由即用链路的维度来表示路由。如Dl — D2 —…Dn — Dn+1,即表不从维度序号为I的链路到维度序号为n+1的链路组成的路由。如果按照n+1维的维度编号路由方式构造路由表,则维度为Dn+Ι的链路不可以位于维度编号路由的最后ー维,因为在最后一歩有的点仅通过维度为Dn+Ι的链路不可达,也就是说维度编号路由Dl — D2 —…Dn — Dn+Ι的方式不可行。同理由于链路是双向的,维度为Dn+Ι的链路也不可以位于维度编号路由的第一维,因为在第一歩后有的点仅通过维度为Dn+Ι的链路不可达。也就是说维度编号路由Dn+Ι — Dl — D2 —…Dn的方式不可行。较优的方式是将每个子网的η个维度分成两个n/2维度,将Dn+Ι维置于维度编号路由的中间Dl — D2—…Dn/2 —Dn+Ι — Dn/2+l — Dn,也就是在A网络中只利用前n/2维度路由,在B网络中只利用后n/2维度通信,相互之间剔除维度相同的链路,也即维度序号相同的链路。这样,就很容易构建容错的无死锁路由。本发明实施例提供的多处理器系统的节点路由方法通过探索和制定ー套容易实现的无死锁可容错的路由机制,确保了容错机系统互联架构的高可靠性,解决了处理器系统中,如果不对内部网络的路由算法和路由机制进行设置,很容易形成死锁的问题,尤其是在网络上出现某单节点或多节点断路的情况下,无死锁的路由算法可能非常复杂和多变的问题。实施例一以具有8节点网络的多处理器系统为例对本发明实施例提供的方法做进ー步详细说明。
其中,8节点网络的维度数量可以是广7中的任意ー个,维度的数量不同,网络结构及路由步长也所有不同,如下表所示。
权利要求
1.一种多处理器系统的节点路由方法,其特征在于,包括 获知所述多处理器系统内节点之间的可用链路的状态,所述多处理器系统包括第一子网,所述第一子网包括相连的至少两个节点; 当所述第一子网中至少有ー个链路发生故障时,重新选定所述第一子网中所有节点之间的可用链路,以使所述第一子网中的节点利用所述重新选定的可用链路路由报文;所述重新选定的可用链路为所述第一子网中,每个节点上除去与故障链路的维度序号相同的链路之后剰余的链路,其中,维度序号为一条链路在两端节点的编号,所述链路在两端节点的编号相同。
2.根据权利要求I所述的方法,其特征在于,所述获知多处理器系统内节点之间的可用链路的状态,包括 监测得到所述多处理器系统内节点之间的可用链路的状态。
3.根据权利要求I或2所述的方法,其特征在于,所述多处理器系统还包括第二子网,所述第二子网中的链路数量及其维度序号与所述第一子网中的链路数量及维度序号相同,所述第一子网与所述第二子网通过第n+1维的链路相连,其中,η为所述第一子网和第二子网中链路的最大维度; 所述方法还包括 选定所述第一子网中的节点到所述第二子网的可用链路,以使所述第一子网中的节点将所述报文路由到所述第二子网;所述第一子网中的节点到所述第二子网的可用链路,包括第n+1维的链路及所述第二子网中的可用链路,所述第二子网中的可用链路为所述第二子网中,各节点除去与所述第一子网路由所述报文所使用的链路维度序号相同的链路后,剩余的链路。
4.根据权利要求3所述的方法,其特征在于,所述第n+1维的链路,为所述报文的发送节点与目的节点之间的路由的中间链路。
5.根据权利要求4所述的方法,其特征在于,所述第一子网路由所述报文使用的链路为前n/2维的链路,所述第二子网路由所述报文使用的链路为后n/2维的链路。
6.一种多处理器系统的路由策略控制器,其特征在于,包括 状态获知模块,用于获知所述多处理器系统内节点之间的可用链路的状态,所述多处理器系统包括第一子网,所述第一子网包括相连的至少两个节点; 链路选定模块,用于当所述第一子网中至少有ー个链路发生故障时,重新选定所述第一子网中所有节点之间的可用链路,以使所述第一子网中的节点利用所述重新选定的可用链路路由报文;重新选定的可用链路为所述第一子网中,每个节点上除去与故障链路的维度序号相同的链路之后剰余的链路,其中,维度序号为一条链路在两端节点的编号,一条链路在两端节点的编号相同。
7.根据权利要求6所述的路由策略控制器,其特征在于,所述状态获知模块具体用于监测得到多处理器系统内节点之间的可用链路的状态。
8.根据权利要求6或7所述的路由策略控制器,其特征在于,所述多处理器系统还包括第二子网,所述第二子网中的链路数量及其维度序号与所述第一子网中的链路数量及维度序号相同,所述第一子网与所述第二子网通过第n+1维的链路相连,其中,η为所述第一子网和第二子网中链路的最大维度;所述装置还包括 链路选定模块还用于选定所述第一子网中的节点到所述第二子网的可用链路,以使所述第一子网中的节点将所述报文路由到所述第二子网;所述第一子网中的节点到所述第二子网的可用链路,包括第n+1维的链路及所述第二子网中的可用链路,所述第二子网中的可用链路为所述第二子网中,各节点除去与所述第一子网路由所述报文所使用的链路维度序号相同的链路后,剰余的链路。
9.根据权利要求8所述的路由策略控制器,其特征在于,所述第n+1维的链路,为所述报文的发送节点与目的节点之间的路由的中间链路。
10.根据权利要求9所述的路由策略控制器,其特征在于,所述第一子网路由所述报文使用的链路为前n/2维的链路,所述第二子网路由所述报文使用的链路为后n/2维的链路。
11.一种多处理器系统,其特征在于,包括上述权利要求6-10任意一项所述的多处理器系统的路由策略控制器和至少两个节点。
全文摘要
本发明提供一种多处理器系统的节点路由方法、控制器及多处理器系统,方法包括获知多处理器系统内节点之间的可用链路的状态,所述多处理器系统包括第一子网,所述第一子网包括相连的至少两个节点;当所述第一子网中至少有一个链路发生故障时,重新选定所述第一子网中所有节点之间的可用链路,以使所述第一子网中的节点利用所述重新选定的可用链路路由报文;重新选定的可用链路为所述第一子网中,每个节点上除去与故障链路的维度序号相同的链路之后剩余的链路,其中,维度序号为一条链路在两端节点的编号,一条链路在两端节点的编号相同。
文档编号H04L12/56GK102651712SQ20121014343
公开日2012年8月29日 申请日期2012年5月10日 优先权日2012年5月10日
发明者刘建根, 王海彬 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1