首页> 中国专利> 并行计算机、节点装置以及并行计算机的控制方法

并行计算机、节点装置以及并行计算机的控制方法

摘要

本发明涉及并行计算机、节点装置以及并行计算机的控制方法。在具有多个节点的并行计算机中,各个节点具有:路由器,其直接或者间接地与其它节点的各个连接;以及网络接口,其与并行计算机的外部网络连接,该网络接口具有:存储部,其对表示与从包含该网络接口的节点至其它节点的通信路径对应的迂回路径的迂回路径信息进行保持;以及接收处理部,在网络接口从外部网络接收到以该并行计算机的节点为目的地的数据的情况下,该接收处理部将与从包含该网络接口的节点至数据的目的地节点的通信路径对应的迂回路径信息设定为数据,并向目的地节点发送设定有迂回路径信息的数据。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-09-10

    未缴年费专利权终止 IPC(主分类):G06F15/173 授权公告日:20170503 终止日期:20180924 申请日:20120924

    专利权的终止

  • 2017-05-03

    授权

    授权

  • 2015-06-24

    实质审查的生效 IPC(主分类):G06F15/173 申请日:20120924

    实质审查的生效

  • 2015-05-27

    公开

    公开

说明书

技术领域

本发明涉及并行计算机、节点装置以及并行计算机的控制方法。

背景技术

存在一种能够与外部的网络进行通信的并行计算机。图1表示与外部的网络之间收发数据的并行计算机的例子。图1的并行计算机1A具有进行计算处理的多个计算节点11a、11b、…、以及同用于与外部装置进行通信的NIC(Network Interface Card:网络接口卡)13连接的一个I/O(Input/Output)节点12。另外,计算节点以及I/O节点分别具有CPU(Central Processing Unit)以及路由器。而且,计算节点11以及I/O节点12经由路由器连接。另外,I/O节点12的CPU与NIC13连接,并能够经由NIC13与外部网络2A进行通信。

另外,作为将并行计算机所包含的多个计算节点以及I/O节点连接起来的拓扑结构,已知有网格(mesh)、环(torus)等。如果在发送源的计算节点与目的地的I/O节点之间存在能够取的多个路径,则即使在通信路径上的计算节点发生故障的情况下,并行计算机的各计算节点也能够绕过发生故障的计算节点来发送数据。

专利文献1:日本特开平10-69471号公报

专利文献2:日本特开2007-110240号公报

然而,迂回路径例如是由对并行计算机的计算节点分配处理的管理节点指示的,I/O节点的NIC不保持用于对从外部网络接收的数据所设定的迂回路径。因此,在接收到从外部网络向并行计算机内部的计算节点的数据的情况下,I/O节点的NIC无法对接收到的数据设定并行计算机内部的网络中的迂回路径。

发明内容

因此,公开的技术的目的在于,在向并行计算机内的计算节点发送从外部网络接收的数据的情况下,即使在通信路径上的计算节点产生不良状况时,也能够绕过产生不良状况的计算节点来转发数据。

公开的技术的一方面是具有多个节点的并行计算机。另外,各个节点具有路由器,其直接或者间接地与各个其它节点连接;以及网络接口,其与并行计算机的外部网络连接,该网络接口具有存储部,其对表示与从包含该网络接口的节点至其它节点的通信路径对应的迂回路径的迂回路径信息进行保持;以及接收处理部,在网络接口从外部网络接收到以该并行计算机的节点为目的地的数据的情况下,该接收处理部将与从包含该网络接口的节点至数据的目的地节点的通信路径对应的迂回路径信息设定于数据,并向目的地节点发送设定有迂回路径信息的数据。

根据公开的技术,在向并行计算机内的计算节点发送从外部网络接收到的数据的情况下,即使在通信路径上的计算节点产生不良状况时,也能够绕过产生不良状况的计算节点来转发数据。

附图说明

图1是表示并行计算机的一个例子的图。

图2是用于说明二维网格的图。

图3是表示互联的一个例子的图。

图4是用于说明互联的详细内容的图。

图5是表示互联的其它例子的图。

图6是表示节点的构成的一个例子的图。

图7A是表示路由器的构成的一个例子的图。

图7B是NIC的功能框图的一个例子。

图8是表示实施方式所涉及的数据包的构成的一个例子的图。

图9是向外部网络发送数据的处理的处理流程的一个例子。

图10是NIC登记迂回路径的处理的处理流程的一个例子。

图11是表示在地址表中登记的信息的一个例子的图。

