CN110708241B - 在分布式直接互连网络中路由分组的方法 - Google Patents

在分布式直接互连网络中路由分组的方法 Download PDF

Info

Publication number
CN110708241B
CN110708241B CN201910860198.3A CN201910860198A CN110708241B CN 110708241 B CN110708241 B CN 110708241B CN 201910860198 A CN201910860198 A CN 201910860198A CN 110708241 B CN110708241 B CN 110708241B
Authority
CN
China
Prior art keywords
node
nodes
output port
packets
network topology
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910860198.3A
Other languages
English (en)
Other versions
CN110708241A (zh
Inventor
D.奥普雷亚
A.卡塔纳
U.纽斯塔特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lockport Networks Inc
Original Assignee
Lockport Networks Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Lockport Networks Inc filed Critical Lockport Networks Inc
Publication of CN110708241A publication Critical patent/CN110708241A/zh
Application granted granted Critical
Publication of CN110708241B publication Critical patent/CN110708241B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/34Source routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/40Wormhole routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6225Fixed service order, e.g. Round Robin

Abstract

本发明提供一种用于跨越具有低延迟、增加的吞吐量和业务分发的环形或高基数拓扑路由数据分组以避免热点发展的方法和设备。公开了一种在分布式直接互连网络中从源节点向目的地节点路由分组的方法,该方法包括以下步骤:发现所有节点和关联端口;更新数据库以包括网络拓扑中的所述节点和端口;计算从每个节点上的每个输出端口到所述拓扑中的每个其它节点的最短路径;在所述源节点的输出端口处将每个分组分段成微片;随着所述微片被分段,使用虫孔交换来沿着从所述源节点上的每个输出端口到所述目的地节点的最短路径分发所述微片,由此所述分组沿着所述网络拓扑中的替换的最大不相交路由被分发;以及在所述目的地节点处对所述分组进行重组和重排序,使得所述分组符合它们的原始次序/形式。

Description

在分布式直接互连网络中路由分组的方法
本申请是2015年2月13日提交的中国专利申请号为201580019119.6的题为“在分布式直接互连网络中路由分组的方法”的专利申请的分案。
技术领域
本发明涉及用于数据中心和云数据中心服务器互连的计算机网络。特别地,本发明涉及用于在诸如“蜻蜓”布线结构的环形(torus)或高基数拓扑上实现的直接互连网络中路由分组的方法。
背景技术
术语数据中心(DC)通常是指用来容纳全部通过大量的结构化电缆线路互连的大型计算机系统(常常被包含在容纳装置的机架上)及其关联组件的设施。云数据中心(CDC)是用来是指类似地存储实体的数据的大型的通常为备用设施的术语。
网络交换机是链接网络设备以用于通信/处理目的的计算机联网装置。换句话说,交换机是能够从连接到其上的任何设备接收消息并且将该消息发送到特定设备的电信设备,该特定设备是该消息将要被中继到的设备。网络交换机也通常被称为处理并路由数据的多端口网桥。这里,通过端口,我们是指交换机与它附连到的计算机/服务器/CPU之间的接口(用于电缆或插头的出口)。
现今,DC和CDC通常使用一组二层交换机来实现数据中心联网。二层交换机在第2层(数据链路层)处处理并路由数据,所述数据链路层是在同一局域网上的节点(例如,服务器)或广域网中的相邻节点之间传送数据的协议层。然而,要解决的关键问题是如何构建大容量计算机网络,其能够承载包含非常大数目的端口(数千个)的非常大的聚合带宽(数千TB)、需要最小结构和空间(即,使对于用于容纳具有卡片机架的大量机柜的大房间的需要最小化)并且是容易地可扩展的以及可以有助于使功耗最小化。
传统的网络拓扑实施例是基于按照如图1中所示的层次树结构而组织的完全独立的交换机。核心交换机2是具有非常大的交换容量的甚高速低计数端口。第二层使用聚合交换机4(具有大数目的端口的中等容量交换机)来实现,然而第三层使用较低速度、大端口计数(例如,四十/四十八)、低容量边缘交换机6来实现。通常边缘交换机是层2,然而聚合端口是层2和/或层3,并且核心交换机通常是层3。这个实施例在所提供的示例中在最多六跳链路(上至核心交换机2的三跳以及下至目的地服务器8的三跳)中提供任何服务器8到任何服务器连接性。出于冗余可靠性目的这样的层次结构也通常是重复的。例如,参考图1,在没有重复的情况下如果最右边的边缘交换机6出故障,则不存在到最右边的服务器8的连接性。至少,核心交换机2是重复的,因为核心交换机2的故障将产生总数据中心连接性故障。由于显然的原因,这个方法在解决将来CDC的挑战时具有显著的局限性。例如,因为每个交换机是完全自备式的,所以这增加复杂性、显著的楼层空间利用、易于人为错误的复杂电缆线路以及人工交换机配置/提供以及增加的能量成本。
然而,已经做出许多尝试,以改进数据中心中的交换可扩展性、可靠性、容量和延迟。例如,已经做出努力来通过使用统一控制平面(例如,来自Juniper Networks的QFabic系统交换机;参见例如http://www.juniper.net/us/en/productservices/switching/qfabric-system/)来实现更复杂的交换解决方案,但是这样的系统仍然使用并维持传统的层次架构。此外,考虑到系统用户以及要存储、存取和处理的数据的数目的指数增加,当确定计算机网络系统的性能要求时处理能力已成为最重要的因素。虽然服务器性能一直持续地改进,但是一个服务器不够强大到满足需要。这是并行处理的使用已变得至关重要的原因。结果,在多达80%的许多情况下,什么是占主导的北美业务流现在已主要成为东西方业务流。不管业务流的这种改变,网络架构尚未演进为对于这个模型来说是最佳的。它因此仍然是确定在并行处理通信期间CPU之间的交互的速度的通信网络(其互连计算节点(服务器))的拓扑。
对于增加的东西方业务通信的这个需要导致较新的更平坦网络架构(例如,环形的/环形网络)的创建。环形互连系统是用于在并行计算机系统中以网状方式连接网络节点(服务器)的网络拓扑。环形拓扑能够具有布置在能够被虚拟化为阵列的2、3或更多(N)个维度上的节点,其中处理器/服务器连接到它们最近的邻居处理器/服务器,并且其中阵列的相对边缘上的处理器/服务器被连接。以这种方式,每个节点在N维环形配置中具有2N个连接(图2提供了3-D环形互连的示例)。因为环形拓扑中的每个节点经由短电缆线路连接到相邻节点,所以在并行处理期间存在低网络延迟。实际上,环形拓扑以最小跳数提供对任何节点(服务器)的访问。例如,实现3x 3x 3x4结构(108个节点)的四维环形需要平均2.5跳以便提供任意点到任意点的连接性。图4提供6x 6 2-D环形的示例,示出了从拐角节点1.6转向所有其它35个节点所需要的最小跳数。如所示,从节点1.6到达任何目的地所需要的跳数能够被标绘为在3跳(10个节点)处具有峰并且通常分别在5跳(4个节点)和1跳(4个节点)处具有尾的贝尔曲线。
遗憾的是,大型环形网络实施例尚未实际用于DC或CDC的商业部署,因为大型实施例可能花费数月来构建,电缆线路可能是复杂的(对于每个节点来说2N个连接),并且它们在扩展是必要的情况下修改可能是代价高且麻烦的。然而,在对于处理能力的需要已经比商业缺点重的情况下,环形拓扑在超级计算机中的实现一直是非常成功的。在这方面,IBM的蓝色基因超级计算机提供3-D环形互连网络的示例,其中64个机柜容纳65,536个节点(131,072个CPU)以提供每秒千万亿次浮点运算(petaflops)处理能力(参见插图的图3),然而富士的PRIMEHPC FX10超级计算机系统是被容纳在包括98,304个节点的1,024个机架中的6-D环形互连的示例。虽然以上示例处理环形拓扑,但是它们同样地适用于其它平坦网络拓扑。
本发明更具体地处理在环形或高基数网络结构中从节点到节点的数据分组遍历和路由的重要问题。在这方面,它是确定数据的分组在网络中从源转向目的地所采取的实际路径的路由。出于本文目的,延迟是指分组在网络中到达目的地所花费的时间,并且通常是从当报头到达源节点的输入端时到当它到达目的地节点的输入端时来测量的。跳计数是指在源与目的地之间遍历(经过)的链路或节点的数目,并且表示用于确定延迟的近似值。吞吐量是按照比特/每秒(bits/sec)测量的网络每输入端口/节点接受的数据速率。
当路由时的有用目标是为了在节点当中均匀地分发业务(负荷均衡)以便避免热点发展(使用/需求已超过期望的或可接受的阈值的通路或节点区域)并且为了使争用(当两个或更多个节点试图同时在同一条电线或路径上发送消息或分组时)最小化,从而改进网络延迟和吞吐量。为此选择的路由影响从节点到节点的跳数,并且可能在路由未被优化时潜在地甚至由此影响能量消耗。
网络操作的拓扑还无疑影响延迟,因为拓扑影响节点之间的平均最小跳计数和距离。例如,在环形中,不仅存在分组能够为了到达目的地而采取的数个路径(即,在存在“路径分集”的环形中),而且在任何源和目的地对之间也存在多个最小长度路径。作为示例,图5示出了分组能够为了在2-D环形网格中从节点S11转向节点D12而采取的三个最小路由(3跳)的示例,同时也示出了5跳的较长的第四路由。通过路由完成的路径计算是基本上仅基于拓扑完成的-源路由在逐跳基础上动态地基于分组源-目的地对。
利用路径分集的路由方法学在网络中具有更好的故障容错和更好的负荷均衡。然而,路由方法学不总是实现这样的目标,并且能够通常被划分成三个类别:确定性、无关和自适应。确定性路由是指一对给定节点之间的路由不顾网络的当前状态(即,不顾网络业务量)都被提前确定的事实。维序路由(DOR)是确定性路由的示例,其中从节点A到节点B的所有消息将总是遍历同一路径。具体地,消息逐个维度遍历(X-Y路由),从而在切换到下一个维度之前到达在一个维度上与其目的地匹配的纵坐标。作为一个示例,图6能够被用来示出DOR,其中分组首先沿着第一维度(X)行进与从节点1至5到9所需要的一样远,后面是沿着第二维度(Y)行进到目的地节点10。尽管这样的路由通常易于实现并且无死锁(死锁是指沿着从源到目的地的通路存在死循环的情形),然而未利用路径分集并且因此负荷均衡较差。
“无关(oblivious)”的路由算法是其中不顾网络的当前状态随机地做出路由判定的那些算法(确定性路由是无关路由的子集)。尽管这意味着无关路由可能实现起来简单,然而它也不能适于业务和网络情况。众所周知的无关路由方法的示例是Valiant算法(为本领域的技术人员所知)。在这个方法中,从节点A发送到节点B的分组被首先从A发送到随机地选择的中间节点X(一跳),并且然后从X发送到B。再次参考图6,Valiant算法能够将节点2随机地选择为从源节点1到目的地节点10的中间节点,意味着路径1-2-3-7-11-10例如能够被用于路由目的。这通常使任何业务模式随机化,并且因为所有模式似乎是均匀随机的,所以网络负荷是十分均衡的。事实上,Valiant算法一直被认为能够通常在几乎任何拓扑上针对任何业务模式使负荷均衡。然而,一个问题是Valiant路由通常是非最小的(最小路由是在源与目的地之间需要最小跳数的路径),这常常导致显著的跳计数增加,并且这进一步增加网络延迟并且可以潜在地增加能量消耗。然而,诸如在拥塞最小的网络中存在例外。非最小路由可能随着附加节点被遍历而显著地增加延迟并且可能增加功耗;另一方面,在经历拥塞的网络中,非最小路由可以实际上帮助避免节点或热点,并且从而实际上导致较低延迟。
如果最小路由是期望的或必要的,则能够修改Valiant算法以通过指定中间节点必须位于最小象限内来将其随机判定限于最小路由/最短路径。作为示例,参考图6,节点1(具有节点10的目的地)的最小象限将包含节点2、5和0,并且将导致3的常用跳计数。
Valiant算法提供将降低热点发展的可能性的某种水平的路径选择随机化。然而,存在另一个难题,在影响这些效率情况下-Valiant路由仅在与DOR路由相结合地使用时才无死锁,其本身在负荷均衡和热点避免方面是失败的。
自适应路由算法是其中路由判定是基于网络或网络业务的状态的那些算法。它们通常涉及流控机制,并且在这方面常常使用缓冲器占用。自适应路由能够采用全局节点信息(其是成本性能合理的),或者能够使用来自仅本地节点的信息,包括例如用于测量网络拥塞的队列占用。使用单独来自本地节点的信息的问题是这有时可能导致次优选择。自适应路由也可能限于最小路径,或者它能够通过采用具有活锁(即,与分组行进未进行到目的地的死锁类似的情形;常常是资源缺乏的结果)的潜在性的非最小路径从而是完全自适应的(即,在采取最短路径时没有限制)。这有时能够通过每分组允许特定数目的误编路由并且通过将更高优先级给予被误编路由许多次的分组来克服。自适应路由的另一问题是它可能对保存数据分组排序造成问题-分组需要按照相同的次序到达目的地或者否则你需要实现分组重排序机制。
最后,重要的是提及能够通过源表或本地表来实现路由。利用源表,整个路由在源处被指定,并且能够被嵌入到分组报头中。因此使延迟最小化了,因为路由不必在每个节点处被查找或者被逐跳路由。还能够使源表针对每目的地指定多个路由以能够管理故障,并且,在路由被随机地选择(即,无关路由)时,能够提高负荷均衡。利用本地节点表,另一方面,较小的路由表被采用。然而,分组将采取的下一个步骤在每个节点处被确定,并且这增加了每跳延迟。
本发明设法克服现有技术中的缺陷并且改进在环形或高基数网络拓扑中路由分组的已知方法。
发明内容
在一个方面中,本发明提供一种用于在环形网格或高基数拓扑上路由数据分组以提供低延迟、增加的吞吐量以及避免热点和死锁的新颖方法。
在又一个方面中,本发明提供一种用于在环形网格或高基数结构中实现业务去相关(随机化)、带宽分配中增加的效率、负荷均衡和流量工程(traffic engineering)的方法。
在一个实施例中,本发明提供一种在直接互连网络中从源节点向目的地节点路由分组的计算机实现的方法,该方法包括以下步骤:在网络拓扑中发现所有节点以及每个节点上的所有输出端口;将在所述网络拓扑中发现的节点和输出端口包括在拓扑数据库中以便允许所述节点和端口被包括在最短路径路由计算中;基于包含在所述拓扑数据库中的那些节点和输出端口来计算从每个节点上的每个输出端口到所述网络拓扑中的每个其它节点的最短路径;在每个节点上生成源路由数据库,其包含从所述每个节点上的每个输出端口到所述网络拓扑中的所有其它节点的最短路径;在所述源节点处接收分组;以循环方式或加权循环方式将所接收到的分组发送到所述源节点的输出端口,由此所述接收到的分组中的每一个此后在所述源节点的所述输出端口处被分段成微片(flits)并且沿着从所述源节点上的所述输出端口到所述目的地节点的多个最短路径被分发,使得所述分组从而沿着所述网络拓扑中的多个替换的路由而被分发;以及在所述目的地节点处对所述分组进行重组和重排序,使得所述分组符合它们的原始形式和次序。
在另一个实施例中,本发明提供一种路由分组的方法,其中使用虫孔(wormhole)交换将微片转发到目的地节点。
附图说明
现在将参考附图通过示例对本发明的实施例进行描述,附图中:
图1是传统的数据中心网络实施例的高级视图;
图2是具有8个节点的3维环形互连的图;
图3是示出了采用环形架构的IBM蓝色基因处理单元的层次的图;
图4是显示了从拐角节点(1.6)开始到达35个节点中的任一个所需要的最小跳数的6x 6个2-D折叠环形中的36个节点的高级图;
图5是显示了在节点S的每个端口(x+、x-、y+、y-)上从节点S开始到节点D的数个路由的4x 4 2-D环形实施例的图;
图6是用于帮助示出各种路由算法如何能够从节点向节点路由分组的简单网络拓扑的图;
图7是根据本发明的系统的具有所有端口的高速网络接口卡的高级图;
图8是示出了根据本发明的系统的关键功能块的主机网络接口(HNI)卡的高级图;
图9是跨越环形网格实现分组传送所需要的分组分段的高级视图;
图10示出了在36节点2-D环形结构中从节点S(2.4)上的每个端口开始到节点D(5.2)上的每个端口的路由和跳数的图;
图11示出了根据本发明的呈现软件组件TD、SR、WS、FC的高级图;
图12示出了根据本发明的分组分段的过程的流程图;
图13显示了通过分组分段实现微片生成的伪代码;
图14显示了根据本发明的用于从每个端口准备源路由的处理步骤的流程图;
图15显示了根据本发明的实现路径计算的伪代码;
图16显示了根据本发明的通过路径计算生成的源路由表格式;
图17显示了根据本发明的在每个端口上传送“微片”的过程的流程图;
图18显示了根据本发明的在每个端口上传送“微片”的虫孔交换过程;
图19显示了根据本发明的实现如图17中的流程图中所描述的微片传送的伪代码;
图20显示了用于发现为了拓扑更新而触发拓扑发现过程的节点或链路的流程图;
图21显示了用于描述拓扑数据库更新的流程图;
图22示出了节点和/或链路故障检测和恢复的过程以及拓扑更新的过程的流程图;以及
图23显示了根据本发明的实现链路和/或节点故障检测的伪代码;
具体实施方式
本发明利用环形网格或高基数布线来实现用于数据中心应用的直接互连交换。特别地,本发明尤其可与2014年8月29日提交的标题为“Method and Apparatus to Managethe Direct Interconnect Switch Wiring and Growth in Computer Networks”的相关PCT专利申请号PCT/CA2014/000652中所描述的环形系统一起使用,该PCT专利申请的公开内容通过引用结合在本文中。这样的架构能够在单个交换域中提供具有成千上万个服务器的高性能网络互连。
控制交换机的软件遵循软件定义网络模型。交换机控制平面(交换机OS)优选地在单独的服务器上运行,但是与在每个PCIe卡上运行的分布式处理紧密地相互作用。参考图11,关键软件组件包括拓扑发现(TD)、跨越拓扑的分组路由(SR)、虫孔交换(WS)、流控(FC)机制以及交换机状态监视和交换机管理。TD组件负责基本上发现节点存在(或不存在)于环形网格中(并且从而允许基于节点存在更新可能的路径);SR组件负责源路由计算(从源节点的每个端口到任意目的地节点可用的所有路径);WS组件负责基于路径向量的跨越环形的微片操纵,该路径向量被包括在微片报头中,具有最小延迟(在每个节点处的贯通模型);FC组件负责环形链路利用并且控制到源的消息以便通过输入排队机制来调节业务;交换机状态监视组件负责业务均衡、在故障条件下的业务重新路由以及对于交换机增长的支持;并且交换机管理组件负责维护交换机的完整映像,包括所有互连的服务器、到外部世界的所有互连的I/O链路以及连接性状态。
本发明主要涉及本发明的新颖拓扑发现(TD组件)和路由协议(SR组件)-尤其可用于实现在PCT专利申请号PCT/CA2014/000652中所公开的新颖交换机架构上的关键功能。虽然通过环形结构路由数据分组的传统的实施方式做出隐式假定,即业务跨越目的地节点被随机地分发,但是由于跨越环形传播并且有能力完全禁用跨越环形网格传送分组的能力的热点发展,实际的实施例已经实际上在最大容量下的单个源/单个目的地连续分组流的情况下显示出了交换机故障。本发明因此更具体地参考用于诸如环形和高基数网络的直接互连网络拓扑的路由优化和实现,以便对于任何类型的业务解决性能问题和热点发展(无论是从任何源到任何目的地的大型流(高度相关的)还是到随机分布式目的地的业务(典型的互联网业务))。与如上面先前所描述的在环形中路由分组的已知方法相反,本发明描述了发现并更新拓扑中的所有节点的方法,以及向每个目的地节点路由分组的方法,其中最短路径在每个节点处在每个输出端口(例如,x+、x-、y+、y-、z+、z-、w+和w-)上被计算,并且由此分组被以循环方式或加权循环方式沿着从每个输出端口起的路径分发(即,促进多个替换的路径)以增加带宽和业务分发从而避免热点。流控(FC)机制被用来将用于分组路由的输出端口选择从简单循环连续的源节点输出端口选择(即,首先端口x+,接下来x-,然后y+、y-、z+、z-、w+和w-)改变为由FC标识为忙碌的链路被跳过的加权循环,或者那些端口上的业务量被降低至最大链路容量的低百分比(例如,10%)。
数据分组重排序被实现在节点目的地处。这样的方法能够特别利用PCT专利申请号PCT/CA2014/000652中讨论并且在本文中进一步讨论的节点(服务器)发现的新颖方法。本发明因此解决针对诸如环形或高基数网络的直接互连网络拓扑的分组路由优化的问题,以便对于任何类型的业务解决性能问题和热点发展,而不管那是从任何源到任何目的地的大型流(高度相关的)还是到随机分布式目的地的业务(典型的互联网业务)。
首先,图7显示了具有如下所有端口的高速网络接口卡10的高级别框图:用于访问外部世界的I/O端口13(N-S接口)、4D环形互连端口14、用于访问计算机服务器的PCIe端口15,以及控件19。本领域的技术人员将理解,本发明能够与具有更少或更多端口的HNI卡一起并且与其它环形或高基数拓扑(例如诸如“蜻蜓”)相关联地工作。
图8利用关键功能块示出了根据本发明的系统的HNI卡10的高级别框图,所述关键功能块包括具有RAM 37和ROM 38的处理器31、交换块32、物理接口装置36、环形互连端口14、I/O端口13以及PCIe端口15。这个实施例的物理实现基于具有附连存储器的多核处理器以及用于实现环形互连的PHY装置。使用处理器的支持多个队列操纵的硬件加速辅助能力来在软件中实现交换功能。本领域的技术人员将理解,本发明也将在物理实现方式不同的情况下(即,在交换功能加速用FPGA或ASIC实现的情况下)工作,或者,处理器不必驻留在与用于交换功能的卡相同的卡上。
图10显示了根据本发明的用于在说明分组路由时使用的简单2D环形布线图。如图所示,该结构是其中每个连接的长度自始至终相等的折叠2D环形。此图中的每个节点表示经由被容纳在服务器中的PCIe交换卡(如上描述的)互连的服务器。该图示出了如在源节点S处计算的在各个维度(x+、x-、y+、y-)上开始从源节点S(2.4)的端口到目的地节点D(5.2)的最短最大程度不相交路径(无公共链路或节点)。在这方面,图10将三个计算的路径和路由向量示出为具有5跳的最小跳计数(从(S)2.4起:(x+、x+、x+、y-、y-);从(S)2.4起:(y-、y-、x+、x+、x+);并且从(S)2.4起:(x-、x-、y-、y-、x-),然而另一路径被计算为具有7跳的非最小跳计数(从(S)2.4起:(y+、y+、y+、x+、x+、x+、y+))。假定在源S节点与D节点之间有大业务量,分组/微片将被以循环方式或加权循环方式,沿着从每个输出端口起的路径在每个源节点S输出端口开始到节点D的最短路径上发送到目的地节点,从而一方面使用多个路径来增加带宽并且分发业务以避免热点发展(在源节点处对输出端口的加权循环选择将增加沿着特定路径的分组的数目)。第二替换路由也可以被计算并且被存储在每个节点处,由此,除第一跳之外,路由提供替换的单独的路径以在必要时在链路或节点故障的情况下帮助克服网络拥塞和热点。本方法出于负荷均衡目的而跨越环形或高基数网络分发业务,但是能够引入分组重排序。例如,因为在y+上开始的路径(图10)比最小路径(5跳)长2跳,所以在这个路径上发送的所有分组将以可能产生分组重排序问题的额外延迟到达。根据本发明,因此必须在目的地节点处对分组进行重排序。这在本领域的技术人员的技能内。
参考示出了分组分段的高级视图的图9,重要的是注意,遍历直接互连环形或高基数的分组在路由期间被分段成更小大小的分组(微片)。分组分段是跨越环形网格所需要的,以便避免“线端阻塞”(使用公共资源(链路和缓冲器)的分组网络中的常见情况)。微片的大小由业务类型确定以便使开销税最小化,并且实际值范围在64个字节与512个字节之间。重要的是注意,本发明能够处理以太网分组、Infiniband分组、PCIe流或NVMe事务等等。跨越环形结构的微片在透明地承载业务。外部接口I/O端口13特定于业务的类型并且终止用户业务,从而经由“微片”跨越环形将数据透明地传送到目的地PCIe端口15。重要的是注意,本发明能够处理跨越环形(经由以太网微片)的以太网分组。本文的关键优点是微片的可变大小,因为以太网分组的微片具有分组划界机制。因此,微片大小从64个字节(最小以太网分组大小)到512个字节(净荷和报头)是可变的。如果分组大于512个字节,则系统将会将原始分组分段成512个字节的微片:头微片、体微片和尾微片。
图12提供了呈现分组分段的方法的流程图。一旦从主机(即,PCIe接口)接收到新分组(步骤402),HNI处理器就提取报头以便让处理器分析该分组的目的地(步骤404)和路由路径。在这个阶段,分组进入分段循环。字节计数器被初始化(步骤412)并且分组结束-EOP-分析器(步骤405)检测EOP,并且如果计数器小于或者等于476个字节(即,净荷小于或者等于476个字节),则分组被发送到微片生成器(步骤407)、报头生成器(步骤408)以及优先级判定块(步骤409)。微片此后被插入到指派的出口队列中(步骤410)以用于在环形网格上被发送到下一跳,并且我们注意看是否已接收到新分组(402)。字节计数器在每个单独的微片之后递增(步骤411),分组分段被发送到微片生成器(步骤407)并且过程遵循上面所描述的步骤,直到分组中的最后微片到达并被发送为止。作为关键观察结果,环形链路上的微片优选地是后面有8个“空闲”字节的512个字节(476个字节的净荷和36个字节的报头)。如果分组比476个字节短,则微片(通常是尾微片)将具有不到512个字节,并且将使用“空闲”字节完成分组划界。图13提供了通过分组分段实现微片生成的伪代码。
在目的地处,通过剥去环形报头并且对于微片在原始分组中的偏移使用“字节计数”,微片被组装成分组。本领域的技术人员将知道为目的地节点实现每源分组队列,创建分组分段的有序列表,并且一旦被按照原始顺序完全组装就释放分组。图14示出了根据本发明的呈现路由计算的流程图。本发明还在图15处提供伪代码用于计算在源节点的每个输出端口上最大不相交的(无公共链路和节点)从源节点到任何目的地节点的所有路径(源路由)。一检测到更新(即,每当已经添加/检测到节点或者存在与其相关联的临界问题/故障时)拓扑更新功能412(其发现活动服务器/节点及其活动端口)就将启动路由/路径计算(414)。如后面有步骤420和421(搜索拓扑列表中的所有目的地节点)的步骤419(在拓扑列表中找到第一目的地节点)中所描述的,根据本发明将在来自拓扑的当前节点与每个目的地节点之间使用Dijkstra算法来计算最短路径(步骤415)。在步骤422中,受步骤417影响的所有路径成本被重置为初始值。所计算的从源到目的地的最短路径将被存储在源路由数据库中并且它将通过将属于所存储的路径的所有链路上的成本增加到无限大而被从另外的最短路径计算中移除(以便提供不相交路径)(417)-这将具有从拓扑数据库中移除节点和链路以迫使不再用于不相交路径选择目的的实际效果。该过程继续直到所有输出端口将被使用并且源节点与目的地节点之间的所有可能的路径被存储在数据库中为止。结果然后作为每个节点的路由向量被概括在输出路由表(418)中,其中路由将首先从最短路径开始。最短路径计算它本身能够使用Dijkstra算法(路由协议实施中使用的众所周知的方法)来实现。本文特别新颖的是最短路径在每个输出端口处被确定并且相应地被使用。
图16呈现路由输出表的格式。每个路由具有表示特定路径的跳数以及要在每跳上选择的输出端口的列表/向量的附连数目。特别地,图16呈现从源节点号1000到目的地节点0(节点1000和节点0的使用仅仅用于示例目的)的具有8个端口(x+、x-、y+、y-、z+、z-、w+和w-)的4-D环形(8x8x 8x 8)中的路由的输出表的示例快照。应当注意的是,8个路由的第一组中的8个路由(即,x+、y+、z+、w+、x-、y-、z-和w-)的组中的第一输出选择例如对应于源节点的每个输出端口。8个路径完全不相交并且具有不同的长度:5跳、7跳或9跳。最重要的特征是跨越启用业务分发和可预测性能的环形的路径分发。图16中的8个路径的第二组表示路由路径的第二替代方案。该方法可以计算许多替换的路由,但是距离(跳数)将变得越来越大。由于实际的原因,该方法可以根据需要通常仅存储8个不同路径的第一选项。
图17示出了根据本发明的表示分组交换中使用的步骤的流程图。
随着新分组被推送到输出队列中,分组传送状态机启动跨越环形的传送。在这方面,讨论的(in question)输出端口“k”(端口1至端口8,即上面所讨论的输出端口:x+、y+、z+、w+、x-、y-、z-和w-)被用来遵循虫孔模型传送微片(如图18中所示):头微片和后续微片递增(体微片),将被沿着从端口k起的同一路径传送,直到如图17中所示到达分组结束(尾微片)为止。一旦到达分组结束,计数器k就递增以指示下一个输出端口并且具有下一个分组标识符的下一个分组(被指定为下一个有序分组)使用这个虫孔交换模型在逐微片基础上在环形上被传送。一旦检测到分组结束,端口号就被再次递增(即,k=k+1)并且下一个分组将被传送等等。这个实施例将在循环模型中在节点的所有输出端口14上分发源自一个节点的分组,以便使长的数据流与特定目的地去相关并且在环形网格中避免“热点”发展。本领域的技术人员将理解,能够根据需要修改这个分发方法以必要时针对不同类型的业务分发提高性能。例如,你能够用加权循环方法或任何其它用户定义的方法代替循环法。本发明的方法已被发现为比Valiant无关分发更好地执行,并且在结果方面是非常一致的且可预测的。这从网络的性能观点看是非常显著的。图19显示了实现如在图17处的流程图中所描述和示出的微片传送的伪代码。
图20示出了根据本发明的呈现拓扑发现的方法的流程图。如上面所指出的,拓扑发现组件(TD)对于基本上发现节点(和节点端口)存在(或不存在)于环形网格中是重要的,所述节点/端口然后可以被用在以上路由分发中。在这方面,TD允许如PCT专利申请号PCT/CA2014/000652中特别公开的本发明的新颖网络以简化且高效方式缩放。TD基于“Hello”协议和数据库交换协议。特别地,在每个节点和每个端口上发送并接收“Hello”消息。一旦消息作为“Hello”被接收到,并且“Hello”分组中的节点ID被管理框架验证,则本地节点信息就被更新以指示到邻居的新链路的可用性。节点信息的收集在每个节点上被维护在邻居数据库中并且通过数据库交换协议与邻居同步。每个节点将它对邻居数据库的改变发送到邻居节点,从而逐步传播整个拓扑。在特定超时之后,如果对邻居数据库的改变发生了,则为路径计算生成功能调用。对于“Hello”消息交换,邻居到邻居永远以定义的时间间隔继续,以便检测拓扑中的改变。
图21示出了根据本发明的呈现针对拓扑发现的DB交换更新的流程图。
这基本上涉及负责在每个节点中维护交换机的完整映像的TD组件,包括所有经互连的服务器以及输入/输出链路和连接性状态。
图22提供了呈现本发明的系统如何发现节点/链路故障检测的流程图以及重新路由以避开已出故障的节点的过程。随着链路故障被检测到602,直通块被编程使得去往已出故障的链路的业务被重新路由到CPU 603。业务源被通知以避开已出故障的链路发送业务604。这触发拓扑更新事件605。
随着链路恢复被检测到606,直通块被编程使得由于已出故障的链路而去往CPU的业务被重新路由回到同一链路607。
业务源被通知以链路故障之前的同一方式发送业务608。这触发拓扑更新事件609。在链路切断的情况下将发生类似的过程。图23提供了针对链路/节点故障检测和恢复的伪代码。
本发明的一个实施例是用于新节点插入的方法。为了插入节点,互连现有节点的布线被中断(链路切断)。随着环形布线中断被检测到602,业务重新路由API被调用604。链路成本被设置为无限大并且拓扑被更新(为所有交换机节点计算最短(较低成本)路径)。这定义将被用来控制分组流以到达任何目的地的路由。新节点插入触发邻居发现。管理软件检查新节点ID并且与所提供的数据库进行比较。如果节点是有效的,则软件启动拓扑更新和路由计算的过程。管理数据库将随着新节点被更新并且节点状态将被设置为活动的。
尽管已经描述了本发明的特定实施例,然而对于本领域的技术人员而言将显而易见的是,可以在以下权利要求的范围内做出对实施例的变化和修改。
附图文字说明
图1
PRIOR ART 现有技术
图2
PRIOR ART 现有技术
图3
PRIOR ART 现有技术
Compute Chip 计算芯片
2processors 2个处理器
(compare this with a 1988Cray YMP/8at 2.7GF/s) (在2.7GF/s下将此与1988Cray YMP/8进行比较)
Compute Card 计算卡
I/O Card I/O卡
FRU(field replaceable unit) FRU(现场可替换单元)
2nodes(4CPUs) 2个节点(4个CPU)
Node Card 节点卡
16compute cards 16个计算卡
0-2I/O cards 0-2个I/O卡
32nodes 32个节点
(64CPUs) 64个CPU
Cabinet 机柜
2midplanes 2个中间平面
1024nodes 1024个节点
2,048CPUs 2,048个CPU
System 系统
64cabinets 64个机柜
65,536nodes 65,536个节点
131,072CPUs 131,072个CPU
2.500sq ft. 2.500平方英尺
MTBF 6.16Days MTBF 6.16天
图4
Number of hops 跳数
Number of nodes 节点数
Destination nodes starting from source node 1.6 从源节点1.6开始的目的地节点
图7
8port NIC Card 8端口NIC卡
图9
MESSAGE/FLOW 消息/流
PACKET 分组
Seq nb. 顺序号
data 数据
Adr 地址
FLIT 微片
flit data 微片数据
图10
36Nodes(6x 6)MDP fromS=2.4to D=5.2 从S=2.4到D=5.2的36个节点(6x 6)MDP
ROUTE 5(x+,x+,x+,y-,y-) 路由5(x+、x+、x+、y-、y-)
ROUTE 5(x-,x-,y-,y-,x-) 路由5(x-、x-、y-、y-、x-)
ROUTE 5(y-,y-,x+,x+,x+) 路由5(y-、y-、x+、x+、x+)
ROUTE 7(y+,y+,y+,x+,x+,x+,y+) 路由7(y+、y+、y+、x+、x+、x+、y+)
图11
TOPOLOGY DISCOVERY 拓扑发现
PATH VECTOR COMPUTATION 路径向量计算
HEADER NIBLE LOOKUP 报头半字节查找
CONTROLFILT SENT TO SOURCE 控制发送到源的微片
图12
402 接收到新分组
404 分析目的地
412 字节计数=0
407 创建微片
408 附接环形报头
409 分析优先级
410 插入在出口队列中
411 字节计数=字节计数+476
405 分组结束?
YES 是
NO 否
图14
412 拓扑更新
414 启动路由路径计算
419 目的地=initial_dest
415 计算当前节点与目的地之间的最短Dijkstra路径
422 重置网络拓扑链路
416 找到路径?
YES 是
NO 否
417 从网络拓扑中移除最短路径链路
418 更新路由表
420 最后目的地节点?
YES 是
NO 否
End 结束
图16
4096(8x8x8x8)MDP from S=1000to D=0 从S=1000到D=0的4096(8x8x8x8)MDP
ROUTE 路由
图17
421 分组目的地“n”
422 分组在队列中?
yes 是
no 否
424 递增顺序号
426 在端口k上路由微片i
End of packet分组结束?
yes 是
no 否
图18
Wormhole Switching 虫孔交换
Packet 分组
FLIT 微片
图20
Port UP event 端口UP事件
Send Hello@time interval 以时间间隔发送Hello
Hello received 接收到Hello
YES 是
NO 否
New Nbr 新Nbr
Nbr Valid Nbr有效
Process Link Master 处理链路主控
Start DB Exchange Nbr 开始DB交换Nbr
Port DOWN or retries exceeded 端口断开或者重试超过了
Declare Link down 声明链路断开
Update local NodeInfo 更新本地NodeInfo
Stop DB_exchange_Nbr 停止DB_exchange_Nbr
DB Exchange Nbr DB交换Nbr
DB update in progress DB更新在进行中
Link Master? 链路主控?
YES 是
NO 否
Send DB summary For Entire DB 发送整个DB的概要
Received DB summary updae? 接收到DB概要更新?
YES 是
NO 否
Calculate DB delta 计算DB增量
Send summary update–For old DB elements 发送概要更新–针对旧DB元素
Send DB Elements List newer DB elements 发送较新DB元素的DB元素列表
DB elements List received? 接收到DB元素列表?
YES 是
NO 否
DB Update not in progress DB更新不在进行中
Wait to receive from Nbr DB Element list 等待从Nbr DB元素列表接收
For Each DB Element inlist 针对列表中的每个DB元素
DB Element List empty? DB元素列表是空的?
YES 是
NO 否
DB element Old? DB元素是旧的?
YES 是
NO 否
Return own version of DB Element 返回DB元素的自己版本
DB element New? DB元素是新的吗?
YES 是
NO 否
Issue DB update event 发布DB更新事件
图21
DB Exchange Process DB交换过程
Wait for DB update event 等待DB更新事件
Any DB_Exchange_NBR updatein progress? 任何DB_Exchange_NBR更新在进行中?
YES 是
NO 否
Start RouteCalc timer 启动RouteCalc定时器
For Each DB_Exchange_Nbr 针对每个DB_Exchange_Nbr
DB_Exchange_Nbr empty DB_Exchange_Nbr为空
YES 是
NO 否
Is Nbr src for update? Nbr src用于更新吗?
Send new DB elements to Nbr 向Nbr发送新DB元素
Updates Ack’ed 更新被确认
YES 是
NO 否
Nbr still UP? Nbr仍然UP?
YES 是
NO 否
图22
602 链路断开
603 将直通块编程以向软件重新路由业务
604 通知业务发信方节点关于断开下行链路
605 触发拓扑更新
606 链路恢复了?
YES 是
NO 否
607 将直通块编程为向硬件重新路由业务
608 通知业务发信方节点关于链路恢复
609 触发拓扑更新

Claims (11)

1.一种在直接互连网络中从源节点向目的地节点路由分组的计算机实现的方法,该方法包括以下步骤:
在网络拓扑中发现所有节点以及每个节点上的所有输出端口;
将在所述网络拓扑中发现的节点和输出端口包括在拓扑数据库中以便允许所述节点和端口被包括在路径路由计算中;
基于包含在所述拓扑数据库中的那些节点和输出端口来计算从每个节点上的每个输出端口到所述网络拓扑中的每个其它节点的路径,其中每个这样的路径彼此不相交;
在每个节点上生成源路由数据库,其包含从每个节点上的每个输出端口到所述网络拓扑中的所有其它节点的最短最大程度不相交路径;
在所述源节点处接收一分组;
以循环方式或加权循环方式将所接收到的分组发送到选定的所述源节点的输出端口中的一个,由此所述接收到的分组此后沿着从所述源节点上的所选定的输出端口到所述目的地节点的所述最短最大程度不相交路径而被分发。
2.根据权利要求1所述的计算机实现的方法,其中计算从每个节点上的每个输出端口到所述网络拓扑中的每个其它节点的所述路径的步骤包括计算不具有共同节点的不相交路径。
3.根据权利要求1所述的计算机实现的方法,其中计算从每个节点上的每个输出端口到所述网络拓扑中的每个其它节点的所述路径的步骤包括计算不具有共同链路的不相交路径。
4.一种在直接互连网络中从源节点向目的地节点路由分组的计算机实现的方法,该方法包括以下步骤:
在网络拓扑中发现所有节点以及每个节点上的所有输出端口;
将在所述网络拓扑中发现的节点和输出端口包括在拓扑数据库中以便允许所述节点和端口被包括在路径路由计算中;
基于包含在所述拓扑数据库中的那些节点和输出端口来计算从每个节点上的每个输出端口到所述网络拓扑中的每个其它节点的路径,其中每个这样的路径彼此不相交;
在每个节点上生成源路由数据库,其包含从每个节点上的每个输出端口到所述网络拓扑中的所有其它节点的多个最短最大程度不相交路径;
在所述源节点处接收多个分组;
以循环方式或加权循环方式将所接收到的多个分组发送到所述源节点的输出端口,由此所述接收到的多个分组此后沿着从所述源节点上的所述输出端口到所述目的地节点的所述多个最短最大程度不相交路径而被分发,使得所述多个分组从而沿着所述网络拓扑中的多个替换的路由而被分发。
5.根据权利要求4所述的计算机实现的方法,其中计算从每个节点上的每个输出端口到所述网络拓扑中的每个其它节点的所述路径的步骤包括计算不具有共同节点的不相交路径。
6.根据权利要求4所述的计算机实现的方法,其中计算从每个节点上的每个输出端口到所述网络拓扑中的每个其它节点的所述路径的步骤包括计算不具有共同链路的不相交路径。
7.根据权利要求4所述的计算机实现的方法,其中所述分组还在所述目的地节点处被重新排序,使得所述分组符合它们在所述源节点处被接收的初始顺序。
8.一种在直接互连网络中从源节点向目的地节点路由分组的计算机实现的方法,该方法包括以下步骤:
在网络拓扑中发现所有节点以及每个节点上的所有输出端口;
将在所述网络拓扑中发现的节点和输出端口包括在拓扑数据库中以便允许所述节点和端口被包括在路径路由计算中;
基于包含在所述拓扑数据库中的那些节点和输出端口来计算从每个节点上的每个输出端口到所述网络拓扑中的每个其它节点的路径,其中每个这样的路径彼此不相交;
在每个节点上生成源路由数据库,其包含从每个节点上的每个输出端口到所述网络拓扑中的所有其它节点的最短最大程度不相交路径;
在所述源节点处接收分组;
以循环方式或加权循环方式将所接收到的分组发送到所述源节点的输出端口,由此所述接收到的分组中的每一个此后在所述源节点的所述输出端口处被分段成微片并且沿着从所述源节点上的所述输出端口到所述目的地节点的所述最短最大程度不相交路径而被分发,使得所述分组从而沿着所述网络拓扑中的替换的路由而被分发。
9.根据权利要求8所述的计算机实现的方法,其中计算从每个节点上的每个输出端口到所述网络拓扑中的每个其它节点的所述路径的步骤包括计算不具有共同链路或节点的不相交路径。
10.根据权利要求9所述的计算机实现的方法,其中通过使用虫孔交换将所述微片转发到所述目的地节点。
11.根据权利要求10所述的计算机实现的方法,其中所述微片还被重组成分组并且在所述目的地节点处被重新排序,使得所述分组符合它们在所述源节点处被接收的初始形式和顺序。
CN201910860198.3A 2014-02-13 2015-02-13 在分布式直接互连网络中路由分组的方法 Active CN110708241B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201461939487P 2014-02-13 2014-02-13
US61/939,487 2014-02-13
CN201580019119.6A CN106165356B (zh) 2014-02-13 2015-02-13 在分布式直接互连网络中路由分组的方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201580019119.6A Division CN106165356B (zh) 2014-02-13 2015-02-13 在分布式直接互连网络中路由分组的方法

Publications (2)

Publication Number Publication Date
CN110708241A CN110708241A (zh) 2020-01-17
CN110708241B true CN110708241B (zh) 2021-10-08

Family

ID=53799463

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910860198.3A Active CN110708241B (zh) 2014-02-13 2015-02-13 在分布式直接互连网络中路由分组的方法
CN201580019119.6A Active CN106165356B (zh) 2014-02-13 2015-02-13 在分布式直接互连网络中路由分组的方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201580019119.6A Active CN106165356B (zh) 2014-02-13 2015-02-13 在分布式直接互连网络中路由分组的方法

Country Status (12)

Country Link
US (3) US10142219B2 (zh)
EP (1) EP3087708B1 (zh)
JP (1) JP6267367B2 (zh)
KR (1) KR101809396B1 (zh)
CN (2) CN110708241B (zh)
AU (1) AU2015218201B2 (zh)
BR (1) BR112016018294A2 (zh)
CA (1) CA2939402C (zh)
DK (1) DK3087708T3 (zh)
IL (1) IL246982B (zh)
NO (1) NO2776466T3 (zh)
WO (1) WO2015120539A1 (zh)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NO2776466T3 (zh) 2014-02-13 2018-01-20
CN107409095B (zh) * 2015-03-28 2020-12-08 英特尔公司 从交换机的输入端口向输出端口路由分组的方法、系统、介质和交换机
US10084860B2 (en) * 2015-04-09 2018-09-25 Electronics And Telecommunications Research Institute Distributed file system using torus network and method for configuring and operating distributed file system using torus network
US20170171084A1 (en) * 2015-12-09 2017-06-15 Alcatel-Lucent Usa, Inc. Valiant load balanced segment routing
JP2017120542A (ja) * 2015-12-28 2017-07-06 富士通株式会社 並列情報処理装置、データ転送方法及びデータ転送プログラム
US10572537B2 (en) * 2016-04-13 2020-02-25 International Business Machines Corporation Efficient graph optimization
US9954611B1 (en) * 2016-12-16 2018-04-24 Futurewei Technologies, Inc. System and method for abstracting wavelength-switched optical network traffic engineering topology in SDN control hierarchy
KR102610984B1 (ko) * 2017-01-26 2023-12-08 한국전자통신연구원 토러스 네트워크를 이용하는 분산 파일 시스템 및 토러스 네트워크를 이용하는 분산 파일 시스템의 운영 방법
CN109218176B (zh) * 2017-06-30 2020-12-15 华为技术有限公司 一种报文处理的方法及装置
US11347774B2 (en) * 2017-08-01 2022-05-31 Salesforce.Com, Inc. High availability database through distributed store
CN107733802B (zh) * 2017-09-18 2020-11-13 深圳市盛路物联通讯技术有限公司 一种分布式网络拓扑结构的节点控制方法及系统
CA2982147A1 (en) 2017-10-12 2019-04-12 Rockport Networks Inc. Direct interconnect gateway
US10855581B2 (en) 2017-11-10 2020-12-01 Fabriscale Technologies AS System and method of computing ethernet routing paths
CN110166310B (zh) * 2018-01-30 2020-08-21 山东衡昊信息技术有限公司 一种基于虫孔网络的并发大数据传输延时快速计算方法
GB201802347D0 (en) 2018-02-13 2018-03-28 Nchain Holdings Ltd Computer-implemented system and method
CN110324249B (zh) * 2018-03-28 2023-05-26 清华大学 一种蜻蜓网络架构及其组播路由方法
US10944693B2 (en) * 2018-11-13 2021-03-09 Advanced Micro Devices, Inc. Routing flits in a network-on-chip based on operating states of routers
JP7167687B2 (ja) * 2018-12-18 2022-11-09 富士通株式会社 情報処理装置、情報処理方法および情報処理プログラム
CN109525518B (zh) * 2018-12-25 2021-01-12 北京物芯科技有限责任公司 一种基于fpga的ip报文网络地址转换方法及装置
CN109768924B (zh) * 2019-02-14 2021-06-08 山东省计算中心(国家超级计算济南中心) 一种面向多流共存的sdn网络多链路故障恢复方法及系统
US11252034B1 (en) * 2019-03-15 2022-02-15 Juniper Networks, Inc. Generating candidate links and candidate paths before selecting links for an optimized optical network plan
CN110198268A (zh) * 2019-05-15 2019-09-03 清华大学 高维度Torus网络架构及自适应路由方法
US11055191B2 (en) * 2019-05-17 2021-07-06 Citrix Systems, Inc. Service graph highlights missing nodes and links
CN115567451A (zh) * 2019-06-04 2023-01-03 华为技术有限公司 一种转发报文的方法、装置和网络设备
CN112491672B (zh) * 2019-09-11 2022-05-06 杭州海康威视数字技术股份有限公司 一种pcie通信系统、通信配置参数备份方法及pcie交换机
US20210111990A1 (en) * 2019-10-14 2021-04-15 Cisco Technology, Inc. Systems and methods for providing multiple disjointed paths to core network at first-mile access
US11121984B2 (en) * 2019-10-18 2021-09-14 Ciena Corporation Routing tables for forwarding packets between switches in a data center network
US11775470B2 (en) * 2019-11-20 2023-10-03 Intel Corporation Transaction layer packet format
US11212212B2 (en) * 2020-04-15 2021-12-28 Hewlett Packard Enterprise Development Lp Non-isolated topologies in computing network environments
CN111970202B (zh) * 2020-08-28 2021-09-10 电子科技大学 基于三路子拓扑测量的网络拓扑发现方法
CN113347029B (zh) * 2020-09-29 2022-05-31 北京航空航天大学 基于拓扑重构和路径规划的Torus网络容错方法
RU2753147C1 (ru) * 2020-11-20 2021-08-12 Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук Способ организации оптимальных отказоустойчивых многомерных торов на основе малопортовых маршрутизаторов и разветвителей дуплексных каналов
WO2022162465A1 (en) * 2021-01-28 2022-08-04 Rockport Networks Inc. Systems and methods for the temporal monitoring and visualization of network health of direct interconnect networks
CN113037637B (zh) * 2021-03-23 2022-10-14 福建师范大学 一种人机物融合网络容错信息传输路径选取方法
WO2022221466A1 (en) * 2021-04-13 2022-10-20 The Regents Of The University Of California Configurable memory pool system
WO2022259040A1 (en) * 2021-06-09 2022-12-15 Rockport Networks Inc. Method for distributing multipath flows in a direct interconnect network
CA3223804A1 (en) * 2021-06-23 2022-12-29 Evandro DE SOUZA Deadlock-free multipath routing for direct interconnect networks
WO2023012518A1 (en) * 2021-08-05 2023-02-09 Rockport Networks Inc. Method for signaling link or node failure in a direct interconnect network
CN115499271B (zh) * 2022-08-30 2023-10-13 西北工业大学 一种混合网络拓扑结构及其路由方法
CN117155846B (zh) * 2023-10-31 2024-02-06 苏州元脑智能科技有限公司 互连网络的路由方法、装置、计算机设备及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373543B1 (en) * 2000-07-31 2008-05-13 Cisco Technology, Inc. Method and apparatus for uninterrupted packet transfer using replication over disjoint paths

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2749725B2 (ja) * 1991-03-18 1998-05-13 富士通株式会社 並列計算機の通信方法
US5550815A (en) * 1994-12-30 1996-08-27 Lucent Technologies Inc. Apparatus and method for reducing data losses in a growable packet switch
US5898826A (en) * 1995-11-22 1999-04-27 Intel Corporation Method and apparatus for deadlock-free routing around an unusable routing component in an N-dimensional network
JPH09219702A (ja) * 1996-02-14 1997-08-19 Nec Corp メッシュ構成の空き経路の検索方法
JP3860257B2 (ja) * 1996-06-28 2006-12-20 富士通株式会社 チャネルの決定方法
US6285679B1 (en) * 1997-08-22 2001-09-04 Avici Systems, Inc. Methods and apparatus for event-driven routing
US6947433B2 (en) * 2000-09-21 2005-09-20 Avici Systems, Inc. System and method for implementing source based and egress based virtual networks in an interconnection network
JP2002305541A (ja) * 2001-04-04 2002-10-18 Kddi Research & Development Laboratories Inc メッシュ網におけるロードバランシング方法
CA2410137C (en) * 2001-11-02 2008-04-15 Nippon Telegraph And Telephone Corporation Optical dynamic burst switch
US7457303B2 (en) 2003-06-06 2008-11-25 International Business Machines Corporation One-bounce network
US7349350B2 (en) * 2003-09-23 2008-03-25 Intel Corporation Determining two node-disjoint paths using on-demand flooding
US7280755B2 (en) * 2003-09-26 2007-10-09 Minho Kang Highly utilizable protection mechanism for WDM mesh network
CN100461748C (zh) * 2004-10-22 2009-02-11 华为技术有限公司 直接互连交换网路由的方法
US8094584B2 (en) * 2006-02-16 2012-01-10 Nec Corporation Node, network system, frame transfer method, and frame transfer program
US8031614B2 (en) * 2006-10-06 2011-10-04 International Business Machines Corporation Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by dynamic global mapping of contended links
US7765385B2 (en) * 2007-04-18 2010-07-27 International Business Machines Corporation Fault recovery on a parallel computer system with a torus network
US8085659B2 (en) * 2007-08-28 2011-12-27 Universidad Politecnica De Valencia Method and switch for routing data packets in interconnection networks
US8160063B2 (en) * 2008-06-09 2012-04-17 Microsoft Corporation Data center interconnect and traffic engineering
CN101651599B (zh) * 2008-08-12 2012-05-30 中国移动通信集团公司 多路径无线路由方法及装置
US20100150120A1 (en) * 2008-09-04 2010-06-17 Ludger Schlicht Mobile applications for a mobile, broadband, routable internet
US8065433B2 (en) * 2009-01-09 2011-11-22 Microsoft Corporation Hybrid butterfly cube architecture for modular data centers
CN102301365B (zh) * 2009-01-30 2013-12-25 富士通株式会社 信息处理系统、信息处理装置、信息处理装置的控制方法、信息处理装置的控制程序以及计算机可读记录介质
US8144626B2 (en) * 2009-06-30 2012-03-27 Fujitsu Limited Determining disjoint paths with an optimized number of regenerators
US8594104B2 (en) * 2009-11-23 2013-11-26 Cisco Technology, Inc. Providing proxy mobile IP over a communication network
JP5630306B2 (ja) * 2011-02-10 2014-11-26 富士通株式会社 経路生成方法、中継装置、および経路生成プログラム
CA2872831C (en) 2011-05-08 2019-10-29 Infinetics Technologies, Inc. Flexible radix switch
US9736054B2 (en) * 2011-10-05 2017-08-15 Cisco Technology, Inc. Multicast active source discovery and management for layer-2 interconnect solutions
US9185166B2 (en) * 2012-02-28 2015-11-10 International Business Machines Corporation Disjoint multi-pathing for a data center network
EP2901625B1 (en) * 2012-09-28 2020-04-08 Cornell University System and methods for improved network routing
US8989017B2 (en) * 2012-12-14 2015-03-24 Intel Corporation Network congestion management by packet circulation
US9401862B2 (en) * 2013-02-07 2016-07-26 Dell Products L.P. Optimized internet small computer system interface path
CN103327563A (zh) * 2013-04-25 2013-09-25 张家港中科港联物联网科技有限公司 基于位置信息的无线自组织与传感网多路径单播方法
US9311022B2 (en) * 2013-10-07 2016-04-12 Dell Products L.P. System and method for improved communication in a storage network
NO2776466T3 (zh) 2014-02-13 2018-01-20
US20160026558A1 (en) * 2014-07-26 2016-01-28 Wipro Limited Method and system for managing virtual services to optimize operational efficiency of software testing
CN105871722B (zh) * 2015-01-19 2020-02-14 中兴通讯股份有限公司 标签构造以及标签报文转发方法及装置
US10116557B2 (en) * 2015-05-22 2018-10-30 Gray Research LLC Directional two-dimensional router and interconnection network for field programmable gate arrays, and other circuits and applications of the router and network
US10616100B2 (en) * 2016-11-03 2020-04-07 Parallel Wireless, Inc. Traffic shaping and end-to-end prioritization
US10701126B2 (en) * 2017-08-31 2020-06-30 Wipro Limited Method and a system to deliver multimedia content in a downstream network
JP6946955B2 (ja) * 2017-11-10 2021-10-13 富士通株式会社 情報処理装置、演算処理装置及び情報処理装置の制御方法
US10476815B2 (en) * 2017-12-11 2019-11-12 Ciena Corporation Adaptive communication network with cross-point switches
US11677628B2 (en) * 2017-12-12 2023-06-13 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Topology discovery between compute nodes and interconnect switches

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7373543B1 (en) * 2000-07-31 2008-05-13 Cisco Technology, Inc. Method and apparatus for uninterrupted packet transfer using replication over disjoint paths

Also Published As

Publication number Publication date
CA2939402A1 (en) 2015-08-20
CN106165356A (zh) 2016-11-23
DK3087708T3 (en) 2018-06-14
US20190068484A1 (en) 2019-02-28
JP6267367B2 (ja) 2018-01-24
EP3087708A1 (en) 2016-11-02
KR101809396B1 (ko) 2017-12-14
EP3087708B1 (en) 2018-04-11
US20200322258A1 (en) 2020-10-08
US10693767B2 (en) 2020-06-23
CN106165356B (zh) 2019-10-08
JP2017506049A (ja) 2017-02-23
WO2015120539A1 (en) 2015-08-20
US10142219B2 (en) 2018-11-27
BR112016018294A2 (pt) 2017-08-08
US20160344618A1 (en) 2016-11-24
AU2015218201B2 (en) 2017-11-09
WO2015120539A8 (en) 2016-08-11
US11362934B2 (en) 2022-06-14
CN110708241A (zh) 2020-01-17
KR20160122192A (ko) 2016-10-21
CA2939402C (en) 2017-10-24
NO2776466T3 (zh) 2018-01-20
IL246982B (en) 2018-01-31
EP3087708A4 (en) 2017-08-02
AU2015218201A1 (en) 2016-08-04

Similar Documents

Publication Publication Date Title
CN110708241B (zh) 在分布式直接互连网络中路由分组的方法
EP2777229B1 (en) System and method for providing deadlock free routing between switches in a fat-tree topology
EP3809646A1 (en) Routing tables for forwarding packets between switches in a data center network
JP6541768B2 (ja) 高性能コンピューティング(hpc:high performance computing)環境において効率的なロードバランシングをサポートするためのシステムおよび方法
JP2015512584A (ja) パケットフロー相互接続ファブリック
CN108111410B (zh) 在笛卡尔拓扑的网络中构建无死锁路由的方法和装置
US20230327976A1 (en) Deadlock-free multipath routing for direct interconnect networks
US7307995B1 (en) System and method for linking a plurality of network switches
CN108400922B (zh) 虚拟局域网络配置系统与方法及其计算机可读存储介质
US10855581B2 (en) System and method of computing ethernet routing paths
Korösi et al. Poincare: A hyperbolic data center architecture
Alshahrani Delay modeling in data center networks: A taxonomy and performance analysis
US11985060B2 (en) Dragonfly routing with incomplete group connectivity
US20220166705A1 (en) Dragonfly routing with incomplete group connectivity
Chi et al. Tree-Based Routing for Faulty On-Chip Networks with Mesh Topology
Duato et al. Dynamic reconfiguration in high speed local area networks
Nishikawa et al. A deadlock-free non-minimal fully adaptive routing using virtual cut-through switching
Yeh et al. IBARP: An Improved Balanced Adaptive Routing Protocol for efficient hard realization
Sem-Jacobsen et al. Dynamic Fault Tolerance in Fat Trees-Research

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40013842

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant