CN101841471A - 具有连接成多维矩阵的节点的系统及其控制方法以及设备 - Google Patents
具有连接成多维矩阵的节点的系统及其控制方法以及设备 Download PDFInfo
- Publication number
- CN101841471A CN101841471A CN201010138304A CN201010138304A CN101841471A CN 101841471 A CN101841471 A CN 101841471A CN 201010138304 A CN201010138304 A CN 201010138304A CN 201010138304 A CN201010138304 A CN 201010138304A CN 101841471 A CN101841471 A CN 101841471A
- Authority
- CN
- China
- Prior art keywords
- node
- dimension
- address
- request
- data
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 27
- 239000011159 matrix material Substances 0.000 title claims abstract description 10
- 230000004044 response Effects 0.000 claims abstract description 69
- 238000012545 processing Methods 0.000 claims abstract description 49
- 230000015654 memory Effects 0.000 claims description 42
- 230000005540 biological transmission Effects 0.000 claims description 38
- 230000008569 process Effects 0.000 claims description 7
- 238000012546 transfer Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 56
- 230000006870 function Effects 0.000 description 19
- 239000000872 buffer Substances 0.000 description 16
- GOLXNESZZPUPJE-UHFFFAOYSA-N spiromesifen Chemical compound CC1=CC(C)=CC(C)=C1C(C(O1)=O)=C(OC(=O)CC(C)(C)C)C11CCCC1 GOLXNESZZPUPJE-UHFFFAOYSA-N 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 4
- 210000001503 joint Anatomy 0.000 description 4
- 230000010365 information processing Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000000246 remedial effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17356—Indirect interconnection networks
- G06F15/17368—Indirect interconnection networks non hierarchical topologies
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Multi Processors (AREA)
Abstract
公开了一种具有连接成多维矩阵的多个节点的系统及其控制方法以及一种设备,该系统具有连接成多维矩阵并且分别具有节点地址的多个节点,每个节点具有:处理器;以及路由器,用于当其自身节点的第n维的地址与目标节点的第n维的地址匹配时将请求包发送至位于第n+1维中的与其自身节点相邻的节点,以及当其自身节点的第n+1维的地址与响应包的第n+1维的地址匹配时将响应包发送至位于第n维中的与其自身节点相邻的节点,其中路由器当请求包的地址在所有维中都与其自身节点的节点地址完全匹配时终止请求包,将由请求包传达的数据传送至其自身节点的处理器以供处理。
Description
技术领域
本发明涉及一种包括多个计算节点的系统、一种控制系统的方法和一种布置在该系统中每个计算节点处的设备。
背景技术
各自包含数以万计的相连接的处理器的大规模并行计算机在高性能计算(HPC)领域中引起关注。包含数以万计的节点的大规模并行计算机被设计成使得每节点的硬件成本保持恒定而与系统规模无关。在节点的节点间连接网络中,通常使用直接网络将一个节点与另一个节点互连。直接网络的硬件成本取决于每个节点上的端口数目,并且保持恒定而与系统规模无关。通常使用多维网格和多维环面之一作为由数以万计的节点构成的大规模并行计算机中的直接网络的连接拓扑。
在这样的系统中,必须避免其中因请求循环地传送多个包而造成通信中断的死锁。维序路由(dimension order routing)被认为是一种避免这样的死锁的技术。维序路由确定通信线路的维序。公开了一种路由技术(William J.Daily,Charles L.Seitz,″Deadlock-Free Message Routing inMultiprocessor Interconnection Networks,″IEEE TRANSACTIONS ONCOMPUTERS卷C-36,1987年五月)。根据所公开的路由技术,为每个节点分配用高值和低值作为信道编号的双虚拟信道,并且以升序或降序排列传送目的地的信道编号。
如果具有数以万计的节点的规模的系统每当任何节点出故障时为了维护而停止运转,则系统的正常运行时间减少。故障鲁棒性对于这样的系统是重要的。即使一些节点有故障,具有故障鲁棒性的系统也优选地维持与其它所用节点的通信。然而,在维序路由中,通信线路是预先固定的,如果一个节点有故障,则借助该节点进行的通信变得困难。
发明内容
因而,本发明的目的是提供一种在计算节点之间可靠地发送和接收处理请求数据和响应于处理请求数据的响应数据的信息处理系统、通信控制设备和通信控制方法。
根据本发明的一个方面,一种系统包括连接成多维矩阵并且分别具有节点地址的多个节点,每个节点包括:处理器,用于处理数据以及产生请求包和响应包;以及路由器,用于从与其自身节点相邻的任何其它节点接收具有数据和目标节点的地址的请求包,当其自身节点的第n维中的节点地址的一部分与请求包的第n维中的地址的一部分不匹配时将请求包发送至位于第n维中的与其自身节点相邻的节点,当其自身节点的第n维的地址与请求包的第n维的地址匹配时将请求包发送至位于第n+1维中的与其自身节点相邻的节点,从与其自身节点相邻的任何其它节点接收具有地址的响应包,当其自身节点的第n+1维的节点地址的一部分与响应包的第n+1维的地址的一部分不匹配时将响应包发送至位于第n+1维中的与其自身节点相邻的节点,以及当其自身节点的第n+1维的地址与响应包的第n+1维的地址匹配时将响应包发送至位于第n维中的与其自身节点相邻的节点,其中路由器当请求包的地址在所有维中都与其自身节点的节点地址完全匹配时终止请求包,将由请求包传达的数据传送至其自身节点的处理器以供处理,接收由其自身节点的处理器产生的响应包,并将所产生的响应包发送至相邻节点。
附图说明
图1从总体上示出了根据本发明的第一实施例的并行计算机;
图2示出了处理请求包和响应包的传输路径;
图3示出了节点的内部结构;
图4示出了路由器的内部结构;
图5示出了网络接口的内部结构;
图6是路由器的路由处理的流程图;
图7是当接收包由路由器提供时进行的网络接口处理的流程图;
图8是确定输出电路是否将发送包的管理处理的流程图;
图9示出了根据本发明的第二实施例的并行计算机的结构;
图10示出了根据本发明的第三实施例的并行计算机的结构;
图11示出了其中发生故障的网格网络(mesh network);
图12示出了被复用的网格网络;
图13示出了其中进行“获取”通信的包的路径;以及
图14示出了其中在响应路径中发生故障的被复用的网格网络。
具体实施方式
图11示出了网格网络中的有故障的节点。
在图11所示的并行计算机中,计算机节点(以下简称为节点)N101~N116互连成二维4×4网格网络。在网格网络中进行维序路由。首先在x方向(图11中的水平方向)上进行路由操作,随后在y方向(图11中的竖直方向)上进行路由操作。例如,包现在从节点109被发送至节点N104。包从节点109经过节点N110、N111、N112和N108被路由至节点N104。
在维序路由中,基于发送模式和接收模式的组合来确定包的一个传输路径。如果在这样的网格网络中一个节点失效,则路经该节点的所有通信都变得不能进行。
为了对节点进行并行计算,进行同一作业的节点彼此通信。如果故障造成节点的组合无法彼此通信,则执行作业的节点组的规模变小。例如,如图11所示,如果节点N111失效,则设想下列三种划分方法来将节点划分成使得通信能够进行的组。
根据第一种划分方法,相对于包含失效节点N111的行设定上侧的2×4节点组和下侧的1×4节点组。更具体地,上节点组包含节点N101~N108,而下节点组包含节点N113~N116。
根据第二种划分方法,相对于包含失效节点N111的列设定左侧的4×2节点组和右侧的4×1个节点组。更具体地,左侧的组包含节点N101、N102、N105、N106、N109、N110、N113和N114,而右侧的组包含节点N104、N108、N112和N116。
根据第三种划分方法,设定包含3×3个节点的一个组,该节点组将包含失效节点N111的行和列排除在外。更具体地,该节点组包含节点N101、N102、N104~N106、N108、N113、N114和N116。
作为对由节点故障造成的节点组的断开的补救步骤,设想多维网格网络或多维环面网络(torus network)的复用。图12示出了被复用的网格网络的一个例子。
图12示出了其中两个通信平面被复用的二维4×4网格网络。在该网格网络中,一个通信平面包含节点N101~N116,而另一个通信平面包含节点N121~N136;而且,在两个平面之间,对应的节点相互彼此连接。
二维4×4网格网络由在两个通信平面之间相互连接的两个节点中的每一个构成。如果一个通信平面上的节点失效,则使用另一个通信平面上的与失效节点相连的节点来维持通信。
现在,在图12中假设在从节点N109向节点N104发送包所经过的路径上节点N111失效。通过使得包路经另一通信平面上的与包通信路径对应的节点来维持通信。例如,包依次路经节点N109、N129、N130、N131、N132、N128、N124和N104。包由此从节点N109被传送至节点N104。如果一个通信平面上的节点像这样失效,则另一个通信平面上的所有节点继续工作,而节点组不断开。
日本特开2002-247038公开了一种在网格网络中的故障恢复方法。根据所公开的方法,动态地布置当前工作的系统和备用系统以形成环网,如果当前工作的系统失效则使流量路经备用系统。
为了缩短处理器的网络处理时间,在HPC领域中使用远程直接存储器存取(RDMA)。请求远程节点处的存储器向其中写入数据的通信被称为“放置”通信,请求该存储器从其中读取数据的通信被称为“获取”通信。
在RDMA通信中,可以请求远程节点的网络接口从该节点的存储器中读取数据和向该节点的存储器中写入数据。响应于该请求,在存储器的写入和读取期间在网络接口和存储器之间进行直接存储器存取(DMA)传送操作。由此,不对每个节点的处理器施加处理负荷而进行存储器读取和写入操作。结果,并行计算机中的每个处理器高效地进行并行处理。
图13示出了“获取”通信中的包路由。
在“获取”通信中,为了将从存储器中读取的数据发送至请求方,进行响应通信操作。如果进行维序路由,则沿着不同的路径对“获取”请求包和响应包进行路由。例如,如图13所示,“获取”请求从节点N109被发送至节点N104。“获取”请求包依次路经节点N109、N110、N111、N112、N108和N104。另一方面,来自节点N104的“获取”响应包依次路经节点N104、N103、N102、N101、N105和N109。
“获取”请求包和“获取”响应包的路径不同,且在一个路径上节点可能失效。例如,如果“获取”响应包的路径上的节点失效,则“获取”请求的发送源节点无法接收所请求的数据。
这样的问题可通过对网格网络进行复用来克服。图14示出了在复用网络中的响应路径中发生的故障。参照图14,在与请求路径处于同一通信平面上的响应路径中的节点处发生故障。通过仅在响应路径上切换通信平面,所读取的所请求的数据被路由至请求源节点。
利用该方法,接收到“获取”请求的节点选择最优通信平面,使得响应包路径避开失效节点。维序路由具有如下大优点:每个节点可容易地确定传输线路。为了选择最优响应路径,接收到“获取”请求的节点进行复杂的处理。如果使用硬件电路来实施这样的最优路径选择功能,则电路变得复杂且规模庞大。
在节点故障的情况下,优选地在多维网格网络和多维环面网络这二者之一的维序路由中维持通信。特别地,当发送请求响应的包比如“获取”请求包时,优选的是,即使在响应包的路径中发生故障,请求节点也可靠地接收响应包。
为了提供故障鲁棒性以可靠地响应于请求响应的包,如上所述那样对通信平面进行复用,从而选择避开失效节点的响应包的最优路径。进行复杂的处理以选择最优路径。增大系统的电路规模并增加系统的制造成本以进行这样的复杂处理。
下面参照附图来描述各实施例。
第一实施例
图1从总体上示出了第一实施例的并行计算机1。
图1所示的并行计算机1包含经由网络而连接的多个计算节点(以下简称为节点)的信息处理系统。节点中的处理器并行地进行所确定的处理。第一实施例的并行计算机1包含16个节点N1~N16。节点N1~N16通过光纤连接成二维4×4网格。由此构建了网格网络。系统具有连接成多维矩阵并且分别具有节点地址的多个节点。
在网络中,每个节点经由至少两个虚拟信道在x方向(图1中的水平方向)和y方向(图1中的竖直方向)上连接至与该节点相邻的节点。这里,一个虚拟信道被称为“请求信道”,另一个虚拟信道被称为“响应信道”。
如果在网络中从一个节点经由一个虚拟信道发送包,则原则上该包经由同一虚拟信道被路由至目的地。请求信道和响应信道以彼此相反的方向进行维序路由操作。例如,首先在x方向上进行路由操作,随后在y方向上进行路由操作。
为了将包从节点N9经由请求信道发送至节点N4,使该包从节点N9依次路经节点N10、N11和N12,然后到节点N8再到节点N4。为了将包从节点N9经由响应信道发送至节点N4,使包从节点N9路经N5和N1,然后依次路经节点N2、N3和N4。
当在网络中一个节点与另一个节点通信时,取决于数据的传输方向而使用不同的虚拟信道。例如,可使用请求信道将数据从第一个节点路由至第二个节点,而使用响应信道将数据从第二个节点路由至第一个节点。在这样的操作中,数据传输路径保持不变而与数据的传输方向无关。
利用上述特性,响应于请求对请求源节点予以响应的处理请求包的响应包如参照图2所述那样被可靠地路由。
图2示出了处理请求包和响应包的包传输路径。
根据第一实施例,应用“获取”通信作为对请求源节点予以响应的通信。利用RDMA技术,使用“获取”通信从请求目的地节点处的存储器中读取数据。
在“获取”通信中,请求目的地节点不对作为并行处理的执行实体的中央处理单元(CPU)施加工作负荷而通过DMA操作从存储器中读取数据,然后所读取的数据被路由至请求源节点。响应于请求源节点的通信比如“获取”通信优选地具有如下特性:请求目的地节点处的工作负荷轻,并且在短的时间段内返回响应。
如图2所示,“获取”请求包从节点N9被发送至节点N4。节点N9经由请求信道发送“获取”请求包。“获取”请求包依次路经节点N10、N11、N12、N8和N4。
接收到“获取”请求包的节点N4通过DMA序列操作从连接至节点N4的存储器中读取所请求的数据。然后,包含数据的“获取”响应包从节点N4经由响应信道被发送至节点N9。“获取”响应包由此依次路经节点N8、N12、N11、N10和N9。也就是说,“获取”响应包与“获取”请求包以相反的方向、但沿着同一路径路由。
如果对“获取”请求包和“获取”响应包沿着同一虚拟信道进行路由,则“获取”响应包从节点N4依次路径节点N3、N2、N1、N5和N9而被路由至节点N9。在节点N2失效的情况下,尽管在节点N4处正常地进行响应处理,“获取”响应包也无法到达节点N9。
为了克服这一问题,设想参照图14所讨论的通信平面的复用。然而,这种技术意味着复杂的处理,因为接收到“获取”请求包的节点确定考虑到通信平面的最优响应路由路径。
与之相比,如图2所示,如果经由响应信道传输“获取”响应包,则“获取”请求包的传输路径和“获取”响应包的传输路径保持相同。如果“获取”请求包到达请求目的地节点,则“获取”响应包一定被发回请求源节点。由此,“获取”通信的故障鲁棒性提高。
请求目的地节点简单地在与“获取”请求包的通信平面相同的通信平面上发送“获取”响应包。例如,如果请求目的地节点从与其连接的另一个节点接收到“获取”响应包,则请求目的地节点将该另一个节点确定为“获取”响应包的发送目标,并仅改变用于传输的虚拟信道。确定响应传输路径的处理得以简化,并且系统处理电路规模的增大和系统制造成本的增加得到控制。
下面具体描述每个节点的结构和处理序列。
图3示出了节点的内部结构。
图3所示的节点N10的内部结构与节点N6、N7和N11的内部结构相同。节点N1~N5、N8、N9和N12~N16与节点N10除了响应于与其连接的其它节点的通信端口的数目以外在结构上基本相同。
如图3所示,节点N10包含路由器100、网络接口(I/F)200、CPU310和存储器320。网络接口200、CPU 310和存储器320经由总线330彼此互连。网络接口200、CPU 310和存储器320构成处理器单元(PE)。
路由器100在网格网络内对包进行路由。当从连接至N10的另一个节点(以下称为“相邻节点”)接收到包时,路由器100确定包的目的地。如果目的地是其它节点,则路由器100根据响应于接收到的虚拟信道的维序将相邻节点确定为目的地,然后将包发送至该相邻节点。如果目的地是节点N10,则接收到的包从路由器100被输出至网络接口200。在实际的节点间通信中,在发送包之前将包分裂成作为更小数据单元的微片。
路由器100还可通过网络接口接收包含由CPU 310或网络接口200生成的消息的包。在此情形下,路由器100基于指定的虚拟信道的维序将相邻节点确定为包的目的地,然后将包通过该指定的虚拟信道发送至相邻节点。路由器100从与其自身节点相邻的任何其它节点接收具有地址和数据的请求包,当其自身节点的第n维中的节点地址的一部分与请求包的第n维中的地址的一部分不匹配时将请求包发送至位于第n维中的与其自身节点相邻的节点,当其自身节点的第n维的地址与目标节点的第n维的地址匹配时将请求包发送至位于第n+1维中的与其自身节点相邻的节点,从与其自身节点相邻的任何其它节点接收具有地址的响应包,当其自身节点的第n+1维的节点地址的一部分与响应包的第n+1维的地址的一部分不匹配时将响应包发送至位于第n+1维中的与其自身节点相邻的节点,以及当其自身节点的第n+1维的地址与响应包的第n+1维的地址匹配时将响应包发送至位于第n维中的与其自身节点相邻的节点,其中路由器当请求包的地址在所有维中都与其自身节点的节点地址完全匹配时终止请求包,将由请求包传达的数据传送至其自身节点的处理器以供处理,接收由其自身节点的处理器产生的响应包,并将所产生的响应包发送至相邻节点。
网络接口200控制CPU 310与网格网络之间的数据交换。而且,网络接口200还具有与存储器320进行的DMA传送的控制功能和RDMA通信的控制功能。
路由器100和网络接口200可安装在同一个板上。
CPU 310基于经由网络接口200输入的消息和数据进行算术计算。CPU 310还生成要发送至其它节点的消息和数据,然后将消息和数据与其目的地一起输出至网络接口200。这样的处理是当CPU 310执行存储在存储器320中的程序时执行的。
存储器320存储要由CPU 310执行的程序和各种数据。存储器320响应于CPU 310的请求进行数据写入和数据读取操作。存储器320还可响应于网络接口200的请求、通过DMA传送序列进行数据写入和数据读取操作。CPU 310处理数据以及产生请求包和响应包。
图4示出了路由器100的内部结构。
路由器100包括输入电路110、输出电路120、切换电路130和路由控制器140。
输入电路110的数目和输出电路120的数目分别与相邻节点的数目相等。如图4所示,节点N10包含4个输入电路110和4个输出电路120。输入电路110和输出电路120的组合连接至一个相邻节点。
每个输入电路110包括对经由对应的相邻节点输入的包进行存储的缓冲器。该缓冲器逻辑地划分成两个逻辑缓冲区111和112。逻辑缓冲区111担当请求信道的接收队列,逻辑缓冲区112担当响应信道的接收队列。
类似地,输出电路120包括对要输出至对应的相邻节点的包进行存储的缓冲器。该缓冲器逻辑地划分成两个逻辑缓冲区121和122。逻辑缓冲区121担当请求信道的发送队列,逻辑缓冲区122担当响应信道的接收队列。
在路由控制器140的控制下,切换电路130将从输入电路110之一输入的包或经由网络接口200输入的包输出至输出电路120之一或网络接口200。
路由控制器140控制切换电路130的输入-输出切换处理。路由控制器140按照对于请求信道上的包发送-接收处理和响应信道上的包发送-接收处理彼此相反的维序进行路由操作。
图5示出了网络接口200的内部结构。
网络接口200包含从路由器100接收包的输入电路210以及将寄往其它节点的包输出至路由器100的输出电路220。
输入电路210具有如下功能:从输入至路由器100的包之中,对RDMA通信包(即,“获取”请求包和“放置”包)执行处理。为了执行该功能,输入电路210包括接收数据判断器211、DMA控制器212和发送控制器213。
接收数据判断器211判断包含在输入自路由器100的包中的消息。如果接收到的包是“获取”请求包和“放置”包这二者之一,则接收数据判断器211请求DMA控制器212与存储器320进行DMA传送操作。如果接收到的包是“获取”请求包,则接收数据判断器211请求发送控制器213发送“获取”请求包。如果接收到的包是与用于RDMA通信的包不同的包,则接收数据判断器211将该包输出至CPU 310。
DMA控制器212响应于接收数据判断器211的请求与存储器320进行DMA传送操作,并由此将数据写入存储器320,或者从存储器320中读取数据。如果从存储器320中读取数据,则DMA控制器212将数据输出至发送控制器213。
发送控制器213生成包含来自DMA控制器212的数据的“获取”响应包,并将该包经由输出电路220输出至路由器100。然后,发送控制器213向路由器100指定作为输出目的地的相邻节点和要使用的虚拟信道。
输出电路220从CPU 310和发送控制器213这二者之一接收包,并将接收到的包输出至路由器100。输出电路220被设计成向路由器100指定作为包的目的地的相邻节点以及要在传输中使用的虚拟信道。
图6是示出了路由器100的路由处理的流程图。图6所示的处理是每当输入至路由器100中的输入电路110之一的包被提供给切换电路130时进行的。
步骤S11:路由控制器140确定包的接收信道。如果包是经由请求信道接收的,则执行S12中的处理步骤,而如果包是经由响应信道接收的,则执行S16中的处理步骤。
步骤S12:路由控制器140参看接收包的目的地地址,并判断x方向上的目的地地址与x方向上的自身节点地址是否匹配。如果地址彼此匹配,则执行步骤S14中的处理步骤。如果地址彼此不匹配,则执行步骤S13中的处理步骤。
步骤S13:路由控制器140在x方向上沿着请求信道对接收包进行路由。更具体地,路由控制器140从在x方向上相连的各相邻节点之中确定在x方向上比自身节点更靠近目的地地址的相邻节点作为包的目的地。然后,路由控制器140控制切换电路130使得包被路由至该相邻节点的输出电路120中的逻辑缓冲区121。
步骤S14:路由控制器140参看接收包的目的地地址,并判断y方向上的目的地地址与y方向上的自身节点地址是否匹配。如果地址彼此匹配,则执行步骤S20中的处理步骤。如果地址彼此不匹配,则执行步骤S15中的处理步骤。
步骤S15:路由控制器140在y方向上沿着请求信道对接收包进行路由。更具体地,路由控制器140从在y方向上相连的各相邻节点之中确定在y方向上比自身节点更靠近目的地地址的相邻节点作为包的目的地。然后,路由控制器140控制切换电路130使得包被路由至该相邻节点的输出电路120中的逻辑缓冲区121。
步骤S16:路由控制器140参看接收包的目的地地址,并判断y方向上的目的地地址与y方向上的自身节点地址是否匹配。如果地址彼此匹配,则执行步骤S18中的处理步骤。如果地址彼此不匹配,则执行步骤S17中的处理步骤。
步骤S17:路由控制器140在y方向上沿着响应信道对接收包进行路由。更具体地,路由控制器140从在y方向上相连的各相邻节点之中确定在y方向上比自身节点更靠近目的地地址的相邻节点作为包的目的地。然后,路由控制器140控制切换电路130使得包被路由至该相邻节点的输出电路120中的逻辑缓冲区122。
步骤S18:路由控制器140参看接收包的目的地地址,并判断x方向上的目的地地址与x方向上的自身节点地址是否匹配。如果地址彼此匹配,则执行步骤S20中的处理步骤。如果地址彼此不匹配,则执行步骤S19中的处理步骤。
步骤S19:路由控制器140在x方向上沿着响应信道对接收包进行路由。更具体地,路由控制器140从在x方向上相连的各相邻节点之中确定在x方向上比自身节点更靠近目的地地址的相邻节点作为包的目的地。然后,路由控制器140控制切换电路130使得包被路由至该相邻节点的输出电路120中的逻辑缓冲区122。
步骤S20:路由控制器140控制切换电路130使得接收包被输出至网络接口200。接收包由此被输入至网络接口200中的输入电路210。于是,网络接口200被通知指明该相邻节点作为接收包的发送源的信息和指明所用虚拟信道的信息。
通过上述处理,以较高优先级在x方向上对经由请求信道接收到的包进行路由,并以较高优先级在y方向上对经由响应信道接收到的包进行路由。更具体地,在经由响应信道的路由操作中应用与请求信道的维序相反的维序。如果接收到寄往自身节点的包,则该包被提供给网络接口200。
图7是从路由器100接收接收包的网络接口200的处理的流程图。
步骤S31:当接收包被输入至网络接口200中的输入电路210时,接收数据判断器211基于来自路由器100的信息判断接收包是否是经由请求信道接收到的。如果接收包是经由请求信道接收到的,则执行处理步骤S32。如果接收包是经由响应信道接收到的,则执行处理步骤S38。
步骤S32:接收数据判断器211判断接收包是否是“获取”请求包。如果接收包是“获取”请求包,则接收数据判断器211向DMA控制器212通知包含在接收包中的读取地址,并请求DMA控制器212读取数据。接收数据判断器211从接收包中提取发送源的地址,并向发送控制器213通知所提取的发送源地址。接收数据判断器211向相邻节点通知接收包的发送源。然后,接收数据判断器211请求发送控制器213发送“获取”响应包。然后,执行步骤S33中的处理步骤。如果接收包不是“获取”请求包,则执行步骤S36中的处理步骤。
步骤S33:DMA控制器212存取存储器320,并通过DMA传送序列读取作为由接收数据判断器211通知的读取地址而存储的数据。然后,DMA控制器212将该数据输出至发送控制器213。
步骤S34:发送控制器213生成包含从DMA控制器212中读取的数据的“获取”响应包。由接收数据判断器211通知的“获取”请求包的发送源节点的地址被设定为“获取”响应包的目的地地址。
步骤S35:发送控制器213将所生成的“获取”响应包提供给输出电路220,以将“获取”响应包输出至路由器100。发送控制器213通过输出电路220请求路由器100将“获取”响应包的发送目的地的虚拟信道设定为与接收包的发送源的相邻节点连接的响应信道。路由器100由此将从网络接口200接收到的“获取”响应包传送至“获取”响应包的发送源的相邻节点的输出电路120的逻辑缓冲区122。
步骤S36:接收数据判断器211判断接收包是否是“放置”包。如果接收包是“放置”包,则接收数据判断器211向DMA控制器212通知包含在接收包中的写入地址和写入数据,并请求DMA控制器212将写入地址和写入数据写入存储器320中。然后,执行步骤S37中的处理步骤。如果接收包不是“放置”包,则执行步骤S38中的处理步骤。
步骤S37:DMA控制器212存取存储器320,并通过DMA序列将由接收数据判断器211通知的写入地址上的写入数据写入存储器320中。在写入数据之后,CPU 310可由输入电路210通知已完成了数据写入。
步骤S38:接收数据判断器211将接收包输出至CPU 310。
通过上述处理步骤,网络接口200响应于“获取”请求包经由响应信道被接收而使得指定的数据从存储器320中被读取,然后“获取”响应包被返回。不影响CPU 310上的其它处理而自动地进行对“获取”请求的响应处理。由于沿着响应信道对“获取”响应包进行路由,所以“获取”请求包的传输路径和“获取”响应包的传输路径变得相同。“获取”响应包被可靠地返回给请求源节点。
当发送“获取”响应包时,可将响应信道指定为发送信道,并可将发送源节点本身指定为用于发送目的地的相邻节点。由此,使得网络接口200免于确定最优通信平面的复杂处理。网络接口200的电路规模和制造成本得以减小。
并行计算机在与安装在各节点N1~N16上的网络接口200的RDMA通信时具有故障鲁棒性。由此,不增大电路规模且不增加制造成本而提供了具有故障鲁棒性的并行计算机。
网络接口200中的输出电路220具有控制经由发送控制器213和CPU310这二者之一输入至路由器100的包的允许/禁止发送的功能。如果禁止包的发送,则输出电路220使得路由器100停止向网络接口200中的输入电路210输入包。
图8是示出了由输出电路220进行的允许/禁止发送的控制处理的流程图。
步骤S41:输出电路220判断是否允许包发送。如果允许包发送,则执行步骤S42中的处理步骤。如果禁止包发送,则执行步骤S43中的处理步骤。
步骤S42:输出电路220通知路由器100允许向网络接口200中的输入电路210输入新包。在此状态下,如果从相邻节点接收到寄往自身节点的包,则路由器100将包输入至网络接口200中的输入电路210。然后,再次执行步骤S41中的处理步骤。
步骤S43:输出电路220通知路由器100禁止向网络接口200中的输入电路210输入新包。在此状态下,即使从相邻节点接收到寄往自身节点的包,路由器100也不将包提供给网络接口200中的输入电路210。暂停在接收到新包的虚拟信道上进行该新包的接收操作。
为了请求路由器100将输入至输出电路220的包输出至被指定为发送目的地的虚拟信道,执行步骤S41中的处理步骤。如果没有与发送目的地的虚拟信道对应的空逻辑区可用,则确定应禁止包发送。
步骤S41中的处理步骤可依据施加于输出电路220的发送包的输出队列中有无空间可用来判断。如果发送包的输出队列中没有空间可用,则判断应禁止包的发送。如果输出队列的头数据被输出至与发送目的地的虚拟信道对应的逻辑缓冲区,则在输出队列中产生空间并且允许包发送。
图8示出了当生成对“获取”请求包的响应时施加的处理。如果禁止“获取”响应包的发送,则暂停包含新的“获取”请求包的后续包的接收。如果暂停后续包的接收,则不发生死锁。
在网络中在同一虚拟信道上对“获取”请求包和“获取”响应包进行路由。如果在给定节点上禁止“获取”响应包的发送、然后暂停在该节点上接收新的“获取”请求包,则在网络中发生死锁。这是因为在同一虚拟信道上产生了包含“获取”响应包和后续的“获取”请求包的环。
为了克服这一问题,在一种方法中可删除发送被禁止的“获取”响应包,或者在另一种方法中可将发送被禁止的“获取”响应包和后续的“获取”请求包这二者之一存储在存储器中。在前一种方法中,发送源节点不能接收对“获取”请求包的响应,并因此需要“获取”请求包的重发送功能。在后一种方法中,网络接口200可包括用于存储包的高容量存储器,或者可在中断时将“获取”响应包传送至CPU 310并请求CPU 310进行后续的发送操作。
与之相比,第一实施例免于因后续包的接收的暂停而造成的死锁,这是因为沿着不同的虚拟信道对“获取”响应包和“获取”请求包进行路由。如果允许经由“获取”请求包的发送目的地的响应信道的传输,则网络接口200恢复后续包的接收。根据第一实施例,发送允许/禁止控制由此得以简化。网络接口200的电路规模和制造成本得以减小。
第二实施例:
图9是示意性地示出了根据本发明的第二实施例的并行计算机1a的框图。
图9所示的并行计算机1a是通过将图1所示的并行计算机1中的节点N13~N16修改为专用于数据的输入-输出操作的节点N13a~N16a而构建的。节点N13a~N16a分别连接至硬盘驱动器(HDD)340。除了HDD340进一步连接至总线330以外,每个节点N13a~N16a在结构上与图3所示的节点N10相同。如图9所示,节点N1~N12是计算节点。并行计算机1a的每个节点N1~N12和N13a~N16a具有相同的路由功能,并且具有与图1所示的并行计算机1的每个节点N1~N16所支持的RDMA通信功能相同的RDMA通信功能。
当向其它节点发送由CPU 310生成的包时,并行计算机1a的每个节点N1~N12和N13a~N16a可选择用于发送的任何虚拟信道。此特征对于第一实施例也成立。
根据第二实施例,当在输入-输出专用节点与计算节点之间交换包(不包括RDMA通信包)时,用于发送的虚拟信道和用于接收的虚拟信道在维序上彼此不同。例如,包从计算节点经由请求信道被发送至输入-输出专用节点,而包从输入-输出专用节点经由响应信道被发送至计算节点。CPU 310通过执行存储在相应节点上的存储器320和HDD 340这二者之一中的每个程序来选择发送信道。
发送信道的选择处理由此减少了每个包所路经的计算节点的数目。例如,现在考虑图9所示的节点N5与节点N15a之间的通信操作。在请求信道上,y方向(图9中的竖直方向)上的路由具有较高优先级;而在响应信道上,x方向(图9中的水平方向)上的路由具有较高优先级。
在从节点N5到节点N15a的包发送中,包在请求信道上路经节点N9、N13a、N14a和N15a。如果在请求信道上进行从节点N15a到节点N5的包发送,则包依次路经节点N11、N7、N6和N5。在此情形下,包路经三个节点。
现在,可使用响应信道进行从输入-输出专用节点到计算节点的包发送。从节点N15a寄往节点N5的包依次路经节点N14a、N13a、N9和N5。在此情形下,包路经的计算节点的数目是一个,即,仅节点N9。
通过减少包路经的计算节点的数目,每个计算节点处的传送处理负荷得以降低。起源于计算节点处的包发送、寄往计算节点的包的接收以及计算节点之间的通信所造成的处理负荷得以减小。结果,包的路由处理对计算节点处的计算处理的影响得以减小。并行计算机1a的整体处理效率得以提高。
第三实施例:
图10示出了第三实施例的并行计算机1b的结构。
图10所示的并行计算机1b包含连接成二维4×4环面构造从而形成环面网络的16个节点N21~N36。节点N21~N36中的任何两个相邻节点通过至少两种类型的虚拟信道、在x方向(图10中的水平方向)和y方向(图10中的竖直方向)上彼此连接。其中一个信道是请求信道,另一个信道是响应信道。以与第一实施例相同的方式,请求信道上的路由的维序与响应信道上的路由的维序相反。
为了防止环面网络中发生死锁,优选地设立用来进行同一维序的路由操作的至少两个虚拟信道。在图10所示的并行计算机1b中,相邻节点是经由两个请求信道和两个响应信道连接的。
由于根据任何已知处理在同一类型的虚拟信道之间适当地切换发送信道,因此避免了死锁。更具体地,当包沿着一个请求信道被路由从而超出节点连接环时,包目的地被切换至另一个请求信道。类似地,当包沿着一个响应信道被路由从而超出节点连接环时,包目的地被切换至另一个响应信道。
由此,在同一类型的虚拟信道之间切换了节点N21~N36。节点N21~N36的其余功能与第一实施例的节点N1~N16的功能相同。节点N21~N36还具有与第一实施例的节点N1~N16的RDMA通信功能相同的RDMA通信功能。节点N21~N36以与第一实施例的节点N1~N16相同的方式经由响应信道自动地响应于经由请求信道接收到的“获取”请求包。不增大节点N21~N36的电路规模和制造成本而提高了“获取”通信的故障鲁棒性。
节点N21~N36以与图8所示的处理相同的处理来控制包允许/禁止发送。如图9所示,可以将一些节点设定为输入-输出专用节点,并可以使用不同类型的虚拟信道来进行从计算节点到输入-输出专用节点的包发送和从输入-输出专用节点到计算节点的包发送。
参照每个上述实施例,描述了二维网格网络和二维环面网络中的每个节点的处理。本发明不限于该布置。路由功能和RDMA通信功能可以在三维或更高维网格和环面网络中的每个节点上实施。
每个节点的一部分功能可由计算机实施。在这种情形下,提供描述这样的功能的处理内容的程序。计算机执行该程序,从而执行上述功能。描述处理内容的程序可记录在计算机可读记录介质上。计算机可读记录介质包括磁记录装置、光盘、磁光记录介质、半导体存储器等。
为了将程序提供给用户,将存储程序的可移动记录介质比如光盘设定为商业上可获得。可替选地,可以将程序存储在服务器计算机的存储装置上,然后从服务器计算机传送至其它计算机。
执行程序的计算机在自存储单元上安装来自可移动记录介质的程序或从服务器计算机传来的程序。通过从自存储单元中读取程序,计算机执行响应于程序的处理。计算机可直接从可移动记录介质中读取程序并执行响应于程序的处理。每当从服务器计算机接收到程序时,计算机可执行响应于程序的处理。
信息处理系统使得请求响应的处理请求数据被发送至作为请求源的计算节点,并且使得响应数据在计算节点之间被可靠地发送和接收。
通信控制设备以简单的处理将响应于处理请求数据的响应数据可靠地发送至作为请求源的计算节点。
如上所述,已具体地描述了本发明以便更好地理解本发明的实施例,且以上描述不限制本发明的其它方面。因此,本发明可以以多种方式加以变更和修改而不脱离本发明的主旨和范围。
这里陈述的所有例子和条件性语言旨在用于教导的目的从而协助读者理解本发明和发明人为改进技术而贡献的构思,并应被解释为不限于这些具体陈述的例子和条件,而且本说明书中这些例子的组织也不涉及本发明的优劣的展示。尽管已详细描述了本发明的实施例,但应当理解:可对本发明进行各种改变、替换和变更而不脱离本发明的精神和范围。
Claims (17)
1.一种系统,包括:
多个节点,连接成多维矩阵并且分别具有节点地址,
每个所述节点包括:
处理器,用于处理数据以及产生请求包和响应包;以及
路由器,用于从与其自身节点相邻的任何其它节点接收具有数据和目标节点的地址的请求包,当其自身节点的第n维中的所述节点地址的一部分与所述请求包的第n维中的所述地址的一部分不匹配时将所述请求包发送至位于第n维中的与其自身节点相邻的节点,当其自身节点的第n维的所述节点地址与所述请求包的第n维的所述地址匹配时将所述请求包发送至位于第n+1维中的与其自身节点相邻的节点,从与其自身节点相邻的任何其它节点接收具有地址的响应包,当其自身节点的第n+1维的所述节点地址的一部分与所述响应包的第n+1维的所述地址的一部分不匹配时将所述响应包发送至位于第n+1维中的与其自身节点相邻的节点,以及当其自身节点的第n+1维的所述节点地址与所述响应包的第n+1维的所述地址匹配时将所述响应包发送至位于第n维中的与其自身节点相邻的节点,
其中所述路由器当请求包的所述地址在所有维中都与其自身节点的所述节点地址完全匹配时终止所述请求包,将由所述请求包传达的所述数据传送至其自身节点的所述处理器以供处理,接收由其自身节点的所述处理器产生的响应包,并将产生的所述响应包发送至相邻节点。
2.根据权利要求1所述的系统,其中所述节点进一步包括:接收数据判断器,用于判断所述请求包是否是请求源的计算节点所需要的作为响应的处理请求数据。
3.根据权利要求2所述的系统,其中所述节点进一步包括:响应控制器,用于对所述响应包的发送处理进行控制。
4.根据权利要求2所述的系统,其中所述处理请求数据是从包含在所述节点中的存储器中读出数据并将从所述存储器中读取的所述数据发送至请求源节点的请求。
5.根据权利要求4所述的系统,其中所述节点进一步包括:计算节点,用于执行所述存储器之间的数据传输。
6.根据权利要求4所述的系统,其中所述响应控制器当接收所述处理请求数据时直接从所述存储器中读出数据并发送所述数据。
7.根据权利要求1所述的系统,其中所述节点进一步包括:数据生成单元,用于生成发送数据。
8.一种设备,所述设备连接至用于处理数据以及产生请求包和响应包的处理器,所述设备和所述处理器包含在具有节点地址的节点中,所述节点连接至多个节点,所述多个节点连接成多维矩阵并且分别具有节点地址,所述设备包括:
接收单元,用于从与其自身节点相邻的任何其它节点接收请求包;以及
控制器,用于当其自身节点的第n维中的所述节点地址的一部分与所述请求包的第n维中的目的地地址的一部分不匹配时将所述请求包发送至位于第n维中的与其自身节点相邻的节点,当其自身节点的第n维的所述节点地址与目标节点的第n维的所述目的地地址匹配时将所述请求包发送至位于第n+1维中的与其自身节点相邻的节点,
其中所述接收单元从与其自身节点相邻的任何其它节点接收具有地址的响应包,并且所述控制器当其自身节点的第n+1维的所述节点地址的一部分与所述响应包的第n+1维的目的地地址的一部分不匹配时将所述响应包发送至位于第n+1维中的与其自身节点相邻的节点、而当其自身节点的第n+1维的所述节点地址与所述响应包的第n+1维的所述目的地地址匹配时将所述响应包发送至位于第n维中的与其自身节点相邻的节点。
9.根据权利要求8所述的设备,其中所述控制器当请求包的所述地址在所有维中都与其自身节点的所述节点地址完全匹配时终止所述请求包,将由所述请求包传达的所述数据传送至其自身节点的所述处理器以供处理,接收由其自身节点的所述处理器产生的响应包,并将产生的所述响应包发送至相邻节点。
10.根据权利要求8所述的设备,进一步包括:接收数据判断器,用于判断所述请求包是否是请求源的计算节点所需要的作为响应的处理请求数据。
11.根据权利要求10所述的设备,进一步包括:响应控制器,用于对所述响应包的发送处理进行控制。
12.根据权利要求10所述的设备,其中所述处理请求数据用于从包含在所述节点中的存储器中读出数据并将所述数据发送至请求源节点。
13.一种对包含连接成多维矩阵并且分别具有节点地址的多个节点的系统进行控制的方法,所述方法包括:
由处理器处理数据以及产生请求包或响应包;
由路由器从与其自身节点相邻的任何其它节点接收请求包;
当其自身节点的第n维中的所述节点地址的一部分与所述请求包的第n维中的目的地地址的一部分不匹配时,由所述路由器将所述请求包发送至位于第n维中的与其自身节点相邻的节点,或者当其自身节点的第n维的所述节点地址与目标节点的第n维的所述地址匹配时,由所述路由器将所述请求包发送至位于第n+1维中的与其自身节点相邻的节点;
由所述路由器从与其自身节点相邻的任何其它节点接收具有地址的响应包,当其自身节点的第n+1维的所述节点地址的一部分与所述响应包的第n+1维的所述地址的一部分不匹配时,由所述路由器将所述响应包发送至位于第n+1维中的与其自身节点相邻的节点;以及
当其自身节点的第n+1维的所述节点地址与所述响应包的第n+1维的所述地址匹配时,由所述路由器将所述响应包发送至位于第n维中的与其自身节点相邻的节点。
14.根据权利要求13所述的方法,进一步包括:
当所述请求包的所述地址在所有维中都与其自身节点的所述节点地址完全匹配时终止请求包,
将由所述请求包传达的所述数据传送至其自身节点的所述处理器以供处理,接收由其自身节点的所述处理器产生的响应包,以及
将产生的所述响应包发送至相邻节点。
15.根据权利要求13所述的方法,进一步包括:
判断所述请求包是否是请求源的计算节点所需要的作为响应的处理请求数据。
16.根据权利要求15所述的方法,其中所述处理请求数据用于从包含在所述节点中的存储器中读出数据并将所述数据发送至请求源节点。
17.一种系统,包括:
多个节点,通过多个虚拟信道连接至相邻节点、连接成多维矩阵并且分别具有节点地址,
每个所述节点包括:
处理器,用于处理数据以及产生请求包和响应包;以及
路由器,用于通过所述虚拟信道与其它节点通信,
所述路由器将都包含表示目标节点的目的地地址的请求包和响应包发送至相邻节点,
所述路由器当其自身节点的第一维中的所述节点地址的一部分与第一维中的所述目的地地址的一部分不匹配时将所述请求包通过第一虚拟信道发送至位于第一维中的所述相邻节点、而当其自身节点的第一维的所述节点地址与第一维的所述目的地地址匹配并且其自身节点不是所述目标节点时将所述请求包通过所述第一虚拟信道发送至位于第二维中的相邻节点,并且
所述路由器当其自身节点的第二维的所述节点地址的一部分与第二维的所述目的地地址的一部分不匹配时将所述响应包通过第二虚拟信道发送至位于第二维中的相邻节点、而当其自身节点的第二维的所述节点地址与第二维的所述目的地地址匹配并且其自身节点不是所述目标节点时将所述响应包通过所述第二虚拟信道发送至位于第二维中的相邻节点。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009-065892 | 2009-03-18 | ||
JP2009065892A JP2010218364A (ja) | 2009-03-18 | 2009-03-18 | 情報処理システム、通信制御装置および方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101841471A true CN101841471A (zh) | 2010-09-22 |
CN101841471B CN101841471B (zh) | 2012-07-25 |
Family
ID=42357647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010101383046A Expired - Fee Related CN101841471B (zh) | 2009-03-18 | 2010-03-18 | 具有连接成多维矩阵的节点的系统及其控制方法以及设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8204054B2 (zh) |
EP (1) | EP2230606A3 (zh) |
JP (1) | JP2010218364A (zh) |
KR (1) | KR101082701B1 (zh) |
CN (1) | CN101841471B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708073A (zh) * | 2010-11-10 | 2012-10-03 | 株式会社东芝 | 存储装置以及数据处理方法 |
CN104662525B (zh) * | 2012-09-24 | 2017-05-03 | 富士通株式会社 | 并行计算机、节点装置以及并行计算机的控制方法 |
CN109937409A (zh) * | 2016-11-28 | 2019-06-25 | 特博数据实验室公司 | 分布式系统 |
CN112822300A (zh) * | 2021-04-19 | 2021-05-18 | 北京易捷思达科技发展有限公司 | 基于rdma的数据传输方法、装置及电子设备 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5493575B2 (ja) * | 2009-08-10 | 2014-05-14 | 富士通株式会社 | 情報処理装置及び情報処理装置の制御方法 |
JP5696779B2 (ja) | 2011-03-22 | 2015-04-08 | 富士通株式会社 | 並列計算機システム及び並列計算機システムの制御方法 |
WO2012160641A1 (ja) | 2011-05-23 | 2012-11-29 | 富士通株式会社 | 管理装置、情報処理装置、情報処理システム、データ転送方法、経路選択プログラム及び転送要求プログラム |
US20130282654A1 (en) * | 2012-04-24 | 2013-10-24 | Qiming Chen | Query engine communication |
JP5404947B2 (ja) * | 2013-03-26 | 2014-02-05 | 株式会社東芝 | ストレージ装置 |
CN103491023B (zh) * | 2013-09-13 | 2016-08-17 | 中国人民解放军国防科学技术大学 | 用于三维torus光电混合网络的路由方法 |
JP2015015049A (ja) * | 2014-09-19 | 2015-01-22 | 株式会社東芝 | ストレージ装置 |
US9806908B2 (en) * | 2015-02-12 | 2017-10-31 | Advanced Micro Devices, Inc. | Route mapping at individual nodes of a cluster server |
JP6740683B2 (ja) * | 2016-04-07 | 2020-08-19 | 富士通株式会社 | 並列処理装置及び通信制御方法 |
KR102665997B1 (ko) * | 2016-12-20 | 2024-05-13 | 에스케이하이닉스 주식회사 | 패킷을 부호화하는 장치 및 이를 포함하는 메모리 네트워크에서의 라우팅 방법 |
US20230030168A1 (en) * | 2021-07-27 | 2023-02-02 | Dell Products L.P. | Protection of i/o paths against network partitioning and component failures in nvme-of environments |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1411678A1 (en) * | 2002-10-17 | 2004-04-21 | Hitachi, Ltd. | Method and system for content-oriented routing of packets in a storage-embedded network |
CN1520662A (zh) * | 2001-07-17 | 2004-08-11 | ض� | 结构化总线体系结构 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2227341A (en) * | 1989-01-18 | 1990-07-25 | Intel Corp | Message routing in a multiprocessor computer system |
US5583990A (en) * | 1993-12-10 | 1996-12-10 | Cray Research, Inc. | System for allocating messages between virtual channels to avoid deadlock and to optimize the amount of message traffic on each type of virtual channel |
JPH07262155A (ja) * | 1994-03-24 | 1995-10-13 | Hitachi Ltd | 並列計算機およびメッセージ放送方法 |
JPH08185380A (ja) * | 1994-12-28 | 1996-07-16 | Hitachi Ltd | 並列計算機 |
US5701416A (en) * | 1995-04-13 | 1997-12-23 | Cray Research, Inc. | Adaptive routing mechanism for torus interconnection network |
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 |
JP3860257B2 (ja) * | 1996-06-28 | 2006-12-20 | 富士通株式会社 | チャネルの決定方法 |
US5898827A (en) * | 1996-09-27 | 1999-04-27 | Hewlett-Packard Co. | Routing methods for a multinode SCI computer system |
JP3744362B2 (ja) | 2001-02-21 | 2006-02-08 | 日本電気株式会社 | ネットワークにおけるリング形成方法及び障害回復方法並びにリング形成時のノードアドレス付与方法 |
JP3821377B2 (ja) | 2002-03-27 | 2006-09-13 | 日本電気株式会社 | 双方向リングネットワーク、ノード装置、および双方向リングネットワークのルーティング情報構成方法 |
US7852836B2 (en) * | 2003-11-19 | 2010-12-14 | Cray Inc. | Reduced arbitration routing system and method |
US7486619B2 (en) * | 2004-03-04 | 2009-02-03 | International Business Machines Corporation | Multidimensional switch network |
US7765385B2 (en) | 2007-04-18 | 2010-07-27 | International Business Machines Corporation | Fault recovery on a parallel computer system with a torus network |
US20090274157A1 (en) * | 2008-05-01 | 2009-11-05 | Vaidya Aniruddha S | Method and apparatus for hierarchical routing in multiprocessor mesh-based systems |
EP2393015B1 (en) * | 2009-01-30 | 2015-07-01 | Fujitsu Limited | Information processing system, information processing device, control method for information processing device, control program for information processing device, and computer-readable recording medium |
-
2009
- 2009-03-18 JP JP2009065892A patent/JP2010218364A/ja active Pending
-
2010
- 2010-02-16 US US12/706,137 patent/US8204054B2/en not_active Expired - Fee Related
- 2010-02-18 EP EP10153987A patent/EP2230606A3/en not_active Withdrawn
- 2010-03-12 KR KR1020100022286A patent/KR101082701B1/ko not_active Expired - Fee Related
- 2010-03-18 CN CN2010101383046A patent/CN101841471B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1520662A (zh) * | 2001-07-17 | 2004-08-11 | ض� | 结构化总线体系结构 |
EP1411678A1 (en) * | 2002-10-17 | 2004-04-21 | Hitachi, Ltd. | Method and system for content-oriented routing of packets in a storage-embedded network |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708073A (zh) * | 2010-11-10 | 2012-10-03 | 株式会社东芝 | 存储装置以及数据处理方法 |
US9246709B2 (en) | 2010-11-10 | 2016-01-26 | Kabushiki Kaisha Toshiba | Storage device in which forwarding-function-equipped memory nodes are mutually connected and data processing method |
CN102708073B (zh) * | 2010-11-10 | 2017-03-01 | 株式会社东芝 | 存储装置以及数据处理方法 |
US10044642B2 (en) | 2010-11-10 | 2018-08-07 | Toshiba Memory Corporation | Storage device in which forwarding-function-equipped memory nodes are mutually connected and data processing method |
US10397139B2 (en) | 2010-11-10 | 2019-08-27 | Toshiba Memory Corporation | Storage device in which forwarding-function-equipped memory nodes are mutually connected and data processing method |
CN104662525B (zh) * | 2012-09-24 | 2017-05-03 | 富士通株式会社 | 并行计算机、节点装置以及并行计算机的控制方法 |
CN109937409A (zh) * | 2016-11-28 | 2019-06-25 | 特博数据实验室公司 | 分布式系统 |
CN112822300A (zh) * | 2021-04-19 | 2021-05-18 | 北京易捷思达科技发展有限公司 | 基于rdma的数据传输方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US8204054B2 (en) | 2012-06-19 |
EP2230606A2 (en) | 2010-09-22 |
KR101082701B1 (ko) | 2011-11-15 |
JP2010218364A (ja) | 2010-09-30 |
CN101841471B (zh) | 2012-07-25 |
EP2230606A3 (en) | 2012-07-18 |
KR20100105414A (ko) | 2010-09-29 |
US20100238944A1 (en) | 2010-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101841471A (zh) | 具有连接成多维矩阵的节点的系统及其控制方法以及设备 | |
US20240223514A1 (en) | Multicast message delivery across remote cores | |
US7706275B2 (en) | Method and apparatus for routing data in an inter-nodal communications lattice of a massively parallel computer system by employing bandwidth shells at areas of overutilization | |
US8819616B2 (en) | Asymmetric mesh NoC topologies | |
US20060047849A1 (en) | Apparatus and method for packet coalescing within interconnection network routers | |
US12271333B2 (en) | Peer-to-peer route through in a reconfigurable computing system | |
JP4818920B2 (ja) | 複数のプログラム可能なプロセッサを有する集積データ処理回路 | |
JP2003114879A (ja) | メッセージトラフィックとマルチシャーシコンピュータシステムのバランスをとる方法 | |
CN105706068A (zh) | 路由存储器流量和i/o流量的存储器网络 | |
US7688737B2 (en) | Latency hiding message passing protocol | |
CN111630505A (zh) | 深度学习加速器系统及其方法 | |
US8031614B2 (en) | 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 | |
US7643477B2 (en) | Buffering data packets according to multiple flow control schemes | |
CN102866980B (zh) | 用于多核微处理器片上互连网络的网络通信胞元 | |
WO2021114768A1 (zh) | 数据处理装置、方法、芯片、处理器、设备及存储介质 | |
CN116915708A (zh) | 路由数据包的方法、处理器及可读存储介质 | |
JP2022510803A (ja) | バス上のメモリ要求チェーン | |
US20100110934A1 (en) | Optimized cache consistency algorithm in a point-to-point interconnected multiple processor system | |
CN109952809A (zh) | 四元全网状以维度驱动的网络架构 | |
US8291033B2 (en) | Combining multiple hardware networks to achieve low-latency high-bandwidth point-to-point communication | |
US7944842B2 (en) | Opportunistic queueing injection strategy for network load balancing | |
US20120066310A1 (en) | Combining multiple hardware networks to achieve low-latency high-bandwidth point-to-point communication of complex types | |
US20160085706A1 (en) | Methods And Systems For Controlling Ordered Write Transactions To Multiple Devices Using Switch Point Networks | |
US8010771B2 (en) | Communication system for controlling intercommunication among a plurality of communication nodes | |
US12206579B2 (en) | Reconfigurable dataflow unit with remote read/write functionality |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120725 Termination date: 20150318 |
|
EXPY | Termination of patent right or utility model |