"中継装置を介して他のデータ通信装置にデータを送信するデータ通信装置において、前記他のデータ通信装置に送信した送信データに対する応答データが到着した到着実時刻と、前記他のデータ通信装置から送信された応答データが前記データ通信装置に到着するまでに経由した中継装置の数に、1つの中継装置を経由する際に要する転送遅延時間を乗じて算出される到着予測時刻との差分と、前記データの通信経路上の中継装置のバッファサイズとに基づいて前記データの実効転送速度を算出し、前記算出した実効転送速度に基づき、送信データ間の送信間隔を算出する送信間隔算出部と、前記算出された送信間隔に基づき、送信データの送信制御を行なう送信制御部とを有することを特徴とするデータ通信装置。前記送信間隔算出部は、前記送信間隔として、前記データのデータ長を前記実効転送速度で除算した値から、前記データ長を輻輳が発生していない場合の実効データ転送速度で除算した値を減算した値を算出することを特徴とする、請求項1記載のデータ通信装置。中継装置を介して他のデータ通信装置にデータを送信するデータ通信装置において、前記他のデータ通信装置に送信した送信データに対する応答データが未到着の送信データのデータ量を総和した総データ量が制限サイズ以下となるようにデータの送信を行なう送信制御部と、前記他のデータ通信装置に送信した送信データに対する応答データが到着した到着実時刻と、前記他のデータ通信装置から送信された応答データが前記データ通信装置に到着するまでに経由した中継装置の数に1つの中継装置を経由する際に要する転送遅延時間を乗じて算出される到着予測時刻との差分と、前記データの通信経路上の中継装置のバッファサイズとに基づいて前記データの実効転送速度を算出し、前記算出した実効転送速度に基づき、前記制限サイズを算出する制限サイズ算出部とを有することを特徴とするデータ通信装置。前記制限サイズの初期値として、前記応答データが到着するまでに経由した中継装置の数に、1つの中継装置を経由する際に要する転送遅延時間を乗じた値を2倍することにより算出される往復伝送遅延時間に、輻輳が発生していない場合の実効データ転送速度を乗ずることにより算出した値を設定することを特徴とする請求項3記載のデータ通信装置。前記制限サイズ算出部は、前記制限サイズとして、前記往復伝送遅延時間に前記実効転送速度を乗ずることにより算出した値を算出することを特徴とする請求項4記載のデータ通信装置。中継装置介してデータを送信するデータ送信方法であって、コンピュータが、送信した送信データに対する応答データが到着した到着実時刻と、前記応答データが到着するまでに経由した中継装置の数に、1つの中継装置を経由する際に要する転送遅延時間を乗じて算出される到着予測時刻との差分と、前記データの通信経路上の前記中継装置のバッファサイズとに基づいて前記データの実効転送速度を算出し、前記算出した実効転送速度に基づき、送信データ間の送信間隔を算出し、前記算出した送信間隔に基づき、送信データの送信制御を行なうことを特徴とするデータ送信方法。前記送信間隔として、前記データのデータ長を前記実効転送速度で除算した値から、前記データ長を輻輳が発生していない場合の実効データ転送速度で除算した値を減算した値を算出することを特徴とする請求項6記載のデータ送信方法。中継装置を介して他のデータ通信装置にデータを送信するデータ送信方法であって、前記他のデータ通信装置に送信した送信データに対する応答データが到着した到着実時刻と、前記他のデータ通信装置から送信された応答データが前記データ通信装置に到着するまでに経由した中継装置の数に、1つの中継装置を経由する際に要する転送遅延時間を乗じて算出される到着予測時刻との差分と、前記データの通信経路上の前記中継装置のバッファサイズとに基づいて前記データの実効転送速度を算出し、前記算出した実効転送速度に基づき制限サイズを算出し、前記他のデータ通信装置に送信した送信データに対する応答データが未到着の送信データのデータ量を総和した総データ量が前記制限サイズ以下となるようにデータの送信を行なうことを特長とするデータ送信方法。前記制限サイズの初期値として、前記応答データが到着するまでに経由した中継装置の数に、1つの中継装置を経由する際に要する転送遅延時間を乗じた値を2倍することにより算出される往復伝送遅延時間に、輻輳が発生していない場合の実効データ転送速度を乗ずることにより算出した値を設定することを特徴とする請求項8記載のデータ送信方法。前記制限サイズとして、前記往復伝送遅延時間に前記実効転送速度を乗ずることにより算出した値を算出することを特徴とする請求項9記載のデータ送信方法。複数の中継装置をそなえた通信網と、当該通信網を介してデータの送受信を行なう複数の計算ノードとをそなえる計算機システムにおいて、前記計算機ノードは、前記他の計算ノードに送信した送信データに対する応答データが到着した到着実時刻と、前記他の計算ノードから送信された応答データが前記計算ノードに到着するまでに経由した中継装置の数に、1つの中継装置を経由する際に要する転送遅延時間を乗じて算出される到着予測時刻との差分と、前記データの通信経路上の中継装置のバッファサイズとに基づいて前記データの実効転送速度を算出し、前記算出した実効転送速度に基づき、送信データ間の送信間隔を算出する送信間隔算出部と、前記算出された送信間隔に基づき、送信データの送信制御を行なう送信制御部とを有することを特徴とする計算機システム。前記送信間隔算出部は、前記送信間隔として、前記データのデータ長を前記実効転送速度で除算した値から、前記データ長を輻輳が発生していない場合の実効データ転送速度で除算した値を減算した値を算出することを特徴とする請求項11記載の計算機システム。中継装置をそなえた通信網と、当該通信網を介してデータの送受信を行なう複数の計算ノードとをそなえる計算機システムにおいて、前記計算機ノードは、前記他の計算ノードに送信した送信データに対する応答データが未到着の送信データのデータ量を総和した総データ量が制限サイズ以下となるようにデータの送信を行なう送信制御部と、前記他の計算ノードに送信した送信データに対する応答データが到着した到着実時刻と、前記他の計算ノードから送信された応答データが前記計算ノードに到着するまでに経由した中継装置の数に1つの中継装置を経由する際に要する転送遅延時間を乗じて算出される到着予測時刻との差分と、前記データの通信経路上の中継装置のバッファサイズとに基づいて前記データの実効転送速度を算出し、前記算出した実効転送速度に基づき、前記制限サイズを算出する制限サイズ算出部とを有することを特徴とする計算機システム。前記制限サイズの初期値として、前記応答データが到着するまでに経由した中継装置の数に、1つの中継装置を経由する際に要する転送遅延時間を乗じた値を2倍することにより算出される往復伝送遅延時間に、輻輳が発生していない場合の実効データ転送速度を乗ずることにより算出した値を設定することを特徴とする請求項13記載の計算機システム。前記制限サイズ算出部は、前記制限サイズとして、前記往復伝送遅延時間に前記実効転送速度を乗ずることにより算出した値を算出することを特徴とする請求項14記載の計算機システム。上述の如き従来のIP交換網で行なわれている輻輳制御では、ルータがパケット破棄や輻輳通知を行ない、送信元ノードにおいてデータ転送速度の抑制を行なう。しかし、IP交換網は、接続する計算機の種類構成とは独立してネットワーク構成を設計できるように考慮されているため、ネットワーク構成は不規則であり、どの程度データ転送速度を抑制すべきか明確でない。このため、データ転送速度を変化させて適切なデータ転送速度を発見する方式も用いられているが、このような制御方式においては、データ転送速度が不安定でネットワークの利用効率が低くなるという課題があり、又、規則的なネットワーク網として構成される相互結合網を想定するものではない。1つの側面では、本発明は、規則的なネットワーク網として構成される相互結合網において輻輳制御を効率よく実現することを目的とする。なお、前記目的に限らず、後述する発明を実施するための最良の形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。上記の目的を達成するために、このデータ通信装置は、中継装置を介して他のデータ通信装置にデータを送信するデータ通信装置において、前記他のデータ通信装置に送信した送信データに対する応答データが到着した到着実時刻と、前記他のデータ通信装置から送信された応答データが前記データ通信装置に到着するまでに経由した中継装置の数に、1つの中継装置を経由する際に要する転送遅延時間を乗じて算出される到着予測時刻との差分と、前記データの通信経路上の中継装置のバッファサイズとに基づいて前記データの実効転送速度を算出し、前記算出した実効転送速度に基づき、送信データ間の送信間隔を算出する送信間隔算出部と、前記算出された送信間隔に基づき、送信データの送信制御を行なう送信制御部とを有する。また、このデータ通信装置は、中継装置を介して他のデータ通信装置にデータを送信するデータ通信装置において、前記他のデータ通信装置に送信した送信データに対する応答データが未到着の送信データのデータ量を総和した総データ量が制限サイズ以下となるようにデータの送信を行なう送信制御部と、前記他のデータ通信装置に送信した送信データに対する応答データが到着した到着実時刻と、前記他のデータ通信装置から送信された応答データが前記データ通信装置に到着するまでに経由した中継装置の数に1つの中継装置を経由する際に要する転送遅延時間を乗じて算出される到着予測時刻との差分と、前記データの通信経路上の中継装置のバッファサイズとに基づいて前記データの実効転送速度を算出し、前記算出した実効転送速度に基づき、前記制限サイズを算出する制限サイズ算出部とを有する。さらに、このデータ送信方法は、中継装置介してデータを送信するデータ送信方法であって、コンピュータが、送信した送信データに対する応答データが到着した到着実時刻と、前記応答データが到着するまでに経由した中継装置の数に、1つの中継装置を経由する際に要する転送遅延時間を乗じて算出される到着予測時刻との差分と、前記データの通信経路上の前記中継装置のバッファサイズとに基づいて前記データの実効転送速度を算出し、前記算出した実効転送速度に基づき、送信データ間の送信間隔を算出し、前記算出した送信間隔に基づき、送信データの送信制御を行なう。また、このデータ送信方法は、中継装置を介して他のデータ通信装置にデータを送信するデータ送信方法であって、前記他のデータ通信装置に送信した送信データに対する応答データが到着した到着実時刻と、前記他のデータ通信装置から送信された応答データが前記データ通信装置に到着するまでに経由した中継装置の数に、1つの中継装置を経由する際に要する転送遅延時間を乗じて算出される到着予測時刻との差分と、前記データの通信経路上の前記中継装置のバッファサイズとに基づいて前記データの実効転送速度を算出し、前記算出した実効転送速度に基づき制限サイズを算出し、前記他のデータ通信装置に送信した送信データに対する応答データが未到着の送信データのデータ量を総和した総データ量が前記制限サイズ以下となるようにデータの送信を行なう。さらに、この計算機システムは、複数の中継装置をそなえた通信網と、当該通信網を介してデータの送受信を行なう複数の計算ノードとをそなえる計算機システムにおいて、前記計算機ノードは、前記他の計算ノードに送信した送信データに対する応答データが到着した到着実時刻と、前記他の計算ノードから送信された応答データが前記計算ノードに到着するまでに経由した中継装置の数に、1つの中継装置を経由する際に要する転送遅延時間を乗じて算出される到着予測時刻との差分と、前記データの通信経路上の中継装置のバッファサイズとに基づいて前記データの実効転送速度を算出し、前記算出した実効転送速度に基づき、送信データ間の送信間隔を算出する送信間隔算出部と、前記算出された送信間隔に基づき、送信データの送信制御を行なう送信制御部とを有する。また、この計算機システムは、中継装置をそなえた通信網と、当該通信網を介してデータの送受信を行なう複数の計算ノードとをそなえる計算機システムにおいて、前記計算機ノードは、前記他の計算ノードに送信した送信データに対する応答データが未到着の送信データのデータ量を総和した総データ量が制限サイズ以下となるようにデータの送信を行なう送信制御部と、前記他の計算ノードに送信した送信データに対する応答データが到着した到着実時刻と、前記他の計算ノードから送信された応答データが前記計算ノードに到着するまでに経由した中継装置の数に1つの中継装置を経由する際に要する転送遅延時間を乗じて算出される到着予測時刻との差分と、前記データの通信経路上の中継装置のバッファサイズとに基づいて前記データの実効転送速度を算出し、前記算出した実効転送速度に基づき、前記制限サイズを算出する制限サイズ算出部とを有する。開示の技術によれば、以下の少なくともいずれか1つの効果ないし利点を奏する。1輻輳制御を効率よく実現することができる。2相互結合網を効率よく使用することができる。3輻輳の影響範囲拡大を防ぐことができる。以下、図面を参照して本発明の実施の形態を説明する。A第1実施形態図1は第1実施形態の一例としての並列計算機システム1にそなえられた相互結合網インタフェースの機能構成を模式的に示す図、図2はその並列計算機システム1の構成を例示する図である。又、図3は第1実施形態の一例としての並列計算機システム1にそなえられる計算ノード100のハードウェア構成を模式的に示す図である。第1実施形態の一例として並列計算機システム1は、図2に示すように、複数図2に示す例では4つの計算ノード100-1,100-2,100-3,100-4を、1以上図2に示す例では2つのルータスイッチ装置20-1,20-2を介して相互に通信可能に接続した相互結合網通信網により構成されている。なお、本並列計算機システム1にそなえられる複数の計算ノード100-1,100-2,100-3,100-4は互いに同様の構成をそなえており、又、複数のルータ20-1,20-2も互いに同様の構成をそなえている。以下、計算ノードを示す符号としては、複数の計算ノードのうち1つを特定する必要があるときには符号100-1~100-4を用いるが、任意の計算ノードを指すときには符号100を用いる。同様に、以下、ルータを示す符号としては、複数のルータのうち1つを特定する必要があるときには符号20-1,20-2を用いるが、任意のルータを指すときには符号20を用いる。ルータ20は、複数の計算ノード100や他のルータ20と通信可能に接続され、受信したパケットデータを転送先に送信する中継装置である。図2に示す例においては、各ルータ20はそれぞれP1~P4の4つのポートをそなえている。そして、ルータ20-1においては、ポートP1,P2に計算ノード100-1,100-2を接続されるとともに、ポートP3,P4にルータ20-2のポートP4,P3がそれぞれ接続されている。又、ルータ20-2においては、ポートP1,P2に計算ノード100-3,100-4を接続されている。ルータ20は、図3に示すように、送受信バッファ21及びクロスバスイッチ22をそなえる。送受信バッファ21は送受信されるデータを一時的に格納するバッファでありポート毎にそなえられる。送受信バッファ21は送信バッファ212及び受信バッファ211をそなえる。送信バッファ212及び受信バッファ211は、それぞれ例えばFIFOFirstInFirstOut型のバッファメモリである。送信バッファ212は計算ノード100や他のルータ20等に送出するパケットを格納するバッファメモリであり、クロスバスイッチ22を介して取得したパケットを格納する。受信バッファ211は、計算ノード100や他のルータ20等から送信されたパケットを受信して格納する。この受信バッファ211に格納されたパケットは、クロスバスイッチ22を介して他の計算ノード100や他のルータ20等に送出される。本並列計算機システム1においては、各計算ノード100から送信されるデータメッセージはパケットに分割された状態で送受信される。又、このパケットのパケット長Lは適宜設定することができ、又、固定長もしくは可変長として適宜実施することができる。また、本並列計算機システム1においては、ルータ20は、送受信バッファ21においてバッファ残量が少なくなると、競合する入力ポートの接続先ルータ20や計算ノード100にパケット送信停止を要求するフロー制御機能をそなえる。計算ノード100は、プロセッサ111及び相互結合網インタフェース110をそなえる。計算ノード100は演算機能をそなえる装置であり、各計算ノード100は、相互結合網インタフェース110を介してルータ20と通信可能に接続されている。これにより、本並列計算機システム1内の任意の計算ノード100間でパケットを送受信することができる。プロセッサ111は、相互結合網インタフェース110のパケット受信回路112が保持するパケットを順次取得し、データ処理を行なう。また、プロセッサ111は、他の計算ノード100へデータを送信する必要がある場合に、そのデータを分割して宛先アドレスを含むパケットを生成し、相互結合網インタフェース110のパケット送信回路113へ出力する。相互結合網インタフェース110は、計算ノード100をルータ20と通信可能に接続するインタフェース装置であり、計算ノード100からのパケットの送出や受信を制御する。すなわち、プロセッサ111によって作成されたパケットは相互結合網インタフェース110を介してルータ20に送信され、又、ルータ20から送信されたデータは相互結合網インタフェース110を介して計算ノード100に送達される。この相互結合網インタフェース110は、図3に示すように、パケット送信回路113,パケット送信時刻テーブル114,構成情報保持部115及びパケット受信回路112をそなえる。パケット受信回路112は、内部にFIFO型のバッファメモリ図示省略を有している。パケット受信回路112は、ルータ20からパケットを取得すると、取得したパケットをバッファメモリの最後尾に格納する。また、パケット受信回路112は、プロセッサ111からの要求に応じて、バッファメモリの先頭からパケットを取り出し、プロセッサ111へ受け渡す。構成情報保持部115は、本並列計算機システム1の構成に関する情報を保持するメモリ等の保持部である。本並列計算機システム1をなす相互結合網は規則結合網として構成され、計算ノード100間で送受信されるデータは、定められた通信経路伝送経路を通過する。すなわち、本並列計算機システム1において、送信元の計算ノード100と宛先の計算ノード100とが特定されると、これらの計算ノード100間で送受信されるパケットが通過するルータ20等の中継機器の数リンク数,メトリックは特定される。以下、本並列計算機システム1において、通信経路上においてパケットが通るリンク数、すなわち、ルータ20等の中継装置の数をホップ数hという。例えば、図2に示す例において、計算ノード100-1から計算ノード100-3に送信されるパケットは、ルータ20-1のポートP1の受信バッファ211に格納された後、クロスバスイッチ22に入力され、ポートP3の送信バッファ212に格納される。そして、パケットは、ルータ20-2に送信され、ルータ20-2のポートP4の受信バッファ211に格納された後、クロスバスイッチ22を介してポートP2の送信バッファ212に格納される。その後、パケットは送信先である計算ノード100-4に送達される。このような計算ノード100-1から計算ノード100-3に送信されるパケットの送信においては、ホップ数hは通過するルータ20の台数に等しく、h=2となる。また、ルータ20において、パケットがルータ20を通過する際にかかる時間が、1ホップあたりの転送遅延時間Dとして規定される。又、ルータ20における、パケットの1回の転送時に通過する送信バッファ212と受信バッファ211とのバッファサイズの総和が、1ホップあたりのルータバッファ量Bとして規定される。さらに、本並列計算機システム1において、計算ノード100間のパケットの各伝達経路について、輻輳がない場合の転送速度Tが、算出もしくは測定することにより規定される。構成情報保持部115には、本並列計算機システム1における各通信経路に対して、ホップ数hや輻輳がない場合の転送速度Tが対応付けて記録されている。又、構成情報保持部115が保持する構成情報には、ルータ20についての、1ホップあたりの転送遅延時間Dや1ホップあたりのルータバッファ量B,パケット長Lも含まれる。なお、これらの構成情報保持部115に記録される構成情報は、本並列計算機システム1の設計時において求めることができ、構成情報は、例えば、そのシステム設計時に作成される。構成情報は、図示しないメモリ等に後述するパケット送信回路113が参照可能な形式で構成情報保持部115に格納される。なお、構成情報保持部115に格納される構成情報は、例えば、データベースやテーブル等の形式で格納してもよく、種々変形して実施することができる。パケット送信時刻テーブル114は、パケット送信回路113により送信した各パケットについて、その送信時刻を管理する。図4は第1実施形態の一例としての並列計算機システム1におけるパケット送信時刻テーブル114を例示する図である。この図4に示す例においては、パケット送信時刻テーブル114は、エントリとして、パケット識別子p,パケット送信時刻及びメッセージ識別子mを相互に関連付けて記録する。このパケット送信時刻テーブル114は、パケットが送信されてから応答パケットが戻ってくるまでの時間ラウンドトリップタイムの測定に用いられる。パケット識別子pは、個々のパケットを識別するためにユニークに設定される識別子である。パケット送信時刻は、そのパケットがパケット送信回路113によって送信された時刻である。メッセージ識別子mは、そのパケットが構成するメッセージを識別するために設定される識別子である。これらのパケット送信時刻テーブル114に格納される情報は、例えばパケット送信回路113により生成され、パケットの送信時に随時パケット送信時刻テーブル114に格納される。また、パケット送信時刻テーブル114に記録されたエントリは、対応する応答パケットがパケット受信回路112により受信された時点で、パケット送信時刻テーブル114から削除される。これにより、パケット送信時刻テーブル114を参照することによって、特定のパケットについて、応答パケットが未着の状態である送信中のパケットメッセージであるか否かを判断することができる。パケット送信回路113は、内部にFIFO等のバッファメモリを有している。パケット送信回路113は、プロセッサ111が送信したデータであるメッセージを取得すると、取得したメッセージをパケットに分割し、分割したパケットをバッファメモリに格納する。また、パケット送信回路113は、ルータ20からの要求に応答して、そのバッファメモリからパケットを取り出し、ルータ20へ出力する。そして、パケット送信回路113は、図1に示すように、待ち時間算出部11及び送信制御部12としての機能をそなえる。待ち時間算出部送信間隔算出部11は、当該並列計算機システム1を形成する相互結合網の構成から予想される到着予測時刻を算出する。具体的には、待ち時間算出部11は、パケット受信回路112が応答パケットを受信すると、パケット送信時刻テーブル114から、その応答パケットに対応する送信パケットのパケット送信時刻を読み出す。更に、待ち時間算出部11は、構成情報保持部115から、通信経路においてパケットが通過したルータ等の中継装置の数を表すホップ数hと1ホップあたりの転送遅延量Dとを読み出し、ホップ数と遅延量を乗算した値h×Dを算出する。そして、待ち時間算出部11は、パケット送信時刻テーブル114から読み出したパケット送信時刻に対して、算出したh×Dを加算することにより、到着予測時刻を求める。また、待ち時間算出部11は、計算した到着予測時刻と実際に応答パケットが到着した時刻である到着実時刻とを比較する。待ち時間算出部11は、計算した到着予想時刻よりも到着実時刻が遅れている場合に、更に、到着実時刻から到着予測時刻を減算して到着時間の差分dを算出する。さらに、待ち時間算出部11は、この算出した差分dと、構成情報保持部115から読み出したホップ数h及び1ホップあたりのルータバッファ量Bとを用いて、通信経路におけるパケットの実効転送速度tを算出する。輻輳発生状態は、通信経路上のバッファが全て枯渇した状態であり、送信先までの通信経路上の全てのバッファがパケットで満たされた状態であると考えられる。そこで、通信経路上の総バッファサイズh×Bに相当するデータ量が時間dで転送されたものと仮定して、実効転送速度tを以下の式1を用いて算出する。t=h×B/d1そして、待ち時間算出部11は、算出した実効転送速度tを以降のデータ送信速度とするために、パケット送信間隔gを以下の式2を用いて算出する。g=L/t-L/T2なお、待ち時間算出部11は、このパケット送信間隔gの算出に際して、パケット長Lや輻輳がない場合の転送速度Tも構成情報保持部115から読み出す。又、待ち時間算出部11は、算出したパケット送信間隔gを図示しないメモリ等に格納してもよい。送信制御部12は、待ち時間算出部11によって算出されたパケット送信間隔gを、連続して複数のパケットを送信する際の送信間隔としてパケットの送信制御を行なう。具体的には、連続して複数のパケットを送信するに際して、先のパケットを送信してから、パケット送信間隔g経過後に後続するパケットを送信する。すなわち、パケット送信間隔gは、パケット間の待ち時間に相当する。このようなパケット送信間隔gをパケット間に設定してパケット送信制御を行なうことにより、前述した実効転送速度tでパケットが伝送される。すなわち、上述した式2により求めたパケット送信間隔gでパケットを送信することは、輻輳が生じている通信経路での転送速度に合わせてパケット間隔を調整して、新たなパケットを輻輳が生じている通信経路上に送信することに相当する。すなわち、通信経路上における実際のスループットに合わせてパケットの転送速度を低下させてパケットを順次送信する。これにより、その通信経路上でのパケットの混雑状況がそれ以上悪化することがない。これにより、最終的に輻輳が解消する。本並列計算機システム1においては、通信経路上で輻輳が発生すると、実効転送速度tの値が大きくなり、これに伴い、パケット送信間隔gの値が大きくなる。これにより、送信制御部12は大きなパケット送信間隔gでパケットを送信することになり、通信経路上でのパケットの混雑状況が緩和され、その結果、輻輳が解消される。なお、上述した待ち時間算出部11や送信制御部12としての各機能は、電子回路によって実現してもよく、又、図示しないプロセッサがプログラムを実行することによって実現してもよい。上述の如く構成された第1実施形態の一例としての並列計算機システム1におけるメッセージ送信時の処理を図5に示すフローチャートステップA10~A50に従って説明する。メッセージの送信元の計算ノード100送信ノードのパケット送信回路113がメッセージの送信処理を開始すると、パケット送信回路113は、先ず、パケット送信間隔gに予め初期値を設定することにより初期化を行なうステップA10。このパケット送信間隔gの初期値は、例えば、g=0である。送信制御部12は、パケット送信間隔gが経過するまで待ち合わせを行ないステップA20、パケット送信間隔gが経過すると、パケットの送信を行なうステップA30。又、この送信されるパケットには、メッセージ識別子mやパケット識別子pが付加される。パケット送信回路113は、パケットの送信に伴い、送信したパケットに関する情報をパケット送信時刻テーブル114に記録するステップA40。すなわち、パケット送信時刻テーブル114に、送信したパケットのパケット識別子pやメッセージ識別子m,送信時刻を記録する。パケット送信回路113は、メッセージを形成する全てのパケットの送信が完了したか否かを確認するステップA50。全てのパケットの送信が完了していない場合にはステップA50のnoルート参照、ステップA20に戻る。又、全てのパケットの送信が完了した場合にはステップA50のyesルート参照、メッセージの送信処理を完了する。次に、本第1実施形態の一例としての並列計算機システム1における応答パケットの受信時の処理を図6に示すフローチャートステップB10~B40に従って説明する。メッセージの送信元の計算ノード100送信ノードにおいて、送信したパケットに対する応答パケットを受信したか否かの確認を行ないステップB10、応答パケットを受信していない場合にはステップB10のnoルート参照、処理を終了する。すなわち、パケット受信回路112は応答パケットの受信待ちを行なう。応答パケットを受信した場合にはステップB10のyesルート参照、パケット送信回路113において、応答パケットのメッセージ識別子mがパケット送信時刻テーブル114に記録されているパケットのメッセージ識別子mと一致するか否かを確認するステップB20。応答パケットのパケット識別子mが送信中のメッセージと一致した場合にはステップB20のyesルート参照、次に、パケット送信回路113は、応答パケットのパケット識別子pがパケット送信時刻テーブル114に記録されているか否かを確認するステップB30。応答パケットのパケット識別子pがパケット送信時刻テーブル114に記録されている場合にはステップB30のyesルート参照、待ち時間算出部11は、パケット送信間隔gの算出を行なう。待ち時間算出部11は、応答パケットのパケット識別子pに対応するパケット送信時刻をパケット送信時刻テーブル114から読み出して到着予想時刻の算出を行ない、その応答パケットの現実の受信時刻、すなわち、到着実時刻との比較を行なう。この到着予想時刻と到着実時刻との比較の結果、計算した到着予想時刻よりも到着実時刻が遅れている場合、すなわち輻輳発生したと判断されたとき、待ち時間算出部11は、到着実時刻から到着予測時刻を減算して到着時間の差分dを算出する。そして、待ち時間算出部11は、前述した式1を用いて実効転送速度tを算出し、更に、前述した式2を用いてパケット送信間隔gを算出する。又、比較の結果、計算した到着予想時刻と到着実時刻が一致した場合、すなわち輻輳が生じていない場合には、例えば、パケット送信間隔gはg=0とする。パケット送信回路113は、待ち時間算出部11によって算出したパケット送信間隔gにより、パケット送信間隔gの更新を行なうステップB40。そして、送信制御部12は、上述の如く待ち時間算出部11によって算出されたパケット送信間隔gをパケット間隔としてパケットを順次送信する。また、応答パケットのパケット識別子mが送信中のメッセージと一致しない場合ステップB20のnoルート参照や、応答パケットのパケット識別子pがパケット送信時刻テーブル114に記録されていない場合ステップB30のnoルート参照には、処理を終了する。このように、第1実施形態の一例としての並列計算機システム1によれば、通信経路におけるパケットの実効転送速度tを算出し、式2を用いてパケット送信間隔gを算出する。そして、送信制御部12が、この算出されたパケット送信間隔gでパケットを送信する。これにより、通信経路上における実際のスループットに合わせてパケットが順次送信され、輻輳が解消することができる。すなわち、通信経路上の実効転送速度tに合わせた輻輳制御を効率よく実現することができ、並列計算機システム1における相互結合網を効率よく使用することができる。本第1実施形態の並列計算機システム1においては、送信先宛先までの通信経路上のホップ数hを使用して輻輳がない場合の応答パケットの到着時刻を予測し、実際の到着時刻と予測時刻のずれを測定する。更に、到着時刻のずれと宛先までの総バッファサイズh×Bから実効転送速度tを算出し、パケットの転送速度を算出した実効転送速度まで下げる。本第1実施形態の一例としての並列計算機システム1における輻輳制御方式においては、輻輳が解消された状態になると応答パケットの到着時刻が予測と一致し、送信元の計算ノード100のデータ転送速度が引き上げられて再び輻輳を起すことになる。すなわち、ネットワークの状態を輻輳解消状態と、輻輳の影響範囲が狭い状態との間で維持することにより、ネットワーク通信網の利用効率を落とさない効果がある。又、輻輳制御を行なわない場合と比較して、輻輳の影響範囲拡大を防ぐ効果もある。また、本第1実施形態の一例としての並列計算機システム1における輻輳制御方式によれば、例えば、ルータ等の中継装置で輻輳を検出して送信元の計算ノード100に通知するような複雑な機構を必要としない。すなわち、導入コストや運用コストを低減できる効果もある。なお、本技術はパケットのロスレス転送を行うネットワークに用いて好適である。B第2実施形態図7は第2実施形態の一例としての並列計算機システム1にそなえられた相互結合網インタフェースの機能構成を模式的に示す図である。本第2実施形態の一例としての並列計算機システム1は、図2及び図3に示すような、第1実施形態の並列計算機システム1と同様のハードウェア構成をそなえ、相互結合網により構成されている。そして、図7に示すように、第2実施形態の一例としての並列計算機システム1は、第1実施形態の待ち時間算出部11に代えて制限サイズ算出部13をそなえる。又、本第2実施形態の一例としての並列計算機システム1は、第1実施形態のパケット送信時刻テーブル114に代えて送信データ管理情報保持部116をそなえる。さらに、本第2実施形態の一例としての並列計算機システム1においては、送信制御部12は、応答パケットが未到着の送信パケットの総データ量がウィンドウサイズw制限サイズ以下となるよう制御するウィンドウ制御によりパケットの送信を行なう。そして、これらの他の部分は第1実施形態の並列計算機システム1と同様に構成されている。なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は適宜省略する。送信制御部12においては、送信元の計算ノード100においては、応答パケットが返っていないデータ量を一定以下に保つウィンドウ制御を行なう。具体的には、応答パケットが返っていない送信パケットの総データ量がウィンドウサイズwを超える場合は、送信制御部12はパケット送信を停止する。また、パケット送信回路113においては、送信パケットの所定位置にパケット送信時刻を記録する。この送信パケットに記録されたパケット送信時刻は、この送信パケットに対応して送信先の計算ノード100から送信される応答パケットにも格納される。これにより、送信パケットが送信されてから応答パケットが戻ってくるまでの時間であるラウンドトリップタイムを測定することが可能となる。送信データ管理情報保持部116は、パケット送信回路113により送信した各パケットのうち応答パケットが未着のパケットについての情報を保持するメモリ等の保持部である。具体的には、送信データ管理情報保持部116が保持する送信データ管理情報には、パケット送信回路113により送信した各パケットのうち応答パケットが未着のパケットについてのメッセージ識別子mとデータサイズが含まれる。そして、送信データ管理情報には、パケット送信回路113により送信した各パケットのうち応答パケットが未着のパケットのデータサイズの総量未応答データ量が含まれる。制限サイズ算出部13は、当該並列計算機システム1を形成する相互結合網の構成から予想される到着予測時刻を算出する。具体的には、制限サイズ算出部13は、パケット受信回路112により応答パケットが受信されると、その応答パケットに記録されたパケット送信時刻を読み出す。更に、制限サイズ算出部13は、構成情報保持部115から、通信経路においてパケットが通過したルータ等の中継装置の数を表すホップ数hと1ホップあたりの転送遅延量Dとを読み出し、これらを乗算した値h×Dを算出する。そして、制限サイズ算出部13は、応答パケットから読み出したパケット送信時刻に対して、算出したh×Dを加算することにより、到着予測時刻を求める。また、制限サイズ算出部13は、計算した到着予測時刻と実際に応答パケットが到着した時刻到着実時刻とを比較する。制限サイズ算出部13は、計算した到着予想時刻よりも到着実時刻が遅れている場合に、更に、到着実時刻から到着予測時刻を減算して到着時間の差分dを算出する。さらに、制限サイズ算出部13は、この算出した差分dと、構成情報保持部115から読み出したホップ数h及び1ホップあたりのルータバッファ量Bとを用いて、通信経路におけるパケットの実効転送速度tを近似的に算出する。すなわち、制限サイズ算出部13は、第1実施形態の待ち時間算出部11と同様に、実効転送速度tを前述した式1を用いて算出する。そして、制限サイズ算出部13は、算出した実効転送速度tを以降のデータ送信速度とするために、ウィンドウサイズwを以下の式3を用いて算出する。w=2×h×D×t3なお、制限サイズ算出部13は、算出したウィンドウサイズwを図示しないメモリ等に格納してもよい。また、本第2実施形態の一例としての並列計算機システム1においては、ウィンドウサイズwの初期値を、w=2×h×D×Tとする。このウィンドウサイズw=2×h×D×Tは、輻輳がない状態で実効転送速度Tを得るための値であり、ウィンドウサイズwの最大値を示す。又、2×h×Dは、データ通信経路における往復伝送遅延時間に相当する。通信経路上において輻輳が発生すると、実効転送速度tが低下する。本並列計算機システム1においては、この実効転送速度tの低下に伴い、ウィンドウサイズwが小さくなる。ウィンドウサイズwが小さくなるとウィンドウ制御によりパケットの送信が抑止される。これにより未応答データ量が小さくなり、通信経路上の遅延輻輳が解消されることになる。通信経路上における輻輳が解消されると、実効転送速度tが大きくなり、ウィンドウサイズwが大きくなる。ウィンドウサイズwが大きくなると送信可能なパケット数も多くなる。なお、上述した待ち制限サイズ算出部13や送信制御部12としての各機能は、電子回路によって実現してもよく、又、図示しないプロセッサがプログラムを実行することによって実現してもよい。上述の如く構成された第2実施形態の一例としての並列計算機システム1におけるメッセージ送信時の処理を図8に示すフローチャートステップC10~C40に従って説明する。メッセージの送信元の計算ノード100送信ノードのパケット送信回路113がメッセージの送信処理を開始すると、パケット送信回路113は、先ず、ウィンドウサイズwにw=2×h×D×Tを設定することにより初期化を行なうステップC10。送信制御部12は、送信データ管理情報保持部116の送信データ管理情報を参照して、未応答データ量がウィンドウサイズw以上であるか否かを確認するステップC20。未応答データ量がウィンドウサイズw以上である場合にはステップC20のyesルート参照、未応答データ量がウィンドウサイズwよりも小さくなるまで待ち合わせを行なう。未応答データ量がウィンドウサイズw未満である場合にはステップC20のnoルート参照、送信制御部12が、パケットの送信を行なうステップC30。又、この送信されるパケットには、メッセージ識別子mやパケット識別子pが付加される。又、パケット送信回路113は、このパケット送信に伴い、送信データ管理情報保持部116の送信データ管理情報の更新を行なう。具体的には、送信したパケットのメッセージ識別子mを登録したり、送信したパケットのデータサイズを未応答データ量に加算する。パケット送信回路113は、メッセージを形成する全てのパケットの送信が完了したか否かを確認するステップC40。全てのパケットの送信が完了していない場合にはステップC40のnoルート参照、ステップC20に戻る。又、全てのパケットの送信が完了した場合にはステップC40のyesルート参照、メッセージの送信処理を完了する。次に、本第2実施形態の一例としての並列計算機システム1における応答パケットの受信時の処理を図9に示すフローチャートステップD10~D40に従って説明する。メッセージの送信元の計算ノード100送信ノードにおいて、送信したパケットに対する応答パケットを受信したか否かの確認を行ないステップD10、応答パケットを受信していない場合にはステップD10のnoルート参照、処理を終了する。すなわち、パケット受信回路112は応答パケットの受信待ちを行なう。応答パケットを受信した場合にはステップD10のyesルート参照、パケット送信回路113において、応答パケットのメッセージ識別子mが、送信データ管理情報保持部116に記録されている応答パケットが未着のパケットのメッセージ識別子mと一致するか否かを確認するステップD20。応答パケットのパケット識別子mが送信中のメッセージと一致した場合にはステップD20のyesルート参照、パケット送信回路113は、送信データ管理情報保持部116の送信データ管理情報における未応答データ量を更新するステップD30。すなわち、受信した応答パケットに対応する送信パケットのデータサイズを未応答データ量から減算する。また、パケット送信回路113においては、制限サイズ算出部13が、応答パケットに記録されているパケット送信時刻を読み出し、到着予想時刻の算出を行ない、その応答パケットの受信時刻、すなわち、到着実時刻との比較を行なう。この比較の結果、計算した到着予想時刻よりも到着実時刻が遅れている場合に、制限サイズ算出部13は、到着実時刻から到着予測時刻を減算して到着時間の差分dを算出する。そして、制限サイズ算出部13は、前述した式1を用いて実効転送速度tを算出し、更に、前述した式3を用いてウィンドウサイズwを算出する。パケット送信回路113は、制限サイズ算出部13によって算出したウィンドウサイズwにより、ウィンドウサイズwの更新を行ないステップD40、処理を終了する。また、応答パケットのパケット識別子mが送信中のメッセージと一致しない場合ステップD20のnoルート参照にも、処理を終了する。このように、第2実施形態の一例としての並列計算機システム1においても、第1実施形態と同様の作用効果を得ることができる。すなわち、通信経路におけるパケットの実効転送速度tを算出し、ウィンドウサイズwを式3を用いて算出する。そして、送信制御部12が、この算出されたウィンドウサイズwを用いてウィドウ制御を伴うパケット送信を行なう。これにより、通信経路上における実際のスループットに合わせてパケットが送信され、輻輳が解消することができる。すなわち、通信経路上の実効転送速度tに合わせた輻輳制御を実現することができ、並列計算機システム1における相互結合網を効率よく使用することができる。本第2実施形態の並列計算機システム1においても、第1実施形態と同様に、送信先宛先までの通信経路上のホップ数hを使用して輻輳がない場合の応答パケットの到着時刻を予測し、実際の到着時刻と予測時刻のずれを測定する。更に、到着時刻のずれと宛先までの総バッファサイズh×Bから実効転送速度tを推定し、パケットの転送速度を実効転送速度まで下げる。本第2実施形態の一例としての並列計算機システム1における輻輳制御方式においても、第1実施形態と同様に、ネットワークの状態を輻輳解消状態と、輻輳の影響範囲が狭い状態との間で維持することにより、ネットワークの利用効率を落とさない効果がある。又、輻輳制御を行なわない場合と比較して、輻輳の影響範囲拡大を防ぐ効果もある。また、本第2実施形態の一例としての並列計算機システム1における輻輳制御方式によれば、例えば、ルータ等の中継装置で輻輳を検出して送信元の計算ノード100に通知するような複雑な機構を必要としない。すなわち、導入コストや運用コストを低減できる効果もある。なお、本技術はパケットのロスレス転送を行うネットワークに用いて好適である。C第1実施形態の変形例上述した第1実施形態においては、待ち時間算出部11は、通信経路上のホップ数hに基づき実効転送速度tを算出しているが、本変形例においては、通信経路上における輻輳が生じたルータ20以下、輻輳ルータ20というの数に基づいて実効転送速度tを算出する。本第1実施形態の変形例においては、パケット内に新たなフィールドとして輻輳ルータ通過回数cが追加される。この輻輳ルータ通過回数cは、輻輳ルータ20を通過する度に、この輻輳ルータ20によりインクリメントされるカウンタ値である。この輻輳ルータ通過回数cは、例えば、一般に、ルータ20がエンドノードにネットワークの輻輳状態を通知する輻輳情報通知機能として用いられているECNExplicitCongestionNotificationのフィールドを転用することにより容易に実現することができる。すなわち、ルータ20等の中継装置において、ECNフィールドにビットを立てる代わりに、輻輳ルータ通過回数cのインクリメントを行なう機能を実装する。具体的には、ルータ20において、パケットを転送する際に、バッファ211,212で待ち合わせが生じた場合、パケット内に記録された輻輳ルータ通過回数cに1を加算する。なお、パケット内の特定の値をインクリメントする手法は、既知の種々の手法を用いて実現することができる。また、送信元の計算ノード100において、パケット送信回路113からパケットを送出する際には、この輻輳ルータ通過回数cを0に初期化する。さらに、送信先の計算ノード100においては、受信した送信パケットに対する応答パケットに輻輳ルータ通過回数cを複写して、この輻輳ルータ通過回数cを含む応答パケットを返信する。そして、送信元の計算ノード100においては、応答パケットに記録された輻輳ルータ通過回数cを用いて、実効転送速度t及びパケット送信間隔gを算出する。すなわち、待ち時間算出部11は、計算した到着予測時刻と実際に応答パケットが到着した時刻到着実時刻とを比較し、計算した到着予想時刻よりも到着実時刻が遅れている場合に、更に、到着実時刻から到着予測時刻を減算して到着時間の差分dを算出する。そして、待ち時間算出部11は、この算出した差分dと、応答パケットから読み出した輻輳ルータ通過回数c及び1ホップあたりのルータバッファ量Bとを用いて、通信経路におけるパケットの実効転送速度tを近似的に算出する。本変形例においては、パケットの通信経路上における輻輳ルータ20のバッファが枯渇した状態であると判断し、送信先までの通信経路上のうち輻輳ルータ20のバッファがパケットで満たされた状態であると考える。すなわち、輻輳ルータ20の総バッファサイズc×Bに相当するデータ量が時間dで転送されたものと仮定して、実効転送速度tを以下の式4を用いて算出する。t=c×B/d4そして、待ち時間算出部11は、算出した実効転送速度tを以降のデータ送信速度とするために、パケット送信間隔gを上述した式2を用いて算出する。このように、第1実施形態の変形例の一例としての並列計算機システム1によれば、上述した第1実施形態と同様の作用効果を得ることができる他、実際に輻輳が生じた中継装置の数に基づいて実効転送速度tを算出することにより、並列計算機システム1の状態に即したパケット送信間隔gを算出することができ信頼性が向上する。D第2実施形態の変形例上述した第2実施形態においては、制限サイズ算出部13は、通信経路上のホップ数hに基づき実効転送速度tを算出しているが、本第2実施形態の変形例においても、第1実施形態の変形例と同様に、通信経路上における輻輳ルータ20の数に基づいて実効転送速度tを算出する。すなわち、本第2実施形態の変形例においても、第1実施形態の変形例と同様に、パケット内に新たなフィールドとして輻輳ルータ通過回数cが追加され、この輻輳ルータ通過回数cは、輻輳ルータ20を通過する度に、この輻輳ルータ20においてインクリメントされる。また、送信元の計算ノード100において、パケット送信回路113からパケットを送出する際には、この輻輳ルータ通過回数cを0に初期化する。さらに、送信先の計算ノード100においては、受信した送信パケットに対する応答パケットに輻輳ルータ通過回数cを複写して、この輻輳ルータ通過回数cを含む応答パケットを返信する。そして、送信元の計算ノード100においては、応答パケットに記録された輻輳ルータ通過回数cを用いて、実効転送速度t及びパケット送信間隔gを算出する。すなわち、制限サイズ算出部13は、計算した到着予測時刻と実際に応答パケットが到着した時刻到着実時刻とを比較し、計算した到着予想時刻よりも到着実時刻が遅れている場合に、更に、到着実時刻から到着予測時刻を減算して到着時間の差分dを算出する。そして、制限サイズ算出部13は、この算出した差分dと、応答パケットから読み出した輻輳ルータ通過回数c及び1ホップあたりのルータバッファ量Bとを用いて、通信経路におけるパケットの実効転送速度tを近似的に算出する。本変形例においても、制限サイズ算出部13は、実効転送速度tを上述した式4を用いて算出する。そして、制限サイズ算出部13は、算出した実効転送速度tを以降のデータ送信速度とするために、ウィンドウサイズwを上述した式3を用いて算出する。このように、第2実施形態の変形例の一例としての並列計算機システム1によれば、上述した第2実施形態と同様の作用効果を得ることができる他、実際に輻輳が生じたルータ20の数に基づいて実効転送速度tを算出することにより、並列計算機システム1の状態に即したパケット送信間隔gを算出することができ信頼性が向上する。Eその他そして、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。例えば、上述した各実施形態および変形例においては、並列計算機システム1が4台の計算ノード100と2台のルータ20をそなえた相互結合網として構成されているが、これに限定されるものではない。すなわち、相互結合網において、3台以下もしくは5台以上の計算ノード100をそなえてもよく、又、3台以上のルータ20をそなえてもよい。更に、スイッチやリピータ等、ルータ20以外の中継装置をそなえてもよい。又、3台以上のルータ20等をそなえて相互結合網を構成する場合には、これらの中継装置や計算ノード100の接続形態は適宜変更して実施することができる。また、上述した第1実施形態及びその変形例において、は、パケット送信時刻テーブル114をそなえ、このパケット送信時刻テーブル114を参照することによりラウンドトリップタイムの測定を実現しているが、これに限定されるものではない。すなわち、例えば、第2実施形態の並列計算機システム1と同様に、パケット送信回路113において、送信パケットの所定位置にパケット送信時刻を記録することにより、ラウンドトリップタイムの測定を実現してもよい。同様に、上述した第2実施形態及びその変形例においては、パケット送信回路113においては、送信パケットの所定位置にパケット送信時刻を記録することにより、ラウンドトリップタイムの測定を実現しているが、これに限定されるものではない。すなわち、例えば、第1実施形態の並列計算機システム1と同様に、パケット送信時刻テーブル114をそなえてもよい。また、上述した各実施形態及びその変形例においては、実際の到着時刻と予測時刻のずれを測定し、輻輳発生を検出した時に、パケットの転送速度を実効転送速度に合わせるべく、パケット送信間隔gやウィンドウサイズwを決定更新しているが、これに限定されるものではない。例えば、輻輳発生を検出した時に、一時的に、所定期間、パケット送信を抑止し、その後、パケットの転送速度を実効転送速度に合わせるべく、パケット送信間隔gやウィンドウサイズwを決定更新してもよい。輻輳発生を検出した時に、一時的に、所定期間、パケット送信を抑止することにより、輻輳を早く解消することができる。そして、その後、パケットの転送速度を実効転送速度に合わせるべく、パケット送信間隔gやウィンドウサイズwを決定更新することにより、効率的にパケットの送信を行なうことができる。"