專利名稱:信息處理設備、并行計算機系統及其控制方法
技術領域:
本發明涉及一種信息處理設備、并行計算機系統以及并行計算機系統的控制方法。
背景技術:
并行計算機包括要執行計算的為信息處理設備的多個節點、以及在節點之間構造網絡的多個交換機。在以下的描述中,除非另外指出,并行計算機的節點指的是要執行計算的信息處理設備。圖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日
發明者井上智宏, 安島雄一郎, 平本新哉 申請人:富士通株式會社