"通信制御装置と、前記通信制御装置を経由してデータを送信する送信元の計算ノードと、前記通信制御装置を経由してデータを受信する送信先の計算ノードとを、それぞれ複数備える計算機システムにおいて、前記送信元の計算ノードは、前記送信先の計算ノードにデータを送信するデータ送信部と、受信した制御データに含まれる送信ノード数に基づいて、前記データ送信部が送信するデータ間の間隔を調整する調整部を有し、前記通信制御装置は、前記送信元の計算ノードが送信するデータを入力する入力部と、前記送信先の計算ノードに送信するデータを出力する出力部と、前記通信制御装置を経由してデータを送信する計算ノードの数を表す送信ノード数を記憶する送信ノード数記憶部と、前記出力部がデータを出力する場合、前記送信ノード数記憶部が記憶する送信ノード数を更新する更新処理部と、前記入力部が入力するデータに含まれる送信ノード数と、前記送信ノード数記憶部が記憶する送信ノード数を比較する比較部と、前記比較部による比較の結果、前記送信ノード数記憶部が記憶する送信ノード数が、前記入力部が入力するデータに含まれる送信ノード数より大きい場合、前記出力部が出力するデータに含まれる送信ノード数を、前記送信ノード数記憶部が記憶する送信ノード数に書き換える書換部を有し、前記送信先の計算ノードは、受信したデータに含まれる送信ノード数を含む前記制御データを、前記送信元の計算ノードに送信する制御データ送信部を有することを特徴とする計算機システム。前記通信制御装置はさらに、前記入力部が入力するデータのサイズであるデータサイズと、予め設定した閾値とを比較するデータサイズ比較部と、前記データサイズ比較部による比較の結果、前記データサイズが前記閾値より小さい場合、前記出力部がデータを出力するとき、前記送信ノード数記憶部が記憶する送信ノード数の前記更新処理部による更新を抑止する更新抑止部を有することを特徴とする請求項1記載の計算機システム。前記データ送信部は、分割された複数のデータを生成し、前記更新処理部は、前記出力部が、生成された前記複数のデータのうち先頭のデータを出力する場合、前記送信ノード数記憶部が記憶する送信ノード数を更新することを特徴とする請求項1又は2記載の計算機システム。前記データ送信部は、分割された前記複数のデータのうち先頭のデータに先頭である旨を示す先頭識別情報を付加し、前記更新処理部は、前記先頭識別情報が付加されたデータを前記出力部から出力する場合、前記送信ノード数記憶部が記憶する送信ノード数を更新することを特徴とする請求項3記載の計算機システム。前記データ送信部は、分割された複数のデータを作成し、前記更新処理部は、前記出力部が、生成された前記複数のデータのうち末尾のデータを出力する場合、前記送信ノード数記憶部の送信ノード数を減少させることを特徴とする請求項1又は2記載の計算機システム。前記データ送信部は、分割された複数のデータを作成するとともに、前記複数のデータの末尾のデータに末尾である旨を示す末尾識別情報を付加し、前記更新処理部は、前記出力部が、前記末尾識別情報が付加されたデータを出力する場合、前記送信ノード数記憶部の送信ノード数を減少させることを特徴とする請求項5記載の計算機システム。前記更新処理部は、前記送信ノード数記憶部の送信ノード数を増加させた後、所定時間が経過した場合、前記送信ノード数記憶部が記憶する送信ノード数を減少させることを特徴とする請求項1~4のいずれか1項に記載の計算機システム。前記通信制御装置は、前記通信制御装置を経由するデータを送信中の計算ノードを示す送信ノード情報を記憶する送信ノード情報記憶部を有し、前記更新処理部は、前記出力部がデータを出力する場合、前記送信ノード情報記憶部を参照し、前記出力部が出力するデータの送信元の計算ノードが、前記送信ノード情報に含まれていないとき、前記送信ノード情報に前記データの送信元の計算ノードを含めるとともに、前記送信ノード数記憶部が記憶する送信ノード数を更新することを特徴とする請求項1~7のいずれか1項に記載の計算機システム。前記データ送信部は、複数のメッセージにそれぞれ対応する複数のデータを送信する場合、前記複数のメッセージにそれぞれ対応する複数のデータに、対応するメッセージを識別するメッセージ識別情報をそれぞれ付加し、前記送信ノード情報記憶部は、メッセージ識別情報毎に送信ノード情報を記憶し、前記更新処理部は、前記出力部がデータを出力する場合、前記送信ノード数記憶部が記憶する送信ノード数を、メッセージ識別情報毎に更新することを特徴とする請求項8記載の計算機システム。通信制御装置と、前記送信元の計算ノードと、前記送信先の計算ノード間を接続する通信網が、複数の次元の通信路を接続する多次元ネットワーク構成を有し、前記ノード数記憶部は、次元毎に前記送信ノード数を対応させて記憶し、前記送信元の計算ノードから前記送信先の計算ノードまでの通信路に中に存在し、一の次元の通信路から他の次元の通信路への乗り換えが行なわれる通信制御装置の更新処理部は、乗り換え前の前記一の次元の通信路の送信ノード数に代えて、乗り換え後の前記他の次元に対応する送信ノード数として、前記通信制御装置に接続された計算ノードの数を記憶することを特徴とする請求項1~9のいずれか1項に記載の計算機システム。通信制御装置において、前記通信制御装置を経由してデータを送信する送信元の計算ノードが送信するデータを入力する入力部と、前記通信制御装置を経由してデータを受信する送信先の計算ノードに送信するデータを出力する出力部と、前記通信制御装置を経由してデータを送信する計算ノードの数を表す送信ノード数を記憶する送信ノード数記憶部と、前記出力部がデータを出力する場合、前記送信ノード数記憶部が記憶する送信ノード数を更新する更新処理部と、前記入力部が入力するデータに含まれる送信ノード数と、前記送信ノード数記憶部が記憶する送信ノード数を比較する比較部と、前記比較部による比較の結果、前記送信ノード数記憶部が記憶する送信ノード数が、前記入力部が入力するデータに含まれる送信ノード数より大きい場合、前記出力部が出力するデータに含まれる送信ノード数を、前記送信ノード数記憶部が記憶する送信ノード数に書き換える書換部を有することを特徴とする通信制御装置。通信制御装置と、前記通信制御装置を経由してデータを送信する送信元の計算ノードと、前記通信制御装置を経由してデータを受信する送信先の計算ノードとを、それぞれ複数備える計算機システムの制御方法において、前記送信元の計算ノードが有するデータ送信部が、前記送信先の計算ノードにデータを送信し、前記送信元の計算ノードが有する調整部が、受信した制御データに含まれる送信ノード数に基づいて、前記データ送信部が送信するデータ間の間隔を調整し、前記通信制御装置が有する入力部が、前記送信元の計算ノードが送信するデータを入力し、前記通信制御装置が有する送信ノード数記憶部が、前記通信制御装置を経由してデータを送信する計算ノードの数を表す送信ノード数を記憶すると、前記通信制御装置が有する出力部が、前記送信先の計算ノードに送信するデータを出力し、前記出力部がデータを出力する場合、前記通信制御装置が有する更新処理部が、前記送信ノード数記憶部が記憶する送信ノード数を更新し、前記通信制御装置が有する比較部が、前記入力部が入力するデータに含まれる送信ノード数と、前記送信ノード数記憶部が記憶する送信ノード数を比較し、前記比較部による比較の結果、前記送信ノード数記憶部が記憶する送信ノード数が、前記入力部が入力するデータに含まれる送信ノード数より大きい場合、前記通信制御装置が有する書換部が、前記出力部が出力するデータに含まれる送信ノード数を、前記送信ノード数記憶部が記憶する送信ノード数に書き換え、前記送信先の計算ノードが有する制御データ送信部が、受信したデータに含まれる送信ノード数を含む前記制御データを、前記送信元の計算ノードに送信することを特徴とする計算機システムの制御方法。上述の如き並列計算機システムにおいて、パケット間にどの程度のギャップを挿入すれば良いかは、パケットの送信元と送信先との組合わせ通信パターンに依存する。しかしながら、予め通信パターンにおいて通信がどの程度重なるかを予測し、ギャップ区間を決めることは困難である。又、通信パターンがランダム等の不規則的であれば、パケットの通信の重なりを予測するのはさらに困難になる。1つの側面では、本件は、輻輳の発生を抑止することを目的とする。なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。上記の目的を達成するために、通信制御装置と、前記通信制御装置を経由してデータを送信する送信元の計算ノードと、前記通信制御装置を経由してデータを受信する送信先の計算ノードとを、それぞれ複数備える計算機システムにおいて、前記送信元の計算ノードは、前記送信先の計算ノードにデータを送信するデータ送信部と、受信した制御データに含まれる送信ノード数に基づいて、前記データ送信部が送信するデータ間の間隔を調整する調整部を有し、前記通信制御装置は、前記送信元の計算ノードが送信するデータを入力する入力部と、前記送信先の計算ノードに送信するデータを出力する出力部と、前記通信制御装置を経由してデータを送信する計算ノードの数を表す送信ノード数を記憶する送信ノード数記憶部と、前記出力部がデータを出力する場合、前記送信ノード数記憶部が記憶する送信ノード数を更新する更新処理部と、前記入力部が入力するデータに含まれる送信ノード数と、前記送信ノード数記憶部が記憶する送信ノード数を比較する比較部と、前記比較部による比較の結果、前記送信ノード数記憶部が記憶する送信ノード数が、前記入力部が入力するデータに含まれる送信ノード数より大きい場合、前記出力部が出力するデータに含まれる送信ノード数を、前記送信ノード数記憶部が記憶する送信ノード数に書き換える書換部を有し、前記送信先の計算ノードは、受信したデータに含まれる送信ノード数を含む前記制御データを、前記送信元の計算ノードに送信する制御データ送信部を有する。また、通信制御装置において、前記通信制御装置を経由してデータを送信する送信元の計算ノードが送信するデータを入力する入力部と、前記通信制御装置を経由してデータを受信する送信先の計算ノードに送信するデータを出力する出力部と、前記通信制御装置を経由してデータを送信する計算ノードの数を表す送信ノード数を記憶する送信ノード数記憶部と、前記出力部がデータを出力する場合、前記送信ノード数記憶部が記憶する送信ノード数を更新する更新処理部と、前記入力部が入力するデータに含まれる送信ノード数と、前記送信ノード数記憶部が記憶する送信ノード数を比較する比較部と、前記比較部による比較の結果、前記送信ノード数記憶部が記憶する送信ノード数が、前記入力部が入力するデータに含まれる送信ノード数より大きい場合、前記出力部が出力するデータに含まれる送信ノード数を、前記送信ノード数記憶部が記憶する送信ノード数に書き換える書換部を有する。さらに、通信制御装置と、前記通信制御装置を経由してデータを送信する送信元の計算ノードと、前記通信制御装置を経由してデータを受信する送信先の計算ノードとを、それぞれ複数備える計算機システムの制御方法において、前記送信元の計算ノードが有するデータ送信部が、前記送信先の計算ノードにデータを送信し、前記送信元の計算ノードが有する調整部が、受信した制御データに含まれる送信ノード数に基づいて、前記データ送信部が送信するデータ間の間隔を調整し、前記通信制御装置が有する入力部が、前記送信元の計算ノードが送信するデータを入力し、前記通信制御装置が有する送信ノード数記憶部が、前記通信制御装置を経由してデータを送信する計算ノードの数を表す送信ノード数を記憶すると、前記通信制御装置が有する出力部が、前記送信先の計算ノードに送信するデータを出力し、前記出力部がデータを出力する場合、前記通信制御装置が有する更新処理部が、前記送信ノード数記憶部が記憶する送信ノード数を更新し、前記通信制御装置が有する比較部が、前記入力部が入力するデータに含まれる送信ノード数と、前記送信ノード数記憶部が記憶する送信ノード数を比較し、前記比較部による比較の結果、前記送信ノード数記憶部が記憶する送信ノード数が、前記入力部が入力するデータに含まれる送信ノード数より大きい場合、前記通信制御装置が有する書換部が、前記出力部が出力するデータに含まれる送信ノード数を、前記送信ノード数記憶部が記憶する送信ノード数に書き換え、前記送信先の計算ノードが有する制御データ送信部が、受信したデータに含まれる送信ノード数を含む前記制御データを、前記送信元の計算ノードに送信する。通信経路上の通信状態に合わせた輻輳制御を効率よく実現することができる。以下、図面を参照して本計算機システム,通信制御装置及び計算機システムの制御方法に係る実施の形態を説明する。ただし、以下に示す実施形態はあくまでも例示に過ぎず、実施形態で明示しない種々の変形例や技術の適用を排除する意図はない。すなわち、本実施形態を、その趣旨を逸脱しない範囲で種々変形実施形態及び各変形例を組み合わせる等して実施することができる。又、各図は、図中に示す構成要素のみを備えるという趣旨ではなく、他の機能等を含むことができる。A第1実施形態図1は第1実施形態の一例としての並列計算機システム1の機能構成を模式的に示す図、図2はその構成を模式的に示す図である。並列計算機システム1は、図2に示すように、複数図2に示す例では5個の計算ノード200を、1以上図2に示す例では5個のルーティング装置通信制御装置100を介して相互に通信可能に接続した相互結合網により構成されている。すなわち、5つの計算ノード200-0~200-4を、5つのスイッチ100-0~100-4を介して相互に通信可能に接続した相互結合網により構成されている。図2に示す例においては、ルーティング装置100-0~100-4を1次元の直線状に配置した1次元メッシュとしてネットワーク2が形成され、各ルーティング装置100-0~100-4に計算ノード200-0~200-4がそれぞれ接続されている。すなわち、ルーティング装置100-0,100-1,100-2,100-3,100-4に、計算ノード200-0,200-1,200-2,200-3,200-4がそれぞれ接続されている。なお、本実施形態において、並列計算機システム1に備えられる複数の計算ノード200-0~200-4は互いに同様の構成を備えており、又、複数のルーティング装置100-0~100-4も互いに同様の構成を備えている。以下、ルーティング装置を示す符号としては、複数のルーティング装置のうち1つを特定する必要があるときには符号100-0~100-4を用いるが、任意のルーティング装置を指すときには符号100を用いる。同様に、以下、計算ノードを示す符号としては、複数の計算ノードのうち1つを特定する必要があるときには符号200-0~200-4を用いるが、任意の計算ノードを指すときには符号200を用いる。各計算ノード200はルーティング装置100を介して相互に通信可能に接続される。以下、ノード200とルーティング装置100とを含むネットワークの一部または全部を、単に、ネットワーク2という場合がある。又、図2中においては、便宜上、スイッチ100の一部の構成についてのみ図示している。計算ノード200は、任意の演算処理を行なう演算装置等の情報処理装置である。計算ノード200は、一般的な情報処理装置に備わる構成要素、例えば、プロセッサや主記憶装置等を備える。計算ノード200は、ネットワークインタフェース203を介してルーティング装置100と通信可能に接続されている。これにより、本並列計算機システム1内の任意の計算ノード200間でデータを送受信することができる。すなわち、本並列計算機システム1においては、いずれの計算ノード200も、データの送信元としても、又、送信先としても機能し得る。ここで、ノード間通信において通信を要求する側のノードをローカルノードといい、ノード間通信において、ローカルノードからの通信要求を受け付ける側のノードをリモートノードという。以下、データの送信元の計算ノード200をローカルノードといい、データの送信先の計算ノード200をリモートノードという場合がある。そして、送信元ノードとしての計算ノード200は、図1に示すように、パケット送信部21及びギャップ調整部22としての機能を備える。パケット送信部21は、送信先の計算ノード200に対してパケットを送信する。後述するパケット送信部206が、このパケット送信部21として機能する。ギャップ調整部調整部22は、送信ノード数送信部23から送信された送信ノード数に基づいて、送信するデータ間の間隔ギャップを調整する。後述するギャップ制御部207が、このギャップ調整部22として機能する。なお、ギャップとはパケットを送信しない区間の事である。また、送信先ノードとしての計算ノード200は、図1に示すように送信ノード数送信部23を備える。この送信ノード数送信部23は、受信したパケットから読み出した送信ノード数を送信元の計算ノード200に対して送信する。後述するパケット受信部208及びパケット送信部206が、この送信ノード数送信部23として機能する。図3は第1実施形態の一例としての並列計算機システム1の計算ノード200の構成を模式的に示す図である。この図3に示すように、第1実施形態の計算ノード200は、プロセッサ201,主記憶装置202及びネットワークインタフェース203を備える。本並列計算機システム1においては、各計算ノード200から送信されるデータはパケットに分割された状態で送受信される。又、このパケットのパケット長は適宜設定することができ、又、固定長もしくは可変長として適宜実施することができる。以下、本実施形態においては、パケットが固定長である例について説明する。プロセッサ201は、所定のプログラムに従って演算処理を行なう演算処理装置である。プロセッサ201は、ネットワークインタフェース203が受信するパケットを順次取得し、演算処理を行なう。また、プロセッサ201は、他の計算ノード200へデータを送信する必要がある場合に、そのデータを分割して宛先アドレスを含むパケットを生成し、ネットワークインタフェース203を介して出力する。ノード間で通信を行なう際、ローカルノードのプロセッサ201は、ネットワークインタフェース203の制御部205にメッセージ送信指示を送る。メッセージ送信指示には、例えば、通信の種類などの情報が含まれる。主記憶装置202は、種々のデータやプログラム等を記憶するメモリである。又、この主記憶装置202には、プロセッサ201が演算処理を行なう際に、このプロセッサ201が実行するプログラムやデータを一時的に格納展開される。主記憶装置202には、プロセッサ201を介さずに、主記憶装置202が保持するデータをネットワークインタフェース203に転送するDMADirectMemoryAccess転送を実現するDMA回路を含むことができる。ネットワークインタフェース203は、計算ノード200がネットワーク2を介して他の計算ノード200と通信を行なうためのインタフェースである。ネットワークインタフェース203は、図3に示すように、DMAコントローラ204,制御部205,パケット送信部206,ギャップ制御部207及びパケット受信部208を備える。DMAコントローラ204は、後述する制御部205からDMAを行なうデータのアドレスとデータ長とを通知されると、主記憶装置202に対して、制御部205が通知したアドレスとデータ長を指定してDMA要求を行なう。すると、主記憶装置202は、指定されたアドレスに格納されているデータを、指定されたデータ長だけDMAコントローラ204にDMA転送する。DMAコントローラ204は、主記憶装置202からDMA転送されるデータをパケット送信部206に送信する。制御部205は、プロセッサ201からパケット送信指示を受けると、DMAコントローラ204やパケット送信部206,パケット受信部208等を制御して、パケットの送受信処理を行なう。パケットの送信処理を行なう場合には、制御部205は、DMAコントローラ204とパケット送信部206に、1つのパケットに含むデータのデータ長を指定することにより送信するデータを読み込む。本実施形態においては、計算ノード200から送信するパケットの長さサイズは一定である。制御部205は、送信するデータを受け取ると、データにヘッダを付加したパケット送信パケットを作成し、この作成したパケットをパケット送信部206に送り、ネットワーク2に送信させる。図4は第1実施形態の一例としての並列計算機システム1における送信パケットのフォーマットを模式的に例示する図である。又、図5はローカルノードアドレス及びリモートノードアドレスのフォーマットを例示する図、図6はルーティングヘッダのフォーマットを例示する図である。送信パケットは、例えば、図4に示すように、パケットタイプ,ルーティングヘッダ,ローカルノードアドレス,リモートノードアドレス,オフセット,送信ノード数及びペイロードをそれぞれ格納するフィールドを備える。パケットタイプは、当該パケットの種類を示す情報であり、例えば、PutリクエストPut通信に使用するパケットやGetリクエストGet通信に使用するパケットであることを示す。ここで、Put通信とは、ローカルノードが自身とリモートノードの主記憶装置202の領域を指定して、ローカルノードの主記憶装置202のデータを、リモートノードの主記憶装置202の領域に書き込む通信を示す。また、Get通信とは、ローカルノードが自身とリモートノードの主記憶装置202の領域を指定して、リモートノードの主記憶装置202のデータを、ローカルノードの主記憶装置202の領域に書き込む通信を示す。ローカルノードアドレスは、当該パケットの送信ノード数元ノードのアドレスノードアドレスを示す情報であり、リモートノードアドレスは、当該パケットの送信先ノードのアドレスを示す情報である。これらのノードアドレスは、例えば、各次元の座標値で表される。本実施形態においては、ネットワーク2がXとYとからなる二次元のトーラスもしくはメッシュのトポロジを備えるものであり、ノードアドレスは、図5に示すように、X,Yの座標値で表される。ルーティングヘッダは、当該パケットの経路を指定する情報であり、例えば、ネットワーク2上における当該パケットの送信元ノードローカルノードの位置を原点とした時のリモートノードの位置を表す座標値である。このルーティングヘッダは、例えば、各次元の座標値で表される。本実施形態においては、前述の如く、ネットワーク2が次元Xと次元Yとからなる二次元のトーラスもしくはメッシュのトポロジを備えるものであり、ルーティングヘッダは、図6に示すように、DX,DYの座標値で表される。そして、ルーティング装置100は、このルーティングヘッダに格納された情報に基づいてパケットを送信するポートを決定する。送信ノード数は、ネットワーク2における、パケットを送信中の計算ノード200の数である。この送信ノード数は、後述の如く、送信パケットがルーティング装置100を通過する際に、このルーティング装置100が保持する送信ノード数と比較され、送信パケット中の送信ノード数よりもルーティング装置100に記憶された送信ノード数が大きい場合に、パケットの送信ノード数がルーティング装置100の送信ノード数によって書き換えられる。すなわち、パケット内の送信ノード数は、ルーティング装置100により転送される際に、このルーティング装置100によって更新される。このように、パケットの送信ノード数は、当該パケットの通過経路上を通過しているパケットの送信元の計算ノード200の数を表わす。そして、このパケット中の送信ノード数は、当該パケットが通過した各ルーティング装置100に格納された送信ノード数の最大値と等しい。ペイロードは、送信元ノードが送信先ノードに対して送信するメッセージデータソースを必要に応じて分割したデータである。オフセットは、ペイロードを格納する主記憶装置202のアドレスを指定する情報である。パケット受信部208は、他の計算ノード200等からネットワーク2を介して送信されたパケットを受信し、そのペイロードをプロセッサ201に受け渡す等の受信処理を行なう。また、パケット受信部208は、当該計算ノード200が送信パケットを受信した状態、すなわち、当該計算ノード200が送信先ノードである状態では、受信したパケットから送信ノード数を読み出して、パケット送信部206に受け渡す。又、パケット受信部208は、当該計算ノード200が送信パケットを送信した状態、すなわち、当該計算ノード200が送信元ノードである状態では、送信先ノードから送信される応答パケット後述を受信し、この応答パケットに含まれる送信ノード数を読み出してギャップ制御部207に受け渡す。パケット送信部206は、当該計算ノード200が送信元ノードである状態では、制御部205によって作成されたパケットを宛先の計算ノード200に送信する。また、パケット送信部206は、当該計算ノード200が送信先ノードである状態では、受信したパケットの送信元の計算ノード200に対して、応答パケットを作成して送信する。図7は第1実施形態の一例としての並列計算機システム1における応答パケットのフォーマットを模式的に例示する図である。この応答パケットは、例えば、図7に示すように、パケットタイプ,ルーティングヘッダ,ローカルアドレス,リモートアドレス及び送信ノード数を格納するフィールド備える。この応答パケットに格納される各情報は、図4を用いて説明した送信パケットに含まれる各情報と同様であるので、その詳細な説明は省略する。なお、この応答パケットに格納される送信ノード数は、パケット受信部208が受信したパケット送信パケットから読み出した値が用いられる。ギャップ制御部207は、応答パケットから読み出された送信ノード数に基づいて、パケット送信部206から送信する複数のパケット間の送信間隔ギャップ長を決定する。具体的には、ギャップ制御部207は、以下の式1に基づいてパケット間に挿入するギャップ長を決定する。ギャップ長=パケットサイズ×送信ノード数-11ギャップ制御部207は、パケット送信部206から連続して送信されるパケットの間に、上述の如く決定した長さのギャップを挿入する。具体的には、例えば、パケット送信部206から送信するパケットの出力タイミングを、算出したギャップ長分だけ遅らせることにより、上述の如く算出した長さのギャップをパケット送信部206から出力するパケット間に挿入する。なお、パケット長が可変の場合には、例えば、予め設定した基準長をパケットサイズとして用いることが考えられ、適宜、変形して実施することができる。ルーティング装置100は、計算ノード200や他のルーティング装置100と通信可能に接続され、受信したパケットデータを所定の宛先に転送する通信制御装置中継装置である。ルーティング装置100としては、例えば、スイッチが用いられる。以下、ルーティング装置100をスイッチ100とも表す。図8は第1実施形態の一例としての並列計算機システム1のスイッチ100の構成を模式的に示す図である。この図8に例示するスイッチ100は、1次元メッシュのネットワークに用いられる3ポートのスイッチ100であり、ネットワークポート101-1,101-2及びノードポート110を備える。そして、このスイッチ100は、図1に示すように、入力部11,出力部12,比較部13,書換処理部14,更新処理部15及び送信ノード数記憶部16としての機能を備える。ネットワークポート101-1,101-2は、ネットワーク2の他のスイッチ100とのパケットの授受を行なう。これらのネットワークポート101-1,101-2は互いに同様の構成を備えている。以下、ネットワークポートを示す符号としては、複数のネットワークポートのうち1つを特定する必要があるときには符号101-1,101-2を用いるが、任意のネットワークポートを指すときには符号101を用いる。ネットワークポート101は、図8に示すように、ポート送信部102及びポート受信部106を備える。ポート受信部106は、ネットワーク2を介して接続された他のスイッチ100から送信されたパケットの受信を行なう。すなわち、このポート受信部106が、転送されるパケットが入力される入力部11に相当する。このポート受信部106は、バッファ107及び受信制御部108を備える。バッファ107は、接続された他のスイッチ100から送信されたパケットを格納するFIFOFirstInFirstOut型のメモリである。受信制御部108は、他のスイッチ100からのパケットを受信し、バッファ107に格納する制御を行なう。又、受信制御部108は、バッファ107に格納されたパケットを、当該パケットの送信先に対応するネットワークポート101やノードポート110に対して送出する制御も行なう。この受信制御部108は、他のスイッチ100から送信される送信要求に対して、バッファ107にパケットを格納可能な状態になると送信許可を返信する。そして、他のスイッチ100から送信されるパケットを受信しバッファ107に格納する。受信制御部108は、受信したパケットのルーティングヘッダやリモートアドレスを参照して転送先のネットワークポート101や計算ノード200を決定する。そして、決定した、ネットワークポート101のポート送信部102の送信制御部104やノードポート110のポート送信部111の送信制御部113に対して送信要求を送出する。受信制御部108は、これらの送信制御部104や送信制御部113から送信許可を受信すると、バッファ107に格納されているパケットを、ネットワークポート101のポート送信部102やノードポート110のポート送信部111に対して送出する。ポート送信部102は、ネットワーク2を介して接続された他のスイッチ100に対してパケットの送信を行なう。すなわち、このポート送信部102が、転送するパケットを出力する出力部12に相当する。このポート送信部102は、バッファ103,送信制御部104及び送信ノード数記憶部105を備える。バッファ103は、接続された他のスイッチ100に送出するパケットを格納するFIFO型のメモリである。送信制御部104は、バッファ103に格納されたパケットを、他のスイッチ100に対して送出する制御を行なう。この送信制御部104は、他のポート送信部102のポート受信部106から他のスイッチ100へ送信するパケット及び送信要求を受信し、この送信要求に従って、他のスイッチ100に対してパケットを送信する。送信制御部104は、他のスイッチ100に対してパケットを送信するに際して、そのスイッチ100に対して送信要求を送出し、このスイッチ100から送信許可を受信すると、バッファ103に格納されているパケットを送出する。又、送信制御部104は、他のネットワークポート101のポート受信部106から送信要求を受信し、バッファ103にパケットを格納可能な状態となると、そのポート受信部106の受信制御部108に対して送信許可を送信する。また、送信制御部104は、バッファ103に格納したパケットからリモートノードアドレス送信ノードアドレスと送信ノード数とを抽出し、これらの情報に基づいて送信ノード数記憶部105の送信状態情報の更新を行なう。なお、この送信制御部104による送信状態情報の更新手法の詳細は後述する。送信ノード数記憶部105は、当該スイッチ100を通過するパケットに基づき、当該スイッチ100を通過するパケットに関する、送信元ノードの状態を表す情報である送信状態情報を管理する。この送信ノード数記憶部105は、例えばメモリ等の記憶部である。図9は第1実施形態の一例としての並列計算機システム1における送信ノード数記憶部105の機能構成を模式的に示す図である。送信ノード数記憶部105は、図9に示すように、カウンタ121及び送信ノード情報記憶部122を備える。送信ノード情報記憶部122は、図9に示すように、ノードアドレス等の計算ノード200を特定する情報と、その計算ノード200がパケットを送信中であるか否かを表す情報とを対応付けた送信ノード状態情報送信ノード情報,送信状態情報を記憶する記憶部である。計算ノード200がパケットを送信中であるか否かを表す情報としては、例えば、送信中もしくは無送信のいずれかを示す情報が格納される。又、この送信ノード情報記憶部122は、例えば、メモリ等の記憶回路によって実現される。そして、ネットワークポート101において、ポート送信部102の送信制御部104が、パケットを他のスイッチ100に送信する際に、送信ノード情報記憶部122において、そのパケットの送信先ノードに対応付けて送信中と設定する。なお、並列計算機システム1においては予めネットワーク2の構成が明らかになっている。従って、送信ノード情報記憶部122には、当該スイッチ100を通過するパケットの送信元ノードとなりうる計算ノード200を予め設定することができる。カウンタ121は、ネットワーク2において、当該スイッチ100を経由するパケットを送信中の計算ノード200の数送信ノード数;送信状態情報を計数するカウンタである。このカウンタ121は送信制御部104からのカウントアップ指示やカウントダウン指示に従って、そのカウント値のカウントアップやカウントダウンを行なう。具体的には、送信制御部104から送信されるカウントアップ信号やカウントダウン信号に従って、カウント値のカウントアップやカウントダウンを行なう。例えば、送信制御部104は、パケットを他のスイッチ100に送信する際に、カウンタ121に対してカウントアップを指示するカウントアップ信号を送信することにより、カウンタ121にカウントアップを行なわせる。また、本第1実施形態においては、送信制御部104は、送信ノード数記憶部105に送信元ノードについての送信ノード状態情報を格納してからの経過時間を図示しないタイマ等を用いて測定する。そして、送信制御部104は、例えば、その送信元ノードから予め設定された所定時間パケットが送信されないことを検知すると、送信ノード情報記憶部122において、当該送信元ノードに対して無送信を設定する。又、カウンタ121が備えられている場合には、送信制御部104は、これと同時に、カウンタ121に対してカウントダウンを指示するカウントダウン信号を送信して、送信ノード数をカウントダウンさせる。すなわち、送信制御部104は、出力部からデータを出力するに際して、送信ノード数記憶部105における、カウンタ121の送信ノード数や送信ノード情報記憶部122の情報を更新する更新処理部15として機能する。なお、カウンタ121の値は、送信ノード情報記憶部122に送信中と記憶されている送信元ノードの数と等しい。従って、この送信ノード情報記憶部122に送信中と記憶されている送信元ノードの数を計数することにより、送信ノード数記憶部105においてカウンタ121を省略することができる。図10は第1実施形態の一例としての並列計算機システム1における送信ノード数記憶部105の変形例を示す図である。この図10に示す第1実施形態の一例としての並列計算機システム1の送信ノード数記憶部105は、第1実施形態の送信ノード数記憶部105からカウンタ121を除くものであり、送信ノード情報記憶部122のみを備える。この変形例としての送信ノード数記憶部105を備えるスイッチ100においては、例えば送信制御部104において、送信ノード数記憶部105に送信中と記憶されている送信元ノードの数を計数することにより送信ノード数を求める。これにより、送信ノード数記憶部105においてカウンタ121の実装を省略して装置構成を簡略化し、製造コストを低減することができる。そして、ノード数記憶部105は、ネットワーク2においてそのスイッチ100を経由するデータを送信中の計算ノード200の数を表す送信ノード数を記憶する送信ノード数記憶部16に相当する。また、送信制御部104は、図1に示すように、比較部13及び書換処理部14としての機能を備える。比較部13は、ネットワークポート101のポート送信部102において、送信するパケットの送信ノード数と、送信ノード数記憶部105のカウンタ121のカウンタ値とを比較する。書換処理部14は、比較部13による比較の結果、カウンタ121のカウンタ値が送信するパケットの送信ノード数よりも大きければ、パケットの送信ノード数をカウンタ121のカウンタ値で書き換える。なお、図10に示すように、送信ノード数記憶部105がカウンタ121を備えない場合には、比較部13は、カウンタ121のカウンタ値に代えて、送信ノード情報記憶部122において送信中の送信ノードの数を計数した値を用いる。ノードポート110は、計算ノード200と通信可能に接続され、この接続された計算ノード200とのパケットの授受を行なう。ノードポート110は、図8に示すように、ポート送信部111及びポート受信部114を備える。ポート送信部111は、接続された計算ノード200のネットワークインタフェース203に対して、当該スイッチ100においてネットワークポート101が受信したパケットを送信する。ポート送信部111は、接続された計算ノード200のネットワークインタフェース203にパケットを送信する。すなわち、このポート送信部111は、転送するパケットを出力する出力部12に相当する。このポート送信部111は、バッファ112及び送信制御部113を備える。バッファ112は、接続された計算ノード200のネットワークインタフェース203に送出するパケットを格納するFIFO型のメモリである。送信制御部113は、バッファ112に格納されたパケットを計算ノード200に対して送出する制御を行なう。この送信制御部113は、ネットワークポート101から送信要求及びパケットを受信し、この送信要求に従って計算ノード200に対してパケットを送信する。送信制御部113は、計算ノード200にパケットを送信するに際して、そのネットワークインタフェース203に対して送信要求を送出する。そして、ネットワークインタフェース203から送信許可が応答されると、バッファ112に格納されているパケットをそのネットワークインタフェース203に対して送出する。又、送信制御部113は、バッファ112に新たなパケットを格納可能な状態となると、ネットワークポート101に対して送信許可を送信する。ポート受信部114は、計算ノード200のネットワークインタフェース203から送信されるパケットを受信する。すなわち、このポート受信部114も、転送されるパケットが入力される入力部11に相当する。ポート受信部114は、バッファ115及び受信制御部116を備える。バッファ115は、接続された計算ノード200のネットワークインタフェース203から受信したパケットを格納するFIFO型のメモリである。受信制御部116は、ネットワークインタフェース203から送信されるパケットを受信し、バッファ115に格納する制御を行なう。又、受信制御部116は、バッファ115に格納されたパケットを、当該パケットの送信先に対応するネットワークポート101に送出する制御も行なう。この受信制御部116は、計算ノード200のネットワークインタフェース203から送信される送信要求に対して、バッファ115にパケットを格納可能な状態になると送信許可を返信する。そして、受信制御部116は、ネットワークインタフェース203から送信されるパケットを受信しバッファ115に格納する。受信制御部116は、受信したパケットのルーティングヘッダやリモートアドレスを参照して転送先のネットワークポート101を決定し、そのネットワークポート101のポート送信部102の送信制御部104に対して送信要求を送出する。受信制御部116は、ネットワークポート101から送信許可を受信すると、バッファ115に格納されているパケットをネットワークポート101のポート送信部102に対して送出する。上述の如く構成された、第1実施形態の一例としての並列計算機システム1におけるパケットの通信手法の概要を、図11A,図11B及び図11Cを用いて説明する。これらの図11A,11B,11Cに示す並列計算機システム1は、図2に示したものと同様の構成を備え、5つの計算ノード200-0~200-4を、5つのスイッチ100-0~100-4を介して相互に通信可能に接続したネットワーク相互結合網,通信網2を構成する。なお、以下、5つの計算ノード200-0~200-4を、ノードN0~N4で表す場合がある。又、以下、計算ノード200を特定する符号N0~N4をノード識別情報という場合がある。また、図11A,11B,11C中においては、便宜上、スイッチ100の一部の構成についてのみ図示する。上述の如く、本並列計算機システム1においてスイッチ100は、ネットワークポート101のポート送信部102からパケットを送信すると、送信ノード数記憶部105の送信ノード情報記憶部122に送信ノードアドレスを記憶する。図11A,11B,11Cにおいては、ノードN0とノードN3とがノードN4に対してパケットを送信する例を示す。かかる状態においては、図11Aに示すように、スイッチ100-0~100-2のネットワークポート101の送信ノード情報記憶部122に、送信元ノードであるノードN0について送信中である旨が記憶される。又、スイッチ100-3,100-4のネットワークポート101の送信ノード情報記憶部122に、送信元ノードであるノードN0,N3について送信中である旨が記憶される。なお、図11A,11B,11C中においては、便宜上、送信ノード情報記憶部122に、送信中である計算ノード200のノード識別情報のみを示す。また、送信元ノードから送信されたパケットの送信ノード数は、各スイッチ100を通過する際に送信制御部104によって更新される。これにより、パケットの送信ノード数には、通過したスイッチ100の中での送信ノード数の最大値が記憶される。図11Aに示す例において、ノードN4に送達されるパケットには、そのネットワーク2中での送信ノード数2が格納される。パケットを受信した計算ノード200は、受信したパケットから抽出した送信ノード数を格納した応答パケットを、そのパケットの送信元の計算ノード200に送り返す。図11Bに示す例においては、ノードN4は、送信ノード数2を格納した応答パケットをノードN0とノードN3とに送り返す。この応答パケットを受信したノードN0,N3は、ギャップ制御部207が、送信する複数のパケットの間隔を、前記式1に基づいて算出し、パケット送信部206は、連続して送信する複数のパケットの間に、この算出した長さギャップ長のギャップを挿入する。図11Cに示す例においては、送信ノード数2であるので、パケット間に挿入するギャップ長=パケットサイズとなる。ノードN0とノードN3とは、パケットの送信に使用できる通信帯域使用帯域が1/2になるため、パケット間にパケットと同じ長さのギャップを挿入することにより、ネットワーク2の通信帯域を効率良く用いることができる。すなわち、輻輳の発生を防止できるとともに、各送信元ノード間で通信帯域を均等に使用することができる。並列計算機システム1においては、以降も上記の処理を繰り返すことで、各送信元ノード200は、送信ノード数の増減に応じて、送信するパケット間に挿入するギャップ長を動的に調整する。例えば、ノードN2がノードN4に対してパケットを送信する場合には、このパケットが通過するスイッチ100-2~100-4の各ポートの送信ノード情報記憶部122には、送信元ノードとしてノードN2が送信中として追加される。また、パケットに格納される送信ノード数は3となる。送信元ノードであるノードN0,N2,N3はそれぞれ、通信帯域を均等に使うように、上記式1に基づき、パケット間にパケットの2倍の長さのギャップを挿入する。次に、上述の如く構成された、第1実施形態の一例としての並列計算機システム1におけるスイッチ100のポート受信部106の処理を、図12に示すフローチャートステップA10~A60に従って説明する。本例においては、図11A~11Cに示すように、ネットワーク2は2次元メッシュ構成を備え、ルーティングはX,Yの順に座標を合わせる次元順ルーティングを行なう。スイッチ100において、ネットワークポート101のポート受信部106は、他のスイッチ100からパケットを受信するステップA10。ポート受信部106は、パケットを受信したネットワークポート101に基づいて、パケットのルーティングヘッダを更新する。すなわち、受信したネットワークポート101の次元に応じて、ルーティングヘッダの値DX,DYを1もしくは-1することにより更新する。具体的には、例えば、ネットワーク2の構成を座標空間に対応させるとともに、仮想的な原点を定める。そして、原点に対するスイッチ100のネットワークポート101の位置座標について、座標の増加方向を、又、減少方向を-とする。そして、受信制御部108は、パケットのルーティングヘッダに対して、受信したネットワークポート101と同じ次元のDXもしくはDYの値に対して、-方向なら-1、方向なら1するステップA20。例えば、ネットワークポート101がX次元で-方向の時には、DXの値を-1する。又、ネットワークポート101がY次元で方向の時には、DYを1する。受信制御部108は、ルーティングヘッダの値DX,DYの値が全て0であるか否かを確認するステップA30。DX,DYがいずれも0の場合にはステップA30のYESルート参照、パケットが宛先のリモートノードが直結されたスイッチ100に届いたことを意味する。従って、受信制御部108は、パケットを、ネットワークインタフェース203に接続されている、当該スイッチ100のノードポート110を選択するステップA40。一方、DX,DYの少なくともいずれかが0ではない非0場合にはステップA30のNOルート参照、例えば、X座標、Y座標の順で非0のフィールドを調べ、この非0のフィールドの値が0に近付くネットワークポート101を選択するステップA60。すなわち、当該フィールドと同じ次元、同じ符号のポートを選ぶ。なお、Y座標,X座標の順で次元順ルーティングを行なう場合には、Y座標、X座標の順で非0のフィールドを調べる。そして、受信制御部108は、選択したノードポート110もしくはネットワークポート101の送信制御部113,104に送信要求を送信する。送信制御部113,104から送信許可が返信されると、受信制御部108は、そのノードポート110もしくはネットワークポート101にパケットを送信するステップA50。また、パケットを受信したネットワークポート101のポート送信部102の送信制御部104は、パケットを他のスイッチ100に送信する際、送信ノード数記憶部105の更新を行なう。すなわち、送信ノード情報記憶部122にその送信ノードに対して送信中を記憶し、又、カウンタ121の送信ノード数のカウントアップを行なう。次に、第1実施形態の一例としての並列計算機システム1におけるポート送信部102の処理を、図13に示すフローチャートステップB10~B70に従って説明する。ポート送信部102は、ポート受信部114やポート受信部106から転送するパケットを受信すると、受信したパケットをバッファ103に格納するステップB10。送信制御部104は、パケットのローカルノードに基づいて送信ノード情報記憶部122を確認するステップB20。すなわち、送信ノード情報記憶部122において、当該ローカルノードが送信中となっているか否かを確認する。送信ノード情報記憶部122において、当該ローカルノードが送信中となっていればステップB20のYESルート参照、送信制御部104比較部13は、送信ノード数記憶部105で管理する送信ノード数とパケットに格納されている送信ノード数とを比較するステップB30。ここで、送信ノード数記憶部105がカウンタ121を備えている場合図9参照には、このカウンタの値が送信ノード数として用いられる。又、送信ノード数記憶部105がカウンタ121を備えていない場合図10参照には、送信ノード数は、送信ノード情報記憶部122において送信中と記憶されているノードを数えることで求められる。一方、送信ノード情報記憶部122において、当該ローカルノードが無送信となっていればステップB20のNOルート参照、送信制御部104は、送信ノード情報記憶部122における当該ローカルノードに対応付けて送信中を設定する。又、送信制御部104は、カウンタ121に対してカウントアップ信号を送信することにより、送信ノード数をカウントアップ1するステップB70。その後、ステップB30に移行する。送信ノード数記憶部105で管理する送信ノード数がパケットの送信ノード数以下の場合にはステップB30のNOルート参照、送信制御部104は、接続されている他のスイッチ100のネットワークポート101に対して送信要求を送信する。そして、このネットワークポート101から送信許可が応答されると、送信制御部104は、該当ネットワークポート101に対してパケットを送信するステップB50。また、送信ノード数記憶部105で管理する送信ノード数がパケットの送信ノード数より大きければステップB30のYESルート参照、送信制御部104書換処理部14は、パケットの送信ノード数の値を、送信ノード数記憶部105の送信ノード数で書き換えるステップB40。その後、ステップB50に移行する。送信制御部104は、送信ノード情報記憶部122において送信元ノードに対して送信中を設定してからの経過時間を測定する。そして、送信ノードに対して送信中を設定してから、予め設定した時間の間、同じノードからパケットが来なければ、送信ノード情報記憶部122における当該送信元ノードに対して無送信を設定する。又、送信ノード数記憶部105がカウンタ121を備えている場合図9参照には、送信制御部104は、カウンタ121に対してカウントダウン信号を送信することにより、送信ノード数をカウントダウン-1するステップB60。なお、送信ノード数記憶部105がカウンタ121を備えていない場合図10参照には、送信制御部104はカウントダウン信号の送信は行なわない。このように、第1実施形態の一例としての並列計算機システム1によれば、送信元ノードから送信先ノードへの経路上を通過するパケットを送信している送信元ノードの数送信ノード数を、当該経路上のスイッチ100が送信ノード数記憶部105に記憶する。そして、送信元ノードが、この送信ノード数に基づいて、連続して送信するパケット間の送信間隔を算出する。具体的には、パケットサイズ×送信ノード数-1として算出される長さギャップ長のギャップをパケット間に挿入する。このギャップ長は、通信経路上にパケットを送出している送信元ノードの数に基づいて算出されるものであり、複数の送信元ノードが通信経路上にパケットを送出することにより、これらのパケットが重なり合う重合することにより生じる通信帯域の減少量に対応するものである。従って、この送信ノード数に基づいてギャップ長を設定することにより、パケットを送信中の各送信元ノードが通信帯域を均等に使用することができる。本並列計算機システム1によれば、送信元ノードが、通信経路上におけるパケットの通信状態に合わせた間隔でパケットを送信することができ、これにより、輻輳が解消することができる。すなわち、通信経路上の通信状態に合わせた輻輳制御を効率よく実現することができ、並列計算機システム1におけるネットワーク2を効率よく使用することができる。図14は第1実施形態の一例としての並列計算機システム1におけるパケットの送信状態を例示する図である。この図14に示す例においては、ノードN0及びノードN3がノードN4に対してデータを送信している。本第1実施形態の並列計算機システム1においては、この図14に示すように、送信元ノードがパケットを送信する際に、複数の送信元ノードからパケットが送信されることにより減少する通信帯域に応じた長さのギャップを、予めパケット間に挿入する。この図14に示す例では、ノードN0から送信されたパケットとノードN3から送信されたパケットが、スイッチ100-3からノードN4までの経路上において重なる。この重なり部分で、ノードN0及びノードN3が使用できる通信帯域が1/2に減少する。ここで、パケットの送信元ノードであるノードN0,N3が、連続して送信するパケットの間にパケットと同じ長さギャップ長のギャップを挿入することで、これらのノードN0,N3が使用する通信帯域をそれぞれ1/2にする。これにより、スイッチ100-3からノードN4までの重なり部分で通信帯域が減少せず、バッファ詰まりが発生しない。すなわち、輻輳の発生が阻止され、ノードN1,N2の通信はバッファの詰まりの影響を受けない。また、本並列計算機システム1においては、パケットに送信ノード数を格納することにより、各スイッチ100が容易にネットワーク2上における送信ノード数を把握することができる。スイッチ100において、送信ノード数において送信ノード数を管理し、ポート送信部102からパケットを送信するに際して、そのパケットのローカルノードの情報送信中を送信ノード数記憶部105送信ノード情報記憶部122に記憶する。これにより、スイッチ100において、パケットを送信中の送信元ノードをリアルタイムに把握することができる。スイッチ100において、送信ノード数記憶部105にカウンタ121を備え、このカウンタ121により送信ノード数を計数することにより、スイッチ100において、パケットを送信中の送信元ノードの数をリアルタイムに把握することができる。また、送信ノード数記憶部105に送信元ノードについての送信ノード状態情報を格納してから所定時間パケットが送信されない場合に、カウンタ121の送信ノード数をカウントダウンする。これにより、送信ノード数の値が適正に管理され、信頼性を向上させることができる。スイッチ100において、ポート送信部102からパケットを送信するに際して、送信ノード数記憶部105カウンタ121で管理する送信ノード数と、パケットに記憶されている送信ノード数とを比較する。そして、送信ノード数記憶部105の送信ノード数がパケットの送信ノード数よりも大きい場合に、送信ノード数記憶部105の送信ノード数でパケットの送信ノード数を書き換える。これにより、各スイッチ100において管理する送信ノード数の値をパケットに反映させることができる。また、送信先ノードが、受信したパケットから送信ノード数を抽出して、応答パケットを作成して送信元ノードに送信する。これにより、送信元ノードが送信ノード数を容易に把握することができ、この応答パケットから読み出した送信ノード数を用いて、上記式1によりギャップ長を算出することができる。B第1実施形態の変形例上述した第1実施形態においては、Put通信等のローカルノードがリモートノードへメッセージを送信する例について説明したが、これに限定されるものではない。すなわち、本技術はGet通信等のリモートノードがローカルノードにメッセージを送信する場合にも適用することができる。以下に、Get通信等のリモートノードがローカルノードにメッセージを送信する場合の処理を説明する。1ローカルノードがリモートノードへメッセージ送信を要求するGetリクエストパケットを送信する。なお、このGetリクエストパケットのパケットフォーマットとしては、例えば、図4に示した送信パケットのフォーマットから送信ノード数及びペイロードを除いたものを用いることができる。2スイッチ100において、ポート受信部106は、図12に示したフローチャートと同様の手法でルーティングヘッダに基づく次元順ルーティングを行ない、リモートノードへパケットを送信する。又、ポート送信部102は、図13に示すフローチャートのステップB10,B50と同様の処理でパケットの送信を行なう。なお、この時点では、ポート送信部102による、図13のフローチャートのステップB20~B40,B60に示した、送信ノード数に基づく送信ノード数記憶部105の更新処理は行なわれない。3Getリクエストパケットを受信したリモートノードのネットワークインタフェース203は、要求されたデータを読み出し、Getレスポンスパケットをローカルノードに送り返す。なお、このGetレスポンスパケットのパケットフォーマットとしては、例えば、図4に示した送信パケットのフォーマットと同様のものを用いることができる。4スイッチ100において、ポート受信部106は、図12に示したフローチャートと同様の処理で、ルーティングヘッダに基づく次元順ルーティングを行ない、ローカルノードへパケットを送信する。又、ポート送信部102は、図13に示したフローチャートと同様の処理で、パケットの送信や送信ノード数に基づく送信ノード数記憶部105の更新処理等を行なう。5Getレスポンスパケットを受信したローカルノードのネットワークインタフェース203は、パケットのペイロードを主記憶装置202に記憶し、又、送信ノード数を記憶した応答パケットをリモートノードへ送り返す。なお、この応答パケットのパケットフォーマットとしては、例えば、図7に示した応答パケットのフォーマットと同様である。6パケットを受信したリモートノードのネットワークインタフェース203は、前記式1により、ギャップ長を算出し、このギャップ長を有するギャップをGetレスポンスパケットの間に挿入して、ローカルノードに送信する。C第2実施形態上述した第1実施形態の一例としての並列計算機システム1においては、送信制御部104は、送信元ノードから予め設定された所定時間パケットが送信されないことを検知すると、送信ノード情報記憶部122において、当該送信元ノードに対して無送信を設定する。又、カウンタ121が備えられている場合には、送信制御部104は、これと同時に、カウンタ121に対してカウントダウン信号を送信して、送信ノード数をカウントダウンさせる。本第2実施形態の一例としての並列計算機システム1においては、ポート送信部102において、送信制御部104は、一つのメッセージを成す複数のパケットについて、その末尾のパケット末尾パケットを検知する。そして、送信制御部104は、この末尾パケットを送信する際に、送信ノード情報記憶部122において、当該送信元ノードに対して無送信を設定する。又、カウンタ121が備えられている場合には、送信制御部104は、これと同時に、カウンタ121に対してカウントダウン信号を送信して、送信ノード数をカウントダウンさせる。具体的には、送信元ノードにおいて、パケット送信部206が、メッセージのパケットを生成するに際して、メッセージの末尾のパケットに末尾である旨を表す情報末尾フラグ設定する。図15は第2実施形態の一例としての並列計算機システム1における送信パケットのフォーマットを模式的に例示する図である。本第2実施形態の一例としての並列計算機システム1の送信パケットフォーマットは、図4に示した第1実施形態の送信パケットフォーマットに加えて末尾フラグを備える。なお、送信パケットにおける、その他の部分は第1実施形態の送信パケットフォーマットと同様に構成されており、その説明は省略する。また、以下、図中、既述の符号と同一の符号は同様の部分を示しているので、その詳細な説明は省略する。送信元ノードにおいて、ネットワークインタフェース203は、メッセージを複数のパケットに分割して送信する際に、末尾のパケットに対しては、その末尾フラグを有効にする。例えば、末尾フラグに1に設定する。又、末尾以外のパケットに対しては、それぞれ末尾フラグに0を設定する。これらの、末尾フラグの1が、当該パケット分割データが末尾である事を示す末尾識別情報に相当する。なお、この末尾フラグへの0又は1の設定は、例えば、制御部205が行なってもよく、又、パケット送信部206が行なってもよい。本第2実施形態の一例としての並列計算機システム1の計算ノード200は、上述の如く、ネットワークインタフェース203において、送信する各パケットに対して、末尾フラグとして1又は0を設定するが、その他の部分は第1実施形態の計算ノード200と同様に構成されており、その説明は省略する。スイッチ100において、ポート送信部102の送信制御部104は、この末尾フラグに基づき、送信ノード数記憶部105の更新を行なう。すなわち、送信制御部104は、送信するパケットの末尾フラグを確認し、末尾フラグに1が設定されているパケットを送信する際に、送信ノード情報記憶部122において、その送信元ノードに無送信を設定する。又、これと同時に、送信ノード数記憶部105にカウンタ121が備えられている場合には、送信制御部104はカウンタ121に対してカウントダウン信号を送信して、送信ノード数をカウントダウンさせる。また、本第2実施形態においては、送信先ノードとしての計算ノード200は、送信元ノードに送信する応答パケットにも末尾フラグを備える。具体的には、図7に示す第1実施形態の応答パケットフォーマットに加えて末尾フラグを備える。計算ノード200は、受信したパケットから読み出した末尾フラグの値を、その応答パケットの末尾フラグに設定して返信する。第2実施形態の一例としての並列計算機システム1におけるポート送信部102の処理を、図16に示すフローチャートステップC10~C80に従って説明する。ポート送信部102は、ポート受信部114やポート受信部106から転送するパケットを受信すると、受信したパケットをバッファ103に格納するステップC10。送信制御部104は、パケットの末尾フラグを確認し、当該パケットが一のメッセージを構成する複数のパケットのうち末尾のパケットであるか否かを確認するステップC20。この末尾フラグに1が設定されている場合、すなわち、当該パケットが末尾のパケットである場合にはステップC20のYESルート参照、送信制御部104は、送信ノード情報記憶部122において、その送信元ノードに無送信を設定する。又、送信ノード数記憶部105にカウンタ121が備えられている場合には、送信制御部104はカウンタ121に対してカウントダウン信号を送信して、送信ノード数をカウントダウン-1させるステップC30。なお、カウンタ121を備えない場合には、このステップC30の処理は省略することができる。送信制御部104比較部13は、送信ノード数記憶部105で管理する送信ノード数とパケットに格納されている送信ノード数とを比較するステップC40。なお、送信ノード数には、送信ノード数記憶部105がカウンタ121を備えている場合図9参照には、第1実施形態と同様に、このカウンタの値が用いられる。又、送信ノード数記憶部105がカウンタ121を備えていない場合図10参照には、送信ノード数は、送信ノード情報記憶部122において送信中と記憶されているノードを数えることで求められる。送信ノード数記憶部105で管理する送信ノード数がパケットの送信ノード数以下の場合にはステップC40のNOルート参照、送信制御部104は、接続されている他のスイッチ100のネットワークポート101に対して送信要求を送信する。そして、このネットワークポート101から送信許可が応答されると、送信制御部104は、該当ネットワークポート101に対してパケットを送信するステップC60。また、送信ノード数記憶部105で管理する送信ノード数がパケットの送信ノード数より大きければステップC40のYESルート参照、送信制御部104書換処理部14は、パケットの送信ノード数の値を、送信ノード数記憶部105の送信ノード数で書き換えるステップC50。その後、ステップC60に移行する。一方、末尾フラグに0が設定されている場合、すなわち、パケットが末尾のパケットでない場合にはステップC20のNOルート参照、送信制御部104は、パケットのローカルノードに基づいて送信ノード情報記憶部122を確認するステップC70。送信ノード情報記憶部122において、当該ローカルノードが送信中となっていればステップC70のYESルート参照、ステップC40に移行する。又、送信ノード情報記憶部122において、当該ローカルノードが無送信となっていればステップC70のNOルート参照、送信制御部104は、送信ノード情報記憶部122における当該ローカルノードに対応付けて送信中を設定する。又、送信制御部104は、カウンタ121に対してカウントアップ信号を送信することにより、送信ノード数をカウントアップ1するステップC80。その後、ステップC40に移行する。このように、第2実施形態の一例としての並列計算機システム1によれば、上述した第1実施形態と同様の作用効果を得ることができる他、送信制御部104が末尾パケットであることを検知した場合に、送信ノード数記憶部105の更新を行なう。すなわち、末尾パケットを検知することにより、送信ノード情報記憶部122において当該送信元ノードへの無送信の設定や、カウンタ121のカウントダウンを行なう。すなわち、第1実施形態のように、送信ノード数記憶部105に送信元ノードについての送信ノード状態情報を格納してから所定時間の経過を待つことなく、送信ノード情報記憶部122における当該送信元ノードへの無送信の設定や、カウンタ121のカウントダウンを行なうことができる。これにより、一のメッセージについての一群のパケットの送信の終了を迅速且つ正確に把握することができ、パケットの送信の終了に即座に対応することができる。すなわち、送信元ノードにおいて、ギャップ調整部22による、パケット間に挿入するギャップ値の算出に、通信経路上の通信状態を迅速に反映させることができ、正確性や信頼性を向上させることができる。D第3実施形態上述した各実施形態やその変形例の一例としての並列計算機システム1においては、送信制御部104は、送信する全てのパケットに基づいて送信ノード数記憶部105の更新を行なっている。本第3実施形態の一例としての並列計算機システム1においては、ポート送信部102において、送信制御部104は、パケットのメッセージ長を予め設定された閾値と比較する。そして、メッセージ長が閾値よりも小さければ、そのパケットについての送信ノード数記憶部105の更新を行なわない。つまり、送信ノード情報記憶部122への送信中,無送信の設定やカウンタ121のカウントアップを行なわない。すなわち、本第3実施形態においては、送信制御部104は、パケットのデータサイズが閾値よりも小さい場合には送信ノード数の更新を抑止する更新抑止部として機能する。図17は第3実施形態の一例としての並列計算機システム1における送信パケットのフォーマットを模式的に例示する図である。本第3実施形態の一例としての並列計算機システム1の送信パケットフォーマットは、図15に示した第2実施形態の送信パケットフォーマットに加えてメッセージ長を備える。なお、送信パケットにおける、その他の部分は第2実施形態の送信パケットフォーマットと同様に構成されており、その説明は省略する。送信元ノードにおいて、ネットワークインタフェース203は、メッセージをパケットに分割して送信する際に、各パケットにメッセージの全体のデータ長を示すメッセージ長を設定する。このメッセージ長は、例えば、メッセージ送信指示とともにプロセッサ201から送信される。スイッチ100において、ポート送信部102の送信制御部104は、このメッセージ長に基づき、送信ノード数記憶部105の更新を行なうか否かの判別を行なう。すなわち、送信制御部104は、パケットを送信する際に、送信するパケットのメッセージ長を予め設定された閾値と比較する。この比較の結果、メッセージ長が閾値よりも小さい場合には、当該パケットについて、送信ノード情報記憶部122送信ノード情報記憶部122への無送信や送信中の設定やカウンタ121の更新を行なわずに、当該パケットの転送を行なう。なお、スイッチ100における、その他の部分は第2実施形態の送信パケットフォーマットと同様に構成されており、その説明は省略する。第3実施形態の一例としての並列計算機システム1におけるポート送信部102の処理を、図18に示すフローチャートステップC10,D11,C20~C80に従って説明する。なお、以下、図中、既述の符号と同一の符号を付したステップは、同様の処理を示しているので、その説明は省略する。ポート送信部102は、ポート受信部114やポート受信部106から転送するパケットを受信すると、受信したパケットをバッファ103に格納するステップC10。送信制御部104は、パケットのメッセージ長が予め設定された閾値よりも短いか否かを確認するステップD11。この確認の結果、パケットのメッセージ長が閾値よりも短い場合にはステップD11のYESルート参照、ステップC60に移行する。また、パケットのメッセージ長が閾値以上の場合にはステップD11のNOルート参照、ステップC20に移行する。このように、第3実施形態の一例としての並列計算機システム1によれば、上述した第2実施形態と同様の作用効果を得ることができる他、パケットのメッセージ長が予め設定された閾値よりも小さい場合には、カウンタ121のカウントアップや送信ノード情報記憶部122への登録を行なわない。これにより、他ノードに送信ノード数の増加が通知される時には、既にメッセージの送信が完了しているような短いメッセージが、他の計算ノード200において設定されるギャップ長に影響を与えることを防止する。すなわち、短いメッセージにより送信ノード数がカウントアップされ、送信元ノードにおいて送信されるパケット間のギャップが長くなることを防止する。これにより、メッセージの送信をいたずらに遅延させることを防止し、パケットの伝送効率を向上させる。なお、上述した第3実施形態の一例としての並列計算機システム1においては、送信パケットフォーマットにメッセージ長を備えるとともに、スイッチ100において、メッセージ長に基づき送信ノード数記憶部105の更新を行なうか否かの判別を行なう。そして、その他の部分は、第2実施形態の送信パケットフォーマットと同様に構成されている例について示しているが、これに限定されるものではない。すなわち、その他の部分として、第1実施形態もしくはその変形例と同様の構成を備えてもよい。E第4実施形態上述した各実施形態および変形例としての並列計算機システム1においては、計算ノード200において、1つのパケット送信部206を備える例を示している。本第4実施形態においては、計算ノード200が複数のパケット送信部206を備え、これらの複数のパケット送信部206からそれぞれメッセージのパケットを送信することにより、同時に複数のメッセージを送信できる。図19は第4実施形態の一例としての並列計算機システム1の計算ノード200の構成を模式的に示す図である。この図19に示すように、本第4実施形態においては、計算ノード200は複数のパケット送信部206を備える。又、各パケット送信部206は、パケットに対して、当該パケットに対応するメッセージを特定するメッセージ番号メッセージ識別情報を付加する機能を備える。図20は第4実施形態の一例としての並列計算機システム1における送信パケットのフォーマットを模式的に例示する図である。本第4実施形態の一例としての並列計算機システム1の送信パケットフォーマットは、図15に示した第2実施形態の送信パケットフォーマットに加えてメッセージ番号を備える。メッセージ番号は、送信元ノードである計算ノード200が複数のメッセージを同時に送信する場合に、これらの同時に送信している複数のメッセージを識別できるように、ネットワークインタフェース203が番号付け送信する。また、送信先ノードである計算ノード200は、送信元ノードから送信されたパケットを受信すると、その送信元ノードに対して返信する応答パケットに、受信したパケットに付加されているメッセージ番号を付加して送信する。この応答パケットフォーマットとしては、例えば、図7に示した第1実施形態における応答パケットフォーマットに、メッセージ番号を付加したものを用いることができる。なお、メッセージ番号の付け方は、例えば、0から開始し、メッセージ送信指示が来るたびにカウントアップ1する。又、送信元ノードにおいては、送信先ノードから、一のメッセージについての末尾のパケットに対応する応答パケットを受信すると、この応答パケットに付されているメッセージ番号を、次に送信するメッセージに対して、再び割り当てる。これにより、メッセージ番号を効率良く運用することができる。なお、送信パケットにおける、メッセージ番号以外の部分は第2実施形態の送信パケットフォーマットと同様であり、その説明は省略する。送信元ノードにおいて、ネットワークインタフェース203は、メッセージをパケットに分割して送信する際に、各パケットにそのメッセージを識別するメッセージ番号を設定する。図21は第4実施形態の一例としての並列計算機システム1における送信ノード数記憶部105の機能構成を模式的に示す図である。この送信ノード数記憶部105は、カウンタ121及び送信ノード情報記憶部122を備える。本第4実施形態の並列計算機システム1において、送信ノード情報記憶部122は、図21に示すように、ノードアドレス等の送信元ノードを特定する情報とメッセージ番号との組み合わせに対して、当該組み合わせに相当するパケットが送信されているか否かを表す、送信中もしくは無送信のいずれかを示す情報が対応付けられる。すなわち、本第4実施形態においては、同じ送信元ノードから送信されたパケットであっても、メッセージ番号が異なるものは、異なる送信ノード数として取り扱う。つまり、スイッチ100のポート送信部102において、送信元ノード数として、同じ送信元ノードから送信されたパケットであっても、メッセージ番号が異なるものについては異なるものとして計数する。また、送信制御部104は、パケットを送信するに際して、同じ送信元ノードから送信されたパケットであっても、メッセージ番号が異なるものを送信する場合には、別個、カウンタ121のカウントアップも行なう。同一の送信元ノードから複数のメッセージを同時に送信する場合に、これらのメッセージの送信経路が重なれば、これらのメッセージ間においても、他の送信元ノードからそれぞれ送信されたメッセージの重なり合い重合により帯域減少が生じるのと同様に、帯域減少が生じるからである。図22は第4実施形態の一例としての並列計算機システム1における応答パケットのフォーマットを模式的に例示する図である。この応答パケットは、例えば、図22に示すように、図7に示した応答パケットにメッセージ番号及び末尾フラグを備える。なお、この応答パケットに格納されるメッセージ番号以外の情報は、図7等を用いて説明したパケットに含まれる既述の各情報と同様であるので、その詳細な説明は省略する。また、この応答パケットに格納されるメッセージ番号は、パケット受信部208が受信したパケット送信パケットから読み出した値が用いられる。送信先ノードは、パケットを受信するとこの応答パケットを送信元ノードに対して送信することにより、送信ノード数とともに、末尾フラグやメッセージ番号を送信元ノードに通知する。送信元ノードにおいては、応答パケットに付加された送信ノード数に基づいて、前記式1に従ってギャップ長を算出する。すなわち、同じ送信元ノードから送信されたパケットであっても、メッセージ番号が異なるものは、異なるものとしてカウントされた送信ノード数に基づいてギャップ長を算出する。送信元ノードにおいては、このようにして算出したギャップ長のブランクを、連続して送信するパケット間に挿入する。これにより、同一の送信元ノードから送信される複数のメッセージにより生じる通信帯域の減少に対応したギャップ長でパケットが送信され、輻輳の発生を阻止することができる。第4実施形態の一例としての並列計算機システム1におけるポート送信部102の処理を、図23に示すフローチャートステップC10,C20,E31,C40~C60,E71,E81に従って説明する。なお、以下、図中、既述の符号と同一の符号を付したステップは、同様の処理を示しているので、その説明は省略する。ポート送信部102は、ポート受信部114やポート受信部106から転送するパケットを受信すると、受信したパケットをバッファ103に格納するステップC10。送信制御部104は、パケットの末尾フラグを確認し、当該パケットが一のメッセージを構成する複数のパケットのうち末尾のパケットであるか否かを確認するステップC20。この末尾フラグに1が設定されている場合、すなわち、パケットが末尾のパケットである場合にはステップC20のYESルート参照、送信制御部104は、送信ノード情報記憶部122において、その送信元ノードと対応するメッセージ番号との組み合わせに対応させて無送信を設定する。又、送信ノード数記憶部105にカウンタ121が備えられている場合には、送信制御部104はカウンタ121に対してカウントダウン信号を送信して、送信ノード数をカウントダウンさせステップE31、ステップC40に移行する。一方、末尾フラグに0が設定されている場合、すなわち、パケットが末尾のパケットでない場合にはステップC20のNOルート参照、送信制御部104は、パケットのローカルノードとメッセージ番号とに基づいて送信ノード情報記憶部122を確認するステップE71。送信ノード情報記憶部122において、当該ローカルノードと対応するメッセージ番号との組み合わせに送信中が設定されていればステップE71のYESルート参照、ステップC40に移行する。又、送信ノード情報記憶部122において、当該ローカルノードと対応するメッセージ番号との組み合わせに無送信が設定されていればステップE71のNOルート参照、送信制御部104は、送信ノード情報記憶部122における当該ローカルノードと対応するメッセージ番号との組み合わせに対応付けて送信中を設定する。又、送信制御部104は、カウンタ121に対してカウントアップ信号を送信することにより、送信ノード数をカウントアップ1するステップE81。その後、ステップC40に移行する。このように、第4実施形態の一例としての並列計算機システム1によれば、上述した第2実施形態と同様の作用効果を得ることができる他、送信元の計算ノード200から同時に複数のメッセージを送信する場合にもパケット間に適切なギャップを挿入できる。すなわち、送信元ノード数として、同じ送信元ノードから送信されたパケットであっても、メッセージ番号が異なるものについては異なるものとして取り扱う。すなわち、スイッチ100のポート送信部102において、送信元ノード数として、同じ送信元ノードから送信されたパケットであっても、メッセージ番号が異なるものについては異なるものとして計数する。これにより、送信元ノードにおいて、同一の送信元ノードから送信される複数のメッセージにより生じる通信帯域の減少に対応したギャップ長が求められ、最適な間隔でパケットが送信される。これにより、輻輳の発生を阻止することができる。なお、本第4実施形態においては、図19に示すように、計算ノード200のネットワークインタフェース203が複数のパケット送信部206を備えているが、これに限定されるものではなく、実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。例えば、一の計算ノード200が複数のネットワークインタフェース203を備えてもよい。この場合、メッセージ番号の代わりに、ネットワークインタフェース203毎に固有の識別情報例えば、ネットワークインタフェース番号を設定する。そして、送信ノード情報記憶部122において、メッセージ番号に代えてこのネットワークインタフェース番号を用いて、ローカルノードとネットワークインタフェース番号との組み合わせに対応付けて、送信中,無送信の情報を設定する。これにより、本第4実施例と同様に実現することができる。F第5実施形態例えば、図2に例示した第1実施形態の並列計算機システム1は、複数のスイッチ100を1次元の直線状に配置した1次元メッシュのネットワーク構成を備えているが、これに限定されるものではない。すなわち、並列計算機システム1が多次元ネットワーク構成を備えてもよい。図24は第5実施形態の一例としての並列計算機システム1の構成を模式的に示す図、図25はその並列計算機システム1に備えられるスイッチ100のハードウェア構成を模式的に示す図である。図24に示す並列計算機システム1は、N次元メッシュただし、N=2のネットワーク構成を備え、X方向とY方向とからなる二次元の格子状のネットワークの各格子点に、それぞれ、図25に示すような5ポートのスイッチ100が配置されている。又、各スイッチ100には計算ノード200が接続されている。なお、以下、X方向を次元Xという場合があり、Y方向を次元Yという場合がある。この図24に示す例においては、並列計算機システム1は、X方向に4列X=1~4、Y方向に4列Y=1~4の二次元の格子状のネットワーク構成を備え、16個のスイッチ100と16個の計算ノード200とを備える。以下、便宜上、この図24に示す並列計算機システム1における個々のスイッチ100を、X,Y座標値で特定する場合がある。例えば、図24中の左上に位置する、符号Aが示された計算ノード200以下、ノードAという場合があるが接続されたスイッチ100を、その座標1,4を用いてスイッチ1001,4と表す。同様に、図24中の右下に位置する、符号Fが示された計算ノード200以下、ノードFという場合があるが接続されたスイッチ100を、その座標4,1を用いてスイッチ1004,1と表す。以下、同様にして、各スイッチ100や計算ノード200を特定する。図24に示す例においては、スイッチ1002,4にノードBが、スイッチ1001,3にノードCが、スイッチ1004,4にノードDが、スイッチ1004,3にノードEが、それぞれ接続されている。そして、この図24に示す例においては、ノードA,B,Cが、それぞれノードFに対してパケットを送信している状態を示す。また、本並列計算機システム1においても、図12に示したようなX,Yの順に座標を合わせる次元順ルーティングを行なうものとする。本第5実施形態においては、図25に示すような5ポートのスイッチ100が用いられる。この5ポートのスイッチ100においては、4つのネットワークポート101-1~101-4が備えられている。そして、これらの4つのネットワークポート101-1~101-4のうち、例えば、ネットワークポート101-1,101-2がX方向の通信に用いられ、ネットワークポート101-3,101-4がY方向の通信に用いられる。これにより、ネットワークポート101-1,101-2に備えられる各送信ノード数記憶部105は、ネットワーク2におけるX方向のパケット通信にかかる送信ノード数についての情報を記憶する。すなわち、ネットワークポート101-1,101-2は次元Xに属する。又、ネットワークポート101-3,101-4に備えられる各送信ノード数記憶部105は、ネットワーク2におけるY方向のパケット通信にかかる送信ノード数についての情報を記憶する。すなわち、ネットワークポート101-3,101-4が次元Yに属する。以下、ネットワークポートを示す符号としては、複数のネットワークポートのうち1つを特定する必要があるときには符号101-1~101-4を用いるが、任意のネットワークポートを指すときには符号101を用いる。又、ノードポート110に計算ノード200が接続される。なお、図25中においては、便宜上、各ネットワークポート101等の構成の図示を省略している。又、図24中においては、便宜上、各スイッチ100の構成の図示を省略するとともに、一部のスイッチ100についてのみ送信ノード数記憶部105を示している。また、以下、図24中において、例えばスイッチ1001,4のように、スイッチ100の内部に示された送信ノード情報記憶部105は、X方向の通信に用いられるネットワークポート101のポート送信部102に備えられる送信ノード情報記憶部105を示す。又、スイッチ1004,4のように、スイッチ100の外部に示された送信ノード情報記憶部105は、Y方向の通信に用いられるネットワークポート101のポート送信部102に備えられる送信ノード情報記憶部105を示す。本第5実施形態の並列計算機システム1においては、送信ノード数記憶部105には、当該送信ノード数記憶部105が備えられるネットワークポート101が属する次元での通信にかかる、送信元ノードについての情報が記憶される。また、パケットの通信経路において、次元の乗り換えが生じるスイッチ100においては、乗り換え前の次元のネットワークポート101の送信状態情報に代えて、乗り換え後の次元のネットワークポート101の送信ノード数記憶部105に、当該スイッチ100の情報が設定される。ここで、次元の乗り換えとは、一の次元方向の通信経路を通過するパケットが、スイッチ100において、当該一の次元に属するネットワークポート101から、他の次元に属するポート送信部102へ転送されることにより、他の次元方向へ通信経路が切り替わることをいう。例えば、次元Xと次元Yとからなる2次元のネットワーク2において、X方向もしくはY方向の通信経路を通過するパケットが、スイッチ100において、次元Xもしくは次元Yに属するネットワークポート101から、他の次元Yもしくは次元Xに属するポート送信部102へ転送されることにより、Y方向もしくはX方向へ通信経路が切り替わることをいう。具体的には、例えば、図24に示すネットワーク2を備える並列計算機システム1において、ノードAからノードFに対して送信されたパケットは、先ず、スイッチ1001,4,スイッチ1002,4,スイッチ1003,4及びスイッチ1004,4の順でX方向次元Xの経路を通過する。そして、スイッチ1004,4において、Y方向次元Yの経路へ次元の乗り換えが行なわれる。その後、パケットは、スイッチ1004,4,スイッチ1004,3,スイッチ1004,2及びスイッチ1004,1の順でY方向の経路を通過してノードFに到達する。ここで、ノードDが接続されるスイッチ1004,4には、実際にはノードAから送信されるパケットとノードBから送信されるパケットとが通過する。従って、ノードBが接続されるスイッチ1002,4のX方向のネットワークポート101の送信ノード数記憶部105には、送信元ノードA,Bの情報が記憶される。具体的には、送信ノード情報記憶部122において、送信元ノードA,Bのそれぞれに送信中が設定され、又、カウンタ121にカウント値2が設定される。なお、図24中、送信ノード数記憶部105に登録される送信元ノードA,Bにかかるこれらの送信状態情報を、送信元ノードを特定する符号A,Bを用いて表す。そして、これらのノードA,Bから送信されるパケットの通信経路において、ノードDが接続されるスイッチ1004,4にて、上述の如く、X方向第1の次元からY方向第2の次元への次元の乗り換えが行なわれる。このスイッチ1004,4においては、乗り換え前の次元X方向のネットワークポート101の送信状態情報図24ではA,Bに代えて、乗り換え後の次元Y方向のネットワークポート101の送信ノード数記憶部105に、当該スイッチ100にかかる送信状態情報図24ではDが設定される。そして、この次元の乗り換えに際しては、乗り換え前の次元において2以上の送信元ノードについての送信状態情報が記憶されていても、乗り換え後の次元においては、当該スイッチ100に接続された一の計算ノード200の送信状態情報に置換される。すなわち、ネットワーク2における一の次元の経路上の2以上の送信元ノードについての送信状態情報が、次元の乗り換えが生じるスイッチ100において、当該スイッチ100に接続された計算ノード200の送信状態情報として記憶される。つまり、パケットの通信経路における、次元Xの通信路から次元Yの通信路への乗り換えが行なわれるスイッチ100において、その送信ノード数記憶部105に、乗り換え前の次元Xの通信路上での送信状態情報に代えて、乗り換え後の次元Yに対応するネットワークポート101において計算ノード2004,4についての送信状態情報を記憶する。以下、一の次元方向の2以上の送信元ノードについての送信状態情報が、スイッチ100における次元の乗り換えにより、他の次元の方向についての、当該スイッチ100に接続された計算ノード200の送信状態情報へ置換することを、まとめるもしくは丸めるという。例えば、スイッチ1004,4においては、ノードA,Bについての送信状態情報が、これらのノードA,BとY次元のアドレスが等しいノードDの送信状態情報としてまとめて記憶される。同様に、ノードEが接続されたスイッチ1004,3においても、そのX方向の次元における送信元ノードCを表す送信状態情報が、ノードEを表す送信状態情報にまとめられる。又、このスイッチ1004,3においては、Y方向経路において、スイッチ1004,4から出力されるパケットも通過する。これにより、スイッチ1004,3の送信ノード数記憶部105には、ノードDを表す送信状態情報も記憶される。すなわち、スイッチ1004,3の送信ノード数記憶部105には、ノードD,Eにかかる送信状態情報が記憶される。図26は第5実施形態の一例としての並列計算機システム1の送信パケットに記憶される送信ノード数のフォーマット例を模式的に示す図である。本第5実施形態においては、パケットに記憶される送信ノード数は、この図26に示すように、次元Xの送信ノード数と次元Yの送信ノード数とを備える。本第5実施例のスイッチ100において、各ネットワークポート101は、当該ネットワークポート101が属している次元方向の送信元ノードについてのみ、送信ノード数記憶部105に送信状態情報を記憶する。又、送信ノード数記憶部105にカウンタ121を備える場合には、このカウンタ121に、そのネットワークポート101が属している次元方向の送信ノードについての送信ノード数を記憶する。すなわち、送信ノード数記憶部105には次元毎に送信状態情報が記憶される。また、パケットを受信したリモートノードのネットワークインタフェース203は、受信したパケットの送信ノード数を、そのまま応答パケットに記してローカルノードに送り返す。そして、応答パケットを受信したローカルノードのネットワークインタフェース203において、ギャップ制御部207は、パケットから読み出した各次元の送信ノード数の合計から、当該パケットが送信元ノードから送信先ノードまでの経路上において次元を乗り換えた数を引いた値を送信ノード数として算出する。すなわち、本第5実施形態に示す例においては、送信ノード数を以下の式2に基づいて算出する。送信ノード数=次元Xの送信ノード数次元Yの送信ノード数-次元を乗り換えた数2なお、ローカルノードアドレスとリモートノードアドレスとの間で、各次元の値を比較し、値が異なる次元の数をパケットが次元を乗り換えた数として用いることができる。また、本並列計算機システム1においては、送信元ノードと送信先ノードとの組み合わせによりパケットの送信経路は確定する。従って、送信元ノードと送信先ノードとの組み合わせに基づいて、その通信経路における次元を乗り越えた数を容易に知ることができる。又、ローカルノードアドレスと、リモートノードアドレス間で、各次元の値を比較し、値が異なる次元の数が、次元を乗り換えた回数であるともいえる。ギャップ制御部207は、上記式2で算出した送信ノード数を用いて、以下の式3によりギャップ長を算出する。ギャップ長=パケットサイズ×送信ノード数-1×α3なお、αはパラメータただし、α>1であって、予め設定したこのパラメータαを乗算することでギャップ長を調整する。これは、本第5実施形態の手法においては、以下の如く、ネットワーク2おける一部の領域で送信ノード数が実際の値と不一致となる場合が生じる得ることを補正するためである。例えば、図24に示す例において、ノードAが接続されたスイッチ1000,4やノードBが接続されたスイッチ1002,4では、X方向での送信ノード数が2、Y方向での送信ノード数が2である。又、スイッチ1004,4において、X方向からY方向へ1回次元を乗り換えられる。従って、上記式2により送信ノード数=22-1=3が求められる。パケットを受信したノードFは、この送信ノード数3を格納した応答パケットをノードA,Bに送信する。この送信ノード数3は、図24に示す例において、実際にノードFにパケットを送信しているノードの数ノードA,B,Cの3つと一致する。一方、ノードCが接続されたスイッチ1001,3では、X方向での送信ノード数が1、Y方向での送信ノード数が2である。又、スイッチ1004,3において、X方向からY方向へ1回次元を乗り換えられる。従って、上記式2により送信ノード数=12-1=2が求められる。パケットを受信したノードFは、この送信ノード数2を格納した応答パケットをノードA,Bに送信する。この送信ノード数2は、図24に示す例において、実際にノードFにパケットを送信しているノードの数ノードA,B,Cの3つと不一致であり、実際の送信ノード数より小さくなる。この様に、本第5実施形態の一例としての並列計算機システム1においては、経路において、次元が異なるアドレスに位置する複数のノードからそれぞれパケットを送信する際に、送信ノード数が実際の値より小さくなる場合が生じる。しかし、送信ノード数記憶部105にネットワークポート101が属している次元のみの送信状態情報を記憶することで、送信ノード数記憶部105として用いる記憶部の容量を大幅に削減することができる。すなわち、ネットワークポート101が属する次元の送信状態情報のみを限定して格納することにより、記憶部として、N個の送信状態情報を格納できるだけの容量を備えればよく、製造コストを低減することができる。これに対して、例えば、各次元のノード数がNの二次元メッシュ、トーラスの場合、全ノードについての送信状態情報を記憶しようとすれば、記憶部として、ネットワークポート101毎にN×N個の送信状態情報を格納するための容量が必要となり、製造コストが大きくなる。上述の如く構成された、第5実施形態の一例としての並列計算機システム1におけるポート送信部102の処理を、図27に示すフローチャートステップC10,F20,C30~C80に従って説明する。なお、以下、図中、既述の符号と同一の符号を付したステップは、同様の処理を示しているので、その説明は省略する。ポート送信部102は、ポート受信部114やポート受信部106から転送するパケットを受信すると、受信したパケットをバッファ103に格納するステップC10。送信制御部104は、パケットのローカルノードに基づいて送信ノード情報記憶部122を確認するステップF20。すなわち、送信ノード情報記憶部122において、当該ローカルノードが送信中となっており、且つ、当該パケットが末尾のパケットであるか否かを確認する。送信ノード情報記憶部122において、当該ローカルノードが送信中、且つ、当該パケットが末尾パケットであればステップF20のYESルート参照、ステップC30に移行する。一方、送信ノード情報記憶部122において、当該ローカルノードが送信中、且つ、当該パケットが末尾パケットでない場合にはステップF20のNOルート参照、ステップC70に移行する。このように、第5実施形態の一例としての並列計算機システム1によれば、上述した第2実施形態と同様の作用効果を得ることができる他、N次元メッシュのネットワーク構成を備える場合に、送信ノード数記憶部105にネットワークポート101が属している次元のみの送信状態情報を記憶することで、送信ノード数記憶部105として用いる記憶部の容量を削減することができる。すなわち、ネットワークポート101が属する次元の送信状態情報のみを限定して格納することにより、製造コストを低減することができる。G第6実施形態上述した各実施形態やその変形例の一例としての並列計算機システム1においては、送信パケットを受信した送信先ノードが、送信元ノードに対して送信ノード数を含む応答パケットを返信している。本第6実施形態の一例としての並列計算機システム1においては、スイッチ100が送信元ノードに対して送信ノード数を含む応答パケットを返信する。すなわち、本第6実施形態の一例としての並列計算機システム1においては、スイッチ100が送信ノード数送信部23としての機能を備える。具体的には、スイッチ100のポート送信部102において、送信制御部104が、パケットの送信ノード数と送信ノード数記憶部105に記憶されたポートの送信ノード数とを比較する。そして、送信ノード数記憶部105に記憶されたポートの送信ノード数がパケットの送信ノード数より大きければ、送信制御部104は、ポートの送信ノード数を記した応答パケットを作成し、当該パケットのローカルノードに送り返す。なお、この応答パケットのフォーマットや作成手法は、第1実施形態と同様の手法により実現することができ、その詳細な説明は省略する。上述の如く構成された、第6実施形態の一例としての並列計算機システム1におけるポート送信部102の処理を、図28に示すフローチャートステップC10~C50,G51,C60~C80に従って説明する。なお、以下、図中、既述の符号と同一の符号を付したステップは、同様の処理を示しているので、その説明は省略する。送信制御部104比較部13は、送信ノード数記憶部105で管理する送信ノード数とパケットに格納されている送信ノード数とを比較するステップC40。この比較の結果、送信ノード数記憶部105で管理する送信ノード数がパケットの送信ノード数より大きければステップC40のYESルート参照、送信制御部104は、パケットの送信ノード数の値を、送信ノード数記憶部105の送信ノード数で書き換えるステップC50。送信制御部104は、書き換えたパケットの送信ノード数に基づき、応答パケットを生成する。そして、送信制御部104は、送信元であるネットワークポート101のポート送信部102に送信要求を送信する。このポート送信部102から送信許可が返信されると、応答パケットを送信するステップG51。その後、送信制御部104は、接続されている他のスイッチ100のネットワークポート101に対して送信要求を送信する。そして、このネットワークポート101から送信許可が応答されると、送信制御部104は、該当ネットワークポート101に対してパケットを送信しステップC60、処理を終了する。また、応答パケットを受信したローカルノードのネットワークインタフェース203においては、第1実施形態と同様に、送信ノード数をギャップ制御部207に送り、パケット送信部206にギャップを挿入するように制御する。このように、第6実施形態の一例としての並列計算機システム1によれば、スイッチ100において、パケットの転送時に送信ノード数が増加する時に、応答パケットを作成して送信元ノードに対して送り返す。これにより、送信先ノードから応答パケットを送り返すことに比べて、ネットワーク2上の通信状態を送信元ノードに対して迅速に通知し、最適なギャップ長でのパケット送出を行なうことができる。すなわち、送信元ノードに対して、ネットワーク2の通信状態を迅速に反映させることができる。また、上述した第6実施形態の一例としての並列計算機システム1において、送信元ノードに対して応答パケットを送り返すスイッチ100を、特定のスイッチ100に限定してもよい。これにより、全てのスイッチ100から応答パケットを送出することにより生じうる、ネットワークトラフィックの増加等の影響を少なくすることができる。なお、応答パケットを送り返す機能を備えるスイッチ100としては、例えば、ネットワーク2のトポロジがメッシュである場合の中央部分のスイッチ等、通信が集中することが予想されるスイッチ100に限定することが望ましい。H第7実施形態図29は第7実施形態の一例としての並列計算機システム1における計算ノード200の構成を模式的に示す図である。この図29に示すように、第7実施形態の計算ノード200は、制御部205を複数備える他は、第1実施形態の計算ノード200と同様の構成を備える。なお、以下、図中、既述の符号と同一の符号は同様の部分を示しているので、その詳細な説明は省略する。本第7実施形態の並列計算機システム1においては、各計算ノード200から送信されるデータはパケットに分割された状態で送受信される。又、このパケットのパケット長は適宜設定することができ、又、固定長もしくは可変長として適宜実施することができる。本第7実施形態の一例としての並列計算機システム1において、プロセッサ201からメッセージ送信指示を受け取った各制御部205は、パケットを生成し、生成したこれらのパケットをそれぞれパケット送信部206に送る。プロセッサ201が複数のメッセージ送信指示を行ない、複数の制御部205がそれぞれパケットをパケット送信部206に送った場合は、パケット送信部206は時分割でパケットを送信する。図30は第7実施形態の一例としての並列計算機システム1における送信パケットのフォーマットを模式的に例示する図である。本第7実施形態の一例としての並列計算機システム1の送信パケットフォーマットは、図15に示した第2実施形態の送信パケットフォーマットに加えて先頭フラグを備える。なお、送信パケットにおける、その他の部分は、図15等を用いて説明したパケットに含まれる既述の各情報と同様であるので、その詳細な説明は省略する。また、以下、図中、既述の符号と同一の符号は同様の部分を示しているので、その詳細な説明は省略する。送信元ノードにおいて、ネットワークインタフェース203は、メッセージを複数のパケットに分割して送信する際に、先頭のパケットに対しては、その先頭フラグを例えば1に設定する。又、先頭以外のパケットに対しては、それぞれ先頭フラグに0を設定する。これらの、先頭フラグの1が、当該パケット分割データが先頭である事を示す先頭識別情報に相当する。なお、この先頭フラグへの0又は1の設定は、例えば、制御部205が行なってもよく、又、パケット送信部206が行なってもよい。図31は第7実施形態の一例としての並列計算機システム1における送信ノード数記憶部105の構成を示す図である。この図31に示す第7実施形態の一例としての並列計算機システム1の送信ノード数記憶部105は、第1実施形態の送信ノード数記憶部105から送信ノード数記憶部105を除くものであり、カウンタ121のみを備える。この第7実施形態としての送信ノード数記憶部105を備えるスイッチ100においては、カウンタ121は、送信制御部104からのカウントアップ信号もしくはカウントダウン信号に基づきそのカウント値を変更する。そして、送信制御部104は、先頭フラグ1が設定されたパケット先頭パケットを他のスイッチ100に送信する際に、カウンタ121に対してカウントアップ信号を送信することにより、カウンタ121にカウントアップを行なわせる。また、送信制御部104は、末尾フラグ1が設定された末尾パケットを送信する際に、カウンタ121に対してカウントダウン信号を送信することにより、送信ノード数をカウントダウンさせる。なお、カウンタ121のカウントアップやカウントダウンのタイミングは、これらに限定されるものではなく、種々変形して実施することができる。例えば、先頭パケットをポート受信部106が受信した際に、受信制御部108がカウンタ121に対してカウントアップ信号を送信してカウントアップを行なわせてもよい。同様に、末尾パケットをポート受信部106が受信した際に、受信制御部108がカウンタ121に対してカウントダウン信号を送信して送信ノード数をカウントダウンさせてもよい。上述の如く構成された第7実施形態の一例としての並列計算機システム1における送信元ノードとしての計算ノード200のネットワークインタフェース203の処理を、図32に示すフローチャートステップH10~H100に従って説明する。制御部205は、プロセッサ201からメッセージ送信指示を受信するステップH10。制御部205は、このメッセージ送信指示を確認し、当該メッセージ送信指示が主記憶装置202に格納されているデータの送信を指示するものであるか否かを確認するステップH20。主記憶装置202に格納されているデータの送信を指示するメッセージ送信指示としては、例えば、Putリクエストがある。又、主記憶装置202に格納されているデータの送信を指示しないメッセージ送信指示としては、例えば、Getリクエストや単なるコマンド送信がある。メッセージ送信指示がリモートノードへデータを送信するものである場合にはステップH20のYESルート参照、制御部205は、対象のデータを分割して、1パケットで送信するデータの主記憶装置202上のアドレスやデータ長を生成する。制御部205は、生成したこれらの情報をDMAコントローラ204へ送信して、DMAコントローラ204に送信するデータを主記憶装置202から読み出させるステップH30。制御部205は、プロセッサ201からのメッセージ送信指示に基づいて、送信するパケットを生成するステップH40。例えば、データ送信を行なう場合には、DMAコントローラ204が読み出したデータとメッセージ送信指示から取得した情報等に基づいて作成したヘッダとを組み合わせることによりパケットを生成する。又、メッセージ送信指示がデータ送信を行なわないものである場合にはステップH20のNOルート参照、メッセージ送信指示に基づいて送信するパケットを作成する。その後、制御部205は、生成したパケットが、メッセージにかかる先頭パケットであり、且つ、他の制御部205がパケットを送信中ではないことを確認するステップH50。生成したパケットが、メッセージにかかる先頭パケットであり、且つ、他の制御部205がパケットを送信中ではない場合にはステップH50のYESルート参照、当該パケットの先頭フラグを有効にするステップH60。例えば、先頭フラグに1を設定する。そして、制御部205は、このパケットをパケット送信部206によって送信させるステップH70。一方、生成したパケットが、メッセージにかかる先頭パケットであり、且つ、他の制御部205がパケットを送信中ではないとの条件を満たさない場合にはステップH50のNOルート参照、次に、そのパケットが末尾パケットであり、且つ、同じメッセージの先頭パケットの先頭フラグが有効に設定されているか否かを確認するステップH90。当該パケットが末尾パケットであり、且つ、同じメッセージで先頭フラグが有効に設定されているとの条件が満たされていない場合にはステップH90のNOルート参照、ステップH70に移行する。また、当該パケットが末尾パケットであり、且つ、同じメッセージで先頭フラグが有効に設定されていればステップH90のYESルート参照、当該パケットの末尾フラグを有効にする。すなわち、例えば、末尾フラグに1を設定するステップH100。その後、ステップH70に移行する。そして、制御部205は、当該パケットが末尾パケットであるか否かを確認しステップH80、末尾パケットでない場合にはステップH80のNOルート参照、ステップH20に戻る。又、当該パケットが末尾パケットであればステップH80のYESルート参照、処理を終了する。次に、第7実施形態の一例としての並列計算機システム1におけるポート送信部102の処理を、図33に示すフローチャートステップC10,J11,J12,C20~C60に従って説明する。なお、以下、図中、既述の符号と同一の符号を付したステップは、同様の処理を示しているので、その説明は省略する。ポート送信部102は、ポート受信部114やポート受信部106から転送するパケットを受信すると、受信したパケットをバッファ103に格納するステップC10。送信制御部104は、この受信したパケットの先頭フラグを確認して、当該パケットが先頭パケットであるか否かを確認するステップJ11。この確認の結果、パケットが先頭パケットである場合にはステップJ11のYESルート参照、送信制御部104は、送信ノード数記憶部105カウンタ121に対してカウントアップ信号を送信し、カウンタ値をカウントアップ1させるステップJ12。その後、ステップC40に移行する。また、パケットが先頭パケットではない場合にはステップJ11のNOルート参照、ステップC20に移行する。このように、第7実施形態の一例としての並列計算機システム1によれば、上述した第2実施形態と同様の作用効果を得ることができる他、スイッチ100において、送信ノード数記憶部105がカウンタ121のみを備え、このカウンタ値に基づいて送信ノード数を管理する。これにより、送信ノード情報記憶部122のような送信ノード状態情報の記憶を行なうための記憶領域を用意する必要がなく、送信ノード数記憶部105として用いる記憶部の容量を削減することができる。従って、製造コストを低減することができる。また、送信パケットに送信フラグと末尾フラグとを備える。そして、1つの送信元ノードが時分割で複数のメッセージを送信する場合に、1つのメッセージに対してのみ先頭フラグと末尾フラグとを有効にすることにより、送信ノード数を正確にカウントすることができ、信頼性を向上させることができる。Iその他そして、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。なお、本発明の各実施形態が開示されていれば、本発明を当業者によって実施製造することが可能である。"