计算机系统中为故障节点执行失效转移操作的方法

文档序号:6613337阅读:187来源:国知局
专利名称:计算机系统中为故障节点执行失效转移操作的方法
技术领域
本发明涉及一种包含多个节点的计算机系统。更具体而言,本发明涉及一种环面(torus )网络中故障节点所引起的故障的恢复方法(执 行所谓的失效转移操作)。这里,失效转移搮作是指当在一个节点中发生故障时,切换到替 换节点以接管该节点的处理的功能。
背景技术
通常,环面网络(下文中,也称为TORUS)已经被用于大规模 并行计算系统(计算机系统)中。环面网络是指这样一种通信网络, 其中在通信节点(下文中,每个通信节点被称为"计算节点"或"IO节 点,,)被排列在形成某种三维形状的三维空间中的格点处的情况下, 被互相相邻排列的通信节点互相连接。最希望的是,在二维TORUS 的情况下,环面网络被形成为正方形,或者在三维TORUS的情况下, 环面网络被形成为立方体。图1显示了计算机系统IO和信息处理系统20的完整配置。计算 机系统10包括多个通信节点(在之后描述的例子中,这些通信节点 被分别排列在三维格点(x,y,z)处)。然后,计算机系统10发送用 于例如这多个通信节点中每一个中的数值计算等的程序。信息处理系 统20将程序执行请求发送到通信系统10中的各通信节点。这些执行 请求中每一个不仅包含应当被执行的处理的内容,而且还包含用于指 示应该利用从其他通信节点中哪一个所接收的执行结杲来执行该程 序的指令,或者用于指示该程序的执行结果应当被发送到其他通信节 点中的哪一个的指令。换句话说,计算机系统10根据来自信息处理
系统20的请求并行地执行多个程序,并将执行结果返回到信息处理 系统20。由此,与由单个通信节点执行多个程序的情况相比,能够明 显更有效地执行这些程序。图2显示了计算机系统10中环面网络的组成部分。计算机系统 10包括通信节点(下文中,每个通信节点被称为"计算节点"或"环面 节点")12,和通信链路(下文中,被称为"链路")13。每一个通信 节点12与其他各个通信节点的程序执行并行地执行程序。每个通信 节点12通常是一个处理器(CPU或MPU )。替换地,每个通信节点 12可以是存储单元,诸如DRAM,并且可以具有与存储单元一起提 供的处理器。信息处理系统20包括CPU和硬盘。包括多个节点的传统计算机 系统10包括由多个计算节点12形成的环面网络、和环面网络中除链 路13 (图2)之外的IO节点。构成计算机系统主要部分的每个计算 节点12形成树状网络的链路,其中相邻节点经由树状网络链路15(图 3中计算节点之间的连接关系),并且IO节点14位于其顶端。计算 机系统10通过该树状网络被连接到信息处理装置20。在环面网络中,因为计算节点仅被连接到相邻的计算节点(被排 列在最近格点的节点),因此单个节点处的路由开销很小,并且结构 简单。因此,容易构建环面网络的硬件系统。此外,因为网络本身是 可扩展的,因此环面网络经常被用于大型并行计算机系统中,包括 IBM BlueGene/L。但是,在环面网络中,计算节点仅被连接到相邻计 算节点,并且因此当一个计算节点发生故障时,很难在环面网络中找到该计算节点的替换节点。通常,在考虑冗余而设计的系统中,当某一节点发生故障时,指 定该节点的替换节点。此后的处理就由替换节点代替故障节点来执 行。图4显示了这样的情况 一个排列在二维格点位置(x,y)处的节 点发生故障。因为每个节点仅被连接到环面网络自身中的节点,因此 替换节点不能被安排在逻辑上是TORUS中相同位置的三维格点位置 (x,y,z)中某一位置处。因此,不能指定替换节点,或者即使能够指
定替换节点,路由到该替换节点也变得非常复杂。结果,路由的开销 变得非常大,以至于环面网络的性能显著地降低。在当排列在三维格 点处的环面节点(计算节点)发生故障时指定其的替换节点的情况下, 这个问题变得非常显著。对此问题,在IBM并行计算机系统中,用以下方式执行系统操 作。例如,IBM BlueGene/L等等是包含多个节点且被大规模集成的 系统。在包含大量节点的并行计算机系统中,虽然系统具有能够可缩 放地扩展节点的硬件,但是故障发生概率随着节点数量的增加而增 加。对于特定节点发生故障的情况,采用的方法是在关闭电源之后, 切换该特定节点到另一节点;然后从最后被写(已经被备份)入硬盘 (HDD)的检查点恢复计算。故障率随着节点数量的增加而增加,并 且增加的故障率成为降低整个系统吞吐率的原因(问题)。专利文件1公开了一种关于当在并行网络中发生硬件故障时如 何重建多处理器并行网络的方法。该方法的目的是在多处理器并行网 络中实现发生硬件故障的网络的恢复。该方法被配置为通过将包含发 生故障的处理器的组替换成包含冗余处理器的组,来使得由大量节点 所形成的多处理器并行网络从硬件故障中恢复。为此,在专利文件1 中,利用开关模块动态地划分TORUS,而不恢复连接。使用这种方 法,例如,当在4x4x4节点的3D环面中一个节点中发生故障时,3D 环面被划分为1x4x4节点和3x4x4节点(使得故障节点可以被包含在 1x4x4节点中),并且在3x4x4节点中执行重新计算。在该方法中, 节点数量改变。此外,在该方法中,虽然之前已经将5x4x4节点划分 为1x4x4节点和4x4x4节点,但是执行再次划分,以便故障节点能够 被包含在这些1x4x4节点中。在该方法中,在计算执行中间的故障节 点在并行网络中被恢复,而执行中间之前的计算被浪费。[专利文件1日本专利翻译7^开NO.2004-532447发明内容[本发明要解决的问题
如上所述,该方法并没有解决以下问题,即当在包含多个节点的 并行网络中发生诸如节点故障之类的硬件故障时,其执行中间之前的 计算被浪费。此外,因为该方法要求应当显著地改变现有环面网络的 配置,因此该方法不能提高计算执行的性能。在诸如科技计算和金融 工程这样的领域中,尤其是如果在很长时间周期上执行计算,当用户 和系统操作员期望持续不断地获取计算历史时,他们将面临很大的遗 失。因此,本发明的目的是提供一种能够解决上述问题的环面网络 (计算机系统)。此外,本发明的另一个目的是提供一种能够解决上述问题的方 法,用于恢复在包括多个节点的计算机系统(环面网络)中由故障节 点所引起的故障(执行所谓的失效转移操作)。[解决问题的手段为了实现这些目的,本发明的一个方面就是一种在包括由多个计算节点所组成的环面网络和由多个IO节点所组成的树状网络的计算机系统中执行失效转移操作的方法,所述多个计算节点被排列在三维 格点(地址)处并形成与格点的相邻节点的链路,其中当在计算运行 期间其中一个计算节点发生故障时,每个计算节点形成与树状网络的终端IO节点中某一终端IO节点的链路。本方法的特征在于包括以下 步骤检测在计算运行期间发生故障的计算节点;将与发生故障的计 算节点(故障节点)链接的IO节点其中之一设置为由通过向故障节 点的地址添加一维而获得的地址所确定的替换节点;以及,当与故障 节点相邻的计算节点中某一计算节点(任何相邻节点)已经接收到被 寻址到故障节点的分组时,将该分组路由到替换节点。此外,本方法的特征在于计算机系统中的多个计算机节点是以 三维TORUS形式连接的axbxc节点的阵列,并且每一个在沿x、 y 和z轴的正负方向上与和其相邻的计算节点形成6条链路;计算机网 络中每个终端IO节点与位于三维环面网络中z维平面上的axb节点 阵列中预定数量的计算节点形成链路;并且这多个计算节点中每一个
总共形成7条链路。此外,本方法的特征在于,设置上述IO节点作为替换节点的步 骤还包括以下步骤通过将与故障节点(x,y,z)形成链路的上述IO 节点设置为替换节点,来将替换节点的地址(x,y,z,l)通知给与该故 障节点(x,y,z)相邻的计算节点。此外,本方法的特征在于,还包括以下步骤在替换节点中处理 由已经到达替换节点的分组所确定的作业。此外,本方法的特征在于,还包括以下步骤使替换节点找出包 含作业处理结果的分组应当被发送到的计算节点的地址,并将该分组 发送到连接到替换节点的计算节点中离所发现的地址最近的计算节 点。此外,本方法的特征在于,在相邻计算节点连接到替换节点的情 况下,路由分组的步骤就是发送分组到替换节点的步骤。此外,本方法的特征在于,在相邻节点连接到IO节点中不同于 替换节点的节点的情况下,路由分组的步骤就是发送已经到达相邻节 点的分组到该不同的IO节点、然后通过树状网络发送分组到替换节 点的步骤。此外,本方法的特征在于,这多个计算节点和这多个IO节点每 一个都包括至少一个CPU和至少一个存储器。在这些目的下,本发明的另一个方面就是一种程序,用于(a) 在包括由多个计算节点所组成的环面网络和由多个IO节点所组成的 树状网络的计算机系统中,执行失效转移操作,其中这多个计算节点 被排列在三维格点(地址)处并与格点的相邻节点形成链路,并且当在计算运行期间其中一个计算节点发生故障时,每个计算节点与树状 网络的终端IO节点中的某一节点形成链路。本程序的特征在于,使 计算机系统执行以下步骤(b)检测故障计算节点(故障节点); (c )将IO节点中与故障节点形成链路的一个IO节点设置为由通过 向故障节点的地址添加一维而获得的地址所确定的替换节点,然后将 替换节点通知给与故障节点相邻的节点(相邻节点);(d)当相邻
节点中某一节点已经接收到分组时,将被寻址到故障节点的分组路由到替换节点;(g)在替换节点中,处理由已经到达替换节点的分组 所确定的作业;和(h)使替换节点找出包含作业处理结果的分组应 当被发送到的计算节点的地址,并将该分组发送到连接到替换节点的 计算节点之中离所发现地址最近的计算节点。在这些目的下,本发明的再一个方面就是一种计算机系统,该系 统包括由多个计算节点所组成的环面网络,其中这多个计算节点被排 列在三维格点(地址)处并与格点的相邻节点形成链路;该系统还包 括由多个IO节点组成的树状网络。在该计算机系统中,每个计算节 点与树状网络的终端IO节点其中之一形成链路。该计算机系统还包 括用于当某一计算节点在运行计算期间发生故障时,将IO节点中与 该故障节点形成链路的一个IO节点设置为由通过向故障节点的地址 添加一维而获得的地址所确定的替换节点的装置。此外,该计算机系统的特征在于包括用于当与故障节点相邻的 计算节点中某一计算节点已经接收到分组时,将被寻址到故障节点的 分组路由到替换节点的装置;以及用于找出包含由分组所确定的作业 的处理结果的分组应当被发送到的地址、并从连接到替换节点的多个计算节点的地址中选择离所发现的地址最近的计算节点的地址、然后 将该分组发送到具有所选择的地址的计算节点的装置。 [发明效果根据本发明,能够实现在故障发生时指定替换节点,而不改变由 多个计算节点所组成的计算机系统中TORUS的结构。根据本发明, 因为TORUS的结构基本上未改变,因此TORUS型计算机系统中的 改变可以被保持为最小。此外,根据本发明,在TORUS型计算机系统中,直到检测到故 障节点时运行计算的作业(检查点)在很短的时间周期上被恢复,然 后可以恢复检查点之后的计算。


图1显示了计算机系统10和信息处理系统20的完整配置。 图2显示了计算机系统10中环面网络的组成部分。 图3显示了 IO节点在它们之间以树形互相连接。 图4显示了被安排在二维格点位置(x,y)处的节点中之一发生 故障的情况。图5显示了包含本发明的三维TORUS的计算机系统的硬件配置。图6沿z=2平面显示了本发明的三维TORUS的图示。图7显示了计算节点12和IO节点14中每一个的功能配置。图8显示了存储单元300的数据结构的一个例子。图9显示了通过应用根据变换规则对寻址到故障节点的分组进行路由的方法,对在计算运行期间出现的故障节点进行失效转移的流程图。
具体实施方式
虽然以下将通过实施例的方式描述本发明,但是以下所描述的实施例(实施例子)并不限制依照权利要求范围的发明,并且在实施例 中所描述的特征的所有组合对于本发明的解决手段而言并不必然是 重要的。在以下方法中,能够实现在故障发生时指定替换节点,而不对位 于三维格点(x,y,z)处的TORUS中的多个节点的结构进行实质性改 变。1. 向组成环面网络的每一节点(被称为计算节点)添加至少一 条链路(一个连接)。2. 已经添加的一条链路被连接到位于环面网络之外的IO节点。 通过将与发生故障的计算节点形成链路的IO节点设置为替换节点, 来应用变换规则。3. 位于环面网络之外的IO节点14连接到环面网络上的多个计 算节点12以形成星形。在图3中,位于环面网络之外的IO节点本身 以树状互相连接。4.从环面网络中任何计算节点到位于TORUS之外的任何IO节 点的路由基本上由环面网络路由。该路由方法对应于本发明的特征内 容。通过该路由方法,现有并行网络系统中环面节点(计算节点)结 构的变化可以被保持为最小。换句话说,通过该方法,自动执行失效 转移操作(切换故障节点),而出现故障节点的计算机系统中的环面 节点的现有结构以伪方式被保持。图5显示了本发明的含有三维TORUS的计算机系统的硬件配置 的实施例。在三维TORUS的情况下,每个节点(x,y,z)有6条链路, 因为其在各个轴的正负方向上具有链路(这里,链路表示存在连接关 系)。图5中的三维TORUS通过由多个IO节点14所组成的树状网 络连接到信息处理装置20 (图3 )。注意到,如图3所示,除了 IO节点14的最顶端节点,传统IBM 计算机系统中的树状网络由环面节点(计算节点)12组成。另一方面, 在本发明的计算机系统中,树状网络仅由这多个IO节点14组成,而 多个环面节点(计算节点)12不与IO节点14组合使用。在该实施例中,因为向每个计算节点12添加一条链路,因此每 个计算节点变成具有7条链路。每个计算节点12的7条链路中的6 条链路如通常那样连接到环面节点(相邻的计算节点12)。添加的一 条链路连接到树状网络的终端IO节点14中的一个。树状网络的那些 终端IO节点14分别用作替换节点Sl、 S2、 S3和S4的作用(参见图 6 )。在每个IO节点14所具有的硬件与TORUS上每个计算硬件12 的硬件相同的情况下,从设计效率的观点来看,可以为每个IO节点 14提供7条链路,如图5和图6所示。此外,如IBM BlueGene/L中 IO节点的情况那样,容量大于TORUS上每个计算节点12的容量的 存储器被实施在这些IO节点中的每一个中。在来自每个连接到 TORUS上节点的IO节点的7条链路中,6条链路连接到TORUS上 的节点(计算节点),另一条链路连接到终端IO节点之一。如图5 所示,不连接到TORUS上节点(计算节点)的每个IO节点14具有
的所有7条链路连接到其他IO节点,并且这些IO节点14在它们之 间形成树状网络结构。注意,每个计算节点12可以与终端IO节点 14中两个或更多(多个)形成链路。图6显示了沿z-2平面的三维TORUS的图形。参考图6,将描 述一种方法,其当一个计算节点发生故障时,向故障计算节点指定终 端IO节点(替换节点)。此外,将按照以下顺序给出描述 一种将 被寻址到故障节点的分组路由到替换节点(指定路由)的方法;和一 种路由来自替换节点的作业处理结果的方法。当正在进行正常操作(没有故障节点)时,所有处理被封闭在排 列在组成环面网络的三维格点(x,y,z)处的多个计算节点内。在正常 操作中,从不使用IO节点及其树状网络。但是,在诸如IBM BlueGene/L之类的现有大规模并行网络系统中,形成树状网络的IO 节点被用于将各计算节点的处理结果发送到信息处理装置20(图3中 的CPU和HDD )。每个IO节点拥有虚拟环面地址,其总计为连接到这每个IO节 点的环面节点(计算节点)的数量。参考图6,当IO节点S2变成替 换节点时,该IO节点所拥有的虚拟环面地址(计算节点)就是通过 向与该IO节点形成链路的计算节点(x,y,z)添加一维而获得的地址 (x,y,z,l)。例如,替换节点S2变成计算节点的替换,具有6个地址 (6,5,2,1), ( 6,6,2,1), ( 6,7,2,1) , ( 6,8,2,1 ) , ( 6,9,2,1)和(6,10,2,1)。 通过这种方法,当这些节点中某一个发生故障时,终端IO节点S2能 够平滑地进行路由。本发明的计算机系统在给定计算运行期间以给定时间间隔将这 6个计算节点的处理结果信息备份在替换节点S2的存储单元(参考图 7)中。在传统环面型计算机系统中,给定计算运行期间各计算节点 处理结果的信息通过IO节点被备份在信息处理装置20的HDD (参 考图l和3)中。这些这样被备份的关于处理结果的信息被用于当在 系统中出现硬件故障时确定检查点,其中在硬件故障被修复之后从该 检查点开始该给定计算中的随后处理。
此外,在传统IBMBlueGene/L的正常操作期间,每个节点以规 则的时间间隔发送恢复处理所需的最小信息到每个节点所连接的IO 节点。每个终端IO节点在其自身的存储器中存储从各环面节点(计 算节点)发送到其的信息。然后,在传统系统中,恢复处理所需的该 最小信息已经被配置为被写在HDD中,并且要求中断处理,直到来 自所有节点的信息已经被写出到HDD中。然后,根据存储在HDD 中的信息,判定检查点,其中在处理中断之后,可以从开检查点开始 恢复处理。注意,环面型并行计算机系统具有由多个排列在三维格点 处的计算节点所组成的环面网络、以及由这些计算节点和一个IO节 点所组成的树状网络。如图3所示,该树状网络是由由这多个计算节 点12所组成的树状网络的链路、和位于最顶端位置的这仅一个专用 IO节点14组成的(图3具有树结构)。在本发明中,要求只有当最小信息被写入替换节点(终端IO节 点)的存储器时才中断处理,并且中断时间可以被显著地减小。这使 得构成树状网络的IO节点14可以以更长的时间间隔将信息从各计算 节点(环面节点)写出到HDD中。此外,因为IO节点14将信息写 入HDD可以与正常操作异步执行,因此不需要在写操作期间中断整 个处理。在图6中,虽然与故障节点相邻的节点(最接近故障节点的节点) 也存在于从故障节点沿z轴方向的正负方向上,但是在这里不考虑z 轴方向中的相邻节点以简化描述。1. 假设(6,7,2)处的节点发生故障。2. 当系统检测到(6,7,2)处的节点发生故障时,系统向与故障 节点相邻的节点(6,6,2) 、 (6,8,2) 、 (7,7,2)和(5,7,2 )通知IO 节点S2成为(6,7,2)的替换节点,从而系统使这些相邻节点记住其。3. 处理返回到信息最后被写入终端IO节点(替换节点)的检 查点,并且从检查点开始恢复。4. 除了故障节点和与其相邻的节点之外,计算机系统与其处于 正常状态时相比没有改变。5. 已经被寻址和发送到故障节点的分组通过正常路由到达相 邻节点。6. 当某一相邻节点已经接收到寻址到故障节点(6,7,2)的分组 时,其将该分组的目的地址加上一维到故障节点,以将其改变成替换 节点S2 (6,7,2,1),然后进行路由。7. 寻址到替换节点S2 ( 6,7,2,1)的分组根据TORUS的正常路 由被从相邻节点中上述一个发送到其第7条链路,并且到达替换节点 S2。地址被确定为替换节点(6,7,2,1)的终端IO节点S2通过相邻节 点中上述一个的第七条链路直接连接到故障节点或通过IO节点中另 一个而连接到故障节点。此外,10节点S2形成与该故障节点相邻的 每个计算节点(邻近节点)的第七条链路。此时,因为替换节点具有多个环面地址,因此分组可以被发送到IO节点S2,其中该IO节点 S2以星形连接到这些计算节点,就像该IO节点S2以环面连接的形 式连接到其。8. 此时,对于与该故障节点相邻的节点(相邻节点)中以与故 障节点相同的方式直接与替换节点S2形成链路的某一节点((6,8,2) 和(6,6,2)),来自其的分组被直接发送到替换节点S2。9. 此时,对于相邻节点中连接到不同于故障节点所连接的节点 的终端IO节点Sl和S3的某一节点((5,7,2 )和(7,7,2 )),来自 其的分组不能被直接发送到替换节点,并且因此进行以下路由。(9 一 1 )已经至'J达(5,7,2 )或(7,7,2 )的寻iih多J ( 6,7,2 ) 的分组作为寻址到(6,7,2,1)的分组被发送到Sl或S3。(9 - 2 )已经被发送到Sl或S3的分组经由树状网络(S5 ) 被发送到作为故障节点的替换节点的S2 (6,7,2,1)。10. 已经到达替换节点的分组在替换节点中被处理。11. 替换节点S2找到包含处理结果的分组的目的地址,然后 从连接到S2的环面节点(计算节点)的6个地址中选择与目的地址 最近的地址,然后将分组发送到这样选择的地址。在目的地址是(5,9,2)的情况下,S2从(6,10,2) 、 ( 6,9,2 ) 、 ( 6,8,2 ) 、 (6,6,2)
和(6,5,2)中选择(6,9,2),并且将分组发送到(6,9,2)。12. 环面节点(计算节点)中已经从替换节点S2接收到分组 的某一节点通过正常路由来处理分组。通过使用本发明的方法来路由到替换节点,可以执行环面网络上 节点的失效转移操作,而由于极大的开销,失效转移操作通常是不可 能的或者时间上非常困难的。图7显示了计算节点12和IO节点14 (也被称为节点)中每一 个的功能配置。每个通信节点(计算节点12和IO节点14)具有存 储单元300、接收单元310、选择单元320和发送单元330。存储单元 300存储表示从每个通信节点12通过环面网络13和树状网络15到其 他各个通信节点的链路以及到其他通信节点的拓朴结构的信息。更详 细的实例如图8所示。图8显示了存储单元300的数据结构的一个实例。存储单元300 存储在分组的节点被设置为目的地址(格点)的情况下,当从与前述 分组的节点相邻的6个节点中选择最合适节点的目的地址时,对节点 进行变换所依据的变换规则。与故障节点(x,y,z)相邻的任何节点中的存储单元300应用该变 换规则,其中根据该变换规则,当相邻节点已经接收到寻址到故障节 点的分组时,(x,y,z)被变换成通过向(x,y,z)添加一维而获得的 (x,y,z,l)。由此所获得的地址确定与故障节点形成链路的IO节点。 在本发明中,该IO节点;故指定为故障节点的替换节点。在该关于故 障节点(x,y,z)的变换规则中,直接与该故障节点(x,y,z)形成链路 的IO节点的说明被表达为4维形式的标注(x,y,z,l)。作为一个具体例子,在图8中,当存在故障节点(6,7,2)时,变 换表格表示,10节点S2被指定为故障节点的替换节点(参考图6)。 将该信息通知给与故障节点相邻的计算节点(6,8,2 )、 ( 6,6,2 )、 ( 7,7,2 ) 和(5,7,2),并且使各相邻节点的存储单元300保留指示S2的变换 表格。注意,该图中的变换规则是一个例子,并且对于存储单元300
的数据结构,可以考虑各种变化。例如,存储单元300可以存储只关 于需要变换的坐标的变换规则。此外,只要直接与节点(x,y,z)形成 链路的IO节点的说明是可能的,就不必要求IO节点以4维形式被表 示。当相邻节点中某一个已经接收到寻址到故障节点(x,y,z)的分组 时,可以简单地在存储单元300中提供指示节点(x,y,z)是正常(0) 还是故障(1)的标志。当相邻节点中的某一个已经接收到寻址到故 障节点(x,y,z)的分组时,如果该标志是l (ON),则节点(x,y,z) 被判断为发生故障。当相邻计算节点中某一个已经接收到寻址到故障 节点(x,y,z)的分组时,与故障节点链接的IO节点S2作为其替换节 点发送分组。再次参考图7。接收单元310接收与通信分组的目的地址相关联 的通信分组。对于在三维格空间中安排对应于目的地址的节点,接收 单元310接收坐标值(x,y,z)作为通信分组的目的地址。例如,如果 以节点(6,7,2)作为其目的地址的通信分组已经被与其相邻的节点中 的一个节点(6,8,2)接收,则接收单元310接收坐标(6,7,2,1)。根 据存储在存储单元300中的变换规则,选择单元320选择紧挨着对应 于通信路由中坐标的节点的、到达已经被接收的目的地址的、通信分 组被转发到的转发目的的节点。图9显示了在包括科技计算的各种大规模计算的运行期间出现 故障节点的情况下利用上述变换规则路由分组的流程图。具有代表性 地,将介绍图6中所示的计算机系统的情况,其包括具有多个计算节 点的环面网络,还包括树状网络形式的多个IO节点,其中每个计算 节点具有在与至少一个终端IO节点的链路。以下将给出操作的描述, 其中10节点S2代替图6所示的故障计算节点(6,7,2)作为其替换节 点进行路由。(a) 当计算机系统正在运行计算时,在一个计算节点(6,7,2) 中发生故障。(b) 信息处理装置20(图l)或驻留在该装置中的监控系统检 测到故障节点(6,7,2)。监控系统可以通过由IO节点所构建的树状
网络来检测其。(c) 监控系统向与故障节点相邻的节点通知IO节点S2是替 换节点。监控系统将变换规则(用于将故障节点(6,7,2)变换成替换节点 (6,7,2,1))通知给4个相邻节点(包括(6,8,2)和(6,6,2 )),从 而使这些各个相邻节点的存储单元300存储变换规则。此外,监控系 统通过从S2到S5再到S3的路由以及通过从S2到S5然后到Sl的路 由使两个相邻节点(7,7,2)和(5,7,2)知道该变换规则,从而使这些 各个相邻节点的存储单元300存储变换规则。注意,在各个IO节点 的硬件中预先设置组成树状网络15的IO节点14(Sl, S2, S3等等) 之间的路由。(d) 当相应的6个相邻节点已经接收到寻址到故障节点 (x,y,z)的分组时,用于那些相邻节点的流根据变换规则被划分为情况(e)和(f)。(e) 对于连接到替换节点S2 (6,7,2,1)的相邻节点(6,8,2 ) 和(6,6,2),分组被直接发送到替换节点S2。(f) 对于连接到替换节点S2 ( 6,7,2,1)的相邻节点(7,7,2 ), 已经到达相邻节点(7,7,2)的寻址到故障节点(6,7,2)的分组作为寻 址到替换节点S2 (6,7,2,1)的分组被发送到S3。被发送到S3的分组 最终经由树状系统被发送到替换节点S2 (6,7,2,1)。(g) 任何已经到达替换节点S2 ( 6,7,2,1)的分组在S2中被处理。(h) 替换节点S2( 6,7,2,1 )确定由已经到达那里的分组所确定 的作业的处理结果以新分组的形式被发送到的地址。例如,在新分组被寻址到计算节点(5,9,2)的情况下,替换节点 S2从连接到S2的6个环面节点的地址中选择计算节点(6,9,2),并 且经由这样所选择的计算节点发送新分组到计算节点(5,9,2)。如上所述,根据本实施例和修改实施例,可以实现在发生故障时 指定替换节点,而不改变由多个计算节点所组成的环面网络的结构。
此外,即使当一个节点发生故障时,也可以通过以很小开销来自 动指定其替换节点从而继续处理,由此可以使其对具有多个节点的并 行网络系统的吞吐量的影响最小。虽然上面已经利用实施例来描述了本发明,但是本发明的技术范 围并不限于上述实施例所描述的范围。各种变化和改进可以被添加到 上述实施例中。替换地,从权利要求的范围的描述中可以明显看出, 通过添加这样的修改和改进而获得的实施例也可以包含在本发明的 技术范围中。附图标记10计算机系统20信息处理装置12计算节点13环面网络的链路14 IO节点15树状网络的链路300存储单元310接收单元320选择单元330发送单元
权利要求
1.一种在包括由多个IO节点所组成的树状网络、由多个计算节点组成的环面网络的计算机系统中执行失效转移操作的方法,其中所述多个计算节点被安排在三维格点(地址)处并与所述格点的相邻节点形成链路,其中当所述计算节点中一个计算节点在计算运行期间发生故障时,每个所述计算节点与所述树状网络的终端IO节点中的一个终端IO节点形成链路,所述方法包括以下步骤检测在计算运行期间发生故障的计算节点(故障节点);将与所述故障节点链接的IO节点中的一个设置为由通过向所述故障节点的地址添加一维而获得的地址所确定的替换节点;和,当与所述故障节点相邻的任何一个计算节点(被称为特定相邻节点)已经接收到分组时,将寻址到所述故障节点的分组路由到所述替换节点。
2. 根据权利要求l的方法,其中所述计算机系统中的多个计算机节点形成以三维环面网络形式 连接的axbxc节点阵列,并且每一个计算机节点与沿x、 y和z轴在 正负方向上与其相邻的计算节点形成6条链路;所述计算机网络中的每个所述终端IO节点与位于三维环面网络 中z维平面上的axb节点阵列中预定数量的计算节点形成链路;并且,所述多个计算节点中每一个总共形成7条链路。
3. 根据权利要求1和2中任一项的方法,其中 将上述IO节点设置为替换节点的步骤包括以下步骤将所述替换节点的地址(x,y,z,l)通知给与所述故障节点(x,y,z)相邻的计算 节点,其中与所述故障节点(x,y,z)形成链路的IO节点被设置为所 述替换节点。
4. 根据权利要求3的方法,还包括以下步骤在所述替换节点 中处理由已经到达所述替换节点的分组所确定的作业。
5. 根据权利要求4的方法,还包括以下步骤使所述替换节点 找出包含所述作业的处理结果的分组应当被发送到的计算节点的地 址,并将该分组发送到连接到所述替换节点的计算节点中与所找到的 地址最近的计算节点。
6. 根据权利要求4的方法,其中在所述特定相邻计算节点连接 到所述替换节点的情况下,路由分组的步骤就是将所述分组发送到所 述替换节点的步骤。
7. 根据权利要求4的方法,其中在所述特定相邻节点连接到IO 节点中不同于所述替换节点的一个IO节点的情况下,路由分組的步 骤就是将已经到达所述相邻节点的分组发送到这一个不同的IO节 点,并且然后通过所述树状网络发送所述分组到所述替换节点的步 骤。
8. 根据权利要求l的方法,其中所述多个计算节点和所述多个 IO节点中每一个都包括至少一个CPU和至少一个存储器。
9. 一种用于在包括由多个IO节点所组成的树状网络以及由多 个计算节点所组成的环面网络的计算机系统中执行失效转移操作的程序,其中所述多个计算节点被安排在三维格点(地址)处并与所述 格点的相邻节点形成链路,其中当所述计算节点中一个在计算运行期 间发生故障时,所述计算节点每一个都与所述树状网络的终端IO节 点中的某一个终端IO节点形成链路,所述程序使所述计算机系统执 行根据权利要求1 - 8中任一项的方法中的步骤。
10. —种计算机系统,包括由多个计算节点所组成的环面网络,所述多个计算节点被安排在 三维格点(地址)处并与所述格点的相邻节点形成链路;由多个IO节点所组成的树状网络,以及替换节点设置装置,其中所述计算节点每一个与所述树状网络的终端IO节点中的一个形 成链路,并且当所述计算节点中某一个在计算运行期间发生故障时,所述替换 节点设置装置将所述IO节点中与该故障节点形成链路的一个IO节点 设置为由通过向所述故障节点的地址添加一维而获得的地址所确定 的替换节点。
11. 根据权利要求10的计算机系统,还包括 用于当与所述故障节点相邻的计算节点中某一计算节点已经接收到寻址到所述故障节点的分组时,将所述分组路由到所述替换节点 (被称为特定相邻节点)的装置;和用于找出包含由所述分组所确定的作业的处理结果的分组应当 被发送到的地址,然后从连接到所述替换节点的多个计算节点的地址 中选择与所找出的地址最近的计算节点的地址,然后将所述分组发送 到具有所选择地址的计算节点的装置。
12. 据权利要求11的计算机系统,还包括在所述特定相邻节 点连接到所述替换节点的情况下,用于路由分组的分组路由装置将所 述分组发送到所述替换节点。
13. 根据权利要求11的计算机系统,其中在所述特定相邻节点 连接到IO节点中不同于所述替换节点的一个IO节点的情况下,用于 路由分组的分组路由装置将已经到达所述特定相邻节点的分组发送 到所述不同IO节点,然后通过所述树状网络将所述分组发送到所述 替换节点。
全文摘要
一种在包括由多个计算节点组成的环面网络和由多个IO节点组成的树状网络的计算机系统中执行失效转移操作的方法。多个计算节点被安排在三维格点(地址)处并与格点的相邻节点形成链路。当一个计算节点在计算运行期间发生故障时,每个计算节点与树状网络的终端IO节点之一形成链路。检测故障计算节点(故障节点);将与故障节点形成链路的IO节点设置为由通过向故障节点地址添加一维而获得的地址所确定的替换节点,将替换节点通知给与故障节点相邻的节点(相邻节点);当一个相邻节点已经接收到分组时,将寻址到故障节点的分组路由到替换节点;在替换节点中处理由到达替换节点的分组所确定的作业;和使替换节点找出含有作业处理结果的分组应当被发送到的计算节点的地址,并将该分组发送到连接到替换节点的计算节点中地址最接近所发现地址的计算节点。
文档编号G06F11/00GK101211282SQ20071016988
公开日2008年7月2日 申请日期2007年11月14日 优先权日2006年12月28日
发明者三轮洋一, 彩 南, 稻垣猛 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1