CN101657796B - 具备环面网络的并行计算机系统上的故障恢复 - Google Patents
具备环面网络的并行计算机系统上的故障恢复 Download PDFInfo
- Publication number
- CN101657796B CN101657796B CN2008800122618A CN200880012261A CN101657796B CN 101657796 B CN101657796 B CN 101657796B CN 2008800122618 A CN2008800122618 A CN 2008800122618A CN 200880012261 A CN200880012261 A CN 200880012261A CN 101657796 B CN101657796 B CN 101657796B
- Authority
- CN
- China
- Prior art keywords
- node
- cutoff
- network
- registers
- compute
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2007—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
Abstract
用于克服并行计算机系统中的环面网络故障的装置和方法。当环面网络中出现故障时,位于该计算机系统的服务节点中的网状路由机构把节点从环面配置成网状。该网状路由机构利用了每个节点中的捷径寄存器的优点,在节点间进行数据路由,使数据绕过故障节点或网络连接传输。
Description
技术领域
本发明总体上涉及并行计算机系统中的故障恢复,更具体地说,涉及一种用于从海量并行超级计算机中的环面网络的故障部分实现故障恢复的装置。
背景技术
高效故障恢复对于降低精密计算机系统的停机时间和修复成本来说是很重要的。在具有大量运算节点的并行计算机系统上,单个元件的故障可能会使计算机的大部分都不得不离线维修。
海量并行计算机系统是一种具有大量互联运算节点的并行计算机系统。这种海量并行计算机家族由国际商业机器公司(IBM)以BlueGene为名开发出来。Blue Gene/L系统是一种可扩展系统,其中目前运算节点的最大数目达到65536个。Blue Gene/L节点由带有两个CPU和内存的单个ASIC(专用集成电路)组成。整个计算机被装在64个机架或机柜中,每个机架内有32个节点板。
Blue Gene/L超级计算机经由多个通信网络进行通信。65536个运算节点被布置成一个逻辑树网络和一个三维环面网络。该逻辑树网络把运算节点连接成树结构,使每个节点与一个父节点和一个或两个子节点进行通信。环面网络将运算节点逻辑连接成三维网格状的结构,其允许每个运算节点与计算机的一个扇区内其最近的6个相邻节点进行通信。由于运算节点被布置成需要与邻近节点进行通信的环面网络和树网络,单个节点的硬件故障就可能使该系统的大部分停机,直至故障硬件能够得到修复。例如,单个节点故障或网络连接可能导致计算机系统的一个分区内的环面网络的一个维度不可操作。另外,分配给故障分区的所有硬件也可能需要离线,直至故障得以纠正。
在具备环面网络的现有技术系统上,单个节点或网络连接的故障往往需要计算机离线进行维修。当环面网络发生了一个故障时,有利的是能够尽可能迅速有效地克服该故障。如果没有更有效地克服环面网络故障的手段,并行计算机系统将继续浪费潜在的运算处理时间,增加了操作和维护成本。
发明内容
根据优选的实施例,描述了一种用于克服并行计算机系统中环面网络故障的装置和方法。当在环面网络中出现故障时,计算机系统的服务节点中的网状(mesh)路由机构将节点由环面网络配置成网状网络。网状路由机构利用了每个节点中的捷径寄存器的优点,从而使经由网络传输的数据在各节点之间进行路由时不经过发生故障的节点或网络连接。
所述的例子和描述涉及了Blue Gene结构,但是也可以扩展到具有布置成网络结构的多处理器的任何并行计算机系统,其中节点硬件句柄使数据流从其它节点走捷径通过。
前面所述的以及其它的特征和优点将通过下面更加具体的描述而变得更为清楚,如在附图中所示。
附图说明
下面将仅以示例方式参照附图描述本发明的实施例,图中:
图1是按照优选实施例的海量并行计算机系统的框图;
图2是示出了海量并行计算机系统中一个运算节点的输入和输出连接的框图;
图3是海量并行计算机系统中一个运算节点的框图;
图4是海量并行计算机系统中一个中间面的框图;
图5是示出了诸如海量并行计算机系统这样的高度互联的计算机系统的一个分区的框图;
图6是与环面网络相连的一系列节点的框图;
图7是示出了利用捷径寄存器对网络数据流进行路由的节点通信的一个例子的框图;
图8是示出了利用捷径寄存器对网络数据流进行路由的节点通信的一个例子的另一个框图;以及
图9是利用捷径寄存器对网络数据流进行路由的方法流程图。
具体实施方式
这里所公开和要求保护的内容涉及用于克服并行计算机网络中的环面网络故障的装置和方法。计算机系统的服务节点中的网状路由机构利用每个节点中的捷径寄存器而将节点由环面网络配置成网状网络,从而使传输的数据在各节点之间进行路由时绕过发生故障的节点或网络连接。将借助国际商业机器公司(IBM)所开发的Blue Gene/L海量并行计算机来描述优选的实施例。
图1示出了代表诸如Blue Gene/L计算机系统这样的海量并行计算机系统100的框图。Blue Gene/L系统是一种可扩展系统,其中最大运算节点数目达到65536个。每个节点110具有一个专用集成电路(ASIC)112,也被称为Blue Gene/L运算芯片112,它结合了两个处理器或中央处理单元(CPU)。该节点通常还具有512兆字节的本地内存(未示出)。用于两个节点的运算芯片和内存被安装在一个节点运算卡114上。一块节点板120容纳了16个节点运算卡114,每个节点运算卡具有两个节点110。因而,每块节点板有32个节点,每个节点有两个处理器,每个处理器都有相关联的内存。机架130是包含连接成两个中间面132的32块节点板120的机箱。各节点板120通过中间板连接器134连接成一个中间面印刷电路板132。所述中间面132位于机架内部,在图1中没有示出。完整的Blue Gene/L计算机系统被装在64个机架130或机柜中,每个机架或机柜中有32块节点板。这样,整个系统就有65536个节点和131072个CPU(64个机架×32块节点板×32个节点×2个CPU)。
Blue Gene/L计算机系统结构可描述为带有I/O节点表面的运算节点内核,其中由每个带有连接到服务节点140的I/O处理器170的I/O节点处理与1024个运算节点110的通信。所述I/O节点不具有本地存储器。I/O节点通过逻辑树网络连接到运算节点,并且还具有经由功能网络(未示出)实现的功能性广域网络性能。该功能网络连接到位于处理从服务节点140到多个节点的通信的节点板120上的I/O处理器(或者Blue Gene/L链接芯片)170。Blue Gene/L系统在连接到一块节点板120的I/O板(未示出)上具有一个或多个I/O处理器170。这些I/O处理器可以被配置为与8、32或64个节点进行通信。与I/O节点的连接和与运算节点的连接类似,只是I/O节点并没有连接到环面网络。
再次参照图1,计算机系统100包括用软件处理节点加载并控制整个系统操作的服务节点140。服务节点140通常是诸如IBM pSeries服务器这样的迷你计算机系统,其上运行Linux并带有控制台(未示出)。服务节点140通过控制系统网络150连接到运算节点110的机架130。所述控制系统网络为Blue Gene/L系统提供控制、测试和建立基础架构。控制系统网络150包括不同的网络接口,为海量并行计算机系统提供必要的通信。下面进一步描述这些网络接口。
服务节点140管理专用于系统管理的控制系统网络150。控制系统网络150包括连接到位于节点板120上的Ido芯片180的私有100-Mb/s以太网,其处理从服务节点140到多个节点的通信。这种网络有时被称为JTAG网络,因为它使用JTAG协议进行通信。节点板120上运算节点110的所有控制、测试和建立均通过与该服务节点通信的JTAG端口来管理。另外,服务节点140包括网状路由机构142,当在环面网络中存在故障时,该网状路由机构将环面网络配置成网状网络。该网状路由机构向节点中的捷径寄存器分配值,从而绕过环面网络中的故障对节点数据流进行路由。该网状路由机构142包括服务节点140中的软件,但是也可以由系统节点上执行的操作系统软件来辅助。
Blue Gene/L超级计算机经由多个通信网络进行通信。图2示出了表明Blue Gene/L计算机系统上的一个运算节点的I/O连接的框图。65536个运算节点和1024个I/O处理器170被布置成一个逻辑树网络和一个逻辑三维环面网络。所述环面网络把运算节点逻辑连接成网格状的结构,其允许每个运算节点110与其最近的6个相邻节点通信。在图2中,所述环面网络通过X+、X-、Y+、Y-、Z+和Z-网络连接来表示,这些网络连接把该节点连接到六个分别邻近的节点。所述树网络在图2中通过树0、树1和树2连接来表示。连接到该节点的其他通信网络包括JTAG网络和全局中断网络。JTAG网络提供用于从服务节点140经由图1所示的控制系统网络150进行测试和控制的通信。全局中断网络被用于实现用于运算节点上的类似处理的同步的软件屏蔽,以便当某任务完成时移动到处理的不同阶段。因而全局中断网络可以用于启动、停止和暂停在节点的一个分区上运行的应用程序。此外,还有针对每个运算节点110的时钟和电源信号。
Blue Gene/L环面网络以逻辑三维笛卡儿阵列把每个节点连接到它的六个最近的相邻节点(X+、X-、Y+、Y-、Z+、Z-)。与六个相邻节点的连接在节点层面和中间面层面上完成。每个中间面是一个8×8×8节点阵列。中间面中该节点阵列的六个面(X+、X-、Y+、Y-、Z+、Z-)在大小上都是8H8=64个节点。来自这六个面中每个面上的64个节点的每个环面网络信号均通过连接到该中间面的链接卡(未示出)被传送到邻近中间面中的相应节点。每个面的信号也可以当该中间面在一个分区中以任意维度上的一个中间面深度被使用时被路由回同一中间面在反面的输入。
图3示出了Blue Gene/L计算机系统中一个运算节点110的框图。该运算节点110具有一个节点运算芯片112,该节点运算芯片有两个处理单元310A、310B。每个处理单元310都有一个处理内核312。这些处理单元310被连接到三级存储高速缓存(L3高速缓存)320,并连接到静态随机存取存储器(SRAM)内存条330。来自L3高速缓存320的数据通过DDR内存控制器350被载入到双数据速率(DDR)同步动态随机存取存储器(SDRAM)340的内存卡中。
再次参照图3,SRAM内存330连接到JTAG接口326,该JTAG接口离开运算芯片112向Ido芯片180通信。服务节点经由以太网链路通过Ido芯片180与运算节点进行通信,所述以太网链路是控制系统网络150(上面已参照图1进行了描述)的一部分。在Blue Gene/L系统中,每块节点板120有一个Ido芯片,其它Ido芯片在每个中间面132的板上(图1)。Ido芯片经由可信的私有100Mbit/s以太网控制网络使用未经处理的UDP数据包从服务节点接收指令。Ido芯片支持与运算节点进行通信的多种串行协议。JTAG协议被用于从服务节点140(图1)读取和写入到运算节点110中的SRAM 330的任意地址,并被用于系统初始化和引导过程。
图3所示的节点运算芯片112还包括网络硬件390。所述网络硬件390包括用于环面网络392、树网络394和全局中断网络396的硬件。如上面简要描述的,Blue Gene/L的这些网络被用来使一个运算节点110与系统中的其它节点进行通信。网络硬件390允许该运算节点经由环面网络接收和继续传递数据包。网络硬件390独立地处理网络数据流,从而使得运算节点的处理器不会由于在环面网络上流过的数据量而加重负担。
如图3中所示,SRAM 330包括一个属性335。在引导过程期间,服务节点把对于一个单个节点特定的信息包存在该属性中。该属性包括针对作为环面网络硬件392一部分的X+、X-、Y+、Y-、Z+和Z-捷径寄存器398的捷径数据336(下面将进一步描述)。当该节点被初始化时,初始化软件使用该属性335中的捷径数据336对捷径寄存器398进行配置。服务节点可改变X、Y、Z捷径数据336,并指示该节点更新捷径寄存器398。在现有技术中,捷径寄存器被用来将环面网络变成更适于某些类型的计算机应用的网状网络。捷径寄存器的特征由网状路由机构142(图1)以一种新颖的方式使用,以克服节点故障或网络故障,这在下面还要进一步描述。
图4示出了BG/L计算机系统的中间面132。如上所述,每个节点机柜被分成两个中间面。每个中间面连接到环面网络中它的六个邻近的相邻节点,用从中间面132的每个面出发的箭头来表示。除了每个带有32个BG/L运算节点的16块节点卡之外,每个中间面包括四块链接卡410,每块链接卡上有六个链接芯片510(未示出),每个中间面总共有24个链接芯片。在中间面的边界处,所有BG/L网络都经过一个链接芯片。该链接芯片有两个功能。首先,它经由中间面之间的线缆再次驱动信号,在不同中间面上的运算ASIC之间的长的有损迹线-电缆-迹线(traceBcableBtrace)连接的中间处恢复高速信号波形和振幅。其次,该链接芯片可以在其不同的端口之间重定向信号。这种重定向功能允许BG/L被划分成多个逻辑上分开的系统。
再次参照图4,每个中间面与环面网络上其6个相邻的中间面进行通信。与6个相邻中间面的连接通过其相对于该中间面的笛卡尔坐标来表示,因此位于所示的X+、X-、Y+、Y-、Z+和Z-方向上。另外,在X轴上还有一组被称为X分路线缆(split cable)(未示出)的附加连接。X分路线缆包括X+分路线缆和X-分路线缆。X分路线缆通过提供用于连接X维度上的环面网络的附加路由提供了一种增强分区功能性的途径。在BG/L系统中,链接卡具有多个链接芯片(未示出),其支持环面网络信号从一个中间面到下一个中间面的路由。这种路由由主机在创建分区时设定,并保持不变直到另一个分区被创建或被重新配置。每个链接芯片端口支持21个差分对(16个数据信号,一个传感信号用来避免未加电的芯片被来自线缆另一端的驱动器输出所驱动,一个备用信号,一个奇偶信号,以及两个异步全局中断信号)。
BG/L环面互联要求一个节点连接到逻辑三维笛卡尔阵列中它的六个最近的相邻节点(X+、X-、Y+、Y-、Z+,Z-)。与这六个相邻节点的连接在节点层面和中间面层面完成。每个中间面是一个8×8×8节点阵列。中间面中该节点阵列的六个面(X+、X-、Y+、Y-、Z+、Z-)的大小都是8H8=64个节点。来自这六个面中每个面上的64个节点的每个环面网络信号均通过链接芯片被传送到邻近中间面中的相应节点。每个面的信号也可以当该中间面在一个分区中以任意维度上的一个中间面深度被使用时被路由回同一中间面在反面的输入。每个链接芯片端口服务于16个单向环面链路,使用经过每个端口的21对数据信号进出该中间面。每个中间面由24个链接芯片来支持,每个链接芯片有两个端口,每个端口上有16个数据信号。这样,带有64个节点的六个面需要由24个链接芯片上的2个端口所提供的384个输入数据信号和384个输出数据信号,每个端口支持16个数据信号(对于输入有16×24=384个,对于输出也有384个)。
图5示出了诸如Blue Gene/L计算机系统这样的海量并行计算机系统的机架510A-510H的一个集合500,带有中间面512A-512P,其被设置在X维度上的一个分区中。机架510A-510H中的每一个均代表图1中所示的一个机架130,中间面512A-512P中的每一个也是图1中所示的中间面132。每个中间面512A-512P被布置成把节点连接为一个8×8×8的环面,这里该环面的坐标为X、Y和Z。每个机架被布置成8×8×16的环面,因为每个机架的两个中间面在Z维度上布置。第一个机架510A是机架0(R0),有两个中间面R00 512和R01 514。类似地,机架R1有两个中间面R10 521C和R11 512D。其余的中间面512C-512P类似地在机架R2至机架R7中被编号为R20至R71。在所示的分区中,X线缆520连接X维度上的8个机架,而Y和Z维度在一个单个中间面中被卷绕起来,意味着机架在Y和Z维度上的面上的节点被连接回同一机架背面上的节点,以形成环面。X分路线缆在这个例子中没有示出。因而,图5所示的分区是一个128×8×8的环面。可以看到,X维度线缆520通过遵循X线缆进入一个机架、然后离开该机架进入下一个机架的方向以R0、R1、R3、R5、R7、R6、R4、R2的顺序连接各机架。
图6示出了在诸如Blue Gene/L计算机系统这样的海量并行计算机系统的一个分区中通过环面网络612所连接的节点110的一个集合600。图6示出了图5所示系统中连接成环面的节点的逻辑表示。节点数可根据该分区内所包含的机架数目而变动,如通过最后一个节点614中的可变数目N所表示的。在这里的图示中,X+维度是从左至右的,而X-维度是从右至左的。图6所示的逻辑表示仅代表布置在X维度上的节点。环面网络的其它维度以相同的方式布置。上面所述的网状路由机构142可以把图6所示的环面网络变换成网状网络,其大体上是一个开放的环面,或者是使节点在一个或多个维度上线性连接的网络。网状路由机构142能够通过使所有环面数据流离开故障位置路由而克服一个节点内的故障或节点之间的连接故障。
对于环面(X+、X-、Y+、Y-、Z+、Z-)内的每一个方向,在每个节点中都有一个专门的寄存器,被称为捷径寄存器398,如前面参照图3所讨论的。通过使用所述捷径寄存器告诉节点如果路由网络数据流,网状路由机构对网络数据流进行路由,使其不经过节点内的故障或网络连接故障。如下面所述,为捷径寄存器分配一个值,以在网状网络上路由数据,使其不经过引起环面网络故障的故障节点或网络。在现有技术中,通过把X+维度上的捷径设置为x维度上的节点数并把X-维度上的捷径设置为零,从而把环面编程为网状。与之不同的是,这里所公开的网状路由机构对捷径寄存器进行设置,使得任何发生故障的节点和/或网络从环面中被排除,剩下的网状网络仍然可用。
通过并行计算机系统的故障检测硬件和软件向网状路由机构给出发生故障的节点或网络的位置。随后网状路由机构确定如何分配捷径寄存器以在开放环面(网状网络)上对数据进行路由,使数据不经过发生故障的节点和/或发生故障的网络连接。如何分配捷径寄存器的一个例子将在下面描述。捷径寄存器的值随后作为捷径数据被载入到如上面参照图3所述的节点的属性中。当节点被重设时,则节点重设软件利用来自节点属性的捷径数据来设置捷径寄存器。随后该网状网络可以由一个被初始化为在该并行计算机系统上运行的应用程序所使用。
所述捷径寄存器中的每一个由网状路由机构(图1中用142表示)分别分配一个值,用来绕过故障节点路由数据。当环面网络中存在中断时,两个节点间的中断将位于网络中一个节点的X+链路上和下一个节点的X-链路上。网状路由机构可以通过下述方式分配每个捷径寄存器以绕过故障节点进行路由:
break_plus是X+链路中断的节点;
break_minus是X-链路中断的节点;并且
node_coord是针对所确定的捷径寄存器的节点从0到N的值(对应于Node0至NodeN);
如果(node_coord<=break_plus)
则分配x-cutoff=0,且
x+cutoff=break_plus;
否则
分配x-cutoff=break_minus,且
x+cutoff=X维度上的最大节点
通过如上所述分配捷径寄存器,采用下述方法路由数据使其绕过网络中的故障节点。
当在环面网络上发送一个数据包时,发送节点和目的地节点的坐标与捷径寄存器结合使用,以根据下述方法判断X维度上的哪个方向发送该数据包。对于Y和Z维度使用类似的方法。
在x维度上:
如果(发送节点>目的地节点)//这暗示着X-方向
且如果(目的地节点>=针对x-方向的捷径)在X-方向上发送
否则在X+方向上发送
如果(发送节点<目的地节点)//这暗示着X+方向
且如果(目的地节点<=针对x+方向的捷径)在X+方向上发送
否则在X-方向上发送
现在将参照图7描述利用网状路由机构克服缺陷的一个例子。图7示出了与图6所示类似的一组节点711-715的逻辑表示。每个节点711-715通过环面网络716连接到它在X维度上的两个相邻节点。此外,每个节点711-715具有一个X-捷径寄存器718和一个X+捷径寄存器720。这些寄存器中每一个的内容都在括号中示出。对于图7所示的例子,假定在环面网络中存在一处中断,如网络中的链路720在节点1712和节点2713之间断开。如上面所述分配捷径寄存器中的值。对于这个例子,由于网络中的中断是在节点1的X+一侧,因而break_plus为A1”。类似地,由于网络中的中断是在节点2的X-一侧,因而break_minus为A2”。对于小于或等于break_plus的节点(节点0和节点1为<=1),x-cutoff被设置为A0”,x+cutoff被设置为A1”。类似地,对于大于break_plus的节点,X-cutoff被设置为A2”,X+cutoff被设置为X(4)中的最大节点。
再次参照图7,现在如图7所示和上面所述为捷径寄存器分配了值,现在假定节点2713需要向节点1712发送数据,并把这一场景应用于上面的方法。由于发送节点大于目的地节点,这意味着将在X-方向上进行发送,除非有例外情况。由于目的地节点(1)并不大于或等于X-cutoff(0),出现了例外,因而在X+方向上发送。类似地,假定节点4715需要向节点2712发送数据并应用该方法。由于发送节点(节点5)大于目的地节点(节点2),意味着将在X-方向上进行发送。由于目的地节点(节点2)等于cutoff(2),在X-方向上发送。这样,该环面已经形成了在节点1712和节点2713之间的连接处环面“开放”的网状。
现在将参照图8描述克服故障的另一个例子。图8示出了与图7类似的通过环面网络816连接起来的一组节点811-815的逻辑表示。每个节点811-815具有一个X-捷径寄存器818和一个X+捷径寄存器820。这些寄存器中每一个的内容都在括号中示出。对于这个例子,假定在环面网络中在节点3814和节点4815之间存在一处中断810。如上面所述分配捷径寄存器中的值。对于这个例子,由于网络中的中断是在节点3的X+一侧,因而break_plus为A3”。类似地,由于网络中的中断是在节点4的X-一侧,因而break_minus为A4”。对于小于或等于break_plus的节点(节点0至节点3为<=3),x-cutoff被设置为A0”,x+cutoff被设置为A3”。类似地,对于大于break_plus的节点(节点4),X-cutoff被设置为A4”,X+cutoff被设置为X(4)中的最大节点。
再次参照图8,现在如图8所示和上面所述为捷径寄存器分配了值,现在假定节点2需要向节点1发送数据,并把这一场景应用于上面的方法。由于发送节点大于目的地节点,这意味着将在X-方向上进行发送,除非有例外情况。由于目的地节点(1)大于或等于X-cutoff(0),在X-方向上发送。类似地,假定节点4815需要向节点2812发送数据并应用该方法。由于发送节点(节点4)大于目的地节点(节点2),意味着将在X-方向上进行发送。由于目的地节点(节点2)并不小于或等于cutoff(4),在X+方向上发送。
图9示出了网状路由机构142绕过并行计算机网络上发生故障的节点或网络连接进行路由的方法900。首先,检测出节点和/或环面网络连接中的故障(步骤910)。接着,确定捷径寄存器的值,以绕过发生故障的节点或网络连接进行路由(步骤920)。然后,用新的值来设置捷径寄存器(步骤930)。然后,重设硬件并重新把应用软件加载到分区上(步骤940)。然后结束该方法。
这里公开的内容包括用于克服并行计算机网络中的环面网络故障的方法和装置。所述网状路由机构利用了每个节点中的捷径寄存器的优点,以在节点之间路由数据使其绕过故障节点或网络连接进行传输,从而减少了停机时间,提高了计算机系统的效率。
本领域技术人员将会意识到,可以在要求保护的范围内作出许多改动。因而,尽管在上面具体示出和描述了公开内容,但本领域技术人员应当理解,其中在形式和细节上可以做出这些和其它的改动,而不会背离要求保护的主旨和范围。
Claims (10)
1.用于并行计算机系统中的故障恢复的通过计算机实现的系统,其中该系统包括:
用于检测使多个运算节点互联的环面网络中的故障的装置,该运算节点的每一个针对所确定的捷径寄存器在X维度上具有从0到N的值,记为node_coord;
用于确定所述并行计算机系统的所述多个运算节点中的捷径寄存器的值的装置,
其中通过如下方式把新的值设置在所述捷径寄存器中:
如果(node_coord<=break_plus)
则分配x-cutoff=0,且x+cutoff=break_plus;
否则
分配x-cutoff=break_minus,且x+cutoff=X维度上的最大节点
其中:break_plus是X+链路中断的运算节点;
break_minus是X-链路中断的运算节点;
并且其中响应于在环面网络上发送一个数据包,发送运算节点和目的地运算节点的坐标与捷径寄存器结合使用,以根据下述方法判断X维度上的哪个方向发送该数据包以避开所述故障:
如果(发送节点>目的地节点)且如果(目的地节点>=针对x-方向的捷径)在X-方向上发送
否则在X+方向上发送
如果(发送节点<目的地节点)且如果(目的地节点<=针对x+方向的捷径)在X+方向上发送
否则在X-方向上发送。
2.根据权利要求1的计算机实现的系统,其中用于确定所述并行计算机系统的所述多个运算节点中的捷径寄存器的值的装置通过该计算机系统的一个服务节点中的网状路由机构来执行。
3.根据权利要求1或2的计算机实现的系统,其中所述运算节点通过所述环面网络互联,使每个节点与它在三个维度上的六个最近的相邻节点相连接。
4.根据权利要求3的计算机实现的系统,还包括分别在Y和Z维度上的Y+、Y-、Z+和Z-捷径寄存器。
5.根据权利要求4的计算机实现的系统,其中该计算机系统是海量并行计算机系统。
6.用于并行计算机系统中的故障恢复的通过计算机实现的方法,其中该方法包括以下步骤:
检测使多个运算节点互联的环面网络中的故障,该运算节点的每一个针对所确定的捷径寄存器在X维度上具有从0到N的值,记为node_coord;
确定所述并行计算机系统的所述多个运算节点中的捷径寄存器的值,通过如下方式把新的值设置在所述捷径寄存器中:
如果(node_coord<=break_plus)
则分配x-cutoff=0,且x+cutoff=break_plus;
否则
分配x-cutoff=break_minus,且x+cutoff=X维度上的最大节点
其中:break_plus是X+链路中断的运算节点;
break_minus是X-链路中断的运算节点;并且
响应于在环面网络上发送一个数据包,发送运算节点和目的地运算节点的坐标与捷径寄存器结合使用,以根据下述方法判断X维度上的哪个方向发送该数据包以避开所述故障:
如果(发送节点>目的地节点)且如果(目的地节点>=针对x-方向的捷径)在X-方向上发送
否则在X+方向上发送
如果(发送节点<目的地节点)且如果(目的地节点<=针对x+方向的捷径)在X+方向上发送
否则在X-方向上发送。
7.根据权利要求6的通过计算机实现的方法,其中确定捷径寄存器的值的步骤通过该计算机系统的一个服务节点中的网状路由机构来执行。
8.根据权利要求6或权利要求7的通过计算机实现的方法,其中所述运算节点通过所述环面网络互联,使每个节点与它在三个维度上的六个最近的相邻节点相连接。
9.根据权利要求8的通过计算机实现的方法,还包括分别在X、Y和Z维度上的X+、X-、Y+、Y-、Z+和Z-捷径寄存器。
10.根据权利要求9的通过计算机实现的方法,其中该计算机系统是海量并行计算机系统。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/736,923 | 2007-04-18 | ||
US11/736,923 US7765385B2 (en) | 2007-04-18 | 2007-04-18 | Fault recovery on a parallel computer system with a torus network |
PCT/EP2008/053378 WO2008128837A1 (en) | 2007-04-18 | 2008-03-20 | Fault recovery on a parallel computer system with a torus network |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101657796A CN101657796A (zh) | 2010-02-24 |
CN101657796B true CN101657796B (zh) | 2013-03-27 |
Family
ID=39705036
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008800122618A Expired - Fee Related CN101657796B (zh) | 2007-04-18 | 2008-03-20 | 具备环面网络的并行计算机系统上的故障恢复 |
Country Status (8)
Country | Link |
---|---|
US (1) | US7765385B2 (zh) |
EP (1) | EP2147375B1 (zh) |
JP (1) | JP5285061B2 (zh) |
KR (1) | KR101091360B1 (zh) |
CN (1) | CN101657796B (zh) |
AT (1) | ATE517387T1 (zh) |
TW (1) | TW200907701A (zh) |
WO (1) | WO2008128837A1 (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8516444B2 (en) | 2006-02-23 | 2013-08-20 | International Business Machines Corporation | Debugging a high performance computing program |
US7796527B2 (en) * | 2006-04-13 | 2010-09-14 | International Business Machines Corporation | Computer hardware fault administration |
US9330230B2 (en) * | 2007-04-19 | 2016-05-03 | International Business Machines Corporation | Validating a cabling topology in a distributed computing system |
US7831866B2 (en) * | 2007-08-02 | 2010-11-09 | International Business Machines Corporation | Link failure detection in a parallel computer |
US8327114B1 (en) | 2008-07-07 | 2012-12-04 | Ovics | Matrix processor proxy systems and methods |
US8145880B1 (en) | 2008-07-07 | 2012-03-27 | Ovics | Matrix processor data switch routing systems and methods |
US8131975B1 (en) * | 2008-07-07 | 2012-03-06 | Ovics | Matrix processor initialization systems and methods |
US7958341B1 (en) | 2008-07-07 | 2011-06-07 | Ovics | Processing stream instruction in IC of mesh connected matrix of processors containing pipeline coupled switch transferring messages over consecutive cycles from one link to another link or memory |
JP2010218364A (ja) | 2009-03-18 | 2010-09-30 | Fujitsu Ltd | 情報処理システム、通信制御装置および方法 |
CN101567805B (zh) * | 2009-05-22 | 2011-12-28 | 清华大学 | 并行文件系统发生故障后的恢复方法 |
US9565094B2 (en) * | 2009-11-13 | 2017-02-07 | International Business Machines Corporation | I/O routing in a multidimensional torus network |
US9954760B2 (en) | 2010-01-29 | 2018-04-24 | International Business Machines Corporation | I/O routing in a multidimensional torus network |
JP5750963B2 (ja) * | 2011-03-22 | 2015-07-22 | 富士通株式会社 | 並列計算機システム、制御装置、並列計算機システムの制御方法および並列計算機システムの制御プログラム |
US20120331153A1 (en) * | 2011-06-22 | 2012-12-27 | International Business Machines Corporation | Establishing A Data Communications Connection Between A Lightweight Kernel In A Compute Node Of A Parallel Computer And An Input-Output ('I/O') Node Of The Parallel Computer |
NO2776466T3 (zh) * | 2014-02-13 | 2018-01-20 | ||
CN104065575B (zh) * | 2014-07-16 | 2017-08-04 | 曙光信息产业(北京)有限公司 | 一种基于节点数指示路由及路由信息的方法及装置 |
KR101995056B1 (ko) | 2015-12-30 | 2019-07-02 | 한국전자통신연구원 | 분산 파일 시스템 및 이의 운영방법 |
CN112070221B (zh) * | 2019-05-31 | 2024-01-16 | 中科寒武纪科技股份有限公司 | 运算方法、装置及相关产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1357690A1 (en) * | 2002-03-27 | 2003-10-29 | Lightmaze AG | Intelligent optical network element |
US6711407B1 (en) * | 2000-07-13 | 2004-03-23 | Motorola, Inc. | Array of processors architecture for a space-based network router |
US6912196B1 (en) * | 2000-05-15 | 2005-06-28 | Dunti, Llc | Communication network and protocol which can efficiently maintain transmission across a disrupted network |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6346029A (ja) * | 1986-08-13 | 1988-02-26 | Hitachi Ltd | ル−プバツク制御方式 |
JPH02121547A (ja) * | 1988-10-31 | 1990-05-09 | Toshiba Corp | ローカルエリアネットワーク |
JP2784080B2 (ja) * | 1990-05-09 | 1998-08-06 | 富士通株式会社 | リングネットワーク及びその障害復旧方法並びにリングネットワークに用いられるノード |
JP2663687B2 (ja) * | 1990-07-27 | 1997-10-15 | 日本電気株式会社 | デュアルリング網におけるatm通信方式 |
US5175733A (en) * | 1990-12-27 | 1992-12-29 | Intel Corporation | Adaptive message routing for multi-dimensional networks |
US5442620A (en) * | 1992-03-26 | 1995-08-15 | At&T Corp. | Apparatus and method for preventing communications circuit misconnections in a bidirectional line-switched ring transmission system |
US5533198A (en) * | 1992-11-30 | 1996-07-02 | Cray Research, Inc. | Direction order priority routing of packets between nodes in a networked system |
US5701416A (en) * | 1995-04-13 | 1997-12-23 | Cray Research, Inc. | Adaptive routing mechanism for torus interconnection network |
US6055618A (en) * | 1995-10-31 | 2000-04-25 | Cray Research, Inc. | Virtual maintenance network in multiprocessing system having a non-flow controlled virtual maintenance channel |
US5793746A (en) * | 1996-04-29 | 1998-08-11 | International Business Machines Corporation | Fault-tolerant multichannel multiplexer ring configuration |
US6065052A (en) * | 1996-07-01 | 2000-05-16 | Sun Microsystems, Inc. | System for maintaining strongly sequentially ordered packet flow in a ring network system with busy and failed nodes |
US6230252B1 (en) * | 1997-11-17 | 2001-05-08 | Silicon Graphics, Inc. | Hybrid hypercube/torus architecture |
US6657952B1 (en) * | 1997-11-28 | 2003-12-02 | Nec Corporation | Ring network for sharing protection resource by working communication paths |
US6278689B1 (en) * | 1998-04-22 | 2001-08-21 | At&T Corp. | Optical cross-connect restoration technique |
US6269452B1 (en) * | 1998-04-27 | 2001-07-31 | Cisco Technology, Inc. | System and method for fault recovery for a two line bi-directional ring network |
EP1179249A2 (en) * | 1999-05-14 | 2002-02-13 | Dunti Corporation | Method for routing in hierarchical networks |
JP4034497B2 (ja) * | 2000-05-08 | 2008-01-16 | 富士通株式会社 | ネットワークシステム |
US6853635B1 (en) * | 2000-07-24 | 2005-02-08 | Nortel Networks Limited | Multi-dimensional lattice network |
US6782198B1 (en) * | 2000-11-10 | 2004-08-24 | Lucent Technologies Inc. | Switching arrangement for fault recovery in optical WDM ring networks |
US7050398B1 (en) * | 2000-12-26 | 2006-05-23 | Cisco Technology, Inc. | Scalable multidimensional ring networks |
JP3758523B2 (ja) * | 2001-05-21 | 2006-03-22 | 日本電気株式会社 | 双方向リングネットワーク、ノード装置および双方向リングネットワーク制御方法 |
WO2004079950A1 (ja) * | 2003-03-04 | 2004-09-16 | Fujitsu Limited | リング型光ネットワークのノード装置 |
JP4687176B2 (ja) * | 2005-03-22 | 2011-05-25 | 富士通株式会社 | パケット中継装置 |
WO2007044939A2 (en) * | 2005-10-13 | 2007-04-19 | Opvista Incorporated | Optical ring networks using circulating optical probe in protection switching with automatic reversion |
JP4657306B2 (ja) * | 2006-01-18 | 2011-03-23 | 富士通株式会社 | 光ネットワークシステム |
JP4760504B2 (ja) * | 2006-04-12 | 2011-08-31 | 株式会社日立製作所 | ネットワークシステムおよび通信装置 |
US7954095B2 (en) * | 2006-11-01 | 2011-05-31 | International Business Machines Corporation | Analysis and selection of optimal function implementations in massively parallel computer |
-
2007
- 2007-04-18 US US11/736,923 patent/US7765385B2/en not_active Expired - Fee Related
-
2008
- 2008-03-20 AT AT08718094T patent/ATE517387T1/de not_active IP Right Cessation
- 2008-03-20 CN CN2008800122618A patent/CN101657796B/zh not_active Expired - Fee Related
- 2008-03-20 KR KR1020097015156A patent/KR101091360B1/ko not_active IP Right Cessation
- 2008-03-20 WO PCT/EP2008/053378 patent/WO2008128837A1/en active Application Filing
- 2008-03-20 EP EP08718094A patent/EP2147375B1/en active Active
- 2008-03-20 JP JP2010503441A patent/JP5285061B2/ja not_active Expired - Fee Related
- 2008-04-15 TW TW097113659A patent/TW200907701A/zh unknown
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6912196B1 (en) * | 2000-05-15 | 2005-06-28 | Dunti, Llc | Communication network and protocol which can efficiently maintain transmission across a disrupted network |
US6711407B1 (en) * | 2000-07-13 | 2004-03-23 | Motorola, Inc. | Array of processors architecture for a space-based network router |
EP1357690A1 (en) * | 2002-03-27 | 2003-10-29 | Lightmaze AG | Intelligent optical network element |
Also Published As
Publication number | Publication date |
---|---|
KR20090119835A (ko) | 2009-11-20 |
EP2147375B1 (en) | 2011-07-20 |
TW200907701A (en) | 2009-02-16 |
ATE517387T1 (de) | 2011-08-15 |
US20080263387A1 (en) | 2008-10-23 |
KR101091360B1 (ko) | 2011-12-07 |
JP5285061B2 (ja) | 2013-09-11 |
US7765385B2 (en) | 2010-07-27 |
WO2008128837A1 (en) | 2008-10-30 |
EP2147375A1 (en) | 2010-01-27 |
JP2010525434A (ja) | 2010-07-22 |
CN101657796A (zh) | 2010-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101657796B (zh) | 具备环面网络的并行计算机系统上的故障恢复 | |
CN100444145C (zh) | Pci express链路的动态重新配置 | |
JP5285690B2 (ja) | 並列コンピュータ・システム、並列コンピュータ・システム上のノード・トラフィックを動的に再経路指定するためのコンピュータ実装方法、コンピュータ可読記録媒体及びコンピュータ・プログラム | |
CN101449334A (zh) | 具有可变端口速度的多端口存储器件 | |
CN105721357A (zh) | 交换设备、外围部件互连高速系统及其初始化方法 | |
CN107769956A (zh) | 计算系统和冗余资源连接结构 | |
CN104025063A (zh) | 用于共享网络接口控制器的方法和装置 | |
CN103188157B (zh) | 一种路由器设备 | |
US7512836B2 (en) | Fast backup of compute nodes in failing midplane by copying to nodes in backup midplane via link chips operating in pass through and normal modes in massively parallel computing system | |
CN105095148A (zh) | 一种混合型三维片上网络 | |
US9081891B2 (en) | Reconfigurable crossbar networks | |
CN105049362A (zh) | 一种二维环绕网格片上网络的拓扑结构以及路由方法 | |
US10090839B2 (en) | Reconfigurable integrated circuit with on-chip configuration generation | |
Latif et al. | Partial virtual channel sharing: a generic methodology to enhance resource management and fault tolerance in networks-on-chip | |
CN105824374A (zh) | 一种双子星型服务器架构 | |
CA3073222A1 (en) | Methods and systems for reconfigurable network topologies | |
US20230283547A1 (en) | Computer System Having a Chip Configured for Memory Attachment and Routing | |
US20230280907A1 (en) | Computer System Having Multiple Computer Devices Each with Routing Logic and Memory Controller and Multiple Computer Devices Each with Processing Circuitry | |
Alaraje et al. | Evolution of reconfigurable architectures to SoFPGA | |
Sadawarti et al. | Fault-tolerant routing in unique-path multistage interconnection networks | |
KR20240025703A (ko) | 다중 타일 프로세싱 유닛의 동기화 | |
Lenart et al. | A hybrid interconnect network-on-chip and a transaction level modeling approach for reconfigurable computing | |
Vaidya et al. | On Chip Network Routing for Tera-Scale Architectures | |
CN106708551A (zh) | 一种热添加中央处理器cpu的配置方法及系统 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130327 Termination date: 20210320 |