图12是从外部网络接收数据的处理的处理流程的一个例子。

图13是确认数据的目的地的处理的处理流程的一个例子。

图14是管理节点设定迂回路径信息的处理的处理流程的一个例子。

具体实施方式

以下,参照附图,对一实施方式所涉及的并行计算机进行说明。以下的实施方式的构成是例示,本并行计算机并不限于实施方式的构成。

[互联的拓扑结构]

首先,对并行计算机的互联的拓扑结构(即,并行计算机的内部网络的连接方式)进行说明。并行计算机具有多个计算节点,各计算节点具有CPU、路由器等。而且,各计算节点经由路由器与其它几个计算节点连接,并将连接计算节点间的内部网络称为互联(InterConnect)。另外,多个CPU并行地进行计算,并经由互联相互收发计算结果,或在并行计算机内的计算节点与外部网络之间收发数据。

互联的拓扑结构能够基于表示与邻接的计算节点的连接(即,链接)的数量的次数(degree)、表示计算节点间的最大距离的直径(diameter)、对称性(symmetry)等进行分类。如果是各计算节点与其它全部计算节点连接的完全结合,则不经由其它计算节点等而能够在任意的两个计算节点间直接进行通信。然而,伴随着计算节点数的增加,完全结合的安装变得困难。因此,现实中,采用将邻接的计算节点连接成网状的拓扑结构即网格(mesh)、将网格中的端的计算节点彼此连接而使全部的计算节点的链接数相等的拓扑结构即环(torus)等。

图2表示二维网格的例子。图2所示的并行计算机1B在图2中呈网状地具有表示左右方向的X方向、表示上下方向的Y方向上的各四个,共计16个计算节点。而且,各计算节点与X方向以及Y方向的邻接的计算节点连接。此外,存在于外周部的计算节点与存在于其内侧的计算节点相比连接节点数较少。另外,在图2的例子中,为了便于说明,作为计算节点的识别符号附加了表示X方向以及Y方向的连接顺序的2个连贯的号码。

图3表示本实施方式所涉及的拓扑结构的一个例子。图3的并行计算机1C所包含的24个计算节点(也表示为节点装置)被分成6个组1G~6G。各组分别包括4个计算节点0~3,组内的4个计算节点0~3以完全结合连接。另外,在组间,存在于对应的位置上的计算节点(在图3的例子中,组内的编号相同的计算节点)串联连接,形成1维环。在图3的例子中,为了便于识别各计算节点,将组编号以及节点编号连接起来而称为计算节点1G0~计算节点6G3。另外,在图3的例子中,计算节点3G0以及计算节点3G1与采用了以太网(注册商标)规格的外部网络2B(以下,仅称为以太网2B)连接。此外,在本实施方式中,为了便于说明,将与外部网络可通信地连接的计算节点称为I/O节点。

在本实施方式中,至少一个计算节点的路由器具有以太网NIC。此外,也可以是全部的计算节点的路由器都具有以太网NIC(即,与外部网络连接的网络接口)。如果将并行计算机具有的多个计算节点的构成统一,则能够抑制计算节点的开发、验证所花费的工作量。

接下来,图4表示图3中的组3G与以太网2B的连接的详细内容。在图4的例子中,组3G包括4个计算节点3Gi(i=0、1、2、3)。另外,计算节点3Gi分别具有CPU3GiC、路由器3G0R以及以太网NIC3GiN。此外,为了便于说明,将路由器与以太网NIC连接起来表示,然而也可以是路由器具有以太网NIC。而且,以太网NIC3G0N以及3G1N与以太网2B连接。这样,多个以太网NIC中的至少一部分经由开关等以物理方式与外部网络(例如,以太网)连接。

另外,与并行计算机的内部网络连接的管理节点可以切换以太网NIC的有效或者无效的设定。在图4的例子中,虚线表示的以太网NIC3G2N以及3G3N被设定为无效,是未作为以太网NIC发挥作用的状态。另外,实线表示的以太网NIC3G0N以及3G1N的作为以太网NIC的功能被有效化。

例如,管理节点也可以与各以太网NIC建立对应地将有效或者无效的设定存储到规定的注册表。而且,也可以是基于该设定,管理节点指示使用于各计算节点与外部网络的通信的以太网NIC。即,通过管理节点变更设定,能够使各计算节点具有的以太网NIC有效化或者无效化。管理节点也可以在并行计算机的起动时或者使计算节点执行的处理的分配(也表示为任务的投入)时,适当地进行以太网NIC的有效化或者无效化。

