(57)【要約】【課題】ＯＳによるデータの転送がアプリケーションによるデータの転送を妨げることを回避し、アプリケーションの性能低下を防止する。【解決手段】ノード間接続装置２００にネットワークを介して接続された複数のプロセッサノード１０１〜１０３の間で、ノード間接続装置を介してデータを転送する際に、転送元のプロセッサノード１０１は、データ転送がオペレーティングシステムからの命令によるものか、アプリケーションからの命令によるものかを判別する判別手段１１１と、データ転送がオペレーティングシステムからの命令による場合には、データ転送命令を展開する展開手段１１２と、展開された命令によって分解された転送データを制御パスを用いてノード間接続装置に送信する送信手段とを備え、制御パスを用いてノード間接続装置を経由し、転送先のプロセッサノードにデータを転送する。【選択図】図１
2007156851.tif 000002
【特許請求の範囲】
【請求項１】
ノード間接続装置と、該ノード間接続装置にネットワークを介して接続された複数のプロセッサノードとで構成され、該複数のプロセッサノード間で、前記ノード間接続装置を介してデータを転送する際に、転送元のプロセッサノードは、制御パスを用いて前記ノード間接続装置に転送要求を送出し、前記ノード間接続装置は、転送先のプロセッサノードが転送データを受け取り可能である時に、前記転送元のプロセッサノードに制御パスを用いて転送許可を送出し、前記転送元のプロセッサノードは、データパスを用いて前記ノード間接続装置にデータ転送を行い、前記ノード間接続装置は、データパスを用いて前記転送先のプロセッサノードにデータ転送を行う並列コンピュータシステムにおいて、
前記転送元のプロセッサノードは、データ転送がオペレーティングシステムからの命令によるものであるか、アプリケーションからの命令によるものであるかを判別する判別手段と、
該データ転送が、オペレーティングシステムからの命令によるものである場合には、データ転送命令を展開する展開手段と、
該展開手段によって展開された命令により、分解された転送データを制御パスを用いて前記ノード間接続装置に送信する送信手段とを備え、
制御パスを用いて前記ノード間接続装置を経由し、前記転送先のプロセッサノードにデータ転送を行うことを特徴とする並列コンピュータシステム。
【請求項２】
ノード間接続装置にネットワークを介して接続され、他のプロセッサノードに、前記ノード間接続装置を介してデータを転送するプロセッサノード（以下、適宜「転送元プロセッサノード」という）であって、該転送元プロセッサノードは、制御パスを用いて前記ノード間接続装置に転送要求を送出し、該ノード間接続装置は、転送先の他のプロセッサノード（以下、「転送先プロセッサノード」という）が転送データを受け取り可能である時に、該転送元プロセッサノードに制御パスを用いて転送許可を送出し、該転送元プロセッサノードは、データパスを用いて前記ノード間接続装置にデータ転送を行い、前記ノード間接続装置は、データパスを用いて前記転送先プロセッサノードにデータ転送を行うにあたり、
該転送元プロセッサノードは、データ転送がオペレーティングシステムからの命令によるものであるか、アプリケーションからの命令によるものであるかを判別する判別手段と、
該データ転送が、オペレーティングシステムからの命令によるものである場合には、データ転送命令を展開する展開手段と、
該展開手段によって展開された命令によって分解された転送データを制御パスを用いて前記ノード間接続装置に送信する送信手段とを備え、
制御パスを用いて前記ノード間接続装置を経由して、前記転送先のプロセッサノードにデータ転送を行うことを特徴とするプロセッサノード。
【請求項３】
ノード間接続装置にネットワークを介して接続された複数のプロセッサノード間で、前記ノード間接続装置を介してデータを転送する際に、転送元のプロセッサノードは、制御パスを用いて前記ノード間接続装置に転送要求を送出し、該ノード間接続装置は、転送先のプロセッサノードが転送データを受け取り可能である時に、前記転送元のプロセッサノードに制御パスを用いて転送許可を送出し、前記転送元のプロセッサノードは、データパスを用いて前記ノード間接続装置にデータ転送を行い、前記ノード間接続装置は、データパスを用いて前記転送先のプロセッサノードにデータ転送を行うデータ転送方法において、
前記転送元のプロセッサノードは、データ転送がオペレーティングシステムからの命令によるものであるか、アプリケーションからの命令によるものであるかを判別し、
該データ転送が、オペレーティングシステムからの命令によるものである場合には、データ転送命令を展開し、展開された命令によって分解された転送データを、制御パスを用いて前記ノード間接続装置に送信し、制御パスを用いて前記ノード間接続装置を経由して、前記転送先のプロセッサノードにデータ転送を行うことを特徴とするデータ転送方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンピュータをスイッチで接続した並列コンピュータシステム、特に、コンピュータ間をクロスバスイッチで接続し、クロスバスイッチ内経路排他制御をクロスバコントローラで行う回線交換方式の並列コンピュータシステム及びデータ転送方法に関する
【背景技術】
【０００２】
並列コンピュータシステムのデータ転送方法の一例として、特許文献１に記載のネットワークスイッチ装置は、図５に示すように、３台のプロセッサノード９１０１、９１０２、９１０３をノード間接続装置９２００で接続している。ここで、プロセッサノード９１０１、９１０２、９１０３は、同図に示す接続方法と同様の方法で、４台、５台と増加させることができる。
【０００３】
図６は、上記プロセッサノード９１０１からプロセッサノード９１０２にデータ転送を行う場合のフローを示す。プロセッサノード９１０１は、図５の制御パス９１１Ａを用いてプロセッサノード９１０２のロック要求をノード間接続装置９２００の制御部９２０１に送信する。このロック要求は、プロセッサノード９１０１からプロセッサノード９１０２へのデータ転送の要求を意味する。
【０００４】
制御部９２０１は、プロセッサノード９１０２の受信ポートが使用されていないことをチェックし、使用されていなければ、プロセッサノード９１０２の受信ポートが使用中であることを内部メモリに記憶する。これをロック取得という。制御部９２０１は、プロセッサノード９１０２のロック取得が可能であった場合に、ロック許可を図５の制御パス９１１Ｂを用いてプロセッサノード９１０１に送信する。
【０００５】
ロック許可を受け取ったプロセッサノード９１０１は、転送データを図５のデータパス９２１Ａを用いてノード間接続装置９２００のデータスイッチ９２０２を経由し、データパス９２２Ｂを用いてプロセッサノード９１０２に転送する。プロセッサノード９１０２は、全転送データを受け取ると、終了リプライとロック解放とを制御パス９１２Ａを用いてノード間接続装置９２００の制御部９２０１に送信する。制御部９２０１は、終了リプライを制御パス９１１Ｂを用いてプロセッサノード９１０１に送信し、プロセッサノード９１０２のロックを解放し、データ転送の一連の動作が完了する。
【０００６】
上記従来のシステムは、転送命令の発効元がオペレーティングシステム（以下、「ＯＳ」という）であるか、アプリケーションであるかを意識して転送動作の変更を行っていない。一般に、ＯＳからの転送命令は、システム管理が目的であって、他のプロセッサノードとの状態チェック情報の交換を行うのが主な目的であり、特に性能は要求されないが、アプリケーションによる転送命令は、アプリケーション本体の性能に直接影響するため、優先的に実行される必要がある。
【０００７】
【特許文献１】特許第３３０９２１２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来のシステムでは、ＯＳによる転送よりもアプリケーションによる転送が優先されるべきであるにもかかわらず、ＯＳによる転送がアプリケーションによる転送を妨げ、アプリケーション性能の低下を招いていた。この様な動作を、図７を参照しながら説明する。
【０００９】
同図は、プロセッサノード９１０１のＯＳがプロセッサノード９１０２に対してデータ転送を行っている時に、プロセッサノード９１０３のアプリケーションがプロセッサノード９１０２にデータ転送を行う場合を示す。
【００１０】
プロセッサノード９１０３が制御パス９１３Ａ（図５参照）を用いて制御部９２０１に送ったプロセッサノード９１０２のロック要求は、制御部９２０１内でプロセッサノード９１０２のロックが解放されるまで待機させられ、プロセッサノード９１０３はデータ転送を行うことができない。
【００１１】
プロセッサノード９１０１からプロセッサノード９１０２への転送が終了し、プロセッサノード９１０２からのロック解放により、プロセッサノード９１０２のロックが解放されると、プロセッサノード９１０３からのプロセッサノード９１０２のロック要求によるプロセッサノード９１０２のロック取得が行われ、ロック許可を制御パス９１３Ｂ（図５参照）を用いてプロセッサノード９１０３に送信し、プロセッサノード９１０３は、データパス９２３Ａを用いてデータ転送を開始する。
【００１２】
すなわち、プロセッサノード９１０３のアプリケーションによるプロセッサノード９１０２に対するデータ転送は、プロセッサノード９１０１のＯＳによるプロセッサノード９１０２に対するデータ転送が終わるまで待たなければならない。これは、ＯＳからの転送指示も、アプリケーションからの転送指示も、区別することなく同じ方法で行われるためであり、ＯＳの転送がアプリケーションの転送を妨げる場合があり、これによって、アプリケーションの性能低下を招くという問題があった。
【００１３】
そこで、本発明は、上記従来の技術における問題点に鑑みてなされたものであって、  ＯＳによるデータの転送がアプリケーションによるデータの転送を妨げることを回避し、アプリケーションの性能低下を防止することのできる並列コンピュータシステム等を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するため、本発明は、ノード間接続装置と、該ノード間接続装置にネットワークを介して接続された複数のプロセッサノードとで構成され、該複数のプロセッサノード間で、前記ノード間接続装置を介してデータを転送する際に、転送元のプロセッサノードは、制御パスを用いて前記ノード間接続装置に転送要求を送出し、前記ノード間接続装置は、転送先のプロセッサノードが転送データを受け取り可能である時に、前記転送元のプロセッサノードに制御パスを用いて転送許可を送出し、前記転送元のプロセッサノードは、データパスを用いて前記ノード間接続装置にデータ転送を行い、前記ノード間接続装置は、データパスを用いて前記転送先のプロセッサノードにデータ転送を行う並列コンピュータシステムにおいて、前記転送元のプロセッサノードは、データ転送がオペレーティングシステムからの命令によるものであるか、アプリケーションからの命令によるものであるかを判別する判別手段と、該データ転送が、オペレーティングシステムからの命令によるデータ転送である場合には、データ転送命令を展開する展開手段と、該展開手段によって展開された命令により、分解された転送データを制御パスを用いて前記ノード間接続装置に送信する送信手段とを備え、制御パスを用いて前記ノード間接続装置を経由し、前記転送先のプロセッサノードにデータ転送を行うことを特徴とする。
【００１５】
そして、本発明によれば、ＯＳによるプロセッサノードに対するデータ転送と、アプリケーションによるプロセッサノードに対するデータ転送を独立して動作させることができるため、ＯＳによるデータの転送がアプリケーションによるデータの転送を妨げることを回避し、アプリケーションの性能低下を防止することが可能となる。
【００１６】
また、本発明は、ノード間接続装置にネットワークを介して接続され、他のプロセッサノードに、前記ノード間接続装置を介してデータを転送するプロセッサノード（以下、適宜「転送元プロセッサノード」という）であって、該転送元プロセッサノードは、制御パスを用いて前記ノード間接続装置に転送要求を送出し、該ノード間接続装置は、転送先の他のプロセッサノード（以下、「転送先プロセッサノード」という）が転送データを受け取り可能である時に、該転送元プロセッサノードに制御パスを用いて転送許可を送出し、該転送元プロセッサノードは、データパスを用いて前記ノード間接続装置にデータ転送を行い、前記ノード間接続装置は、データパスを用いて前記転送先プロセッサノードにデータ転送を行うにあたり、該転送元プロセッサノードは、データ転送がオペレーティングシステムからの命令によるものであるか、アプリケーションからの命令によるものであるかを判別する判別手段と、該データ転送が、オペレーティングシステムからの命令によるものである場合には、データ転送命令を展開する展開手段と、該展開手段によって展開された命令によって分解された転送データを制御パスを用いて前記ノード間接続装置に送信する送信手段とを備え、制御パスを用いて前記ノード間接続装置を経由して、前記転送先のプロセッサノードにデータ転送を行うことを特徴とする。このプロセッサノードを用いることにより、ＯＳによるデータの転送によってアプリケーションによるデータの転送が妨げられることを回避することができ、アプリケーションの性能低下を防止することが可能となる。
【００１７】
さらに、本発明は、ノード間接続装置にネットワークを介して接続された複数のプロセッサノード間で、前記ノード間接続装置を介してデータを転送する際に、転送元のプロセッサノードは、制御パスを用いて前記ノード間接続装置に転送要求を送出し、該ノード間接続装置は、転送先のプロセッサノードが転送データを受け取り可能である時に、前記転送元のプロセッサノードに制御パスを用いて転送許可を送出し、前記転送元のプロセッサノードは、データパスを用いて前記ノード間接続装置にデータ転送を行い、前記ノード間接続装置は、データパスを用いて前記転送先のプロセッサノードにデータ転送を行うデータ転送方法において、前記転送元のプロセッサノードは、データ転送がオペレーティングシステムからの命令によるものであるか、アプリケーションからの命令によるものであるかを判別し、該データ転送が、オペレーティングシステムからの命令によるものである場合には、データ転送命令を展開し、展開された命令によって分解された転送データを、制御パスを用いて前記ノード間接続装置に送信し、制御パスを用いて前記ノード間接続装置を経由して、前記転送先のプロセッサノードにデータ転送を行うことを特徴とする。この方法を用いることにより、ＯＳによるデータの転送がアプリケーションによるデータの転送を妨げることがなくなるため、アプリケーションの性能低下を防止することができる。
【発明の効果】
【００１８】
以上のように、本発明によれば、ＯＳによるデータの転送がアプリケーションによるデータの転送を妨げることを回避し、アプリケーションの性能低下を防止することが可能となる。
【発明を実施するための最良の形態】
【００１９】
次に、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００２０】
図１は、本発明にかかる並列コンピュータシステムを示し、このシステムは、各プロセッサノード１０１、１０２、１０３と、各プロセッサノード間を接続するノード間接続装置２００とで構成され、ノード間接続装置２００は、制御部２０１と、データスイッチ２０２とで構成され、プロセッサノード１０１は、ＣＰＵから受け取った命令を判定する命令判定部１１１と、転送命令を展開し、転送データを１ワード毎に分解した通信データを作成する命令展開部１１２と、転送データを格納するデータバッファ１１３とを備える。また、プロセッサノード１０２、１０３も、各々プロセッサノード１０１と同様の構成を備える。
【００２１】
次に、上記構成を有する並列コンピュータシステムの動作の一例として、プロセッサノード１０１のＯＳがプロセッサノード１０２に対してデータ転送を行っている時に、プロセッサノード１０３のアプリケーションがプロセッサノード１０２にデータ転送を行う場合について、図１乃至図３を参照しながら説明する。
【００２２】
プロセッサノード１０１は、プロセッサノード１０２に対してデータ転送を行う時に、その転送命令がＯＳからの命令であるかアプリケーションからの命令であるかを命令判定部１１１で判別する。これは、例えば、図３に示すような命令フォーマット５０１に専用のＯＳフラグ５１２を設け、ＯＳが直接転送命令を発行する場合にだけフラグを立てることで可能になる。
【００２３】
命令判定部１１１で命令フォーマット５０１のコマンドフィールド５１１に記述されたコマンドと、ＯＳフラグ５１２とを調べ、ＯＳからの転送命令であると判別されると、命令展開部１１２は、転送命令の命令フォーマット５０１の転送元アドレスフィールド５１３に記述されたアドレスを用い、１ワード分のデータをメモリからロードし、転送命令の命令フォーマット５０１の転送先アドレスフィールド５１５に記述されたアドレスを付加し、命令フォーマット５０１の転送先ノード番号フィールド５１４に記述されたノード宛てに、ノード間通信として制御パス１１Ａを使用し、ノード間接続装置２００の制御部２０１に送信する。
【００２４】
ノード間接続装置２００の制御部２０１は、この通信データを、制御パス１２Ｂを使用してプロセッサノード１０２に送信する。プロセッサノード１０２は、通信データの転送先アドレスと転送データを取り出し、指定されたアドレスに転送データを記録する。また、プロセッサノード１０２は、この通信に対する終了リプライを、制御パス１２Ａを使用してノード間接続装置２００の制御部２０１に送信し、制御部２０１は、制御パス１１Ｂを使用してプロセッサノード１０１に送信する。これで１ワード分の転送が完了する。
【００２５】
プロセッサノード１０１の命令展開部１１２は、転送元アドレスフィールド５１３に記述されたアドレスに、１ワード分加算したアドレスの１ワード分のデータをメモリからロードし、転送命令の転送先アドレスフィールド５１５に記述されたアドレスに１ワード分加算したアドレスを付加し、ノード間通信として制御パス１１Ａを使用してノード間接続装置２００の制御部２０１に送信する。命令展開部１１２は、転送元アドレスフィールド５１３に記述されたアドレスに、１ワード分加算したアドレスを転送元アドレスとして保持し、又は転送先アドレスフィールド５１５に記述されたアドレスに１ワード分加算したアドレスを転送先アドレスとして保持し、次の１ワードの転送に使用する。
【００２６】
このように、ＯＳからの転送命令に対しては、１ワード毎のノード間通信に展開し、メモリから１ワードずつデータをロードして転送先ノードに制御パスを使用して転送を行う。
【００２７】
次に、このプロセッサノード１０１からプロセッサノード１０２への転送中に、プロセッサノード１０３のアプリケーションがプロセッサノード１０２にデータ転送を行う。プロセッサノード１０３は、転送命令がＯＳからの転送命令であるかアプリケーションからの転送命令であるかを命令判定部１３１で判別する。命令判定部１３１でアプリケーションからの転送命令と判別されると、プロセッサノード１０３は、制御パス１３Ａを用いてプロセッサノード１０２のロック要求をノード間接続装置２００の制御部２０１に送信する。
【００２８】
制御部２０１は、プロセッサノード１０２の受信ポートが使用されていないことをチェックし、使用されていなければ、プロセッサノード１０２の受信ポートが使用中であることを内部メモリに記憶してロック取得を行う。制御部２０１は、プロセッサノード１０２のロック取得ができた場合に、ロック許可を制御パス１３Ｂを用いてプロセッサノード１０３に送信する。
【００２９】
ロック許可を受け取ったプロセッサノード１０３は、転送データをデータパス２３Ａを用いてノード間接続装置２００のデータスイッチ２０２を経由し、データパス２２Ｂを用いてプロセッサノード１０２に転送する。プロセッサノード１０２は、全転送データを受け取ると、終了リプライとロック解放とを制御パス１２Ａを用いてノード間接続装置２００の制御部２０１に送信する。制御部２０１は、終了リプライを制御パス１３Ｂを用いてプロセッサノード１０３に送信し、プロセッサノード１０２のロックを解放する。
【００３０】
このように、本発明によれば、プロセッサノード１０１のＯＳによるプロセッサノード１０２に対するデータ転送と、プロセッサノード１０３のアプリケーションによるプロセッサノード１０２に対するデータ転送は、独立して動作可能であり、アプリケーションによるデータ転送に影響を与えないため、並列コンピュータシステムの性能低下を防止することができる。
【実施例】
【００３１】
次に、本発明にかかる並列コンピュータシステムのより詳細な実施例について説明する。図４に、プロセッサノード、特にそのリモートアクセス制御装置の詳細を示す。
【００３２】
プロセッサノード１０１は、ノード間接続装置２００とのインターフェースを有するリモートアクセス制御装置３０１を備え、リモートアクセス制御装置３０１は、ＣＰＵ／メモリ３２１からの通信データを受信して格納するＣＰＵ／メモリ通信バッファ３１０と、ＣＰＵ／メモリ３２１からの通信データの内容を解析する通信解析部３１１と、ＣＰＵ／メモリ３２１への通信データを作成するＣＰＵ／メモリ通信作成部３１２と、他ノードからノード間接続装置２００を経由するか、又はノード間接続装置２００の制御部２０１からのノード間通信を受信して格納するノード間通信バッファ３１３と、ノード間通信データの内容を解析する通信解析部３１４と、他ノード又はノード間接続装置２００へのノード間通信を作成するノード間通信作成部３１５と、メモリからロードされた転送データを格納し、ノード間接続装置２００のデータスイッチ部２０２にデータを送信する送信データバッファ３１６と、ノード間接続装置２００のデータスイッチ部２０２から送られた転送データを受信し、格納し、転送データをメモリに記録する受信データバッファ３１７とを備える。
【００３３】
データ転送の際には、ＣＰＵ／メモリ３２１のＣＰＵからリモートアクセス制御装置３０１に転送命令が送られる。この転送命令は、ＯＳ又はアプリケーションのどちらかが発行している。転送命令は、ＣＰＵ／メモリ通信バッファ３１０に通信データとして格納され、通信解析部３１１が通信データを取り出して内容の解析を行う。通信データの例を図３の命令フォーマット５０１に示す。通信データが転送命令であった場合には、この命令がＯＳにより発行されたものか、アプリケーションにより発行されたものかを判定する。この判定は、図３に示した命令フォーマット５０１では、ＯＳフラグ５１２により行う。
【００３４】
アプリケーションにより発行された転送命令の場合には、ノード間通信作成部３１５がノード間接続装置２００の制御部２０１に対して転送先ノードのロック要求を作成し、制御部２０１に制御パス１１Ａを使用して送出する。
【００３５】
ノード間接続装置２００の制御部２０１から制御パス１１Ｂによりロック許可が送られ、ノード間通信バッファ３１３が受信すると、通信解析部３１４がロック許可であることを確認し、ＣＰＵ／メモリ通信作成部３１２は、転送命令内の転送元アドレスを使用してメモリロード要求を作成してメモリに発行し、ロードデータは、送信データバッファ３１６に格納され、データパス２１Ａを使用してノード間接続装置２００のデータスイッチ部２０２に送信される。
【００３６】
データ転送が終了すると、転送先ノードからノード間接続装置２００の制御部２０１を経由して制御パス１１Ｂを使用し、終了リプライがノード間通信として送信される。ノード間通信バッファ３１３が受信し、通信解析部３１４が終了リプライであることを確認し、ＣＰＵ／メモリ通信作成部３１２がＣＰＵにプロセッサ間通信で終了を報告する。
【００３７】
通信解析部３１１がＣＰＵからの通信内容を解析し、ＯＳからの転送命令であった（図３の命令フォーマット５０１のＯＳフラグ５１２がＯＳからの命令を示していた）場合には、ＣＰＵ／メモリ通信作成部３１２が転送命令の転送元アドレス（命令フォーマット５０１の転送元アドレスフィールド５１３に記述されたアドレス）を使用して１ワード分のメモリロード要求を作成し、発行する。メモリから１ワード分のデータが送られると、ＣＰＵ／メモリ通信バッファ３１０で受信する。通信解析部３１１がメモリからのリプライデータであることを確認し、データをノード間通信作成部３１５に送信する。
【００３８】
ノード間通信作成部３１５は、ＣＰＵから送られてきた転送命令内の転送先アドレス（命令フォーマット５０１の転送先アドレスフィールド５１５に記述されたアドレス）と、通信解析部３１１から送られてきたメモリからのデータを使用し、転送先ノード（命令フォーマット５０１の転送先ノード番号フィールド５１４に記述されたノード）への通信データを作成し、制御パス１１Ａを用いてノード間接続装置２００の制御部２０１へ送出する。リモートアクセス制御装置３０１からの通信データは、ノード間接続装置２００の制御部２０１を経由して転送先ノードに送られ、転送先ノードから終了リプライがノード間接続装置２００の制御部２０１を経由し、さらに制御パス１１Ｂを介して送信される。このデータをノード間通信バッファ３１３で受信し、通信解析部３１４が終了リプライであることを確認する。
【００３９】
ＣＰＵ／メモリ通信作成部３１２は、転送命令の転送元アドレス（命令フォーマット５０１の転送元アドレスフィールド５１３に記述されたアドレス）に、１ワード分換算したアドレスを使用して１ワード分のメモリロード要求を作成し、発行する。ＣＰＵ／メモリ通信作成部３１２は、転送元アドレスに１ワード分換算したアドレスを、転送元アドレスとして保持し、次のワードのメモリロード要求のアドレスに使用する。
【００４０】
メモリから１ワード分のデータが送られると、ＣＰＵ／メモリ通信バッファ３１０で受信し、通信解析部３１１がメモリからのリプライデータであることを確認し、データをノード間通信作成部３１５に送信し、ノード間通信作成部３１５は、ＣＰＵから送られた転送命令内の転送先アドレス（命令フォーマット５０１の転送先アドレスフィールド５１５に記述されたアドレス）に１ワード加算したアドレスと、通信解析部３１１から送られたメモリからのデータを使用し、転送先ノード（命令フォーマット５０１の転送先ノード番号フィールド５１４に記述されたノード）への通信データを作成し、制御パス１１Ａを用いてノード間接続装置２００の制御部２０１へ送出する。
【００４１】
ノード間通信作成部３１５は、転送先アドレスに１ワード加算したアドレスを転送先アドレスとして保持し、次のワードのノード間通信データに使用する。リモートアクセス制御装置３０１からの通信データは、ノード間接続装置２００の制御部２０１を経由して転送先ノードに送られ、転送先ノードから終了リプライがノード間接続装置２００の制御部２０１を経由して制御パス１１Ｂを介して送信される。この終了リプライをノード間通信バッファ３１３で受信し、通信解析部３１４が終了リプライであることを確認する。
【００４２】
上記動作を転送命令で指定された転送データ長（命令フォーマット５０１の転送長フィールド５１６に記述された転送データ長）が尽きるまで繰り返し、最後の終了リプライを通信解析部３１４が確認すると、ＣＰＵ／メモリ通信作成部３１２がＣＰＵに転送終了の通信を発行する。
【図面の簡単な説明】
【００４３】
【図１】本発明にかかる並列コンピュータシステムの基本構成を示すブロック図である。
【図２】本発明にかかるデータ転送方法における同時動作時の転送フローを示す図である。
【図３】本発明にかかるデータ転送方法における命令フォーマットの一例を示す図である。
【図４】本発明にかかる並列コンピュータシステムの実施例を示すブロック図である。
【図５】従来の並列コンピュータシステムの基本構成を示すブロック図である。
【図６】従来のデータ転送方法における基本的な転送フローを示す図である。
【図７】従来のデータ転送方法における同時動作時の転送フローを示す図である。
【符号の説明】
【００４４】
１０１、１０２、１０３、９１０１、９１０２、９１０３  プロセッサノード
１１１、１２１、１３１  命令判定部
１１２、１２２、１３２  命令展開部
１１３、１２３、１３３  データバッファ
１１Ａ、１１Ｂ、１２Ａ、１２Ｂ、１３Ａ、１３Ｂ、９１１Ａ、９１１Ｂ、９１２Ａ、９１２Ｂ、９１３Ａ、９１３Ｂ  制御パス
２１Ａ、２１Ｂ、２２Ａ、２２Ｂ、２３Ａ、２３Ｂ、９２１Ａ、９２１Ｂ、９２２Ａ、９２２Ｂ、９２３Ａ、９２３Ｂ  データパス
２００、９２００  ノード間接続装置
２０１、９２０１  制御部
２０２、９２０２  データスイッチ
３０１、３０２、３０３、３０Ｎ  リモートアクセス制御装置
３１０  ＣＰＵ／メモリ通信バッファ
３１１、３１４  通信解析部
３１２  ＣＰＵ／メモリ通信作成部
３１３  ノード間通信バッファ
３１５  ノード間通信作成部
３１６  送信データバッファ
３１７  受信データバッファ
３２１、３２２、３２３、３２Ｎ  ＣＰＵ／メモリ
５０１  命令フォーマット
５１１  コマンドフィールド
５１２  ＯＳフラグ
５１３  転送元アドレスフィールド
５１４  転送先ノード番号フィールド
５１５  転送先アドレスフィールド
５１６  転送長フィールド
【図１】
2007156851.tif 000003
【図２】
2007156851.tif 000004
【図３】
2007156851.tif 000005
【図４】
2007156851.tif 000006
【図５】
2007156851.tif 000007
【図６】
2007156851.tif 000008
【図７】
2007156851.tif 000009