(57)【要約】【課題】分散並列アプリケーションの実行時にプロセス通信のスループット性能を向上し、最適な通信経路のスケジュールを作成することができる通信経路制御装置を提供する。【解決手段】通信経路制御装置は、ネットワークに接続された複数の通信装置を介して複数の計算機によるアプリケーションのプロセス通信を行う計算機システムに適用される。通信経路制御装置は、アプリケーションの実行前に、通信経路性能情報を取得する通信経路性能情報取得部と、アプリケーション実行時に、プロセス通信情報を取得するプロセス通信情報取得部と、通信経路性能情報とプロセス通信情報とに基づいて、通信経路スケジュールを計算する通信経路スケジュール計算部と、アプリケーション実行時に、通信経路スケジュールを参照して、通信経路を選択する通信経路計算部と、を具備する。【選択図】図１
2020150301.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続された複数の通信装置を介して複数の計算機によるアプリケーションのプロセス通信を行う計算機システムに適用される通信経路制御装置であって、
前記アプリケーションの実行前に、通信経路性能情報を取得する通信経路性能情報取得部と、
前記アプリケーション実行時に、プロセス通信情報を取得するプロセス通信情報取得部と、
前記通信経路性能情報と前記プロセス通信情報とに基づいて、通信経路スケジュールを計算する通信経路スケジュール計算部と、
前記アプリケーション実行時に、前記通信経路スケジュールを参照して、通信経路を選択する通信経路計算部と、
を具備する通信経路制御装置。
【請求項２】
前記通信経路性能情報は、前記計算機と前記通信装置のペア毎の通信スループット性能であり、前記プロセス通信情報は、前記アプリケーションのプロセス通信毎の開示時間及び終了時間を示し、前記通信経路スケジュールは前記アプリケーションのプロセス通信毎に使用すべき前記通信装置を示す、請求項１に記載の通信経路制御装置。
【請求項３】
複数の計算機をネットワークを介して並列接続して、分散並列アプリケーションを実行する計算機システムであって、
前記複数の計算機の各々は、
前記ネットワークに接続される複数の通信装置と、
前記複数の通信装置に接続される複数の計算装置であって、前記分散並列アプリケーションの複数のプロセスを実行する複数の計算装置と、
前記分散並列アプリケーション実行前に、通信経路性能情報を取得する通信経路性能情報取得部と、
前記分散並列アプリケーション実行時に、プロセス通信情報を取得するプロセス通信情報取得部と、
前記通信経路性能情報と前記プロセス通信情報とに基づいて、通信経路スケジュールを計算する通信経路スケジュール計算部と、
を具備し、前記複数の計算装置は、前記分散並列アプリケーション実行時に、前記通信経路スケジュールを参照して通信経路を選択する、
計算機システム。
【請求項４】
前記通信経路性能情報は、前記計算機と前記通信装置のペア毎の通信スループット性能であり、前記プロセス通信情報は、前記分散並列アプリケーションのプロセス通信毎の開示時間及び終了時間を示し、前記通信経路スケジュールは前記分散並列アプリケーションのプロセス通信毎に使用すべき前記通信装置を示す、請求項３に記載の計算機システム。
【請求項５】
ネットワークに接続された複数の通信装置を介して複数の計算機によるアプリケーションのプロセス通信を行う計算機システムに適用される通信経路制御方法であって、
前記アプリケーション実行前に、通信経路性能情報を取得する第１の処理過程と、
前記アプリケーション実行時に、プロセス通信情報を取得する第２の処理過程と、
前記通信経路性能情報と前記プロセス通信情報とに基づいて、通信経路スケジュールを計算する第３の処理過程と、
前記アプリケーション実行時に、前記通信経路スケジュールを参照して、通信経路を選択する第４の処理過程と、
を具備する通信経路制御方法。
【請求項６】
ネットワークに接続された複数の通信装置を介して複数の計算機によるアプリケーションのプロセス通信を行う計算機システムに、
前記アプリケーション実行前に、通信経路性能情報を取得する第１の処理過程と、
前記アプリケーション実行時に、プロセス通信情報を取得する第２の処理過程と、
前記通信経路性能情報と前記プロセス通信情報とに基づいて、通信経路スケジュールを計算する第３の処理過程と、
前記アプリケーション実行時に、前記通信経路スケジュールを参照して、通信経路を選択する第４の処理過程と、
を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信ネットワークにおいて通信経路を最適化する通信経路制御装置、計算機システム、通信経路制御方法、コンピュータプログラムに関する。
【背景技術】
【０００２】
近年、情報通信メディアの発達にともない、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどの通信ネットワークにおいて、データやパケットを送受信するときに、ＲＩＰ（Ｒｏｕｔｉｎｇ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）やＯＳＰＦ（Ｏｐｅｎ  Ｓｈｏｒｔｅｓｔ  Ｐａｔｈ  Ｆｉｓｔ）などのプロトコルを用いてルータ間でルーティング情報を交換して通信経路を制御している。例えば、特許文献１は、通信回路網の接続経路選択方法を開示しており、ルータが所定時期に隣接する他のルータに接続して通信回路網の回線情報を取集して通信経路の最適化計算処理を実行している。特許文献２は、経路制御装置を開示しており、複数のルータの経路制御目的に応じて通信パラメータを組み合わせて複数の制御モードを設けて優先順位を割り付け、かつ、ルータへの入力信号の実測値から制御モードに対応する経路コストを算出してルータの経路コストを比較することにより、マスタ・ルータを定め、ネットワーク状況に最も適合する制御モードに対応する制御信号をスケジューラとして、マスタ・ルータの出力パケットに挿入している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１５２２６５号公報
【特許文献２】特許第３７９２５５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、刻一刻変化する通信データの変化量に応じて、任意のアプリケーションを実行するときに、最適な通信経路を動的に選択することが困難である。このため、通信経路を流れるデータ全体を対象に通信性能の向上を図ることが求められている。また、通信状況が流動的に変化するため、ある瞬間において動的に選択された通信経路が、各プロセスのデータ送信タイミングによっては、次の瞬間には最適な経路ではなくなっている可能性があり、データ通信のスループット性能が一時的に低下してしまうという問題点がある。
【０００５】
本発明は、上述の課題を解決する通信経路制御装置、計算機システム、通信経路制御方法、コンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の態様によれば、通信経路制御装置は、ネットワークに接続された複数の通信装置を介して複数の計算機によるアプリケーションのプロセス通信を行う計算機システムに適用される。通信経路制御装置は、アプリケーションの実行前に、通信経路性能情報を取得する通信経路性能情報取得部と、アプリケーション実行時に、プロセス通信情報を取得するプロセス通信情報取得部と、通信経路性能情報とプロセス通信情報とに基づいて、通信経路スケジュールを計算する通信経路スケジュール計算部と、アプリケーション実行時に、通信経路スケジュールを参照して、通信経路を選択する通信経路計算部と、を具備する。
【０００７】
本発明の第２の態様によれば、計算機システムは、複数の計算機をネットワークを介して並列接続して、分散並列アプリケーションを実行する。複数の計算機の各々は、ネットワークに接続される複数の通信装置と、複数の通信装置に接続される複数の計算装置であって、分散並列アプリケーションの複数のプロセスを実行する複数の計算装置と、分散並列アプリケーション実行前に、通信経路性能情報を取得する通信経路性能情報取得部と、分散並列アプリケーション実行時に、プロセス通信情報を取得するプロセス通信情報取得部と、通信経路性能情報とプロセス通信情報とに基づいて、通信経路スケジュールを計算する通信経路スケジュール計算部と、を具備する。複数の計算装置は、前記分散並列アプリケーション実行時に、通信経路スケジュールを参照して通信経路を選択する。
計算機システム。
【０００８】
本発明の第３の態様によれば、通信経路制御方法は、ネットワークに接続された複数の通信装置を介して複数の計算機によるアプリケーションのプロセス通信を行う計算機システムに適用される。通信経路制御方法は、アプリケーション実行前に、通信経路性能情報を取得する第１の処理過程と、アプリケーション実行時に、プロセス通信情報を取得する第２の処理過程と、通信経路性能情報とプロセス通信情報とに基づいて、通信経路スケジュールを計算する第３の処理過程と、アプリケーション実行時に、通信経路スケジュールを参照して、通信経路を選択する第４の処理過程と、を具備する。
【０００９】
本発明の第４の態様によれば、コンピュータプログラムは、ネットワークに接続された複数の通信装置を介して複数の計算機によるアプリケーションのプロセス通信を行う計算機システムに対して、アプリケーション実行前に、通信経路性能情報を取得する第１の処理過程と、アプリケーション実行時に、プロセス通信情報を取得する第２の処理過程と、通信経路性能情報とプロセス通信情報とに基づいて、通信経路スケジュールを計算する第３の処理過程と、アプリケーション実行時に、通信経路スケジュールを参照して、通信経路を選択する第４の処理過程と、を実行させる。
【発明の効果】
【００１０】
本発明によれば、特定のアプリケーション実行時にスループット性能を最大化する最適な通信経路を選択することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施形態による通信経路制御装置が適用される計算機システムのブロック図である。
【図２】計算機システムにおいて、計算装置により実行される分散並列アプリケーションの構成図である。
【図３】計算機システムにおいて、計算装置と通信装置のペア毎に測定された通信経路性能情報の構成図である。
【図４】計算機システムにおいて、分散並列アプリケーションのプロセス実行時に採取されたプロセス通信情報の構成図である。
【図５】計算機システムにおいて、分散並列アプリケーションのプロセス実行時に設定される通信経路スケジュールの構成図である。
【図６】分散並列アプリケーション実行前に通信経路性能情報を取得する手順１を示すフローチャートである。
【図７】分散並列アプリケーション実行時にプロセス通信情報を取得する手順２と、分散並列アプリケーション実行時に通信経路スケジュールを参照して、最適な通信経路で通信処理を実行する手順４とを示すフローチャートである。
【図８】通信経路スケジュールを計算する手順３を示すフローチャートである。
【図９】本発明に係る通信経路制御装置の基本構成を示すブロック図である。
【図１０】本発明に係る通信経路制御方法の基本動作を示すフローチャートである。
【発明を実施するための形態】
【００１２】
本発明は、分散並列アプリケーション実行時の通信経路を最適化する通信経路制御装置および通信経路制御方法に関する。すなわち、複数の計算機を通信ネットワークに接続して、アプリケーションを分散並列して実行するときに、実行時の全プロセスの通信情報を採取し、その通信情報から全通信の発生時間や通信経路などを分析し、その分析結果に基づいて、各プロセスの通信手続き呼出し毎にスループットを最大化するような最適な通信経路のスケジュールを決定する。また、次回以降のアプリケーション実行時に通信経路スケジュールに基づいて静的に通信経路を選択することで、特定の分散並列アプリケーション実行時の通信性能を向上する。
【００１３】
以下、本発明の一実施形態による通信経路制御装置および通信経路制御方法について、図１乃至図８を参照して説明する。図１は、本発明の一実施例による通信経路制御装置が適用される計算機システムのブロック図である。計算機システムは、専用ネットワークＮＷと、複数の計算機１〜ｎとにより構成される。複数の計算機１〜ｎ（ｎは２以上の整数）は、専用ネットワークＮＷを介して接続されている。各計算機は、複数の通信装置１００（すなわち、１００＿１〜１００＿ｎ）と、複数の計算装置１１０（すなわち、１１０＿１〜１１０＿ｎ）と、通信経路性能情報取得装置１３０と、通信経路スケジュール計算装置１４０と、通信経路性能情報記憶装置１５０と、プロセス通信情報記憶装置１５１と、通信経路スケジュール記憶装置１５２と、を具備する。計算装置１１０は、その計算装置上で動作する分散並列アプリケーションプロセス１２０（すなわち、１２０＿１〜１２０＿ｎ）を具備する。通信経路性能情報取得装置１３０は、計算装置１１０と通信装置１００のペア毎の通信スループット性能を測定して取得する。通信経路スケジュール計算装置１４０は、通信経路性能情報とプロセス性能情報に基づいて通信経路スケジュールを計算する。通信経路性能情報記憶装置１５０は、計算装置１１０による分散並列アプリケーションプロセス１２０の実行前に取得した通信経路性能情報を格納する。プロセス通信情報記憶装置１５１は、プロセス通信情報を格納する。通信経路スケジュール記憶装置１５２は、通信経路スケジュールを格納する。
【００１４】
次に、計算装置１１０により実行される分散並列アプリケーションプロセス１２０について説明する。図２は、分散並列アプリケーション２００の構成図である。分散並列アプリケーション２００は、複数のプロセスにより構成されており、通信初期化処理部２０１と、同期処理部２０２と、計算処理部２０３と、通信処理部２０４と、通信経路スケジュール取得処理部２０５と、プロセス通信情報取得処理部２０６と、データ送受信処理部２０７と、を具備する。計算処理部２０３と通信処理部２０４とは、種々の割合で種々の順番で呼び出される。通信初期化処理部２０１は、プロセス通信情報を採取する開始時間を同期させることを目的に分散並列アプリケーションプロセス１２０間の同期を取る同期処理部２０２を具備する。通信処理部２０４は、通信経路スケジュール記憶装置１５２から通信経路スケジュールを取得する通信経路スケジュール取得処理部２０５と、通信処理毎のプロセスの通信情報を取得してプロセス通信情報記憶装置１５１に格納するプロセス通信情報取得処理部２０６と、実際に通信処理を行うデータ送受信処理部２０７と、を具備する。
【００１５】
次に、通信経路性能情報記憶装置１５０に格納される通信経路性能情報３００について説明する。図３は、通信経路性能情報３００の構成図である。通信経路性能情報３００は、計算装置識別子３０１と、通信装置識別子３０２と、通信スループット性能３０３と、を具備する。計算装置識別子３０１は、分散並列アプリケーションの実行前に取得されて、計算装置１１０と通信装置１００とのペア毎の通信スループット性能を保持するため、通信の送信元のプロセスが動作する計算装置１１０の識別子である。通信装置識別子３０２は、通信に利用する通信装置１００の識別子である。通信スループット性能３０３は、計算装置識別子３０１と通信装置識別子３０２とを利用するときの通信スループット性能を格納する。
【００１６】
次に、プロセス通信情報記憶装置１５１に格納されるプロセス通信情報４００について説明する。図４は、プロセス通信情報４００の構成図である。プロセス通信情報４００は、分散並列アプリケーションプロセス毎に全通信処理において採取されるものあり、送信元プロセス識別子４０１と、送信先プロセス識別子４０２と、通信識別子４０３と、通信開始時間４０４と、通信終了時間４０５と、通信サイズ４０６と、計算装置識別子４０７と、通信装置識別子４０８と、を具備する。通信識別子４０３は、各通信手続き呼出しを識別する識別子である。通信開始時間４０４は、通信手続き呼出しの開始時間であり、通信終了時間４０５は、通信手続き呼出しの終了時間である。計算装置識別子４０７は、分散並列アプリケーションのプロセスが作動する計算装置１１０の識別子であり、通信装置識別子４０８は、通信時に利用した通信装置１００の識別子である。
【００１７】
次に、通信経路スケジュール記憶装置１５２に格納される通信経路スケジュール５００について説明する。図５は、通信経路スケジュール５００の構成図である。通信経路スケジュール５００は、送信元プロセス、送信先プロセス、および通信識別子毎に使用すべき通信装置１００を示す情報であり、送信元プロセス識別子５０１と、送信先プロセス識別子５０２と、通信識別子５０３と、通信装置識別子５０４と、を具備する。通信識別子５０３は、各通信手続き呼出しを識別する識別子であり、通信装置識別子５０４は、分散並列アプリケーションのプロセス実行時に使用される通信装置１００を示す識別子である。
【００１８】
次に、本発明の一実施形態に係る通信経路制御装置の動作および通信経路制御方法の処理について図６乃至図８を参照して説明する。本実施形態の処理は、下記の手順で実行される。
手順１：分散並列アプリケーション実行前に通信経路性能情報を取得する。
手順２：分散並列アプリケーション実行時にプロセス通信情報を取得する。
手順３：通信経路スケジュールを計算する。
手順４：分散並列アプリケーション実行時に通信経路スケジュールを参照して、最適な通信経路で通信処理を実行する。
【００１９】
次に、分散並列アプリケーション実行前に通信経路性能情報を取得する手順１について説明する。図６は、手順１のフローチャートである（ステップＳ１０、Ｓ１１）。分散並列アプリケーションの実行前に、通信経路性能情報取得装置１３０は、通信装置１００と計算装置１１０のペア毎に通信スループット性能を取得する（Ｓ１０）。次に、通信経路性能情報取得装置１３０は、通信経路性能情報を通信経路性能情報記憶装置１５０に格納する（Ｓ１１）。
【００２０】
次に、分散並列アプリケーション実行時にプロセス通信情報を取得する手順２と、分散並列アプリケーション実行時に通信経路スケジュールを参照して、最適な通信経路で通信処理を実行する手順４について説明する。図７は、手順２と手順４のフローチャートである（Ｓ２０〜Ｓ２８）。まず、計算装置１１０上で動作する分散並列アプリケーションの同期処理部２０２は、次回以降の通信処理で採取する通信開始時間の基準時間をそろえるため、通信初期化時に分散並列アプリケーションの全プロセス間で同期処理を実行する（Ｓ２０）。分散並列アプリケーションの実行時に通信経路スケジュール５００の読み込みを指示されている場合には（Ｓ２１、「ＹＥＳ」）、通信経路スケジュール取得処理部２０５は、通信経路スケジュール記憶装置１５２から通信経路スケジュールを読み込み、通信処理に使用される通信経路（通信装置１００）を選択する（Ｓ２２）。通信経路スケジュール５００の読み込みが指示されていない場合には（Ｓ２１、「ＮＯ」）、処理フローはＳ２１からＳ２３へ進む。
【００２１】
分散並列アプリケーションの実行時にプロセス通信情報４００の取得が指示されている場合には（Ｓ２３、「ＹＥＳ」）、プロセス通信情報取得処理部２０６は、プロセス通信情報（図４のプロセス通信情報４００の構成情報の、通信終了時間４０５以外）を取得して、プロセス通信情報記憶装置１５１に格納する（Ｓ２４）。プロセス通信情報４００の取得が指示されていない場合には（Ｓ２３、「ＮＯ」）、処理フローはＳ２３からＳ２５へ進む。
【００２２】
次に、データ送受信処理部２０７は、データ通信を実行する（Ｓ２５）。分散並列アプリケーションの実行時にプロセス通信情報４００の取得が指示されている場合には（Ｓ２６、「ＹＥＳ」）、プロセス通信情報取得処理部２０６は、プロセス通信情報４００（すなわち、通信終了時間４０５）を取得し、プロセス通信情報記憶装置１５１に格納する（Ｓ２７）。プロセス通信情報４００の取得が指示されていない場合（Ｓ２６、「ＮＯ」）、処理フローはＳ２６からＳ２８へ進む。その後、アプリケーションの実行終了時には（Ｓ２８、「ＹＥＳ」）図７の処理フローを終了する。一方、アプリケーションの実行が終了していない場合には（Ｓ２８、「ＮＯ」）、処理フローはＳ２１へ戻る。
【００２３】
次に、通信経路スケジュールを計算する手順３について説明する。図８は、手順３のフローチャートである（ステップＳ３０〜Ｓ３６）。通信経路スケジュール計算装置１４０は、プロセス通信情報記憶装置１５１からプロセス通信情報４００を取得し、その全エントリに対して下記の処理を行う（Ｓ３０）。通信経路スケジュール計算装置１４０は、プロセス通信情報４００の通信開始時間４０４と通信終了時間４０５との差分に基づいて実行時スループット性能を算出する。その後、通信経路スケジュール計算装置１４０は、通信経路性能情報記憶装置１５０から取得した通信経路性能情報３００において計算装置識別子３０１及び通信装置識別子３０２に係る通信サイズに対応するスループット性能を定めて、実行時スループット性能と比較する（Ｓ３１）。実行時スループット性能が通信経路性能情報３００のスループット性能より低い場合には、スループット性能を使い切っていると判定して（Ｓ３１、「ＹＥＳ」）、処理フローはＳ３２へ進む。その後、プロセス通信情報４００の全エントリについて、同時間帯に通信を行っているエントリを抽出し、通信経路性能情報３００に基づいて、通信を追加で実施してもスループット性能を使い切らない通信装置１００が存在するか検査する。スループット性能を使い切らない通信装置１００が存在する場合には（Ｓ３２、「ＹＥＳ」）、通信装置１００を通信に使用するようにプロセス通信情報４００を更新する（Ｓ３３）。このように、上述のエントリについて通信時間を短縮するために、通信装置１００が変更されることとなる。また、上述のエントリの通信開始時間以降に変更前の通信装置と変更後の通信装置を使用する全エントリに対して、通信経路性能情報３００に基づいて通信装置変更に伴う通信時間の短縮分を推定し、通信開始時間４０４と通信終了時間４０５に対して通信時間短縮分の補正を行う（Ｓ３４）。その後、通信装置１００の変更と通信開始時間４０４及び通信終了時間４０５の補正に対応する通信経路スケジュール５００のエントリを通信経路スケジュール記憶装置１５２に格納する（Ｓ３５）。なお、スループット性能を使い切っていない場合（Ｓ３１、「ＮＯ」）、スループット性能を使い切らない通信装置１００が存在しない場合には（Ｓ３２、「ＮＯ」）にも、処理フローはＳ３５へ進む。その後、手順３の処理を終了する。
【００２４】
次に、本発明に係る通信経路制御装置６００の基本構成について図９を参照して説明する。図１に示す計算機の構成と比較すると、通信経路制御装置６００は、専用ネットワークＮＷに接続される通信装置１００に対して設けられるものであり、通信経路計算部６１０（計算装置１１０に相当）と、通信経路性能情報取得部６３０（通信経路性能情報取得装置１３０に相当）と、通信経路スケジュール計算部６４０（通信経路スケジュール計算装置１４０に相当）と、プロセス通信情報取得部６５０（プロセス通信情報記憶装置１５１に相当）と、を具備する。通信経路性能情報取得部６３０は、分散並列アプリケーションの実行前に、図３に示す通信経路性能情報３００を取得する。プロセス通信情報取得部６５０は、分散並列アプリケーション実行時に、図４に示すプロセス通信情報４００を取得する。その後、通信経路スケジュール計算部６４０は、通信経路性能情報３００とプロセス通信情報４００とに基づいて、図５に示す通信経路スケジュール５００を計算する。通信経路計算部６１０は、分散並列アプリケーション実行時に通信経路スケジュール５００を参照して、最適な通信経路を選択する。
【００２５】
次に、本発明に係る通信経路制御方法の基本動作について図１０を参照して説明する（ステップＳ４１〜Ｓ４４）。まず、図６に示すように、分散並列アプリケーション実行前に通信経路性能情報を取得する手順１を実施する（Ｓ４１）。図７（Ｓ２４、Ｓ２７）に示すように、分散並列アプリケーション実行時にプロセス通信情報を取得する手順２を実施する（Ｓ４２）。図８に示すように、通信経路スケジュールを計算する手順３を実施する（Ｓ４３）。その後、図７（Ｓ２２）に示すように、分散並列アプリケーション実行時に通信経路スケジュールを参照して、最適な通信経路を選択する（Ｓ４４）。このように、アプリケーション実行時に最適な通信経路を選択してプロセス間通信を行うことができる。
【００２６】
上述のように、本発明では、特定の分散並列アプリケーションの実行時に、その全プロセスの通信情報を取得し、全通信の開始時間、終了時間、及び通信経路を分析し、その分析結果と、事前に取得しておいた計算装置１１０から通信経路を使用する場合の通信経路性能情報３００に基づいて、各プロセスの通信手続き呼出し毎にスループット性能が最大化するような最適な通信経路のスケジュール５００を作成する。通信経路スケジュールを作成する際に、通信経路性能情報３００に基づいて通信経路変更に伴う通信時間の短縮分を推定し、その短縮分に基づいて後続の通信の開始時間及び終了時間を補正する。次回以降のアプリケーション実行時には、通信経路スケジュール５００に基づいて、静的に通信経路を選択する。このように、分散並列アプリケーションの全プロセスの全通信状態を俯瞰して静的に通信経路スケジュール５００を決定するので、スループット性能の低下を防止できる。また、上述の技法をアプリケーション実行毎に繰り返して適用することで、最適な通信経路スケジュール５００の精度を向上することができ、通信性能を向上することができる。
【００２７】
上述の通信経路制御装置は、コンピュータシステムを有している。そして、上述の通信経路制御方法の処理過程は、コンピュータプログラムとしてコンピュータ読み取り可能な記録媒体に記憶されており、このコンピュータプログラムをコンピュータが読み出して実行することによって、上記の処理手順が実施される。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータがコンピュータプログラムを実行するようにしても良い。
【００２８】
なお、図１又は図９における機能部を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたコンピュータプログラムをコンピュータシステムに読み込ませ、実行することにより上述の処理手順を実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、オペレーティングシステム（ＯＳ）などのソフトウェアや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境（あるいは表示環境）を備えたＷＷＷシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワーク、電話回線及び通信回線を介してコンピュータプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（ＲＡＭ）のように、一定時間プログラムを保持しているものも含むものとする。
【００２９】
また、コンピュータプログラムは、コンピュータシステムの記憶装置から読み出して、有線又は無線の伝送媒体を介して他のコンピュータシステムに伝送されてもよい。ここで、コンピュータプログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）、電話回線及び通信回線のように情報を伝送する機能を有する媒体のことをいう。また、コンピュータプログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているコンピュータプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００３０】
１〜ｎ  計算機
１００  通信装置
１１０  計算装置
１２０  分散並列アプリケーションプロセス
１３０  通信経路性能情報取得装置
１４０  通信経路スケジュール計算装置
１５０  通信経路性能情報記憶装置
１５１  プロセス通信情報記憶装置
１５２  通信経路スケジュール記憶装置
２００  分散並列アプリケーション
３００  通信経路性能情報
４００  プロセス通信情報
５００  通信経路スケジュール
６００  通信経路制御装置
６１０  通信経路計算部
６３０  通信経路性能情報取得部
６４０  通信経路スケジュール計算部
６５０  プロセス通信情報取得部  
【図１】
2020150301.tif 000003
【図２】
2020150301.tif 000004
【図３】
2020150301.tif 000005
【図４】
2020150301.tif 000006
【図５】
2020150301.tif 000007
【図６】
2020150301.tif 000008
【図７】
2020150301.tif 000009
【図８】
2020150301.tif 000010
【図９】
2020150301.tif 000011
【図１０】
2020150301.tif 000012