信息处理设备、并行计算机系统及其控制方法

文档序号:7890356阅读:281来源:国知局
专利名称:信息处理设备、并行计算机系统及其控制方法
技术领域
本发明涉及一种信息处理设备、并行计算机系统以及并行计算机系统的控制方法。
背景技术
并行计算机包括要执行计算的为信息处理设备的多个节点、以及在节点之间构造网络的多个交换机。在以下的描述中,除非另外指出,并行计算机的节点指的是要执行计算的信息处理设备。图I示出了包括节点和交换机的并行计算机的结构图。在图I中,作为并行计算机的网络拓扑的示例,示出了 4X4的二维网状拓扑,其中,二维地布置节点,将水平方向设为X轴,将竖直方向设为Y轴,将图I的左下设为原点。如图I中所示,各个节点n00-n33分别连接至相应的交换机s00-s33。另外,各个交换机s00-s33分别连接至交换机s00-s33中在X轴方向上和在Y轴方向上相邻的交换机。如上所述组成并行计算机中的节点之间的网络。在并行网络的一些网络拓扑中的两个节点之间存在多条通信路由。图2是示出并行计算机的4 X 4 二维网状拓扑的图。例如,在图2示出的并行计算机的4X4 二维网状拓扑中,在(X, y) = (0,3)的节点n03执行到(x, y) = (3,0)的节点n30的通信的情况下,即使在对采用最小跳数6跳的路由模式进行计数的情况下也存在20种路由模式。用于从多条路由中选择路由的方法包括源路由和维度次序路由。源路由是如下方法其中,发送包的节点确定该包经过的路由并为该包指定该路由。源路由包括严格源路由和松散源路由。在严格源路由中,发送包的节点指定该包经过的全部路由。在松散源路由中,由于如在严格源路由中指定全部路由时,包头部变大,因此发送包的节点指定该包经过的一部分路由,并且路由根据维度次序路由等确定其余路由。维度次序路由是如下方法其中,按预定次序将各个维度(各个坐标轴)的地址调整至通信对方节点。例如,在图2中所示的二维拓扑中,有两种维度次序路由模式。S卩,存在其中首先调整X轴的地址和接下来调整Y轴的地址的方法(按X轴、Y轴次序的维度次序路由),以及首先调整Y轴的地址和接下来调整X轴的地址的方法(按Y轴、X轴次序的维度次序路由)。在并行计算机的性能方面,使用通信的多条路由中的哪条路由是重要的。图3是示出在多条通信路由中发生拥塞的情况下的路由的示例的图。图4是示出在多条通信路由中未发生拥塞的情况下的路由的示例的图。图3和图4分别示出了如下示例其中,节点n03执行到节点n30的通信cl,节点nl3执行到节点n31的通信从c2,且节点n23执行到节点n32的通信c3。在图3中示出的按X轴、Y轴次序的维度次序路由中,各个节点之间的通信cl_c3集中在特定链路上,导致该特定链路中的拥塞。另一方面,在图4 中示出的按Y轴、X轴次序的维度次序路由中,由于各个节点之间的通信cl-c3不集中在任何特定链路上,因此路由中不发生拥塞。因此,需要一种路由方法来防止各个节点之间的通信集中在特定链路上从而引起特定路由中的拥塞。具体地,需要一种根据路由的通信状态选择最优路由的路由方法。根据路由的通信状态动态切换路由的路由方法称为自适应路由,作为现有技术已经提出了若干种方法。作为根据路由的通信状态动态选择最优路由的路由方法的现有技术,存在如下方法其中,测量节点之间的通信中的消息的发送时延,并且基于该发送时延来改变节点之间的路由。路由的具体步骤如下(I)在本地节点中,创建到远程节点的一组路由。这里,本地节点指的是在节点之间的通信中请求通信的一方的节点。同时,远程节点指的是在节点间通信中接收来自本地节点的通信请求的一方的节点。 (2)本地节点经由所创建的一组路由中包括的每条路由向远程节点发送消息,并且测量直到消息到达远程节点为止的时延。时延的测量通过将时延添加到消息所经过的交换机中的消息的字段中、并且在消息到达远程节点时将时延发送回本地节点来执行。(3)基于测量的时延,计算路由组中包括的所有路由的时延,并且将时延等于或者小于阈值的路由添加到路由组中。将时延超过阈值的路由从路由组中除去。(4)本地节点从路由组中选择用于发送消息的路由。作为选择的方式,优先选择具有较小时延的路由。(5)其后,返回以上的⑵,重复时延测量、路由组的创建和路由选择。[现有技术文件][专利文件][专利文件I]第3980488号日本专利[专利文件2]第H8-503799号国际专利申请的日本国家公布[非专利文件][非专利文件I] I"9 年在希腊举行的 ACM International Conference onSupercomputing (ICS)中的,D. Franco> I. Graces 和 E. Luque 的 “A new method to makecommunication latency uniform -Distributed routing balancing,,。

发明内容
在实施例的一个方面中的目的是提供一种信息处理设备、并行计算机系统和并行计算机系统的控制方法,其中,到已经接收到通信请求的信息处理设备的路由选择与通信中的发送分开执行。根据本发明的一个方面,一种经由多条路由连接到包括在并行计算机系统中的其他信息处理设备的信息处理设备包括运算处理装置,发出用于收集拥塞信息的指令和用于通信的指令;路由信息保存单元,保存用于执行通信的路由信息;发送单元,向所述多条路由中的任意一条发送用于收集拥塞信息的拥塞信息收集包;接收单元,从所述多条路由中的任意一条接收与所述拥塞信息收集包对应的拥塞信息收集响应包;以及控制单元,所述控制单元在所述运算处理装置发出用于收集拥塞信息的指令时使得所述发送单元发送所生成的拥塞信息收集包,基于由所述接收单元接收的所述拥塞信息收集响应包中包括的拥塞信息从所述路由信息保存单元中选择路由信息,并且使得所述发送单元基于所选择的路由信息执行由所述运算处理装置指示的通信。根据实施例的一个方面,提供了一种并行计算机系统,其中连接了多个信息处理设备。所述信息处理设备包括运算处理装置,发出用于在所述并行计算机系统中收集拥塞信息的指令和用于所述并行计算机系统中的通信的指令;路由信息保存单元,保存路由信息以执行与其他信息处理设备的通信;发送单元,向其他信息处理设备发送用于收集拥塞信息的拥塞信息收集包;接收单元,接收来自其他信息处理设备的拥塞信息收集包、和来自其他信息处理设备的与从所述发送单元发送的拥塞信息收集包对应的拥塞信息收集响应包;以及控制单元,在所述运算处理装置发出用于收集拥塞信息的指令时使得所述发送单元发送拥塞信息收集包,基于由所述接收单元接收的拥塞信息收集响应包中包括的拥塞信息从所述路由信息保存单元中选择路由信息,并使得所述发送单元基于所选择的路由信息执行由所述运算处理装置指示的通信以及在从其他信息处理设备接收到拥塞信息收集包 时生成对应的拥塞信息收集响应包,并且使得所述发送单元向其他信息处理设备发送所生成的拥塞信息收集响应包。根据实施例的一个方面,提供了一种并行计算机系统的控制方法,在所述并行计算机系统中,包括第一信息处理设备和第二信息处理设备的多个信息处理设备经由多条路由连接,所述控制方法包括由所述第一信息处理设备具有的运算处理装置发出用于收集拥塞信息的指令;在所述运算处理装置发出用于收集拥塞信息的指令时,由所述第一信息处理设备具有的第一控制单元生成用于收集拥塞信息的拥塞信息收集包;由所述第一信息处理设备具有的第一发送单元将所述第一控制单元生成的所述拥塞信息收集包发送至所述多条路由中的任意一条;由所述第二信息处理设备具有的第二接收单元经由所述多条路由中的任意一条接收所述拥塞信息收集包;由所述第二信息处理设备具有的第二控制单元生成与所述拥塞信息收集包对应的拥塞信息收集响应包;由所述第二信息处理设备具有的第二发送单元将所述第二控制单元生成的所述拥塞信息收集响应包发送至所述多条路由中的任意一条;由所述第一信息处理设备具有的第一接收单元接收来自所述多条路由中的任意一条的与所述拥塞信息收集包对应的所述拥塞信息收集响应包;由所述第一控制单元基于所述接收单元接收的所述拥塞信息收集响应包中包括的拥塞信息重写所述第一信息处理设备具有的路由信息保存单元保存的路由信息;以及使得所述第一发送单元基于所述第一控制单元所重写的路由信息执行由所述运算处理装置指示的通信。