此外,本实施方式所涉及的管理节点例如是控制多个计算节点的动作的节点。管理节点可以是图3所示的计算节点1G0~计算节点6G3中的任意一个,例如图5所示,也可以是与计算节点1G0~计算节点6G3中的至少一个计算节点连接的其它节点。图5所示的管理节点4与计算节点2G2连接。另外,如上述,管理节点具有图5未图示的寄存器,该寄存器能够与各计算节点具有的以太网NIC建立对应地存储有效或者无效的设定。

此外,图3~图5所示的组的数量、组所包含的计算节点的数量、计算节点间的连接的数量是一个例子,本实施方式的并行计算机并不限定于此。

[节点的构成]

图6表示计算节点的构成的一个例子。本实施方式所涉及的并行计算机1的计算节点100(相当于图3以及5的计算节点1G0~计算节点6G3)具有CPU101、存储器102、网络I/F(Interface)103、和路由器104。而且,CPU101、存储器102、以及网络I/F103通过总线105连接。另外,网络I/F103与路由器104连接,路由器104与存在于内部网络的未图示的1个以上的其它计算节点连接。并且,也有经由路由器104具有的未图示的网络I/F(例如,以太网NIC)与外部网络(例如,以太网)连接的情况。另外,对各计算节点具有的网络I/F103赋予物理地址(例如MAC地址),能够使用物理地址与外部网络进行通信。在实施方式中,物理地址是指预先分配给通信装置的固有的地址。此外,上述的管理节点也能够成为与例如图6所示的计算节点同样的构成。

计算节点100的CPU101例如从未图示的管理节点经由内部网络以及路由器104接受任务的投入,并进行运算处理。另外,CPU101经由路由器104以及内部网络与其它计算节点之间收发计算结果,或经由路由器104以及外部网络与未图示的外部装置之间收发数据。另外,CPU101适当地使存储器102存储或读取使用于处理的数据、计算结果等。

图7A表示路由器104的构成的一个例子。本实施方式所涉及的路由器104具有CPU1041、存储器1042、网络I/F1043(1043a~1043n)、以及NIC(Network Interface Card)200。CPU1041执行储存在存储器1042中的程序,并进行路由处理。

具体而言,基于经由网络I/F1043接收并被保持在存储器1042中的数据的内容来判断该数据的目的地,将该数据输出给与内部网络或者外部网络连接的网络I/F1043。此外,CPU可以是如微控制器这样的处理装置。另外,也可以并不是通过CPU等处理装置执行程序来进行路由,而通过硬件进行路由。例如也可以通过利用如门阵列这样的设计、开发方法所制造出的专用的LSI(Large Scale Integration:大规模集成)进行路由。

另外,存储器1042是易失性或者非易失性的存储装置,对CPU执行的程序进行储存、对转发的数据进行保持。另外,网络I/F1043是用于使该路由器与其它计算节点的路由器等连接的端口。并行计算机内的各计算节点具有的路由器经由网络I/F1043与邻接的计算节点的路由器连接。另外,NIC200与网络I/F1043以及外部网络连接,对内部网络的转发数据和外部网络的转发数据进行变换。

另外,NIC(例如,以太网NIC)200例如具有CPU10441、存储器10442、网络I/F10443。CPU10441执行储存在存储器1042中的程序,进行相互变换内部网络的数据包和外部网络的以太网帧的处理。此外,CPU10441可以与路由器104的CPU1041同样是如微控制器这样的处理装置,也可以通过硬件实现。另外,存储器10442是易失性或者非易失性的存储装置,对CPU10441执行的程序、将计算节点的内部网络中的地址与计算节点的物理地址等建立对应地进行保持的表格、转发的数据等进行存储。而且,NIC200经由网络I/F10443与路由器以及外部网络连接。

此外,也可以不是图7A那样的构成,而采用例如具有与上述的二维网格的轴(X,Y)方向对应的输入输出端口以及切换缓存与输入输出端口间的连接的交叉开关矩阵(Crossbar)的片上路由器。而且,也可以例如在一个端口连接上述那样的NIC。

图7B表示路由器104具有的以太网NIC的功能框图。本实施方式所涉及的NIC200(相当于图3以及5的以太网NIC1G0N~6G3N)具有发送处理部201、地址表202、接收处理部203、和设定部204。发送处理部201从并行计算机的发送源的计算节点(也称为发送源节点)接收内部网络的数据包,生成以太网帧并向外部网络的目的地装置发送。另外,从内部网络的数据包提取表示迂回路径的信息,并登记至地址表202。接收处理部203从外部网络的发送源装置接收以太网帧,生成内部网络的数据包并向并行计算机的目的地的计算节点(也称为发送目的地节点或者目的地节点)发送。另外,从地址表202读取表示迂回路径的信息,并在内部网络的数据包设定。另外,设定部204例如从管理节点经由内部网络接受指示,在地址表中登记或者更新表示迂回路径的信息。此外,例如,图7A所示的CPU10441通过执行储存在存储器10442中的程序,而使以太网NIC作为发送处理部201、接收处理部203以及设定部204进行动作。

[路由]

本实施方式所涉及的并行计算机例如采用维度顺序路由(routing),作为内部的计算节点间的数据包路由的方式。维度顺序路由是按照维度顺序转发数据包的方式。例如如果是图2所示的二维网格,则在任意的2个计算节点间,首先从发送源节点至目的地节点存在的X方向的位置(例如,识别符号中的X方向的编号与目的地节点相同的计算节点)在X方向上转发数据包,之后,在Y方向上将数据包转发至目的地节点。作为维度顺序路由的优点,例举路由简单、由于唯一地决定从某发送源节点至目的地节点的路径所以数据包按照发送的顺序到达等。

另外,在采用组内以完全结合连接、组间串联(例如1维的环状)连接的图3所示的拓扑结构的情况下,也能够分别将组内的连接以及组间的连接作为一个维度来应用维度顺序路由。即,首先向在与发送源节点同一组内处于与目的地节点对应的位置的(图3中附加同一编号)的计算节点转发数据包,之后经由组间的链接将数据包转发至目的地节点。

[交换]

本实施方式所涉及的并行计算机能够采用例如虫洞(wormhole)方式、虚切入(virtual cut-through)方式,作为内部的计算节点间的数据包交换方式。在虫洞方式中,将一个数据包分割成多个片段(flit)进行发送。片段例如根据计算节点间的链接的频带而设定为能够以1周期发送的大小。另外,各计算节点具有能够储存1片段的大小的缓存,各计算节点每当接收片段时,向下一个计算节点转发接收到片段。

因此,以片段单位进行转发的虫洞方式与以数据包单位进行转发的存储转发方式相比通信延迟变小。另外,与准备能够储存数据包整体的缓存相比,缓存的容量变小,所以降低成本。然而,如果转发目的地节点的缓存中没有剩余空间,则在一个数据包占有多个计算节点的缓存的状态下产生等待,通信性能有可能恶化。

另外,虚切入方式中各计算节点具有能够储存数据包整体的大小的缓存,是以片段单位进行转发的方式。在转发目的地的计算节点的缓存中没有剩余空间的情况下,在存在前端的片段的计算节点的缓存储存后续的片段。因此,不会在一个数据包占有多个计算节点的缓存的状态下产生等待。另外,通信延迟的大小变为与虫洞方式同程度。

在上述虫洞方式、虚切入方式中,各计算节点如果在每个链接最低具有一个缓存则能够进行通信。然而,也能够通过对一个链接设置多个缓存来设置虚拟的多个信道。而且,如在遍及多个计算节点产生等待的情况下使用其它的虚拟信道,则能够降低通信性能的恶化。

然而,缓存的容量在与成本的兼顾方面受到限制,所以如果现实中数据包集中在某计算节点,则该计算节点有可能成为瓶颈。而且,并行计算机的多个计算节点本来参照相互的计算结果来进行处理,但因通信路径的混杂,也有可能对计算节点间进行的通信带来影响。例如图3~图5所示,如果将并行计算机的多个计算节点使用于与外部网络的通信,则能够使负荷分散。

接下来,对上述那样的并行计算机所包含的计算节点与外部网络之间进行通信的处理进行说明。

[从并行计算机对外部装置的数据发送]

首先,对从并行计算机内部的计算节点经由NIC向外部装置发送数据的处理进行说明。此外,本实施方式所涉及的并行计算机例如采用图5所示的拓扑结构,进行维度顺序路由。另外,全部的计算节点具有CPU以及路由器,全部的路由器都具有以太网NIC。另外,为了便于说明,将与外部的以太网连接,以太网NIC的设定有效的计算节点称为I/O节点。