图I是包括节点和交换机的并行计算机的结构图;图2是示出并行计算机的4X4 二维网状拓扑的图;图3是示出在多条通信路由中发生拥塞的路由的示例的图;图4是示出在多条通信路由中未发生拥塞的路由的示例的图;图5是根据第一实施例的并行计算机的节点的结构图;图6是根据第一实施例的并行计算机的交换机的结构图;图7是根据第一实施例的并行计算机中的示意性说明图;图8是根据第一实施例的由控制单元执行的从拥塞信息收集包的发送到返回次序的记录的处理的流程图;图9是示出根据第一实施例的拥塞信息收集包和拥塞信息收集响应包的字段的图;图10是根据第一实施例的路由表的示例;图11是根据第一实施例的拥塞信息收集包和拥塞信息收集响应包的路由头部的结构图;图12是根据第一实施例的中继包的交换机的处理的流程图;图13是根据第一实施例的执行路由选择的控制单元的处理的流程图;图14是根据第二实施例的并行计算机的结构图;图15是根据第二实施例的节点的结构图; 图16是示出根据第二实施例的拥塞信息收集指令包的字段的图;图17是根据第二实施例的路由表的示例;图18是示出根据第二实施例的路由选择包的字段的图;图19是示出根据第二实施例的路由包的字段的图;图20A是根据第二实施例的拥塞信息收集节点的网络接口装置的控制单元执行的处理的流程图;图20B是根据第二实施例的拥塞信息收集节点的网络接口装置的控制单元执行的处理的流程图;图21是根据第三实施例的节点的结构图;图22是示出根据第三实施例的拥塞信息收集指令包的字段的图;图23是根据第三实施例的拥塞信息收集节点的网络接口装置的控制单元执行的处理的流程图;图24是在根据第四实施例的节点是本地节点的情况下的节点的结构图;图25是根据第四实施例的节点执行的处理的流程图;图26是在根据第五实施例的节点是本地节点的情况下的节点的结构图;图27是示出根据第五实施例的拥塞信息收集包和拥塞信息收集响应包的字段的图;图28是根据第五实施例的路由表的示例;图29是根据第六实施例的节点的结构图;图30是示出根据第六实施例的拥塞信息收集包和拥塞信息收集响应包的字段的图;图31是根据第六实施例的路由表的示例;图32是根据第六实施例的交换机的结构图;图33是在根据第七实施例的节点是本地节点的情况下的节点的结构图;以及图34是根据第七实施例的本地节点的控制单元执行的处理的流程图。
具体实施例方式上述作为示例描述的现有技术中的路由方法有下述四个问题。首先,现有技术中的路由方法中的路由选择方法是逐消息执行的。为此,尤其是在节点具有的运算处理装置执行路由选择时,路由选择所需要的时延影响性能成为一个问题。另外,运算处理装置的使用效率降低。第二,使用现有技术的路由方法,测量从本地节点到远程节点方向上的时延。但是,在远程节点发出消息的情况下,比如获取(Get)通信,即本地节点指定其自身的主存储器区域和远程节点并将远程节点的主存储器区域中的数据写入到本地节点的主存储器区域中的通信,从远程节点到本地节点的方向上的时延是很重要的。为此,当远程节点发出消息时,使用该路由方法不能执行有效的路由选择。第三,使用现有技术的路由方法,在消息发送的同时不能改变路由。为此,不能处理消息发送的同时的拥塞的发生。第四,使用现有技术的路由方法,当多个节点分别发送消息时,存在它们中的一些可能使用共同的路由执行通信的可能性。为此,使用现有技术的路由方法,当多个节点执行通信时,存在路由中发生拥塞的可能性。 因此,需要提供一种信息处理设备、并行计算机系统和并行计算机系统的控制方法,其中到接收了通信请求的信息处理设备的路由选择与通信中的发送分开执行。以下,参照附图详细描述实施例。同时,以下描述的每个实施例仅分别说明了本发明的一个方面。因此,应该理解,实施例不应当被认为是相互排他的,可以对实施例进行组合。[a]第一实施例在根据第一实施例的并行计算机中,执行通信的本地节点的网络接口装置收集多条路由的拥塞信息,并且基于所收集的拥塞信息和来自运算处理装置的路由选择指令执行路由。拥塞信息的收集是通过由本地节点的网络接口装置通过作为要收集拥塞信息的目标的路由向远程节点发送拥塞信息收集包来执行的。另外,拥塞信息的收集是通过由接收到拥塞信息收集包的远程节点的网络接口装置向本地节点发送回拥塞信息收集响应包来执行的。同时,拥塞信息指的是表示目标路由多拥挤的信息。拥塞信息例如是目标路由的时延、目标路由上的交换机的缓存器使用量等。另外,以下描述中的路由候选指的是为了收集拥塞信息而向其发送拥塞信息收集包的目标路由。根据第一实施例的并行计算机例如是如图I中所示包括作为要执行计算的信息处理设备的节点n00-n33、以及在节点之间构造网络的交换机s00-s33的并行计算机。图5是根据第一实施例的并行计算机的节点的结构图。对于每次通信,取决于关于哪个节点执行到哪个节点的通信的通信模式,根据第一实施例的构成并行计算机的每个节点变为本地节点或者远程节点。图5示出了可以是本地节点或者远程节点的节点nI。如图5中所示,根据第一实施例的节点nl包括运算处理装置101、网络接口装置102和主存储器单元103。运算处理装置101、网络接口装置102和主存储器单元103经由总线104彼此连接。运算处理装置101基于通过网络接口装置102输入的消息和数据执行运算处理。另外,运算处理装置101生成要发送至其他节点nl的消息和数据,并将其与目的节点nl的地址一起发送至网络接口装置102。网络接口装置102控制运算处理装置101和网络105之间的消息和数据的发送/接收。网络接口装置102包括控制单元1021、路由表存储单元1022、包发送单元1023、包接收单元1024和直接内存存取(DMA)控制器1025。当图5中示出的节点nl是本地节点时,控制单元1021基于来自运算处理装置101的拥塞消息收集指令,指示包发送单元1023将用于收集拥塞信息的包(拥塞信息收集包)发送至远程节点。然后,控制单元1021从包接收单元1024接收从远程节点返回的响应于拥塞信息收集的包(拥塞信息收集响应包),并且将收集的拥塞信息存储在路由表存储单元1022的路由表中。另外,控制单元1021基于来自运算处理装置101的用于通信开始的指令参照路由表存储单元1022中的路由表来选择路由,并且指示包发送单元1023使用选择的路由发送包。当图5中示出的节点nl是远程节点时,控制单元1021经由包接收单元1024接收 从本地节点发送的拥塞信息收集包。然后,控制单元1021基于接收的拥塞信息收集包生成拥塞信息收集响应包,并且将生成的拥塞信息收集响应包经由包发送单元1023返回至本地节点。控制单元1021例如是由LSI (大规模集成电路)实现的逻辑电路。DMA控制器1025基于来自控制单元1021的请求执行与主存储单元103的DMA传输而不经过运算处理装置101,并且执行存储在主存储器单元103中的数据的读出和写入。包发送单元1023基于来自控制单元1021的发送指令将包经由网络105发送至其他节点nl。包发送单元1023例如是由LSI实现的逻辑电路。包接收单元1024经由网络105接收从其他节点nl发送的包,并且将接收的包发送至控制单元1021。包接收单元1024例如是由LSI实现的逻辑电路。路由表存储单元1022存储包括作为要收集拥塞信息的目标的路由的拥塞信息的路由表。路由表存储单元1022例如是比如静态随机存取存储器(SRAM)的随机存取存储器(RAM)。主存储器单元103存储由运算处理装置101执行的程序和各种数据。主存储器单元103例如是比如动态随机存取存储器(DRAM)的RAM。图6是根据第一实施例的并行计算机的交换机的结构图。图6示出了在每个节点nl连接到一维网络的情况下的交换机。在比如二维网状和三维圆环(torus)的多维网络的情况下,交换机Si具有图6中示出的端口数增加的结构。如图6中所示,交换机Si包括连接到网络接口装置102的端口 pi和连接到其他交换机si的端口 p2、p3。如图6中所示,每个端口 pi、p2、p3包括发送单元tl、t2、t3和接收单元:rl、r2、r3。每个端口中的发送单元tl、t2、t3分别发送交换机si内的包,且每个接收单元rl、r2、r3接收交换机si内的包。另外,每个发送单元tl、t2、t3接收来自交换机si以外的网络接口装置102的包和来自其他交换机Si的包,且每个接收单元rl、r2、r3向交换机si以外的网络接口装置102发送包并向其他交换机Si发送包。从网络接口装置102或其他交换机Si接收的包分别发送至发送单元tl、t2、t3,然后从每个发送单元tl、t2、t3发送至其他端口的接收单元rl、r2、r3,并且分别发送至连接到端口的网络接口装置102或其他交换机si。每个端口中的发送单元tl、t2、t3分别包括控制单元tlc、t2c、t3c和缓存器tlb、t2b、t3b。另外,每个端口中的接收单元rl、r2、r3分别包括控制单元rlc、r2c、r3c和缓存器 rib、r2b> r3b。控制单元tic、t2c、t3c、rlc、r2c、r3c中的每一个执行包的发送/接收的控制。图6示出了如下情形作为示例其中,包在端口 pi中的发送单元的控制单元tic和各个端口 p2、p3中的接收单元的控制单元r2c、r3c之间发送/接收。另外,图6示出了如下情形包在各个端口 p2、p3中的控制单元t2c、t3c和端口 pi中的发送单元的控制单 元rlc之间发送/接收。各个控制单元tic、t2c、t3c、rlc、r2c、r3c例如是由LSI实现的逻辑电路。各个缓存器tlb、t2b、t3b、rib、r2b、r3b存储发送/接收包。每个缓存器tlb、t2b、t3b、rib、r2b、r3b 例如是比如 SRAM 的 RAM。交换机Si的端口的数量根据网络的拓扑改变。例如,在图I示出的二维网状结构中,需要包括用于网络接口装置102的一个端口和用于其他交换机Si的四个端口的五个端口。在这种情况下,端口本身的结构与图6中示出的交换机的端口相同。参照图7示意性地描述根据第一实施例的并行计算机执行的基本处理。图7是根据第一实施例的并行计算机中的路由的示意性说明图。在图7中,作为示例,要收集的拥塞信息设定为拥塞信息收集响应包的返回次序,且运算处理装置指定的通信路由的次序设定为返回次序。如图7(a)中所示,当本地节点Inl收集拥塞信息时,本地节点Inl的网络接口装置102使用路由候选I、路由候选2和路由候选3将拥塞信息收集包发送至远程节点rnl。接收到拥塞信息收集包的远程节点rnl的网络接口装置102将拥塞信息收集响应包发送回本地节点lnl,如图7(b)中所示。然后,本地节点Inl的网络接口装置102记录从远程节点rnl接收的拥塞信息收集响应包的返回次序。如图7 (c)中所示,当本地节点Inl执行到远程节点rnl的通信时,本地节点Inl的运算处理装置101根据返回次序指定路由。即,在返回次序中,指定首先从其接收到拥塞信息收集响应包的路由。然后,网络接口装置102基于来自运算处理装置101的指令,在返回次序中选择具有第一返回的路由。在图7(c)中的示例中,返回是按路由候选2、路由候选3、路由候选I的顺序,因此网络接口装置102选择具有第一返回的路由候选2来执行与远程节点rnl的通信。下文中,采用以下情形作为示例更详细地描述根据第一实施例的并行计算机。即,将收集拥塞信息的定时设定为在运算处理装置101向网络接口装置102发出指令以收集拥塞信息时的时间。对于路由候选的类型,假定包在本地节点和远程节点之间经过的出站路由和入站路由相同。要收集的拥塞信息设定为拥塞信息收集响应包返回至本地节点的返回次序。假定运算处理装置101指定的路由的次序遵循返回次序。同时,存在示例来说明根据第一实施例的并行计算机,且根据第一实施例的并行计算机不限于这些情形。在第一实施例中,拥塞信息收集包的发送、比如返回次序的拥塞信息的记录和路由选择是由本地节点的网络接口装置102的控制单元1021执行的。
图8是根据第一实施例的由控制单元执行的从拥塞信息收集包的发送到返回次序的记录的处理的流程图。在步骤801中,本地节点的控制单元1021从运算处理装置101接收拥塞信息收集指令,并且开始拥塞信息的处理。运算处理装置101的拥塞信息收集指令包括关于远程节点和路由候选的指令。运算处理装置101进行的路由候选的指定是通过如下执行的指定本地节点和远程节点之间的路由中的中继节点,并例如按照维度次序路由的维度的次序指定本地节点和中继节点之间的路由以及中继节点和远程节点之间的路由的判断方法。在步骤802中,控制单元1021根据来自运算处理装置101的拥塞信息收集指令生成拥塞信息收集包。然后,控制单元1021使用拥塞信息收集指令指定的路由将拥塞信息收集包发送至远程节点。接收到拥塞信息收集包的远程节点的网络接口装置102的控制单元1021生成拥塞信息收集响应包,并且将生成的拥塞信息收集响应包发送回本地节点。图9是示出根据第一实施例的拥塞信息收集包和拥塞信息收集响应包的字段的图。
图9中示出的包字段900中的包类型901是用于指定包的类型的字段。网络接口装置102参照包类型901以确认所提及的包是拥塞信息收集包或者拥塞信息收集响应包。路由头部902是指定到目的节点的路由的字段。例如,当路由候选按维度次序指定时,路由头部902包括用于按X轴-> Y轴次序或者Y轴-> X轴次序选择路由的维度次序的信息、以及用于中继包的中继节点的信息等。交换机Si参照路由头部902判断要发送的端口。本地节点地址903是包括作为发送拥塞信息收集包的源节点的本地节点的地址的字段。接收到拥塞信息收集包的网络接口装置102参照拥塞信息收集包中的本地节点地址903,并且将拥塞信息收集响应包发送至地址的节点。另外,接收到拥塞信息收集响应包的网络接口装置102参照拥塞信息收集包中的本地节点地址903确认它是发送到节点本身的包。远程节点地址904是包括作为向其发送拥塞信息收集包的目的节点的远程节点的地址的字段。接收到拥塞信息收集包的网络接口装置102参照拥塞信息收集包中的远程节点地址904确认它是发送到节点本身的包。另外,接收到拥塞信息收集响应包的网络接口装置102参照拥塞信息收集响应包中的远程节点地址904确认收集其拥塞信息的节点。路由905是包括包经过的路由的信息的字段。路由905例如由中继节点和维度次序指定。远程节点的网路接口装置102将路由905中包括的路由原样存储在拥塞信息收集响应包中,并将其发送回本地节点。本地节点的网络接口装置102将拥塞信息收集响应包中的路由905中包括的路由写入到路由表中。在图8的步骤803中,控制单元1021等待从远程节点发送的拥塞信息收集响应包。在接收到它等待的拥塞信息收集响应包后,控制单元1021将路由和拥塞信息收集响应包的返回次序保存在路由表中。图10是根据第一实施例的路由表的不例。在该实施例中,路由表包括路由候选及其返回次序。在图10中示出的路由表中,路由候选表示为路由I、路由2........和路由n。但
是,当每个路由候选由中继节点和维度次序指定时,路由I、路由2、......、和路由n可以由每条路由的中继节点和维度次序表示。在该实施例中,拥塞信息收集包和拥塞信息收集响应包基于这些包中的路由头部的信息由交换机Si中继,并且到达目的节点nl。因此,参照图11和图12,下面描述由交换机Si中继包的处理。图11是根据第一实施例的拥塞信息收集包和拥塞信息收集响应包的路由头部的结构图。作为示例,图11示出了在路由候选由中继节点1101和维度次序1102指定的情形中的路由头部1100。图11中所示的路由头部1100是在包按照指定的维度次序经由中继节点I和中继节点2发送至远程节点的情形中路由头部的示例。图11中示出的路由头部1100中的DXil和DYil分别表示通过将中继节点I的节点地址的X轴的值减去当前地址获得的值、以及通过将Y轴的值减去当前地址获得的值。DXi2和DYi2分别表示通过将中继节点2的节点地址的X轴的值减去当前地址获得的值、以 及通过将Y轴的值减去当前地址获得的值。DXr和DYr分别表示通过将远程节点的节点地址的X轴的值减去当前地址获得的值、以及通过将Y轴的值减去当前地址获得的值。DXil、DYil、DXi2、DYi2、DXr和DYr分别表示到各个节点的相对距离和方向。另外,路由头部1100中的维度次序1102表示用以执行路由的维度次序的指定。例如,在二维结构中,指定按照X轴、Y轴次序的维度次序或者按照X轴、Y轴的维度次序。图12是根据第一实施例的由中继包的交换机进行的处理的流程图。在步骤1201中,从其他交换机或本地节点的网络接口装置接收的包保存在端口的发送单元的缓存器中。然后,发送单元的控制单元参照发送单元的缓存器中保存的包的路由头部。在步骤1202中,发送单元的控制单元基于用其执行接收的端口更新路由头部。这里,在例如图I所示的并行计算机的结构图中,图的左下设定为原点,图中的向上方向和向右方向设定为正⑴方向,而向下方向和向左方向认为是负㈠方向。例如,当接收包的端口处于X轴且在-方向上,且路由头部中分别为DXil = 0、DXi2 = UDXr = 3时,由于作为中继节点I的X轴的值的DXil为0,因此对作为中继节点I接下来的中继节点2的X轴的值的DXi2执行-I。另外,例如,当接收包的端口处于Y轴且在+方向上,且路由头部中分别为DYil = O、DYi2 = 3、DYr = 4时,由于作为中继节点I的Y轴的值的DYil不为0,因此对DYi I执行+1。在步骤1202中更新路由头部1100之后,在步骤1203中,发送单元的控制单元确定 DXi I、DYi I、DXi2、DYi2、DXr 和 DYr 是否全是 0。当在步骤1203中确定0乂11、0¥11、0乂12、0¥12、0乂1'和0¥1'全是0时,将包置于连接到远程节点的交换机Si中。因此,在步骤1204中,发送单元的控制单元选择连接到远程节点的网络接口装置101的端口,并且处理进行到步骤1208。当在步骤1203中确定DXil、DYil、DXi2、DYi2、DXr和DYr中的一个或者更多个不是0时,在步骤1205中,发送单元的控制单元确定要执行路由的指定的维度次序是按照X轴、Y轴的次序的维度次序还是按照Y轴、X轴的次序的维度次序。当在步骤1205中确定要执行路由的维度次序是按照X轴、Y轴的次序的维度次序时,在步骤1206中,发送单元的控制单元按照DXil、DYil、DXi2、DYi2、DXr、DYr的次序检查不是0的字段,并且选择与对应字段在相同轴上和与对应字段有相同符号(+或-)的端口。然后,处理进行到步骤1208。当在步骤1205中确定要执行路由的维度次序是按照Y轴、X轴的次序的维度次序时,在步骤1207中,发送单元的控制单元按照DYil、DXil、DYi2、DXi2、DYr、DXr的次序检查不是0的字段,并且选择与对应字段在相同轴上和与对应字段有相同符号(+或-)的端口。然后,处理进行到步骤1208。在步骤1208中,发送单元的控制单元向步骤1204、步骤1206或者步骤1207中选择的端口的接收单元的控制单元发送发送请求。发送请求包括要发送的包的包大小。接收到发送请求的端口的接收单元的控制单元参照接收单元的缓存器的缓存器使用量来检查空间的量。如果接收到发送请求的端口的接收单元的缓存器中的空间的量等于或者大于要发送的包的包大小,则接收单元的控制单元将发送许可发送到发送该发送请求的端口的发送单元的控制单元。在接收到发送许可后,发送该发送请求的端口的发送单元的控制单元将包发送至对应的端口。 另一方面,如果接收到发送请求的端口的接收单元的缓存器中的空间的量小于要发送的包的包大小,则发送该发送请求的端口的发送单元的控制单元等待直到接收单元的缓存器中的空间的量变为等于或大于包大小为止,同时包保存在正发送的缓存器中。然后,当接收到发送请求的端口的缓存器中的空间的量变为等于或大于包大小时,发送该发送请求的端口的发送单元的控制单元将包发送至所选择的端口。接下来,说明根据第一实施例的并行计算机的本地节点开始通信的处理。在根据第一实施例的并行计算机中,当开始到收集了拥塞信息的远程节点的通信时,本地节点的运算处理装置101向网络接口装置102的控制单元发送用于通信开始的指令。然后,控制单元1021根据运算处理装置101指定的路由选择指令参照路由表。控制单元1021根据运算处理装置101指定的路由选择指令在路由表中选择路由,并且使用选择的路由开始通信。图13是根据第一实施例的执行路由选择的控制单元的处理的流程图。在图13的步骤1301中,本地节点的控制单元1021接收来自运算处理装置101的用于通信开始的指令。由运算处理装置101执行的用于通信开始的指令包括远程节点地址、通信类型、在发送消息的情况下的消息的存储位置以及关于要使用的路由的返回次序的路由选择指令等。在步骤1302中,控制单元1021根据运算处理装置101指定的比如返回次序的路由选择指令参照路由表并选择路由。在步骤1303中,控制单元1021使用步骤1302中选择的路由经由包发送单元1023将包发送至远程节点。如上所述,在根据第一实施例的并行计算机中,网络接口装置基于来自运算处理装置的路由选择指令选择路由。为此,可以减小路由选择的时延。另外,当运算处理装置指定的路由选择指令例如是关于拥塞信息收集响应包的返回次序的指令时,运算处理装置可以发出用于通信开始的指令,而不必等待直到对应于所有路由候选的拥塞信息收集响应包返回。为此,运算处理装置的使用效率没有降低。然后,当拥塞信息例如由拥塞信息收集响应包的返回的信息表示时,从远程节点到本地节点返回的通信时间也反映在拥塞信息中。为此,也可以在远程节点发送消息的通信(诸如Get通信)的情况下执行适当的路由选择。另外,当收集拥塞信息的定时不设置为运算处理装置发出用于通信开始的指令的时间,而是设置为运算处理装置发出用于拥塞信息收集的指令的时间时,则仅在运算处理装置明确指示时收集拥塞信息。为此,可以在执行通信时选择是否收集拥塞信息。在以上本实施例的描述中,本地节点的网络接口装置1021根据来自运算处理装置101的拥塞信息收集指令开始拥塞信息的收集。另外,本地节点的网络接口装置1021基于来自运算处理装置101的用于通信开始的指令根据运算处理装置101指定的路由选择方法选择路由,并且发送包。但是,运算处理装置101可以采用到网络接口装置1021的用于通信开始的指令执行拥塞信息收集的指令。在这种情况下,本地节点的网络接口装置1021向运算处理装置101指定的路由候选发送拥塞信息收集包以收集拥塞信息,并且根据收集的拥塞信息按照运算处理装置101指定的路由选择指令选择路由,开始通信。 另外,在以上本实施例的描述中,由运算处理装置101指定的路由选择指令已被描述为关于返回次序的指令。当路由选择指令是返回次序的信息时,运算处理装置101能够在拥塞信息收集响应包第一次返回的时间点处指定路由。但是,运算处理装置101指定的路由选择指令不限于关于返回次序的指令。因此,运算处理装置101可以被结构为例如在第k个拥塞信息收集响应包(k是大于I的整数)返回本地节点的时间点处指定路由。另外,在以上本实施例的描述中,在路由候选中,包经过的出站路由和入站路由相同。但是,在本实施例中,也可以采用包经过的出站路由和入站路由不同的路由候选。[b]第二实施例如上所述,在第一实施例中,每个本地节点收集路由候选的拥塞信息并且执行路由选择。相反,在第二实施例中,在收集拥塞信息之前预先设置取决于路由方法而共享路由的本地节点组和远程节点组。另外,在本地节点组中预先设置收集拥塞信息的拥塞信息收集节点。然后,在本地节点组中共享由拥塞信息收集节点收集的远程节点组的拥塞信息和关于使用路由的节点的信息。S卩,在第二实施例中,本地节点组中的拥塞信息收集节点收集本地节点组和远程节点组之间的路由候选的拥塞信息,并且管理收集的拥塞信息。然后,当同一本地节点组中的多个本地节点与同一远程节点组中的远程节点通信时,拥塞信息收集节点执行路由选择以使得多条通信路由多样化。图14是根据第二实施例的并行计算机的结构图。图14示出了作为根据第二实施例的并行计算机的示例的6X6网状结构。同时,在图14的结构图中,为了使得描述清楚,仅示出了作为要执行计算的信息处理装置的节点n00-cn55,省略了交换机的图示。但是,根据第二实施例的并行计算机具有以与图I中所示的并行计算机相同的方式连接到各个节点n00-cn55的各个交换机。在图14中示出的根据第二实施例的并行计算机中,作为示例,分别针对X轴方向上的每3个相邻节点设置本地节点组Ing00-lngl5,X轴方向是按X轴、Y轴次序的维度次序路由中第一个指定的维度。另外,作为示例,分别针对Y轴方向上的每3个相邻节点设置远程节点组rng00-rng51, Y轴方向是按X轴、Y轴次序的维度次序路由中最后指定的维度。另外,对于每个本地节点组Ing00-lngl5,组中的一个节点设置为拥塞信息收集节点cn20、cn21、.......cn25 和 cn50、cn51、.......cn55。图15是根据第二实施例的节点的结构图。同时,向图15中与图5中示出的根据第一实施例的节点n2的组成元件相同的组成元件分配相同的参考编号。构成根据第二实施例的并行计算机的每个节点n2取决于关于哪个节点执行到哪个节点的通信的通信模式变为本地节点或者远程节点。另外,构成根据第二实施例的并行计算机的每个节点n2根据预先设置变为收集拥塞信息的拥塞信息收集节点。图15示出了可以是本地节点、拥塞信息收集节点和远程节点的任意一个本地节点n2。在第二实施例中,本地节点、拥塞信息收集节点和远程节点的每一个的控制单元被结构为执行如下所述的处理。当图15中示出的节点n2是本地节点时,在从运算处理装置101接收到用于拥塞信息收集的指令后,网络接口装置202中的控制单元2021生成拥塞信息收集指令包以指示 用于拥塞信息收集。然后,控制单元2021将生成的拥塞信息收集指令包经由包发送单元1023发送至拥塞信息收集节点。另外,当图15中示出的节点n2是本地节点时,在从运算处理装置101接收到用于通信开始的指令后,控制单元2021生成路由选择包,并且将生成的路由选择包经由包发送单元1023发送至拥塞信息收集节点。然后,当图15中示出的节点n2是本地节点时,在经由包接收单元1024接收到从拥塞信息收集节点发送的路由包后,控制单元2021使用接收到的路由包中包括的所选择的路由开始通信。在完成通信后,控制单元2021生成完成通知包,并且将生成的完成通知包经由包发送单元1023发送至拥塞信息收集节点。接下来,当图15中示出的节点n2是拥塞信息收集节点时,控制单元2021经由包接收单元1024接收从本地节点发送的拥塞信息收集指令包。然后,控制单元2021在还未收集拥塞信息收集指令包中包括的远程节点所属的组的拥塞信息的情形下生成拥塞信息收集包。然后,控制单元2021经由包发送单元1023将生成的拥塞信息收集包发送至远程节点。在经由包接收单元1024接收来自远程节点的拥塞信息收集响应包后,控制单元2021将拥塞信息存储在路由表存储单元1022的路由表中。另外,当图15中示出的节点n2是拥塞信息收集节点时,控制单元2021经由包接收单元1024接收从本地节点发送的路由选择包。另外,控制单元2021参照路由表存储单元1022中存储的路由表,并且根据路由选择包中包括的路由选择指令选择路由。然后,控制单元2021生成包括关于所选择的路由的信息的路由包,并且将生成的路由包经由包发送单元1023返回到本地节点。控制单元2021将表示所选择的路由正由本地节点使用的信息存储在路由表存储单元1022的路由表中。然后,当图15中示出的节点n2是拥塞信息收集节点时,控制单元2021经由包接收单元1024接收从本地节点发送的完成通知包。然后,控制单元2021从路由表存储单元1022的路由表中删除表示所选择的路由正由本地节点使用的信息。当图15中示出的节点n2是远程节点时,控制单元2021经由包接收单元1024接收从拥塞信息收集节点发送的拥塞信息收集包。然后,控制单元2021基于所接收的拥塞信息收集包生成拥塞信息收集响应包,并将生成的拥塞信息收集响应包经由包发送单元1023发送至拥塞信息收集节点。根据第二实施例的交换机的结构与根据第一实施例的交换机Si的结构相同。下面采用以下情形的示例详细描述根据第二实施例的并行计算机。即,并行计算机的本地节点组在维度次序路由中是由沿着路由中首先指定的维度的方向存在的本地节点生成的。另外,并行计算机的远程节点组是在维度次序路由中最后指定的维度的方向上组成的。收集拥塞信息的定时设定为本地节点的运算处理装置101发出用于拥塞信息收集的指令的时间。另外,对于路由候选的类型,假定包在本地节点和远程节点之间经过的出站路由和入站路由相同。要收集的拥塞信息设定为拥塞信息收集响应包的返回次序。本地节点的运算处理装置101的路由选择指令设定为关于返回次序和使用节点的数量的阈值的指令。同时,这些是说明根据第二实施例的并行计算机的示例,而根据第二实施例的并行计算机不限于这种情形。 在第二实施例中,本地节点的运算处理装置101向网络接口装置202发出拥塞信息收集指令。在拥塞信息收集指令中,分别指定要将拥塞信息收集包发送到的远程节点地址、拥塞信息收集节点地址、以及要收集拥塞信息的路由候选。从运算处理装置101接收了拥塞信息收集指令的网络接口装置202生成拥塞信息收集指令包。随后,网络接口装置202把生成的拥塞信息收集指令包发送给同一本地节点组中的拥塞信息收集节点。图16示出了根据第二实施例的拥塞信息收集指令包的字段。在图16中示出的拥塞信息收集指令包的字段1600中,拥塞信息收集节点地址1604是包括拥塞信息收集指令包的目的节点地址的字段。接收了拥塞信息收集指令包的节点的网络接口装置202参照拥塞信息收集节点地址以确认它是向它本身寻址的包。远程节点地址1605是包括作为拥塞信息收集包的目的远程节点的节点地址的远程节点地址的字段。接收了拥塞信息收集指令包的拥塞信息收集节点的网络接口装置202向远程节点地址指定的节点发送拥塞信息收集包。路由候选1606是包括用于拥塞信息收集包的发送的路由的字段。例如通过中继节点和维度次序等指定路由候选1606。接收了拥塞信息收集指令包的拥塞信息收集节点的网络接口装置202使用路由候选1606发送拥塞信息收集包。包类型1601是指定包的类型的字段。网络接口装置202参照包类型1601以确认所涉及的包是拥塞信息收集指令包。路由头部1602是指定去往目的节点的路由的字段。例如,在通过中继路由和维度次序指定路由的情形中,在路由头部1602中包括这些的信息。本地节点地址1603是包括如下这种本地节点地址的字段发送拥塞信息收集指令包的本地节点的地址。接收了拥塞信息收集指令包的拥塞信息收集节点的网络接口装置202在尚未收集拥塞信息收集指令包中包括的远程节点所属的组的拥塞信息时,生成拥塞信息收集包。随后,网络接口装置202使用拥塞信息收集指令包指定的路由发送生成的拥塞信息收集包。接收了拥塞信息收集包的远程节点的网络接口装置202生成拥塞信息收集响应包,以及把生成的拥塞信息收集响应包发送回拥塞信息收集节点。
拥塞信息收集节点的网络接口装置202等待从远程节点发送的拥塞信息收集响应包。在接收拥塞信息收集响应包后,网络接口装置202把拥塞信息收集响应包的路由和返回次序保存在路由表中。第二实施例中拥塞信息收集节点的控制单元2021和远程节点的控制单元2021执行的拥塞信息收集和记录的处理与根据第一实施例的本地节点的控制单元1021和远程节点的控制单元1021执行的处理相同。另外,第二实施例中中继拥塞信息收集包和拥塞信息收集响应包的交换机Si的操作与根据第一实施例的交换机Si的操作相同。在根据第二实施例的路由表中,记录路由候选、诸如返回次序的拥塞信息、收集其拥塞信息的远程节点组、以及路由的当前使用状态。图17是根据本实施例的路由表的示例。图17示出了收集其拥塞信息的组I的路 由表。在图17中示出的路由表的示例中,以路由I、路由2.....以及路由n的形式表明
路由候选。然而,在例如通过中继节点和维度次序指定每个路由的情形中,可以通过每个的中继节点和维度次序表明路由I、路由2.....以及路由n。另外,在图17中示出的路由表的示例中,表明路由表中的返回次序是第一的路由I用于本地节点组中节点I进行的通信和节点2进行的通信。在后述通信开始时把关于路由表中使用节点的信息写入到路由表中。如上所述,在第二实施例中,拥塞信息收集节点一起收集本地节点组中的拥塞信息。相应地,在本地节点组中,可以共享路由的拥塞信息和使用状态,可以对于本地节点组中包括的本地节点使路由多样化。接下来,发送了拥塞信息收集指令包的本地节点的运算处理装置101在开始通信时向网络接口装置202发出通信开始的指令。运算处理装置101发出的通信开始指令包括远程节点地址、通信的类型、发送消息的情况下消息的存储地点、以及关于返回次序等的路由选择指令。接收了通信开始指令的网络接口装置202生成路由选择包。随后,网络接口装置202把生成的路由选择包发送给拥塞信息收集节点,以及指示以从收集的拥塞信息中选择去往远程节点的路由。图18是示出了根据第二实施例的路由选择包的字段的图。在图18中示出的路由选择包字段1800中,包类型1801是指定包的类型的字段。拥塞信息收集节点的网络接口装置参照包类型1801以确认参照的包是路由选择包。路由头部1802是指定去往目的节点的路由的字段。例如,在通过中继节点和维度次序指定路由的情形中,路由头部1802包括这些的信息。本地节点地址1803是包括发送路由选择包的本地节点的地址的字段。拥塞信息收集节点地址1804是包括路由选择包的目的节点地址的字段。接收了路由选择包的拥塞信息收集节点的网络接口装置202参照拥塞信息收集节点地址以确认包向它本身寻址。路由选择方法1805是包括如下这种信息的字段关于用以从收集的拥塞信息中选择去往远程节点的路由的方法。例如,在路由选择指令是关于返回次序的指令的情形中,收集了拥塞信息的拥塞信息收集节点的网络接口装置202按指定的返回次序选择去往远程节点的路由。随后,拥塞信息收集节点的网络接口装置202向作为发送了拥塞信息收集指令包的源节点的本地节点发送回包括关于所选择的路由的信息的路由包。图19是示出了根据第二实施例的路由包的字段的图。在图19中示出的路由包字段1900中,包类型1901是指定包的类型的字段。接收了路由包的本地节点的网络接口装置202参照包类型以确认包是路由包。路由头部1902是指定去往目的节点的路由的字段。例如,在通过中继节点和维度次序指定路由的情形中,路由头部1902包括这些的信息。本地节点地址1903是包括发送了路由选择包的本地节点的地址的字段。远程节点地址1904是包括所选择的路由中的远程节点地址的字段。
路由包字段1900中的路由1905是包括拥塞信息收集节点的网络接口装置根据路由选择包指定的路由选择方法选择的路由的字段。在接收到从拥塞信息收集节点发送的路由包后,本地节点的网络接口装置202使用路由包中包括的路由开始通信。随后,在完成通信后,本地节点的网络接口装置202把包括表明已经完成通信的信息的完成通知包发送给拥塞信息收集节点。在接收到完成通知包后,拥塞信息收集节点的网络接口装置202从路由表中使用节点的记录中删除关于作为完成通知包发送源的本地节点的信息。例如,在图17中示出的路由表中,在从作为本地节点的节点I接收到关于使用路由I的通信的完成通知包的情形中,拥塞信息收集节点的网络接口装置202从路由表中删除节点I使用路由I的信息。如上所述,在第二实施例中,本地节点组中的拥塞信息收集节点收集本地节点组中的本地节点之间共享的路由候选的拥塞信息,以及管理收集的拥塞信息。另外,当本地节点组中的本地节点执行通信时,拥塞信息收集节点执行路由选择。图20A和图20B是根据第二实施例的拥塞信息收集节点的网络接口装置的控制单元执行的处理的流程图。在步骤2001中,当控制单元2021接收到路由选择包或拥塞信息收集指令包时,开始步骤2002中和之后的处理。在步骤2002中,控制单元2021参照路由选择包或拥塞信息收集指令包,以确认路由选择或拥塞信息收集的目标所在的远程节点所属的远程节点组。在图17中示出的路由表的示例中,确认远程节点组是否是组I。在步骤2003中,如果路由选择或拥塞信息收集的目标所在的远程节点所属的远程节点组不在路由表中,则处理前往步骤2004。在步骤2004中,执行对于接收的包是路由选择包还是拥塞信息收集指令包的确定。如果在步骤2004中控制单元2021接收的包是拥塞信息收集指令包,则处理前往步骤2005,控制单元2021把拥塞信息收集包发送给去往远程节点的路由候选以开始拥塞信息收集。在步骤2005中开始拥塞信息的收集之后,当从远程节点向控制单元2021返回拥塞信息收集响应包时,在步骤2006中,控制单元2021保存诸如拥塞信息收集响应包的返回次序等的拥塞信息,处理前往步骤2011。
如果在步骤2004中控制单元2021接收的包是路由选择包,则处理前往步骤2007,控制单元2021等待直到完成发出路由选择的指令以前指示的拥塞信息的收集为止。即,控制单元2021等待接收拥塞信息的收集中的拥塞信息收集响应包,以及等待通过借由接收的拥塞信息收集响应包更新路由表来完成拥塞信息的收集。随后,当完成拥塞信息的收集时,处理前往步骤2009。在步骤2003中,如果路由选择或拥塞信息收集的目标所在的远程节点所属的远程节点组在路由表中,则处理前往步骤2008。在步骤2008中,对于控制单元2021接收的包是路由选择包还是拥塞信息收集指令包进行确定。在步骤2008中,如果控制单元2021接收的包是路由选择包,则处理前往步骤2009。在步骤2009中,控制单元2021参照路由表,以及根据路由选择指令选择路由。在图17中示出的路由表的示例中,控制单元2021参照路由表中的返回次序和使用节点,根据路由选择包指定的路由选择指令选择路由。 例如,假定路由选择包指定的路由选择指令是关于按返回次序列出时的第k个(k是I至收集了拥塞信息的数量n之中的整数)和使用节点数量阈值的指令。在此路由选择指令的情形中,控制单元2021从返回次序是第k个和按顺序按k+1、k+2次序的路由中,查找使用节点的数量等于或小于阈值的路由。随后,作为查找的结果,如果存在使用节点的数量等于或小于阈值的路由,则选择该路由,如果不存在使用节点的数量等于或小于阈值的路由,则选择第k个路由。例如,当指定返回次序是第一和阈值是I的路由选择指令时,由于在图17中示出的路由表中,返回次序是第一的路由I的使用节点的数量是2,S卩,在阈值以上,所以控制单元查找第二个路由。随后,由于作为第二个路由的路由2的使用节点的数量是0,所以控制单元2021根据路由选择指令选择路由2作为路由。当根据路由选择指令如上所述选择路由时,控制单元2021向作为路由选择包的发送源的本地节点返回包括关于所选择的路由的信息的路由包,处理前往步骤2010。在步骤2010中,控制单元2021把关于使用所选择的路由的本地节点的信息记录在路由表中,处理前往步骤2011。在步骤2008中,如果控制单元2021接收的包是拥塞信息收集指令包,则处理前往步骤2011。在步骤2011中,控制单元2021等待拥塞信息收集指令包、路由选择包、或者完成通知包的接收。如果控制单元2021在步骤2012中接收到拥塞信息收集指令包或路由选择包,则处理回到步骤2002。如果控制单元2021在步骤2012中接收到完成通知包,则从路由表中使用节点的记录中删除关于作为完成通知包发送源的本地节点的信息。如上所述,在根据第二实施例的并行计算机中,基于本地节点组中本地节点的运算处理装置对路由选择指令的指定,本地节点组中拥塞信息收集节点的网络接口装置选择路由。为此,可以减小运算处理装置进行路由选择的时延。此外,在根据第二实施例的并行计算机中,拥塞信息收集节点一起收集本地节点组中的拥塞信息。为此,可以在本地节点组中的本地节点之中共享路由的拥塞信息和使用状态,可以使通信路由多样化。随后,例如,如果本地节点的运算处理装置指定的路由选择指令是关于拥塞信息收集响应包返回次序的指令,则本地节点的运算处理装置可以在无需等待直到返回所有路由候选对应的拥塞信息收集响应包为止的情况下发出通信开始的指令。为此,本地节点的运算处理装置的使用效率不降低。另外,例如,如果拥塞信息是拥塞信息收集响应包的返回次序,则还反映从远程节点向本地节点返回的通信时间。为此,也可以在远程节点发送消息的通信(如,Get通信)的情形中执行适当路由选择。此外,在未把用以收集拥塞信息的定时设置成运算处理装置发出通信开始的指令时的时间而是设置成运算处理装置发出拥塞信息收集的指令时的时间的情形中,只在运算处理装置明确指定时收集拥塞信息。为此,在执行通信后,可以选择是否收集拥塞信息。同时,在以上本实施例的描述中,假定为包经过的出站和入站路由相同的路由候 选。然而,在本实施例中,也可以采用包经过的出站和入站路由不同的路由候选。[c]第三实施例在根据上述第二实施例的并行计算机中,拥塞信息收集节点的网络接口装置在本地节点组中本地节点的运算处理装置开始用于收集拥塞信息的指令时收集拥塞信息。随后,拥塞信息收集节点的网络接口装置在本地节点的运算处理装置发出通信开始的指令时选择要用于通信的路由。相比而言,在根据第三实施例的并行计算机中,拥塞信息收集节点的网络接口装置在本地节点组中本地节点的运算处理装置发出通信开始的指令时收集拥塞信息。随后,当收集到拥塞信息时,拥塞信息收集节点的网络接口装置选择要用于通信的路由。在根据第三实施例的并行计算机中,在收集拥塞信息之前预先设置根据路由方法共享路由的本地节点组和远程节点组。另外,在本地节点组中预先设置拥塞信息收集节点。根据第三实施例的并行计算机的结构可以与图14中示出的根据第二实施例的并行计算机的结构相同。图21是根据第三实施例的并行计算机的节点的结构图。同时,在图21中把同样附图标记分配给与图15中示出的根据第二实施例的节点的组成元件相同的组成元件。组成根据第三实施例的并行计算机的每个节点n3根据哪个节点执行去往哪个节点的通信成为本地节点和远程节点。另外,组成根据第三实施例的并行计算机的每个节点n3根据预先设置成为拥塞信息收集节点。图21示出了可以是本地节点、拥塞信息收集节点、以及远程节点中任一个的节点n3。在第三实施例中,本地节点、拥塞信息收集节点、以及远程节点中每个的控制单元3021被结构成执行下面的处理。当图21中示出的节点n3是本地节点时,在从运算处理装置101接收到通信开始的指令后,控制单元3021生成拥塞信息收集指令包。随后,控制单元3021经由包发送单元1023把生成的拥塞信息收集指令包发送给拥塞信息收集节点。另外,当图21中示出的节点n3是本地节点时,在经由包接收单元1024接收到从拥塞信息收集节点发送的路由包后,控制单元3021使用路由包中包括的所选择的路由开始通信。随后,在完成通信后,控制单元3021生成完成通知包,以及经由包发送单元1023把生成的完成通知包发送给拥塞信息收集节点。接下来,当图21中示出的节点n3是拥塞信息收集节点时,控制单元3021经由包接收单元1024,接收从本地节点发送的拥塞信息收集指令包。控制单元3021在尚未收集拥塞信息收集指令包中包括的远程节点所属的组的拥塞信息的情况下生成拥塞信息收集包。随后,控制单元3021经由包发送单元1023把生成的拥塞信息收集包发送给远程节点。在经由包接收单元1024从远程节点接收到拥塞信息收集响应包后,控制单元3021把拥塞信息存储在路由表存储单元1022的路由表中。另外,当图21中示出的节点n3是拥塞信息收集节点时,控制单元3021参照路由表存储单元1022中的路由表,以及根据从本地节点发送的拥塞信息收集指令包中包括的路由选择指令选择路由。随后,控制单元3021生成包括关于所选择的路由的信息的路由包,以及经由包发送单元1023向本地节点返回所选择的路由包。另外,控制单元3021把表明本地节点正使用所选择的路由的信息保存在路由表存储单元1022的路由表中。随后,当图21中示出的节点n3是拥塞信息收集节点时,控制单元3021经由包接 收单元1024,接收从本地节点发送的完成通知包。随后,控制单元3021从路由表存储单元1022中的路由表中,删除表明本地节点正使用路由的信息。当图21中示出的节点n3是远程节点时,控制单元3021经由包接收单元1024,接收从拥塞信息收集节点发送的拥塞信息收集包。随后,控制单元3021根据接收的拥塞信息收集包生成拥塞信息收集响应包,以及经由包发送单元1023把生成的拥塞信息收集响应包发送给拥塞信息收集节点。根据第三实施例的并行计算机的交换机的结构与根据第二实施例的并行计算机的交换机Si的结构相同。下面通过以下情形的示例详细描述根据第三实施例的并行计算机。S卩,以维度次序路由中路由的第一个维度次序做出并行计算机的本地节点组。另外,以维度次序路由中的最后维度次序做出并行计算机的远程节点组。把用以收集拥塞信息的定时假定为本地节点的运算处理装置101发出通信开始的指令时的时间。另外,把路由候选的类型假定为包在本地节点远程节点之间经过的出站路由和入站路由相同的类型。把要收集的拥塞信息假定为拥塞信息收集响应包的返回次序。把本地节点的运算处理装置101进行的路由选择指令假定为关于返回次序和使用节点数量阈值的指令。同时,存在用以说明根据第三实施例的并行计算机的示例,根据第三实施例的并行计算机不限于这种情形。在第三实施例中,本地节点的运算处理装置101向网络接口装置302发出通信开始的指令。运算处理装置101进行的通信开始指令包括用以发送拥塞信息收集包的远程节点地址、拥塞信息收集节点地址、要收集拥塞信息的路由候选、通信的类型、发送消息的情况下消息的存储地点、以及诸如返回次序等的路由选择指令。从运算处理装置101接收了通信开始指令的网络接口装置302生成拥塞信息收集指令包。图22是示出了根据第三实施例的拥塞信息收集指令包的字段的图。如图22中所示,在根据第三实施例的拥塞信息收集包的字段中,包括包类型1601、路由头部1602、本地节点地址1603、拥塞信息收集节点地址1604、远程节点地址1605、以及路由候选1606。这些字段的内容与以上通过图16的示例描述的第二实施例中相同。另外,如图22中所示,在根据第三实施例的拥塞信息收集指令包的字段中还包括路由选择指令2207。路由选择指令2207是包括关于本地节点的运算处理装置101进行的通信开始指令中包括的路由选择指令的信息的字段。本地节点的网络接口装置302把生成的拥塞信息收集指令包发送给属于与发出通信开始指令的本地节点同一本地节点组的拥塞信息收集节点。接收了拥塞信息收集指令包的拥塞信息收集节点的网络接口装置302在尚未收集拥塞信息收集指令包中包括的远程节点所属的组的拥塞信息时生成拥塞信息收集包。随后,网络接口装置302把生成的拥塞信息收集包发送给拥塞信息收集指令包指定的路由中的远程节点。上述网络接口装置302执行的拥塞信息收集包的生成和发送与根据上述第二实施例的拥塞信息收集节点的网络接口装置202执行的拥塞信息收集包的生成和发送相同。
另外,在接收拥塞信息收集包后,远程节点的网络接口装置302生成拥塞信息收集响应包,以及向拥塞信息收集节点返回生成的拥塞信息收集响应包。上述网络接口装置302执行的拥塞信息收集响应包的生成和发送与根据上述第二实施例的远程节点的网络接口装置202执行的拥塞信息收集包的生成和发送相同。随后,在接收到拥塞信息收集响应包后,拥塞信息收集节点的网络接口装置302把路由候选、诸如返回次序等的拥塞信息、以及收集了拥塞信息的远程节点组记录在路由表中。如上所述网络接口装置302执行的路由表中的记录与根据第二实施例的拥塞信息收集节点的网络接口装置202执行的路由表中的记录相同。另外,根据第三实施例的路由表可以与图17中示出的根据第二实施例的路由表相同。如上所述,在第三实施例中,拥塞信息收集节点一起收集拥塞信息。因此,可以在本地节点组中的本地节点之中共享路由的拥塞信息和使用状态,可以使通信路由多祥化。在第三实施例中,拥塞信息收集节点的网络接口装置302在基于拥塞信息收集指令包进行的指令收集拥塞信息之后,根据拥塞信息收集指令包中包括的路由候选的指定选择要用于通信的路由。网络接口装置302把包括所选择的路由的路由包发送给发送了通信开始指令包的本地节点的网络接口装置302。另外,把表明本地节点正使用所选择的路由的信息记录在路由表中。上述网络接口装置302执行的路由选择包的发送和路由表中的记录可以与根据上述第二实施例的拥塞信息收集节点的网络接口装置202执行的路由选择包的发送和路由表中的记录相同。在接收到路由包后,本地节点的网络接口装置302使用路由包中包括的路由开始通信。随后,当完成通信时,本地节点的网络接口装置302把表明通信完成的完成通知包发送给拥塞信息收集节点的网络接口装置302。在接收到完成通知包后,拥塞信息收集节点的网络接口装置302从路由表中使用节点的记录中删除关于作为完成通知包发送源的本地节点的信息。图23是根据第三实施例的拥塞信息收集节点的网络接口装置的控制单元执行的处理的流程图。在图23的步骤2301中,当控制单元3021从本地节点接收到拥塞信息收集指令包吋,开始拥塞信息的步骤2302中和之后的处理。拥塞信息收集指令包包括关于远程节点、路由候选、路由选择等的指令。在步骤2302中,控制单元3021參照拥塞信息收集指令包以确认拥塞信息收集目标所在的远程节点所属的远程节点组。例如,在图17中示出的路由表中,确认远程节点组是否在组I中。在步骤2303中,如果拥塞信息收集目标所在的远程节点所属的远程节点组不在路由表中,则处理前往步骤2304。在步骤2304中,控制单元3021向拥塞信息收集指令包指定的路由候选发送拥塞信息收集包,以及开始拥塞信息的收集。在步骤2305中,在从远程节点接收到拥塞信息收集响应包后,控制单元3021把诸 如接收的拥塞信息收集响应包中包括的返回次序等的拥塞信息保存在路由表中,处理前往步骤2306。在步骤2303中,如果拥塞信息收集目标所在的远程节点所属的远程节点组在路由表中,则处理前往步骤2306。在步骤2306中,控制单元3021參照路由表,以及根据路由选择指令选择路由。在图17中示出的路由表的示例中,控制单元3021參照路由表中的返回次序和使用节点,以及根据路由选择包指定的路由选择指令选择路由。例如,假定路由选择包指定的路由选择指令是关于按返回次序列出时的第k个(k是I至收集了拥塞信息的路由的数量n之中的整数)和使用节点数量阈值的指令。此路由选择指令的情形中控制单元3021执行的处理与以上參照图20A和图20B描述的根据第二实施例的控制单元2021执行的处理相同。当根据路由选择指令选择路由吋,控制单元3021向作为拥塞信息收集指令包发送源的本地节点返回包括关于所选择的路由的信息的路由包,处理前往步骤2307。在步骤2307中,控制单元3021把关于使用所选择的路由的本地节点的信息记录在路由表中,处理前往步骤2308。在步骤2308中,控制单元3021等待接收拥塞信息收集指令包或完成通知包。如果在步骤2309中控制单元接收到拥塞信息收集指令包,则处理返回到步骤2302。如果在步骤2309中控制单元接收到完成通知包,则处理前往步骤2310。在步骤2310中,控制单元3021从路由表中使用节点的记录中删除关于作为完成通知包发送源的本地节点的信息。如上所述,在根据第三实施例的并行计算机中,基于本地节点组中本地节点的运算处理装置对路由选择指令的指定,本地节点组中拥塞信息收集节点的网络接口装置选择路由。为此,可以减小运算处理装置进行路由选择的时延。此外,在根据第三实施例的并行计算机中,拥塞信息收集节点一起收集本地节点组中的拥塞信息。为此,可以在本地节点组中共享路由的拥塞信息和使用状态,可以使通信路由多样化。随后,在用以收集拥塞信息的定时是运算处理装置发出通信开始的指令时的时间的情形中,相比于运算处理装置在通信开始以前发出拥塞信息收集的指令时的时间的情形而言,可以减小本地节点与拥塞信息收集节点之间包发送/接收的数量。为此,可以减小路由的时延。另外,在本地节点的运算处理装置指定的路由选择指令例如是关于拥塞信息收集响应包返回次序的指令的情形中,本地节点的运算处理装置可以在无需等待直到返回所有路由候选对应的拥塞信息收集响应包为止的情况下发出通信开始的指令。为此,本地节点的运算处理装置的使用效率不降低。随后,在拥塞信息例如是拥塞信息收集响应包的返回次序的情形中,还反映从远程节点向本地节点返回的通信时间。为此,也可以在远程节点发送消息的通信(如,Get通信)的情形中执行适当的路由选择。[d]第四实施例在第一实施例中,本地节点的接ロ设备在收集拥塞信息之后基于收集的拥塞信息选择要用于通信的路由。另外,在第二和第三实施例中,本地节点组中拥塞信息收集节点的 网络接口装置在收集拥塞信息之后基于收集的拥塞信息选择要用于通信的路由。相比而言,在第四实施例中,本地节点的网络接口装置(或拥塞信息收集节点的网络接口装置)在收集拥塞信息之后以预定时间间隔重复拥塞信息的收集,以及基于新收集的拥塞信息改变要用于通信的路由。同时,在下面第四实施例的描述中,采用本地节点的网络接口装置执行拥塞信息的收集和路由选择的并行计算机(如,根据第一实施例的并行计算机)的示例进行描述。然而,也可以在诸如根据第二和第三实施例的并行计算机的本地节点组中的拥塞信息收集节点的网络接口装置执行拥塞信息的收集和路由选择的并行计算机中实现第四实施例。根据第四实施例的并行计算机的结构可以与图I中示出的并行计算机的结构相同。组成根据第四实施例的并行计算机的每个节点根据哪个节点执行去往哪个节点的通信成为本地节点和远程节点。因此,每个节点的结构可以是本地节点和远程节点中的任ー个。图24是根据第四实施例的节点是本地节点的情形中节点的结构图。在图24中把同样附图标记分配给与图5中示出的根据第一实施例的节点nl的组成元件相同的组成元件。同时,根据第四实施例的并行计算机的节点n4是远程节点的情形中节点的结构与以上通过图5的示例描述的第一实施例中相同。如图24中所示,在第四实施例中,网络接口装置402的控制单元4021包括拥塞信息收集包控制单元4021a和正常包控制单元4021b。拥塞信息收集包控制单元4021a基于来自运算处理装置101的拥塞信息收集指令处理拥塞信息收集包。即,拥塞信息收集包控制单元4021a基于来自运算处理装置101的拥塞信息收集指令生成拥塞信息收集包,以及指示拥塞信息收集包发送单元4023a来发送生成的拥塞信息收集包。随后,拥塞信息收集包控制单元4021a从包接收单元1024接收从目的节点返回的拥塞信息收集响应包,以及把收集的拥塞信息存储在路由表存储单元1022的路由表中。正常包控制单元4021b基于来自运算处理装置101的通信开始指令处理正常包。正常包是除了拥塞信息收集包以外的包,如,通信时发送的包。正常包控制单元4021b基于来自运算处理装置101的通信开始指令,指示正常包发送单元4023b使用拥塞信息收集包控制单元4021a基于路由表选择的路由发送正常包。如图24中所示,在第四实施例中,网络接口装置402中的包发送单元4023包括拥塞信息收集包发送单元4023a和正常包发送单元4023b。拥塞信息收集包发送单元4023a基于来自拥塞信息收集包控制单元4021a的指令经由网络105向另ー节点n4发送拥塞信息收集包。正常包发送单元4023b基于来自正常包控制单元4021b的指令经由网络105向另ー节点n4发送正常包。根据第四实施例的交换机的结构和操作与上述根据第一实施例的交换机Si的结构和操作相同。下面參照图25描述图24中示出的根据第四实施例的节点n4执行的处理。
图25是根据第四实施例的节点执行的处理的流程图。在图25中的步骤2501中,在从运算处理装置101接收到拥塞信息收集的指令后,本地节点的拥塞信息收集包控制单元4021a开始步骤2502中和之后的处理。运算处理装置101进行的拥塞信息收集指令包括关于远程节点、路由候选、以及收集拥塞信息的间隔的指令。在步骤2502中,拥塞信息收集包控制单元4021a生成拥塞信息收集包。随后,拥塞信息收集包控制单元4021a经由拥塞信息收集包发送单元4023a,把生成的拥塞信息收集包发送给来自运算处理装置101的指令指定的路由候选。拥塞信息收集包控制单元4021a执行的这些处理与根据第一实施例的节点nl的控制单元1021执行的处理相同。另外,拥塞信息收集包与參照图9描述的第一实施例中的相同。接收了拥塞信息收集包的远程节点的网络接口装置生成拥塞信息收集响应包。随后,远程节点的网络接口装置向本地节点返回拥塞信息收集响应包。这些处理与根据第一实施例的远程节点的网络接ロ単元102执行的处理相同。另外,拥塞信息收集响应包与參照图9描述的第一实施例中的相同。在步骤2503中,本地节点的拥塞信息收集包控制单元4021a经由包接收单元1024接收拥塞信息收集响应包。随后,拥塞信息收集包控制单元4021a把诸如返回次序的拥塞信息记录在路由表中。拥塞信息收集包控制单元4021a执行的这些处理与根据第一实施例的节点nl的控制单元1021执行的处理相同。另外,在要收集的拥塞信息例如是返回次序的情形中,根据第四实施例的路由表的结构可以与图10中示出的路由表相同。在步骤2504中,拥塞信息收集包控制单元4021a就正常包控制单元4021b检查关于是否正与收集了拥塞信息的远程节点执行通信。作为步骤2504中检查的結果,如果正常包控制单元4021b正执行与收集了拥塞信息的远程节点的通信,则处理前往步骤2505。在步骤2505中,拥塞信息收集包控制单元4021a參照路由表,以及在正常包的通信开始后根据运算处理装置101指定的路由选择指令再次选择路由。例如,拥塞信息收集包控制单元4021a按照运算处理装置101指定的返回次序再次选择路由。随后,拥塞信息收集包控制单元把关于再次选择的路由的信息发送给正常包控制单元4021b。正常包控制単元4021b使用再次选择的路由执行通信,处理前往步骤2506。
作为步骤2504中检查的結果,如果正常包控制单元4021b并非正执行与收集了拥塞信息的远程节点的通信,则处理前往步骤2506。在步骤2506中,拥塞信息收集包控制单元4021a等待来自运算处理装置101的拥塞信息收集指令中指定的预定时间。在预定时间过去之后,处理回到步骤2502,重复步骤2502中和之后的处理。如上所述,在根据第四实施例的并行计算机中,网络接口装置基于来自运算处理装置的路由选择的指定方法选择路由。为此,可以减小路由选择的时延。另外,在根据第四实施例的并行计算机中,把拥塞信息的收集和通信分开。为此,可以在执行通信的同时发送拥塞信息收集包,可以在执行通信的同时基于收集的拥塞信息改变路由。此外,在第四实施例中,拥塞信息收集包控制单元以预定间隔收集拥塞信息,以及再次选择路由。为此,还可以处置在正执行通信时的期间拥塞状态的改变。 另外,在运算处理设备指定的路由选择指令例如是关于拥塞信息收集响应包返回次序的指令的情形中,运算处理装置可以在无需等待直到返回所有路由候选对应的拥塞信息收集响应包为止的情况下发出通信开始的指令。为此,运算处理装置的使用效率不降低。另外,如果拥塞信息是拥塞信息收集响应包的返回次序,则还反映从远程节点向本地节点返回的通信时间。为此,也可以在远程节点发送消息的通信(如,Get通信)的情形中执行适当路由选择。在以上本实施例的描述中,通过本地节点的网络接口装置执行拥塞信息的收集和路由选择的情形(如,根据第一实施例的并行计算机)的示例进行描述。然而,也可以在本地节点组中的拥塞信息收集节点的网络接口装置执行拥塞信息的收集和路由选择的并行计算机(如,根据第二和第三实施例的并行计算机)中如下实现第四实施例。S卩,例如,假定根据第二实施例的拥塞信息收集节点的控制单元2021与根据第四实施例的本地节点的控制单元4021相同。另外,假定从本地节点组中的本地节点发送的拥塞信息收集指令包指定拥塞信息的更新间隔。随后,通过与本实施例中相同的处理,拥塞信息收集节点的网络接口装置2021以预定间隔收集拥塞信息和更新路由表。在更新路由表之后,如果发送拥塞信息收集指令包的节点源在路由表中的使用节点中,则拥塞信息收集节点的控制单元4021再次选择路由,以及向作为拥塞信息收集指令包发送源的本地节点,返回包括关于再次选择的路由的信息的路由包。在接收到路由包后,本地节点的网络接ロ装置2021执行对路由包指定的路由的改变。[e]第五实施例在第一至第四实施例中,拥塞信息是从拥塞信息收集包的发送直到拥塞信息收集响应包的返回为止路由候选的返回次序。相比而言,在第五实施例中,拥塞信息是从拥塞信息收集包的发送直到拥塞信息收集响应包的返回为止的响应时间。同时,在下面第五实施例的描述中,通过本地节点的网络接口装置执行拥塞信息的收集和路由选择的并行计算机(如,根据第一实施例的并行计算机)的示例进行描述。然而,也可以在本地节点组中拥塞信息收集节点的网络接口装置执行拥塞信息的收集和路由选择的并行计算机(如,根据第二和第三实施例的并行计算机)中实现第五实施例。
根据第五实施例的并行计算机的结构可以与图I中示出的并行计算机的结构相同。组成根据第五实施例的并行计算机的每个节点根据哪个节点执行去往哪个节点的通信成为本地节点和远程节点。因此,每个节点的结构可以是本地节点和远程节点中的任ー个。图26是根据第五实施例的节点是本地节点的情形中节点的结构图。在图26中把同样附图标记分配给与图5中示出的根据第一实施例的节点nl的组成元件相同的组成元件。同时,根据第五实施例的并行计算机的节点是远程节点的情形中节点的结构与以上通过图5的不例描述的第一实施例中相同。如图26中所示,根据第五实施例的节点n5包括计数器5026。使用计数器5026测量从拥塞信息收集包的发送直到拥塞信息收集响应包的返回为止的响应时间。
根据第五实施例的交换机的结构和操作与根据第一实施例的交换机Si的结构和操作相同。在第五实施例中,本地节点的网络接口装置502的控制单元5021从运算处理装置101接收拥塞信息收集指令。运算处理装置101进行的拥塞信息收集指令包括关于远程节点和路由候选的指令。从运算处理装置101接收了拥塞信息收集指令的控制单元5021生成拥塞信息收集包。随后,控制单元5021向包发送单元5023发送指令以发送拥塞信息收集包。根据第五实施例的控制单元5021执行的这些处理与根据第一实施例的控制单元1021执行的处理相同。接收了拥塞信息收集包发送指令的包发送单元5023在发送拥塞信息收集包时在拥塞信息收集包中部署计数器值。接收了拥塞信息收集包的远程节点的网络接口装置不做改变地部署拥塞信息收集响应包中的计数器值并将其返回本地节点。图27是示出了根据第五实施例的拥塞信息收集包和拥塞信息收集响应包的字段的图。同时,在图24中把同样附图标记分配给与图9中示出的根据第一实施例的拥塞信息收集包和拥塞信息收集响应包中相同的字段。如图27中所示,根据第五实施例的拥塞信息收集包和拥塞信息收集响应包还具有包括计数器值的字段2706。在从远程节点接收到拥塞信息收集响应包后,本地节点的包接收单元5024从计数器5026获得当前计数器值,以及把获得的计数器值和接收的拥塞信息收集响应包发送给控制单元5021。控制单元5021计算当前计数器值与拥塞信息收集响应包中包括的计数器值之间的差。通过此计算,控制単元5021可以测量从拥塞信息收集包的发送直到拥塞信息收集响应包的返回为止路由候选的响应时间。在测量响应时间之后,控制单元5021把响应时间和响应时间次序记录在路由表存储单元1022中的路由表中。图28是根据第五实施例的路由表的示例。在图28中示出的路由表的示例中,按响应时间的次序呈现路由候选及其响应时间。在图28中示出的路由表中,以路由I、路由2.....以及路由n的形式表明路由候
选。然而,在通过中继节点和维度次序指定每个路由候选时,可以通过每个路由的中继节点和维度次序表明路由I、路由2、...、以及路由n。接下来,描述根据第五实施例的并行计算机的本地节点n5开始通信的处理。在根据第五实施例的并行计算机中,当开始去往收集了拥塞信息的远程节点的通信时,本地节点的运算处理装置101向网络接口装置502的控制单元5021发送通信开始指令。运算处理装置101执行的通信开始指令包括远程节点地址、通信的类型、发送消息的情况下消息的存储地点、以及响应时间次序作为路由选择指令。控制单元5021根据作为路由选择指令指定的响应时间次序參照路由表。控制单元5021从路由表中选择相应路由,以及使用选择的相应路由开始通信。如上所述,在根据第五实施例的并行计算机中,网络接ロ装置基于来自运算处理装置的路由选择的指定方法选择路由。为此,可以减小路由选择的时延。此外,在第五实施例中,拥塞信息是从拥塞信息收集包的发送至拥塞信息收集响 应包的返回的响应时间。为此,可以收集相比于拥塞信息是返回次序的情形而言更准确的拥塞信息,消除了由于向拥塞信息收集包发送的次序在收集多个路由候选的拥塞信息时早或晚所致的瞬时效应。随后,在第五实施例中,由于拥塞信息是拥塞信息收集响应包的响应时间次序,所以还反映从远程节点向本地节点返回的通信时间。为此,也可以在远程节点发送消息的通信(如,Get通信)的情形中执行适当路由选择。在以上第五实施例的描述中,通过本地节点的网络接口装置执行拥塞信息的收集和路由选择的情形(如,根据第一实施例的并行计算机)的示例进行描述。然而,也可以在本地节点组中拥塞信息收集节点的网络接口装置执行拥塞信息的收集和路由选择的并行计算机(如,根据第二和第三实施例的并行计算机)中如下实现第五实施例。S卩,例如,在根据第二实施例的拥塞信息收集节点的网络接口装置202中设置与上述根据第五实施例的本地节点的网络接口装置502中相同的计数器5026。随后,使得收集拥塞信息的处理中根据第二实施例的拥塞信息收集节点的控制单元2021的处理流程与根据第五实施例的本地节点的控制单元5021的处理流程相同。此外,当在根据第二和第三实施例的并行计算机中实现上述第五实施例时,可以采用如下路由选择指令。即,假定路由选择指令是关于按响应时间次序列出时的第k个(k是I至收集了拥塞信息的路由的数量n之中的整数)和作为路由候选的路由的响应时间之间的差的阈值的指令。在此情形中,如果不存在使用第k个路由的节点或如果即使存在使用第k个路由的节点时第k个路由的响应时间与第k+1个路由的响应时间之间的差也超过阈值,则选择第k个路由。如果不存在使用路由的节点以及它们的响应时间之间的差不超过阈值,则此后,以同样方式,检查是否存在使用第k+1个路由的节点和第k+1个路由的响应时间与第k+2个路由的响应时间之间的差是否超过阈值。随后,如果即使通过检查是否存在使用第n-1个路由的节点和第n-1个路由的响应时间与第n个路由的响应时间之间的差是否超过阈值也无法选择路由,则选择第k个路由。[f]第六实施例如上所述,可以在除了第一、第四和第五实施例中描述的以外的情形中实现诸如根据第一实施例的并行计算机的本地节点的网络接口装置执行拥塞信息的收集和路由选择的并行计算机。另外,可以在除了第二至第五实施例中描述的以外的情形中实现诸如根据第二和第三实施例的并行计算机的本地节点组中拥塞信息收集节点的网络接口装置执行拥塞信息的收集和路由选择的并行计算机。因此,作为第六实施例,还描述了以下情形。即,把用以收集拥塞信息的定时假定为运算处理装置发出拥塞信息收集的指令时的时间。对于路由候选的类型,假定包在本地节点与远程节点之间经过的出站和入站路由不同。把拥塞信息假定为包经过的转接交換机的缓存器使用量。假定用以获得拥塞信息的方法是通过经过交換机中的专用路由进行的收集。对于获得拥塞信息的単元和路由选择信息,假定包在本地节点与远程节点之间经过的出站和入站路由不同。假定基于缓存器使用量的次序和通信类型执行路由选择。同时,在下面第六实施例的描述中,通过本地节点的网络接口装置执行拥塞信息的收集和路由选择的并行计算机(如,根据第一实施例的并行计算机)的示例进行描述。然而,也可以在本地节点组中拥塞信息收集节点的网络接口装置执行拥塞信息的收集和路由选择的并行计算机(如,根据第二和第三实施例的并行计算机)中实现第六实施例。根据第六实施例的并行计算机的结构可以与图I中示出的并行计算机的结构相 同。组成根据第六实施例的并行计算机的每个节点根据哪个节点执行去往哪个节点的通信成为本地节点和远程节点。因此,每个节点的结构可以是本地节点和远程节点中的任ー个。图29是根据第六实施例的节点的结构图。在图29中把同样附图标记分配给与图5中示出的根据第一实施例的节点nl的组成元件相同的组成元件。在第六实施例中,本地节点和远程节点的每个网络接口装置601中的控制单元6021被配置成如下执行处理。在第六实施例中,本地节点的控制单元6021从运算处理装置101接收拥塞信息收集指令,以及开始处理拥塞信息。运算处理装置101进行的拥塞信息收集指令包括关于远程节点和路由候选的指令。例如通过指定本地节点与远程节点之间的路由中的中继节点、以及通过按维度次序路由的维度的次序指定用以判断本地节点与中继节点之间的路由以及中继节点与远程节点之间的路由的方法执行运算处理装置101对路由候选的指定。另外,在第六实施例中,运算处理装置101指定路由候选,以使得包经过的出站路由和入站路由不同。同时,出站路由是指包从本地节点向远程节点经过的路由。另外,入站路由是指包从远程节点向本地节点经过的路由。从运算处理装置101接收了拥塞信息收集指令的本地节点的控制单元6021生成拥塞信息收集包,以及使用出站路由经由包发送单元1023把生成的拥塞信息收集包发送给远程节点。接收了拥塞信息收集包的远程节点的控制单元6021生成拥塞信息收集响应包。随后,远程节点的控制单元6021使用拥塞信息收集包指定的入站路由把拥塞信息收集响应包发送回本地节点。图30是示出了根据第六实施例的拥塞信息收集包和拥塞信息收集响应包的字段的图。同时,在图30中把同样附图标记分配给与图9中示出的根据第一实施例的拥塞信息收集包和拥塞信息收集响应包中相同的字段。
在第六实施例中,指定路由候选,以使得包经过的出站和入站路由不同。另外,拥塞信息是包经过的转接交換机的缓存器使用量。因此,如图30中所示,拥塞信息收集包和拥塞信息收集响应包还具有包括出站路由3005a、入站路由3005b、出站路由头部3002a、入站路由头部3002b、出站缓存器使用量3006a、以及入站缓存器使用量3006b的字段。在图30中示出的包字段3000中,出站路由3005a是包括从本地节点去往远程节点的拥塞信息收集包的路由的字段。另外,入站路由3005b是包括从远程节点去往本地节点的拥塞信息收集响应包的路由的字段。出站缓存器使用量3006a是包括拥塞信息收集包经过的路由上的交換机的缓存器使用量的字段。在拥塞信息收集包的情形中,拥塞信息收集包经过的交換机把拥塞信息收集包经过的端ロ的缓存器使用量添加到拥塞信息收集包的出站缓存器使用量3006a。入站缓存器使用量3006b是包括拥塞信息收集响应包经过的路由上的交换机的 缓存器使用量的字段。在拥塞信息收集响应包的情形中,拥塞信息收集响应包经过的路由上的交換机把拥塞信息收集响应包经过的端ロ的缓存器使用量添加到拥塞信息收集响应包的入站缓存器使用量3006b。出站路由头部3002a是指定从本地节点去往远程节点的路由的字段。例如,当通过中继节点和维度次序指定出站路由时,在出站路由头部3002a中包括这些的信息。拥塞信息收集包的路由上的交换机是指用以判断发送端ロ的出站路由头部3002a。包字段中的入站路由头部3002b是指定从远程节点去往本地节点的路由的字段。例如,当通过中继节点和维度次序指定入站路由时,在入站路由头部中包括这些的信息。拥塞信息收集响应包的路由上的交换机是指用以判断发送端ロ的入站路由头部3002b。本地节点的控制单元6021等待从远程节点发送的拥塞信息收集响应包。在经由包接收单元1024接收到拥塞信息收集响应包后,控制单元6021把拥塞信息收集响应包中包括的拥塞信息记录在路由表存储单元1022的路由表中。在第六实施例中,要记录的拥塞信息是出站路由和入站路由中每个的缓存器使用量。图31是根据第六实施例的路由表的示例。如图31中所示,在路由表中,对于出站路由和入站路由中的每个记录缓存器使用量和缓存器使用量的次序。接下来,当在收集拥塞信息之后开始通信时,本地节点的运算处理装置101向控制単元6021发送通信开始指令。运算处理装置101进行的通信开始指令包括远程节点地址、通信的类型、发送消息的情况下消息的存储地点、以及路由选择指令。在本实施例中,作为路由选择指令,运算处理装置101指定缓存器使用量的次序和通信的类型。如果运算处理装置101指定的通信的类型是本地节点向远程节点发送消息的通信(如,Put通信),则控制単元6021參照路由表,以及基于列出缓存器使用量时的次序从出站路由中选择路由。另外,如果运算处理装置101指定的通信的类型是远程节点向本地节点发送消息的通信(如,Get通信),则控制単元6021參照路由表,以及基于列出缓存器使用量时的次序从入站路由中选择路由。根据本发明,网络接口装置可以只基于消息的出站路由或入站路由的信息选择路由。另外,根据本发明,通过发送拥塞信息收集包,可以一次收集本地节点向远程节点发送消息的通信(如,Put通信)的拥塞信息和远程节点向本地节点发送消息的通信(如,Get通/[目)的拥塞/[目息。接下来,描述根据第六实施例的并行计算机的交换机的结构和操作。在第六实施例中,可以使得拥塞信息收集包和拥塞信息收集响应包在交換机中经过的路由和除了这些包以外的正常包在交換机中经过的路由不同。图32是根据第六实施例的交换机的结构图。虽然图32示出了每个节点连接到一维网络的情形中的交換机,当配置多维网络时,图32中示出的交换机s6具有图32中示出的端ロ增加的结构。 如图32中所示,在交换机s6中,包括用以连接网络接ロ的端口和用以连接其他交换机的端ロ。在图32中,为了使得描述清楚,在每个端ロ p4、p5、p6中只示出了发送单元或接收単元。然而,每个端ロ P4、p5、p6具有分别包括拥塞信息包处理单元和正常包处理单元的发送单元和接收单元的这两个单元。在端ロ的发送单元t4中,包括拥塞信息包处理单元t4a和正常包处理单元t4b。另外,在端ロ的接收单元r5、r6中,包括拥塞信息包处理单元r5a、r6a和正常包处理单元rob、r6b。拥塞信息包处理单元t4a、r5a、r6a是用以处理拥塞信息收集包和拥塞信息收集响应包的单元。在拥塞信息包处理单元t4a、r5a、r6a中,包括控制单元t4ac、r5ac> r6ac和缓存器 t4ab、r5ab> r6ab。正常包处理单元t4b、r5b、r6b是用以处理除了拥塞信息收集包和拥塞信息收集响应包以外的正常包的单元。在正常包处理单元t4b、r5b、r6b中,包括控制单元t4bc、r5bc> r6bc 和缓存器 t4bb、r5bb、r6bb。作为示例,图32示出了在端ロ p4的发送单元的拥塞信息包处理单元的控制单元t4ac与端ロ p5、p6的拥塞信息包处理单元的接收单元的控制单元r5ac、r6ac之间执行包发送/接收的情形。另外,作为示例,图32示出了在端ロ p4的正常包处理单元的控制单元t4bc与端ロ p5、p6的正常包处理单元的接收单元的控制单元r5bc、r6bc之间执行包发送/接收的情形。在根据第六实施例的交换机s6中,从交换机外部的网络接口装置602或从其他交换机s6接收的包分配给端ロ p4、p5、p6的发送单元的正常包处理单元或拥塞信息包处理单元并处理。正常包控制单元执行的处理与以上參照图12描述的根据第一实施例的交换机执行的处理相同。对于拥塞信息包处理单元执行的处理,在图12中的步骤1202中,添加如下处理。即,在图12中的步骤1202中,当更新路由头部时,把正常包处理单元中缓存器的缓存器使用量添加到正处理的拥塞信息收集包中缓存器使用単元的字段或正处理的拥塞信息收集响应包中缓存器使用単元的字段。添加缓存器使用量之后拥塞信息包处理单元执行的处理与以上參照图12描述的根据第一实施例的交换机执行的处理相同。
如图32中所示,拥塞信息收集包和拥塞信息收集响应包经过与正常包不同的路由,把每个端ロ的缓存器使用量添加到这些包的缓存器使用量的字段。根据按照第六实施例的交換机,可以减小用于收集拥塞信息的拥塞信息收集包和拥塞信息收集响应包对其它通信的影响。同时,在以上第六实施例的描述中,通过本地节点的网络接口装置执行拥塞信息的收集和路由选择的情形(如,根据第一、第四和第五实施例的并行计算机)的示例进行描述。然而,也可以在本地节点组中拥塞信息收集节点的网络接口装置执行拥塞信息的收集和路由选择的并行计算机(如,根据第二和第三实施例的并行计算机)中实现第六实施例。S卩,按照根据本实施例的本地节点的运算处理装置执行的处理改变根据第二和第三实施例的并行计算机的本地节点执行的处理。按照根据本实施例的本地节点的网络接ロ装置执行的处理改变根据第二和第三实施例的并行计算机的拥塞信息收集节点执行的处理。按照根据本实施例的远程节点的网络接口装置执行的处理改变根据第二和第三实施例 的并行计算机的远程节点执行的处理。按照根据本实施例的交换机执行的处理改变根据第ニ和第三实施例的并行计算机的交换机执行的处理。[g]第七实施例在上述第根据一至第六实施例中每个的并行计算机中,本地节点的网络接口装置(或拥塞信息收集节点的网络接口装置)在发送拥塞信息收集包之后执行用以收集拥塞信息的处理直到接收到拥塞信息收集响应包为止。在根据第七实施例的并行计算机中,设置用于完成本地节点的网络接口装置(或拥塞信息收集节点的网络接口装置)执行的拥塞信息收集的条件。在下面第七实施例的描述中,描述了把接收的拥塞信息收集响应包的包的数量、以及从拥塞信息收集包的发送直到拥塞信息收集响应包的接收为止的超时设定值设置成用于完成拥塞信息收集的条件的情形。另外,在下面第七实施例的描述中,通过本地节点的网络接口装置执行拥塞信息的收集和路由选择的并行计算机(如,根据第一实施例的并行计算机)的示例进行描述。然而,也可以在本地节点组中拥塞信息收集节点的网络接口装置执行拥塞信息的收集和路由选择的并行计算机(如,根据第二和第三实施例的并行计算机)中实现第七实施例。根据第七实施例的并行计算机的结构可以与图I中示出的并行计算机的结构相同。组成根据第七实施例的并行计算机的每个节点根据哪个节点执行去往哪个节点的通信成为本地节点和远程节点。因此,每个节点的结构可以是本地节点和远程节点中的任ー个。图33是根据第七实施例的节点是本地节点的情形中节点的结构图。在图33中把同样附图标记分配给与图5中示出的根据第一实施例的节点nl的组成元件相同的组成元件。同时,根据第七实施例的并行计算机的节点是远程节点的情形中节点的结构与以上通过图5的不例描述的第一实施例中相同。如图33中所示,在根据第七实施例的节点n7的网络接口装置中,包括用于测量从控制单元7021发送拥塞信息收集包时直到接收到拥塞信息收集响应包为止的超时设定值的计数器7026。
根据第七实施例的交换机的结构和操作可以与根据第一实施例的交换机Si的结构和操作相同。图34是根据第七实施例的本地节点的控制单元执行的处理的流程图。在步骤3401中,在从本地节点的运算处理装置101接收到拥塞信息收集指令后,控制单元7021开始拥塞信息的处理。运算处理装置101进行的拥塞信息收集指令包括关于远程节点、路由候选、拥塞信息收集响应包的数量、以及超时设定值的指令。在步骤3402中,控制单元7021生成拥塞信息收集包,以及使用拥塞信息收集指令指定的路由把生成的拥塞信息收集包发送给远程节点。另外,控制单元7021与拥塞信息收集包的发送一起获得和记录来自计数器7026的当前计数器值。同时,根据本实施例的拥塞信息收集包可以与根据第一实施例的拥塞信息收集包相同。接收了拥塞信息收集包的远程节点的网络接口装置把拥塞信息收集响应包发送回本地节点。根据本实施例的远程节点的网络接口装置执行的处理可以与根据第一实施例 的远程节点的网络接口装置102执行的处理相同。另外,根据本实施例的拥塞信息收集响应包可以与根据第一实施例的拥塞信息收集响应包相同。在步骤3403中,控制单元7021执行对于用于完成拥塞信息收集的条件的确定。S卩,在步骤3403中,如果发送时获得的计数器值与计数器的当前计数器值之间的差小于指定的超时设定值和接收的拥塞信息收集响应包的数量小于拥塞信息收集响应包的指定数量,则处理前往步骤3404。在步骤3404中,控制单元7021等待拥塞信息收集响应包的接收,如果接收到,则把诸如拥塞信息收集响应包的返回次序的拥塞信息和路由保存在路由表存储单元1022中的路由表中。另外,与路由表中的保存一起,更新和记录接收的拥塞信息收集响应包的数量。如果在步骤3403中发送时获得的计数器值与计数器的当前计数器值之间的差等于或大于指定的超时设定值、或者接收的拥塞信息收集响应包的数量等于或大于指定值,则控制单元7021完成拥塞信息的收集。根据第七实施例,设置用于完成拥塞信息收集的条件。为此,如果例如在远程节点中或在路由上的交換机中出现故障和存在拥塞信息收集响应包不返回的路由,则本地节点的网络接口装置可以完成拥塞信息的收集。另外,根据第七实施例,本地节点的网络接口装置从拥塞信息收集响应包返回的路由中选择路由。为此,可以避免选择出现了故障的路由作为要用于通信的路由。随后,根据第七实施例,在例如使用通过返回次序的指定具有第一个返回的路由的情形中,可以把关于用于完成拥塞信息收集的条件的拥塞信息收集响应包的数量设置为I。为此,可以减少拥塞信息收集的时间。在以上第七实施例的描述中,通过本地节点的网络接口装置执行拥塞信息的收集和路由选择的情形(如,根据第一实施例的并行计算机)的示例进行描述。然而,也可以在本地节点组中拥塞信息收集节点的网络接口装置执行拥塞信息的收集和路由选择的并行计算机(如,根据第二和第三实施例的并行计算机)中实现第七实施例。S卩,例如,在根据第二实施例的拥塞信息收集节点的网络接口装置202中设置上述根据第七实施例的本地节点的网络接口装置702的计数器7021。随后,还根据第二实施例按照拥塞信息在拥塞信息收集节点的控制单元2021的处理流程中执行关于上述根据本实施例收集拥塞信息的过程中计数器值的控制単元7021的处理流程。关于本发明的实施例,还公开了以下附录。(附录I)ー种信息处理设备,所述信息处理设备经由多条路由连接到包括在并行计算机中的其他信息处理设备,所述信息处理设备包括运算处理装置,用于发出用于收集拥塞信息的指令和用于通信的指令;路由信息保存単元,用于保存用于执行通信的路由信息;发送单元,用于向所述多条路由中的任意一条发送用于收集拥塞信息的拥塞信息收集包;接收单元,用于从所述多条路由中的任意一条接收与所述拥塞信息收集包对应的 拥塞信息收集响应包;以及控制单元,用于在所述运算处理装置发出用于收集拥塞信息的指令时使得所述发送单元发送所生成的拥塞信息收集包,基于由所述接收単元接收的所述拥塞信息收集响应包中包括的拥塞信息从所述路由信息保存単元中选择路由信息,并且使得所述发送単元基于所选择的路由信息执行由所述运算处理装置指示的通信。(附录2)根据附录I所述的信息处理设备,其中 所述控制単元在所述运算处理装置向所述控制单元发出指令以开始通信时收集
拥塞信息。(附录3)根据附录I所述的信息处理设备,其中当所述运算处理装置发出用于收集拥塞信息的指令时所述运算处理装置向所述控制单元指定的路由通过指定所述信息处理设备和所述拥塞信息收集包发送到的目的信息处理设备之间的中继信息处理设备以及指定关于所述中继信息处理设备之间的路由和所述中继处理设备与所述目的信息处理设备之间的路由的维度次序路由中的维度的次序来指定。(附录4)根据附录I或2所述的信息处理设备,其中所述拥塞信息是所述控制单元接收所述拥塞信息收集响应包的返回次序。(附录5)根据附录4所述的信息处理设备,其中当所述运算处理装置发出用于通信的指令时所述运算处理装置向所述控制単元指定的路由通过收集了所述拥塞信息的路由按所述返回次序列出时的任何排列次序来指定。(附录6)根据附录5所述的信息处理设备,其中所述控制単元在所述控制単元接收到所述任何排列次序的拥塞信息收集响应包时的时间点处选择用于所述通信的路由。(附录7)根据附录I至6中的任意一项所述的信息处理设备,其中所述运算处理装置仅指定出站路由,所述拥塞信息收集包通过所述出站路由去往目的信息处理设备。(附录8)根据附录I至6中的任意一项所述的信息处理设备,其中所述运算处理装置指定出站路由,所述拥塞信息收集包通过所述出站路由去往目的信息处理设备,并且所述运算处理装置指定来自所述信息处理设备的入站路由以接收所述拥塞信息收集响应包。(附录9)根据附录I或2所述的信息处理设备,其中所述拥塞信息是从所述控制单元发送所述拥塞信息收集包直到所述控制単元接收所述拥塞信息收集响应包为止的响应时间。(附录10)根据附录9所述的信息处理设备,其中当所述运算处理装置发出用于通信的指令时所述运算处理装置向所述控制単元指定的路由通过收集了所述拥塞信息的路由按所述响应时间列出时的任何排列次序来指定。(附录11)根据附录I或2所述的信息处理设备,其中 所述拥塞信息是所述拥塞信息收集包和所述拥塞信息收集响应包经过的交換机中的缓存器的缓存器使用量。(附录12)根据附录11所述的信息处理设备,其中所述拥塞信息收集包和所述拥塞信息收集响应包经过与所述交换机中其他的包不同的路由。(附录13)根据附录11所述的信息处理设备,其中对于出站路由和去往接收所述拥塞信息收集响应包的所述信息处理设备的入站路由单独收集所述交换机中的缓存器的缓存器使用量,其中所述拥塞信息收集包经过所述出站路由到目的信息处理设备。(附录14)根据附录13所述的信息处理设备,其中当所述运算处理装置发出用于通信的指令时向所述控制単元指定的路由通过收集了所述拥塞信息的路由按缓存器使用量列出时的任何排列次序来指定。(附录15)根据附录13所述的信息处理设备,其中当所述运算处理装置发出用于通信的指令时向所述控制単元指定的路由通过所述缓存器使用量的次序和所述通信的类型来指定,以及所述控制単元在所述信息处理设备向所述目的信息处理设备发送消息的情形下基于列出关于所述出站路由的所述缓存器使用量时的次序判断路由,并且在所述目的信息处理设备向所述信息处理设备发送消息的情形下基于列出关于所述入站路由的所述缓存器使用量时的次序判断路由。(附录16)根据附录I所述的信息处理设备,其中所述运算处理装置向所述控制单元发出指令以按预定间隔重复拥塞信息的收集,以及所述控制单元按所指示的预定间隔重复发送所述拥塞信息收集包,将所接收的拥塞信息收集响应包中包括的拥塞信息写入到所述路由信息保存単元中,并且在所述信息处理设备处于通信中时在写入所述拥塞信息后再次选择通信中的路由。(附录17)根据附录I所述的信息处理设备,其中所述运算处理装置在开始用于收集拥塞信息的指令后,指定由所述控制単元接收的拥塞信息收集响应包的数量、以及从发送所述拥塞信息收集包直到接收到所述拥塞信息收集响应包为止的超时设定时间段;以及所述控制単元在接收到所指定的数量的拥塞信息收集响应包或者在从拥塞信息的收集开始经过了所述超时设定时间段时完成拥塞信息的收集。(附录18)—种并行计算机系统,其中连接了多个信息处理设备,所述信息处理设备包括运算处理装置,用于发出用于在所述并行计算机系统中收集拥塞信息的指令和用于所述并行计算机系统中的通信的指令;路由信息保存単元,用于保存路由信息以执行与其他信息处理设备的通信;发送单元,用于向其他信息处理设备发送用于收集拥塞信息的拥塞信息收集包;接收单元,用于接收来自其他信息处理设备的拥塞信息收集包、和来自其他信息处理设备的与所述发送单元发送的拥塞信息收集包对应的拥塞信息收集响应包;以及控制单元,用于在所述运算处理装置发出用于收集拥塞信息的指令时使得所述发 送単元发送拥塞信息收集包,基于由所述接收単元接收的拥塞信息收集响应包中包括的拥塞信息从所述路由信息保存単元中选择路由信息,使得所述发送単元基于所选择的路由信息执行由所述运算处理装置指示的通信以及在从其他信息处理设备接收到拥塞信息收集包时生成对应的拥塞信息收集响应包,并且使得所述发送単元向其他信息处理设备发送所生成的拥塞信息收集响应包。(附录19)一种并行计算机系统的控制方法,在所述并行计算机系统中,包括第一信息处理设备和第二信息处理设备的多个信息处理设备经由多条路由连接,所述控制方法包括由所述第一信息处理设备具有的运算处理装置发出用于收集拥塞信息的指令;在所述运算处理装置发出用于收集拥塞信息的指令时,由所述第一信息处理设备具有的第一控制单元生成用于收集拥塞信息的拥塞信息收集包;由所述第一信息处理设备具有的第一发送单元将所述第一控制单元生成的所述拥塞信息收集包发送至所述多条路由中的任意一条;由所述第二信息处理设备具有的第二接收单元经由所述多条路由中的任意一条接收所述拥塞信息收集包;由所述第二信息处理设备具有的第二控制单元生成与所述拥塞信息收集包对应的拥塞信息收集响应包;由所述第二信息处理设备具有的第二发送单元将所述第二控制单元生成的所述拥塞信息收集响应包发送至所述多条路由中的任意一条;由所述第一信息处理设备具有的第一接收单元接收来自所述多条路由中的任意一条的与所述拥塞信息收集包对应的所述拥塞信息收集响应包;由所述第一控制单元基于所述接收单元接收的所述拥塞信息收集响应包中包括的拥塞信息重写所述第一信息处理设备具有的路由信息保存単元保存的路由信息;以及使得所述第一发送单元基于所述第一控制单元所重写的路由信息执行由所述运算处理装置指示的通信。(附录20)—种并行计算机系统,其中连接了多个信息处理设备,所述信息处理设备包括运算处理装置,用于发出用于收集拥塞信息的指令和用于通信的指令;发送单元,用于向其他信息处理设备发送用于执行拥塞信息的收集指令的拥塞信息收集指令包、用于在开始通信后执行路由指令的路由选择包以及用于表明通信完成的完成通知包,所述其他信息处理设备收集拥塞信息并且设置在开始通信且所述信息处理设备所属的信息处理设备组中,并且在所述信息处理设备被设置为收集拥塞信息的信息处理设备时,所述发送単元用于使用多条路由中的任意一条向属于接收通信的信息处理设备组的信息处理设备发送用于收集拥塞信息的拥塞信息收集包,以及用于向已经发出用于通信的指令的信息处理设备发送包括基于所述路由选择包选择的路由信息的路由包;接收单元,用于接收对应于来自收集拥塞信息的其他信息处理设备的所述路由选择包的路由包,并且在所述信息处理设备被设置为用于收集拥塞信息的信息处理设备时,所述接收単元用于接收来自己经发出了用于收集拥塞信息的指令的信息处理设备的拥塞信息收集指令包,以及接收对应于来自属于接收通信的信息处理设备组的信息处理设备的拥塞信息收集包的拥塞信息收集响应包,以及接收来自发出用于通信的指令的信息处理设备的路由选择包和完成通知包;以及控制单元,用于基于来自所述运算处理装置的用于收集所述拥塞信息的指令生成拥塞信息收集指令包,使得所述发送单元发送所生成的拥塞信息收集指令包,基于来自所 述运算处理装置的用于通信的指令生成路由选择包,使得所述发送单元发送所生成的路由选择包,使得所述发送単元基于所述接收单元接收的路由包中包括的路由执行所述运算处理装置指示的通信,以及在所述通信完成时生成完成通知包,使得所述发送单元发送所生成的完成通知包,以及在所述信息处理单元被设置为收集拥塞信息的信息处理单元时,用于基于所述接收単元接收的拥塞信息收集指令包生成拥塞信息收集包,使得所述发送単元发送所生成的拥塞信息收集包,基于所述接收单元接收的拥塞信息收集响应包中包括的拥塞信息重写路由信息保存単元保存的路由信息,基于接收単元接收的路由选择包和所述路由信息保存単元保存的路由信息选择路由,向已经发出用于通信的信息处理设备发送包括所选择的路由的路由包以及使得所述路由信息保存単元保存表明发出用于通信的指令的信息处理设备通过所选择的路由处于通信中的信息,以及当所述接收単元接收到完成通知包时删除所述路由信息保存単元保存的表明发出用于通信的指令的信息处理设备处于通信中的所述信息。(附录21)—种并行计算机系统的控制方法,在所述并行计算机系统中,多个信息处理设备经由多条路由连接,所述控制方法包括由信息处理设备组中的第一信息处理设备具有的运算处理装置发出用于收集拥塞信息的指令,所述信息处理设备组开始针对所述多个信息处理设备设置的通信;在所述运算处理装置发出用于收集所述拥塞信息的指令时,由所述第一信息处理设备具有的第一控制单元生成用于执行所述拥塞信息的收集的拥塞信息收集指令包;由所述第一信息处理设备具有的第一发送单元将所述拥塞信息收集指令包发送至收集拥塞信息且设置在开始所述通信的所述信息处理设备组中的信息处理设备;由收集所述拥塞信息的所述信息处理设备具有的第二接收单元接收所述拥塞信息收集指令包;由收集所述拥塞信息的所述信息处理设备具有的第二控制单元生成用于收集所述拥塞信息的拥塞信息收集包;由收集所述拥塞信息的所述信息处理设备具有的第二发送单元使用多条路由中的任意一条将所述第一控制单元生成的所述拥塞信息收集包发送至接收通信并且针对多个信息处理设备设置的信息处理设备组中的第二信息处理设备;由收集所述拥塞信息的所述信息处理设备具有的所述第二接收单元使用所述多条路由中的任意一条接收来自所述第二信息处理设备的与所述拥塞信息收集包对应的拥塞信息收集响应包;由所述第二控制单元基于所述第二接收单元接收的所述拥塞信息收集响应包中包括的拥塞信息重写收集所述拥塞信息的所述信息处理单元具有的路由信息保存単元保存的路由信息;在所述运算处理装置发出用于开始通信的指令时,由所述第一控制单元使得所述第一发送单元基于所述路由信息保存単元保存的路由信息发送用于选择路由的路由选择包;由所述第二接收单元接收所述路由包; 由所述第二控制单元基于所述路由保存単元保存的路由信息选择路由,生成包括所选择的路由的路由信息的路由包,使得所述路由保存単元保存表明所选择的路由正用于所述第一信息处理设备的通信的信息;由所述第二发送单元将所述路由包发送至所述第二信息处理设备;由所述第一控制单元使得所述第一发送单元基于所述路由包中包括的所述路由信息执行所述运算处理装置指示的通信;当通信完成时由所述第一控制单元生成用于表明通信完成的完成通知包;由所述第一发送单元将所述完成通知包发送至收集所述拥塞信息的所述信息处理设备;由所述第二接收单元接收所述完成通知包;以及由所述第二控制单元基于所述完成通知从所述路由保存単元中删除表明所选择的路由正用于所述第一信息处理设备的通信的信息。本文中所记载的所有示例和条件性语言意在教导读者理解本发明和发明人对技术进步所贡献的概念,应当被理解为不限制为这些具体记载的示例和条件,并且说明书中的这些示例的组织也不涉及本发明的优劣的表示。虽然已经详细描述了本发明的实施例,但是应当理解在不背离本发明的精神和范围的情况下可以对其进行各种改变、替换和修改。
权利要求
1.一种经由多条路由连接到包括在并行计算机系统中的其他信息处理设备的信息处理设备,包括 运算处理装置,所述运算处理装置发出用于收集拥塞信息的指令和用于通信的指令; 路由信息保存单元,所述路由信息保存单元保存用于执行通信的路由信息; 发送单元,所述发送单元向所述多条路由中的任意一条发送用于收集拥塞信息的拥塞信息收集包; 接收单元,所述接收单元从所述多条路由中的任意一条接收与所述拥塞信息收集包对应的拥塞信息收集响应包;以及 控制单元,在所述运算处理装置发出用于收集拥塞信息的指令时,所述控制单元使得所述发送单元发送所生成的拥塞信息收集包,以基于由所述接收单元接收的所述拥塞信息收集响应包中包括的拥塞信息从所述路由信息保存单元中选择路由信息,以及使得所述发 送单元基于所选择的路由信息执行由所述运算处理装置指示的通信。
2.根据权利要求I所述的信息处理设备,其中 所述控制单元在所述运算处理装置向所述控制单元发出指令以开始通信时收集拥塞信息。
3.根据权利要求I或2所述的信息处理设备,其中 所述拥塞信息是所述控制单元接收所述拥塞信息收集响应包的返回次序。
4.根据权利要求I至3中的任意一项所述的信息处理设备,其中 所述运算处理装置指定出站路由,所述拥塞信息收集包通过所述出站路由去往目的信息处理设备,并且所述运算处理装置指定来自该信息处理设备的入站路由以接收所述拥塞信息收集响应包。
5.根据权利要求I或2所述的信息处理设备,其中 所述拥塞信息是从所述控制单元发送所述拥塞信息收集包直到所述控制单元接收所述拥塞信息收集响应包为止的响应时间。
6.根据权利要求I或2所述的信息处理设备,其中 所述拥塞信息是所述拥塞信息收集包和所述拥塞信息收集响应包经过的交换机中的缓存器的缓存器使用量。
7.根据权利要求I所述的信息处理设备,其中 所述运算处理装置向所述控制单元发出指令以按预定间隔重复拥塞信息的收集,以及 所述控制单元按所指示的预定间隔重复发送所述拥塞信息收集包,将所接收的拥塞信息收集响应包中包括的拥塞信息写入到所述路由信息保存单元,并且在所述信息处理设备处于通信中时在写入所述拥塞信息后再次选择通信中的路由。
8.根据权利要求I所述的信息处理设备,其中 所述运算处理装置在开始用于收集拥塞信息的指令后,指定由所述控制单元接收的拥塞信息收集响应包的数量以及从发送所述拥塞信息收集包直到接收到所述拥塞信息收集响应包为止的超时设定时间段;以及 所述控制单元在接收到所指定的数量的拥塞信息收集响应包或者在从拥塞信息的收集开始经过了所述超时设定时间段时完成拥塞信息的收集。
9.一种并行计算机系统,其中连接了多个信息处理设备,所述信息处理设备包括运算处理装置,所述运算处理装置发出用于收集拥塞信息的指令和用于所述并行计算机系统中的通信的指令; 路由信息保存单元,所述路由信息保存单元保存路由信息以执行与其他信息处理设备的通信; 发送单元,所述发送单元向其他信息处理设备发送用于收集拥塞信息的拥塞信息收集包; 接收单元,所述接收单元接收来自其他信息处理设备的拥塞信息收集包,和来自其他信息处理设备的与所述发送单元发送的拥塞信息收集包对应的拥塞信息收集响应包;以及控制单元,所述控制单元使得所述发送单元在所述运算处理装置发出用于收集拥塞信息的指令时发送拥塞信息收集包,基于由所述接收单元接收的拥塞信息收集响应包中包括的拥塞信息从所述路由信息保存单元中选择路由信息,并且使得所述发送单元基于所选择的路由信息执行由所述运算处理装置指示的通信以及在从其他信息处理设备接收到拥塞 信息收集包时生成对应的拥塞信息收集响应包,并且使得所述发送单元向其他信息处理设备发送所生成的拥塞信息收集响应包。
10.一种并行计算机系统的控制方法,在所述并行计算机系统中,包括第一信息处理设备和第二信息处理设备的多个信息处理设备经由多条路由连接,所述控制方法包括 由所述第一信息处理设备具有的运算处理装置发出用于收集拥塞信息的指令; 在所述运算处理装置发出用于收集拥塞信息的指令时,由所述第一信息处理设备具有的第一控制单元生成用于收集拥塞信息的拥塞信息收集包; 由所述第一信息处理设备具有的第一发送单元将所述第一控制单元生成的所述拥塞信息收集包发送至所述多条路由中的任意一条; 由所述第二信息处理设备具有的第二接收单元经由所述多条路由中的任意一条接收所述拥塞信息收集包; 由所述第二信息处理设备具有的第二控制单元生成与所述拥塞信息收集包对应的拥塞信息收集响应包; 由所述第二信息处理设备具有的第二发送单元将所述第二控制单元生成的所述拥塞信息收集响应包发送至所述多条路由中的任意一条; 由所述第一信息处理设备具有的第一接收单元接收来自所述多条路由中的任意一条的与所述拥塞信息收集包对应的所述拥塞信息收集响应包; 由所述第一控制单元基于所述接收单元接收的所述拥塞信息收集响应包中包括的拥塞信息重写所述第一信息处理设备具有的路由信息保存单元保存的路由信息;以及 使得所述第一发送单元基于所述第一控制单元所重写的路由信息执行由所述运算处理装置指示的通信。
全文摘要
本发明公开了一种信息处理设备、并行计算机系统及其控制方法。所述信息处理设备经由多条路由连接到并行计算机系统中的其他信息处理设备,所述信息处理设备包括运算处理装置,用于发出用于收集拥塞信息和用于通信的指令;路由信息保存单元,用于保存用于执行通信的路由信息;发送单元,用于向多条路由中的任意一条发送拥塞信息收集包;接收单元,用于从多条路由中的任意一条接收与拥塞信息收集包对应的拥塞信息收集响应包;以及控制单元,用于使得发送单元发送拥塞信息收集包,基于拥塞信息收集响应包中包括的拥塞信息从路由信息保存单元中选择路由信息,并且使得发送单元基于所选择的路由信息执行由运算处理装置指示的通信。
文档编号H04L12/44GK102739513SQ20121004698
公开日2012年10月17日 申请日期2012年2月27日 优先权日2011年3月31日
发明者井上智宏, 安岛雄一郎, 平本新哉 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1