此外,在并行计算机具有多个I/O节点的情况下,从计算节点向外部网络发送以太网帧时,例如图5所示的管理节点4控制使用于通信的I/O节点。即,在管理节点4对计算节点投入任务时,在处理该任务中通知利用于与外部网络的通信的I/O节点的节点地址。此外,节点地址是例如拓扑结构的每个维度具有编号,而在并行计算机内唯一的标识符,预先分配给各节点。而且,接受到任务的投入的计算节点(即,发送源的计算节点)将通知的I/O节点的节点地址设定为互联的数据包的报头。

发送源节点通过例如对以太网帧附加数据包报头等信息来生成互联的数据包。而且,发送源节点经由路由器将生成的互联的数据包发送给I/O节点(即,发送目的地节点或者目的地节点)。

图8表示在本实施方式所收发的互联的数据包的构成的一个例子。图8中被双划线包围的部分A表示在互联中所使用的信息。具体而言,部分A包括数据包的前端所包含的具有“迂回路径信息(内部=>外部)”和“路由信息”的“路由报头”、表示数据包长度的“Length=N”、以及包含于数据包的最后的“Padding”以及“校验和(CRC)”,部分A在并行计算机的内部网络中被使用。此外,路由信息包括“目的地节点地址”、以及指示目的地节点的路由器将数据包输出给计算节点的CPU或者路由器所具有的以太网NIC中的哪一个的“ID”。

另外,图8中被粗线包围的部分B(即,“收发指令”)是表示从计算节点的CPU对以太网NIC的指示的信息。具体而言,部分B包括“迂回路径信息(外部=>内部)”、“发送源节点地址”、“发送目的地节点地址”、和“指令(CMD)”。“指令(CMD)”例如能够使用于指示校验和的计算、数据包的分割。

而且,插入到以上的信息中的其它部分C是一般的以太网帧所包含的数据。具体而言,部分C包括“目的地MAC(Media Access Control)地址”、“发送源MAC地址”、“以太网类型(Ethernet Type)”、以及发送对象的“数据(Data)”。

此外,除了图8所示的信息之外,互联的数据包中也可以包含前导码等未图示的信息,前导码等未图示的信息也可以在后面的处理中以太网NIC追加。另外,发送源节点也可以将互联的数据包进一步分割成片段进行发送。

“发送源节点地址”以及“发送目的地(目的地)节点地址”(以下,仅将它们称为“节点地址”)是例如拓扑结构的每个维度具有编号,而在并行计算机内唯一的标识符。如果赋予按照连接计算节点的顺序连续的编号,则节点地址能够如表示计算节点的位置的坐标那样使用。因此,并行计算机的多个路由器也能够不使用路由表等,而按照规定的规则至发送目的地节点地址为止进行维度顺序路由。

另外,迂回路径信息例如能够用在路由的过程中所经由的计算节点(以下称为经由节点)的节点地址表示。在迂回路径包括多个经由节点的情况下,迂回路径信息可以作为经由节点的节点地址的列。在利用迂回路径进行路由的情况下,例如,首先从发送源节点至经由节点以维度顺序路由转发数据包,接下来从经由节点至发送目的地节点以维度顺序路由转发数据包。此外,迂回路径能够使用现有的技术来决定。例如,利用MPI(Message Passing Interface:消息传递接口)程序库,CPU按照规定的优先度在其它计算节点收发测试数据包,并确认疏通之后再决定。

从发送源节点发送的数据包基于路由报头的路由信息所包含的“目的地节点地址”,以维度顺序路由转发至目的地节点。之后,发送目的地的I/O节点将接收的互联的数据包变换为以太网帧,并将以太网帧向外部网络发送。此时,I/O节点的以太网NIC读取互联的数据包所包含的“收发指令”等,将从I/O节点至该数据包的发送源节点的迂回路径信息等登记至地址表。

接下来,使用图9以及图10,对以太网NIC发送以太网帧的处理进行说明。首先,若以太网NIC功能有效的I/O节点的路由器接收到互联的数据包,则路由器读取路由报头的路由信息所包含的“ID”,并判断将数据包输出给I/O节点的CPU或者路由器具有的以太网NIC中的哪一个。而且,在设定了指示输出给以太网NIC的大意的ID的情况下,路由器将数据包发送给以太网NIC。而且,以太网NIC进行迂回路径等登记处理(图9:S1)。关于迂回路径等登记处理使用图10进行说明。

以太网NIC的发送处理部201若接收到互联的数据包,则从接收的数据包提取“发送源节点地址”、“发送源MAC地址”、以及“迂回路径信息”(图10:S11)。另外,发送处理部201从地址表202检索提取出的MAC地址(S12)。在地址表202中登记有图11所示的数据。

图11所示的地址表202具有“MAC地址”、“节点地址”、以及“迂回路径”的列(也称为项目)。在“MAC地址”以及“节点地址”的列中将赋予给某计算节点的“MAC地址”以及“节点地址”建立对应地保持。另外,在“迂回路径”的列中保持表示与从I/O节点至某计算节点的通信路径对应的迂回路径的迂回路径信息。

在地址表202中,例如,以太网NIC的发送处理部201基于互联的数据包所包含的信息来登记记录项(即,表示1件数据的记录)。另外,如后面说明那样,也可以在管理节点检测出任意的计算节点发生故障的情况下,将从I/O节点至计算节点的通信路径上存在发生故障的计算节点的计算节点作为对象,管理节点登记记录项,也可以预先对全部的计算节点登记默认的迂回路径。此外,在本实施方式中,并行计算机内的全部的计算节点并不限于预先存在记录项。

而且,发送处理部201判断从接收的数据包提取出的“发送源MAC地址”、“发送源节点地址”、以及“迂回路径信息(外部=>内部)”的内容是否分别与从地址表202检索出的“MAC地址”、“节点地址”、以及“迂回路径”的内容一致(S13)。此外,此处在无法检索出记录项的情况下也判断为不一致。

而且,在判断为数据包的内容与地址表202的内容不一致的情况下(S13:否),发送处理部201判断是否存在记录项(S14)。即,发送处理部201判断从接收的数据包提取出的“发送源MAC地址”是否被登记到地址表202。在判断为存在符合地址表202的记录项的情况下(S14:是),发送处理部201基于接收到的数据包的内容来更新地址表202的记录项(S15)。即,发送处理部201将在S12中所检索出的记录项的项目“节点地址”以及“迂回路径”的内容更新为从数据包提取出的“发送源节点地址”以及“迂回路径信息(外部=>内部)”的信息。

另一方面,在判断为不存在符合地址表202的记录项的情况下,发送处理部201向地址表202追加记录项(S16)。即,发送处理部201分别将从数据包提取出的“发送源MAC地址”、“发送源节点地址”、以及“迂回路径信息(外部=>内部)”登记至地址表202的项目“MAC地址”、“节点地址”、“迂回路径”。

而且,在S13中判断为数据包的内容与地址表的内容一致的情况下(S13:是),或者S15或S16之后,发送处理部201从数据包提取以太网帧(S17)。此处,发送处理部201从图8所示的数据包提取除了被双划线包围的部分A以及被粗线包围的部分B的数据(即,图8的部分C)。

之后,返回到图9的处理,以太网NIC的发送处理部201生成以太网帧(图9:S2)。具体而言,发送处理部201追加前导码、FCS(FrameCheck Sequence:帧校验序列)等,并生成以太网帧。FCS例如通过根据各字段的值计算CRC(Cyclic Redundancy Check:循环冗余检查)值来设定。这样,以太网帧的格式能够使用按照现有的规格的格式。之后,发送处理部201向外部网络发送生成的以太网帧(S3)。

如果将发送源节点作为第1节点、将I/O节点作为第2节点,而将以上的构成换种说法,则变为如下。并行计算机的第1节点具有处理部(例如,第1节点的CPU以及网络I/F),该处理部在向包括网络接口(例如,以太网NIC)的第2节点发送的数据(例如,互联的数据包)中设定与从第2节点至第1节点的通信路径对应的迂回路径信息,并发送。另外,在第2节点的网络接口具有设定部(例如,发送部203),该设定部在从第1节点接收到数据的情况下,从数据读取与从第2节点至第1节点的通信路径对应的迂回路径信息,并保持到存储部。

通过进行以上那样的处理,本实施方式所涉及的以太网NIC的发送处理部201能够将互联的数据包变换为以太网帧,并向外部网络发送。换言之,本实施方式所涉及的并行计算机的计算节点将以太网帧插入互联的数据包,并不经过其它计算节点的CPU的处理,而能够经由路由器以及以太网NIC直接发送给外部装置。

另外,以太网NIC的发送处理部201能够使地址表202存储MAC地址、节点地址以及迂回路径。

而且,如果使用存储在地址表202中的记录项,则以太网NIC能够在从外部网络接收到数据(例如以太网帧)的情况下,基于数据所包含的目的地物理地址(例如目的地MAC地址)变换为内部网络的地址(例如节点地址),并且,能够设定与至目的地节点为止的通信路径对应的迂回路径。

[从外部装置的数据接收]

接下来,使用图12以及图13,对从外部装置接收数据的处理进行说明。首先,并行计算机的路由器具有的以太网NIC的接收处理部203从外部网络接收以太网帧(图12:S21)。在本实施方式中,有与外部网络连接的以太网NIC存在多个的情况。该情况下,各以太网NIC也可以作为接收全部的以保持在自己的地址表202中的“MAC地址”为目的地的以太网帧的虚拟的NIC起作用。

而且,接收处理部203进行以太网帧的确认处理(S22)。关于该确认处理使用图13进行说明。接收处理部203首先生成校验和(图13:S31)。具体而言,基于接收的以太网帧所包含的各字段的值来计算CRC值。而且,接收处理部203判断生成的校验和的值与接收的以太网帧中所设定的校验和的值(也称为FCS值或者CRC值)是否一致(S32)。

在判断为值不一致的情况下(S32:否),接收处理部203废弃接收的以太网帧(S33),并结束接收处理。即,处理经由图13的连接符号A返回到图12的处理,并结束接收处理。另一方面,在判断为值一致的情况下(S32:是),接收处理部203从接收的以太网帧提取“目的地MAC地址”,并从地址表202检索提取出的“MAC地址”(S34)。而且,接收处理部203判断地址表202中是否存在包括提取出的“目的地MAC地址”的记录项(S35)。

在判断为存在记录项的情况下(S35:是),接收处理部203提取地址表中与“目的地MAC地址”建立关联地登记的“节点地址”以及“迂回路径信息”(S36)。另一方面,在S35中判断为不存在记录项的情况下(S35:否),接收处理部203将全部计算节点决定为目的地(S37)。即,接收处理部203在后面的处理中将互联的数据包广播到全部的计算节点。而且,S36或者S37后,返回到图12的处理。

之后,接收处理部203生成内部网络的数据包(图12:S23)。在图13的S36中获取到节点地址以及迂回路径信息的情况下,接收处理部203将从地址表提取的节点地址以及迂回路径信息设定为路由报头,并生成包括接收的以太网帧的数据包。

此外,以并行计算机内的计算节点为目的地的互联的数据包能够采用图8所示的构成。但是,代替图8的“迂回路径信息(内部=>外部)”而设定“迂回路径信息(外部=>内部)”。另外,也可以采用从图8所示的数据包删除“收发指令”的构成。

另一方面,在图13的S37中将全部计算节点决定为目的地的情况下,例如将表示以全部计算节点为目的地的信息设定为“路由报头”的“路由信息”,并生成包括接收的以太网帧的数据包。该情况下,接收处理部203不在数据包设定“迂回路径信息”。

而且,接收处理部203将生成的数据包发送给并行计算机的内部网络(S24)。具体而言,包括以太网NIC的路由器根据路由报头的“路由信息”而转发给连接的任意的计算节点的路由器。发送的数据包例如通过维度顺序路由而转发至目的地的计算节点。

另外,例如存在于通信路径的中途的计算节点发生故障的情况下等用通常的路径无法进行转发的情况下,路由报头中设定有“迂回路径信息”时,能够基于设定的“迂回路径信息”来变更转发路径。例如,也可以在检测出通信路径上的计算节点发生故障的情况下,检测出的计算节点在数据包的“路由信息”中追加用于选择迂回路径的信息,并基于该信息来转发数据包。另外,各计算节点的路由器保持其它计算节点的故障的有无,并能够判断基于通常的通信路径或者迂回路径中的哪一个转发数据包。

另一方面,在以全部计算节点为目的地发送互联的数据包的情况下,向全部节点转发数据包。而且,具有与目的地MAC地址相同的MAC地址的计算节点保持接收的数据包,其它计算节点废弃接收的数据包。

如以上那样,在本实施方式中,I/O节点的以太网NIC将外部网络的以太网帧插入互联的数据包而向内部网络的计算节点转发。因此,从外部网络至内部网络的计算节点,不用经过经由的计算节点的CPU的处理,而经由以太网NIC以及路由器,就能够直接发送以太网帧。

另外,I/O节点的以太网NIC能够在互联的数据包设定迂回路径信息。因此,即使在转发路径上的计算节点发生故障等不良状况、无法利用通常的转发路径的情况下,也能够利用迂回路径将从外部装置接收到的数据转发给并行计算机内的计算节点。

另外,在本实施方式中,I/O节点的路由器具有的以太网NIC具有地址表202,CPU不用进行处理而以太网NIC生成互联的数据包。因此,能够使I/O节点的CPU的负荷减少。

[管理节点的迂回路设定处理]

另外,在并行计算机的计算节点产生了不良状况的情况下,管理节点也能够使得用于绕过产生不良状况的计算节点的迂回路径信息登记到以太网NIC。图14表示管理节点登记迂回路径信息的处理的处理流程。

首先,管理节点(例如图5的管理节点4)判断是否接收到表示任意的计算节点发生故障的故障信息(图14:S41)。在管理节点未接收到故障信息的情况下(S41:否),直至接收到故障信息为止反复S41的处理。此外,故障信息的发送根据故障的原因,存在发生故障的计算节点自身检测出故障,并将故障信息通知给管理节点的情况、与发生故障的计算节点连接的其它计算节点检测出故障,并将故障信息通知给管理节点的情况等。

在管理节点接收到故障信息的情况下(S41:是),管理节点生成迂回路径信息(S42)。此处,针对基于维度顺序路由的来自I/O节点的通常的转发路径经由发生故障的计算节点这样的计算节点,管理节点决定迂回路径。

例如,如果是拓扑结构为二维网格、按照X方向=>Y方向的顺序进行路由的并行计算机,则将(1)X方向的位置与I/O节点相同、且从I/O节点观察处于比发生故障的计算节点远的计算节点;以及(2)Y方向的位置与发生故障的计算节点相同、且从I/O节点观察处于比发生故障的计算节点远的计算节点作为对象。同样地,对于采用图3以及图5所示的拓扑结构的并行计算机,也能够确定通常的转发路径经由发生故障的计算节点的计算节点。而且,管理节点生成从I/O节点至成为对象的计算节点的各个的迂回路径信息。

而且,管理节点使用生成的迂回路径信息来更新I/O节点的以太网NIC具有的地址表202(S43)。即,管理节点对I/O节点通知用于使地址表更新的命令,接收到命令的I/O节点具有的以太网NIC的设定部204更新地址表202。更具体而言,设定部204与S42中成为对象的计算节点的节点标识符以及MAC地址建立对应地登记管理节点生成的迂回路径信息。

此外,因通信路径上的计算节点的故障等而无法转发的数据包能够通过例如TCP协议的再发送处理或者更上位的软件层的再发送处理来进行重新发送。

如以上那样,管理节点通过接受规定的通知,能够检测计算节点的不良状况。而且,管理节点能够在I/O节点的以太网NIC(即,网络接口)设定用于绕过产生不良状况的计算节点的迂回路径信息。这样,I/O节点的以太网NIC能够在互联的数据包设定用于绕过产生不良状况的计算节点的迂回路径信息。

[网络接口的有效化处理]

管理节点也可以与以上所说明的处理独立地控制以太网NIC的有效化以及无效化。例如,管理节点在管理节点具有的规定的寄存器与各计算节点的以太网NIC建立对应地保持“有效(Enable)”或者“无效(Disable)”的设定。而且,在并行计算机起动时、管理节点对计算节点投入任务时,变更设定。特别是如果根据向各计算节点分配任务的分配状况、内部网络中的通信的负荷,来控制使用于与外部网络的通信的计算节点的数量、位置,则能够使内部网络的负荷分散。

此外,互联的拓扑结构并不限于图3~图5的例子,也可以采用网格、环之外的拓扑结构。另外,作为外部网络的一个例子,在实施方式中,使用以太网进行了说明,但也可以应用于其它通信协议。

<计算机可读取的记录介质>

能够将使计算机以及其它的机械、装置(以下,计算机等)实现上述任意的功能的程序记录于计算机等可读取的记录介质。而且,通过使计算机等读取该记录介质的程序并执行,能够提供该功能。此处,计算机等可读取的记录介质是指通过电、磁、光、机械方式或者化学的作用积蓄数据、程序等信息,并能够从计算机等读取的记录介质。作为这种记录介质中的能够从计算机等卸下的记录介质,例如有软盘、磁光盘、CD-ROM、CD-R/W,DVD、蓝光盘、DAT、8mm磁带、闪存等存储卡等。另外,作为固定在计算机等的记录介质,有硬盘、ROM(只读存储器)等。

符号说明

1…并行计算机;2…外部网络;100…计算节点;101…CPU;102…存储器;103…网络I/F;104…路由器;105…总线;200…NIC;201…发送处理部;202…地址表;203…接收处理部;204…设定部。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号