JP4983332B2 - 性能評価プログラム、性能評価装置および性能評価方法 - Google Patents

性能評価プログラム、性能評価装置および性能評価方法 Download PDF

Info

Publication number
JP4983332B2
JP4983332B2 JP2007081812A JP2007081812A JP4983332B2 JP 4983332 B2 JP4983332 B2 JP 4983332B2 JP 2007081812 A JP2007081812 A JP 2007081812A JP 2007081812 A JP2007081812 A JP 2007081812A JP 4983332 B2 JP4983332 B2 JP 4983332B2
Authority
JP
Japan
Prior art keywords
evaluation
simulation
communication data
node
communication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007081812A
Other languages
English (en)
Other versions
JP2008242757A (ja
Inventor
吉朗 池田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007081812A priority Critical patent/JP4983332B2/ja
Priority to US12/050,439 priority patent/US8619624B2/en
Publication of JP2008242757A publication Critical patent/JP2008242757A/ja
Application granted granted Critical
Publication of JP4983332B2 publication Critical patent/JP4983332B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/22Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は性能評価プログラム、性能評価装置および性能評価方法に関し、特に複数のプログラムを並列に実行する並列計算機の性能を評価する性能評価プログラム、性能評価装置および性能評価方法に関する。
近年、ハードウェア技術の進歩に伴い、演算装置の処理能力が飛躍的に向上している。一方で、大規模な科学技術計算や大量のマルチメディアデータの処理など、1つの演算装置の処理能力を大きく超える処理能力を必要とする処理も依然として存在する。このような処理を行う場合、一般に並列計算機が用いられる。並列計算機は、演算装置を備える複数の計算ノードと計算ノード間を結合するネットワークとから構成される計算機または計算機システムである。並列計算機では、計算ノードで実行される個々のプロセスが他のプロセスと通信を行いながら処理を進める。複数のプロセスが並列に実行されるため、大規模な計算の処理時間が大幅に短縮される。
ここで、並列計算機の処理能力は、ネットワークの設計に大きく依存する。なぜならば、プロセス間の通信が非効率であると、通信時間が増大して演算時間の割合が相対的に低下するからである。このことは、並列計算機が大規模になるほど、すなわち、計算ノードの数が多くなるほど顕著となる。一方で、最適なネットワークを設計するためには、さまざまな設計要素を考慮する必要がある。例えば、計算ノード間の接続関係などの物理的要素や、通信経路の決定方法(ルーティングアルゴリズム)などの機能的要素を考慮する必要がある。また、ネットワークの設計が最適か否かは、実行する並列プログラムの性質にも依存する。
このため、並列計算機を開発する際には、最適なネットワークの設計を見出すために、ネットワークの設計を行って性能評価を行い、評価結果に基づいて設計を修正するという作業を繰り返し行う必要がある。この点、従来は、並列計算機の試作機を作成することで、ネットワークの性能を評価していた。すなわち、試作機で並列プログラムを実行させ、ルータなどで通信状況を監視することで、通信の効率性を確認していた(例えば、特許文献1参照)。しかし、開発する並列計算機が大規模である場合、試作機を作成する作業負担が非常に大きく、この評価方法を用いることは現実的でない。
そこで現在は、シミュレーションによるネットワークの性能評価が一般的に行われている。具体的には、例えば、以下の2つの評価方法が知られている。第1の評価方法は、並列計算機のすべての構成要素をシミュレーションプログラムによって仮想的に再現し、単体計算機上で通信のシミュレーションを行う方法である。この評価方法では、各構成要素の物理的性能や機能をシミュレーションプログラムによって忠実に再現できれば、試作機を用いた場合と同等の正確な評価結果を得ることができる。第2の評価方法は、並列計算機の各構成要素の設計情報を入力しておき、設計情報に基づいて確率統計的に通信のシミュレーションを行う方法である(例えば、特許文献2参照)。この評価方法は簡易的な方法であり、迅速かつ容易にネットワークの性能を評価することができる。
特開平11−284691号公報 特開2000−105713号公報
しかし、従来のシミュレーションによる評価方法では、以下の問題がある。上記第1の評価方法では、シミュレーションプログラムを作成する作業負担が非常に大きいという問題がある。これは、再現すべき構成要素の数が多いことに加え、作成したシミュレーションプログラム自体が正しいことを検証する作業も必要となるからである。更に、本来は複数の計算ノードで並列に実行させるべき処理を単体計算機上で再現するため、シミュレーションに要する時間が大きくなるという問題もある。上記第2の評価方法では、評価結果が正確性に欠けるという問題がある。これは、ネットワークの性能は、通信が発生するタイミングに大きく依存するにも拘わらず、このタイミングが正確に再現されていないからである。
本発明はこのような点に鑑みてなされたものであり、並列計算機の性能をシミュレーションによって評価する際に、作業負担の軽減と通信のタイミングの正確な再現とを両立できる性能評価プログラム、性能評価装置および性能評価方法を提供することを目的とする。
一側面では、ネットワークを介して接続される複数の計算ノードを用いて複数のプログラムを実行する並列計算機の性能評価に用いられる性能評価プログラムにおいて、ネットワークを介して複数の計算ノードに接続されるコンピュータに、複数の計算ノードを用いて複数のプログラムを実行させる場合、複数の計算ノードのうち一の計算ノードによって宛先が他の計算ノードからコンピュータに書き換えられた通信データを、一の計算ノードから受信し、コンピュータが有する定義情報記憶部が記憶する評価対象のネットワークを定義したネットワーク定義情報に基づき、受信した前記通信データを用いたシミュレーションを行い、シミュレーションの結果に基づいて、コンピュータが有する評価情報記憶部が記憶する前記評価対象のネットワークの評価結果を示す評価情報を更新し、受信した前記通信データを他の計算ノードに転送する、処理を実行させることを特徴とする性能評価プログラムが提供される。
また、一側面では、図1に示すネットワーク性能評価プログラムが提供される。ネットワーク性能評価プログラムは、複数のプロセスを並列に実行する並列計算機のネットワーク性能を評価するものである。ネットワーク性能評価プログラムを実行するコンピュータ1は、設計情報記憶手段1a、評価情報記憶手段1b、通信データ取得手段1c、設計評価手段1dおよび通信データ転送手段1eを有する。
設計情報記憶手段1aは、評価対象のネットワークを定義した設計情報を記憶する。評価情報記憶手段1bは、評価対象のネットワークの評価結果を示す評価情報を記憶する。通信データ取得手段1cは、複数の計算ノード2a,2b,2cを用いて複数のプロセスを実行させたときに、計算ノード2a,2b,2cによって出力される通信データを取得する。設計評価手段1dは、設計情報記憶手段1aを参照して、通信データ取得手段1cが取得した通信データを評価対象のネットワークで伝送する場合の通信のシミュレーションを行い、得られたシミュレーション結果に基づいて評価情報記憶手段1bが記憶する評価情報を更新する。通信データ転送手段1eは、通信データ取得手段1cが取得した通信データを、宛先の計算ノードに対して転送する。
このようなネットワーク性能評価プログラムを実行するコンピュータ1によれば、通信データ取得手段1cにより、複数の計算ノード2a,2b,2cを用いて複数のプロセスを実行させたときに、計算ノード2a,2b,2cによって出力される通信データが取得される。設計評価手段1dにより、取得された通信データを評価対象のネットワークで伝送する場合の通信のシミュレーションが行われ、得られたシミュレーション結果に基づいて評価情報が更新される。通信データ転送手段1eにより、取得された通信データが、宛先の計算ノードに対して転送される。
また、一側面では、複数のプロセスを並列に実行する並列計算機のネットワーク性能を評価するネットワーク性能評価装置において、複数の計算ノードを用いて複数のプロセスを実行させたときに、計算ノードによって出力される通信データを取得する通信データ取得手段と、評価対象のネットワークを定義した設計情報を記憶する設計情報記憶手段を参照して、通信データ取得手段が取得した通信データを評価対象のネットワークで伝送する場合の通信のシミュレーションを行い、得られたシミュレーション結果に基づいて、評価情報記憶手段が記憶する評価対象のネットワークの評価結果を示す評価情報を更新する設計評価手段と、通信データ取得手段が取得した通信データを、宛先の計算ノードに対して転送する通信データ転送手段と、を有することを特徴とするネットワーク性能評価装置が提供される。
このようなネットワーク性能評価装置によれば、通信データ取得手段により、複数の計算ノードを用いて複数のプロセスを実行させたときに、計算ノードによって出力される通信データが取得される。設計評価手段により、取得された通信データを評価対象のネットワークで伝送する場合の通信のシミュレーションが行われ、得られたシミュレーション結果に基づいて評価情報が更新される。通信データ転送手段により、取得された通信データが、宛先の計算ノードに対して転送される。
また、一側面では、複数のプロセスを並列に実行する並列計算機のネットワーク性能を評価するコンピュータによるネットワーク性能評価方法において、通信データ取得手段が、複数の計算ノードを用いて複数のプロセスを実行させたときに、計算ノードによって出力される通信データを取得するステップと、設計評価手段が、評価対象のネットワークを定義した設計情報を記憶する設計情報記憶手段を参照して、通信データ取得手段が取得した通信データを評価対象のネットワークで伝送する場合の通信のシミュレーションを行い、得られたシミュレーション結果に基づいて、評価情報記憶手段が記憶する評価対象のネットワークの評価結果を示す評価情報を更新するステップと、通信データ転送手段が、通信データ取得手段が取得した通信データを、宛先の計算ノードに対して転送するステップと、を有することを特徴とするネットワーク性能評価方法が提供される。
このようなネットワーク性能評価方法によれば、複数の計算ノードを用いて複数のプロセスを実行させたときに、計算ノードによって出力される通信データが取得される。次に、取得された通信データを評価対象のネットワークで伝送する場合の通信のシミュレーションが行われ、得られたシミュレーション結果に基づいて評価情報が更新される。そして、取得された通信データが、宛先の計算ノードに対して転送される。
算ノードに並列処理を行うプログラムを実際に実行させ、計算ノード間で送受信される通信データを通信の途中で取得し、取得した通信データに基づいて仮想的なネットワークの性能評価を行うこととした。これにより、シミュレーションの準備の作業負担が大きく軽減されると共に、シミュレーションに要する時間が短縮される。また、実際に発生した通信のタイミングに応じた正確な評価結果を得ることができる。更に、通信ログなどの中間データを用いずにリアルタイムにシミュレーションを行えるため、膨大なデータを保持する必要がない。
以下、本発明の実施の形態を図面を参照して説明する。まず、本実施の形態の概要について説明し、その後、本実施の形態の具体的な内容を説明する。
図1は、本実施の形態の概要を示す図である。図1に示すコンピュータ1は、複数のプロセスを並列に実行する並列計算機のネットワーク性能を評価するものである。コンピュータ1は、ネットワーク3を介して、プロセスを実行する計算ノード2a,2b,2cと接続されている。コンピュータ1は、設計情報記憶手段1a、評価情報記憶手段1b、通信データ取得手段1c、設計評価手段1dおよび通信データ転送手段1eを有する。
設計情報記憶手段1aには、評価対象のネットワークを定義した設計情報が格納される。設計情報には、例えば、ネットワークの物理構成を示す情報と機能を示す情報とが含まれる。ネットワークの物理構成としては、例えば、計算ノード間を接続するリンクの構造(トポロジー)や各リンクの通信速度、通信バッファの配置および容量などが定義される。ネットワークの機能としては、例えば、ルーティングアルゴリズムや通信プロトコルなどが定義される。
評価情報記憶手段1bには、評価対象のネットワークの評価結果を示す評価情報が格納される。評価情報には、例えば、各リンクの通信時間の平均や稼働率の平均、各通信バッファの平均長および最大長などを示す情報が含まれる。
通信データ取得手段1cは、計算ノード2a,2b,2c間でネットワーク3を介して送受信される通信データを取得する。ここで、コンピュータ1が通信データを取得できるようにするには、さまざまな方法が考えられる。例えば、計算ノード2a,2b,2cによって出力される通信データが必ずコンピュータ1を経由するように、ネットワーク3を構築する方法がある。また、計算ノード2a,2b,2cまたはネットワーク3内の通信装置が、通信データの宛先アドレスを一時的にコンピュータ1のアドレスに書き換える方法がある。
設計評価手段1dは、設計情報記憶手段1aを参照して、通信データ取得手段1cが取得した通信データを評価対象のネットワークで伝送する場合の通信のシミュレーションを行う。通信のシミュレーションでは、通信が発生したタイミングや通信経路が特定されて、各通信バッファでの送信待ち時間などが計算される。そして、設計評価手段1dは、得られたシミュレーション結果に基づいて、評価情報記憶手段1bに格納された評価情報を更新する。
通信データ転送手段1eは、通信データ取得手段1cが取得した通信データを、宛先の計算ノードに対して転送する。ここで、通信データの宛先アドレスが一時的にコンピュータ1のアドレスに書き換えられていた場合には、通信データ転送手段1eは、宛先アドレスを本来の宛先となる計算ノードのアドレスに書き換える。
このようなコンピュータ1によれば、通信データ取得手段1cにより、複数の計算ノード2a,2b,2cを用いて複数のプロセスを実行させたときに、計算ノード2a,2b,2cによって出力される通信データが取得される。設計評価手段1dにより、取得された通信データを評価対象のネットワークで伝送する場合の通信のシミュレーションが行われ、得られたシミュレーション結果に基づいて評価情報が更新される。通信データ転送手段1eにより、取得された通信データが、宛先の計算ノードに対して転送される。
これにより、シミュレーションの準備の作業負担が大きく軽減されると共に、シミュレーションに要する時間が短縮される。また、実際に発生した通信のタイミングに応じた正確な評価結果を得ることができる。更に、通信ログなどの中間データを用いずにリアルタイムにシミュレーションを行えるため、膨大なデータを保持する必要がない。
以下、本実施の形態を図面を参照して詳細に説明する。
[第1の実施の形態]
図2は、第1の実施の形態のシステム構成を示す図である。図2に示すシミュレーションシステムは、シミュレーションサーバ100、8台の計算ノード200,200a,・・・,200gおよびネットワーク20で構成される。シミュレーションサーバ100および計算ノード200,200a,・・・,200gは、ネットワーク20を介して相互に通信が可能である。
シミュレーションサーバ100は、並列計算機のネットワーク性能を評価するためのシミュレーションを行うサーバコンピュータである。シミュレーションサーバ100は、計算ノード200,200a,・・・,200gが送信したメッセージを受信する。シミュレーションサーバ100は、受信したメッセージに基づいて通信のシミュレーションをリアルタイムに行う。そして、シミュレーションサーバ100は、メッセージに含まれている本来の宛先ノードの宛先ノード番号に従って、受信したメッセージを転送する。
計算ノード200,200a,・・・,200gは、それぞれプロセスを実行するコンピュータである。計算ノード200,200a,・・・,200gには、処理内容を定義した並列プログラムが予め配置されている。計算ノード200,200a,・・・,200gは、処理の開始が指示されると、並列プログラムに基づいてプロセスを生成し実行する。
ここで、計算ノード200,200a,・・・,200gには、それぞれ一意なノード番号が予め付与されている。個々のプロセスは、他のプロセスと通信を行う場合、宛先ノード番号を指定して通信データを出力する。すると、計算ノード200,200a,・・・,200gは、プロセスによって出力された通信データに宛先ノード番号を付加し、メッセージとしてシミュレーションサーバ100に送信する。
また、計算ノード200,200a,・・・,200gは、シミュレーションサーバ100が転送したメッセージを受信すると、メッセージに含まれる通信データをプロセスに渡す。これにより、プロセス間で通信データの受け渡しが行われ並列処理が進められる。
次に、シミュレーションサーバ100および計算ノード200,200a,・・・,200gのハードウェア構成について説明する。
図3は、シミュレーションサーバのハードウェア構成を示す図である。シミュレーションサーバ100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101には、バス107を介してRAM(Random Access Memory)102、ハードディスクドライブ(HDD:Hard Disk Drive)103、グラフィック処理装置104、入力インタフェース105および通信インタフェース106が接続されている。
RAM102には、CPU101に実行させるOS(Operating System)プログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に必要な各種データの少なくとも一部が一時的に格納される。HDD103には、OSプログラムやアプリケーションプログラムが格納される。また、HDD103には、CPU101による処理に必要な各種データが格納される。
グラフィック処理装置104には、モニタ11が接続されている。グラフィック処理装置104は、CPU101からの命令に従って、画像をモニタ11の画面に表示させる。入力インタフェース105には、キーボード12とマウス13とが接続されている。入力インタフェース105は、キーボード12やマウス13から送られてくる信号を、バス107を介してCPU101に送信する。通信インタフェース106は、ネットワーク20に接続されている。
計算ノード200,200a,・・・,200gも、シミュレーションサーバ100と同様のハードウェア構成によって実現できる。以上のようなハードウェア構成によって、本実施の形態の処理機能を実現することができる。
次に、シミュレーションサーバ100および計算ノード200,200a,・・・,200gのモジュール構成について説明する。
図4は、シミュレーションサーバの機能を示すブロック図である。シミュレーションサーバ100は、物理設計情報記憶部110、機能設計情報記憶部120、評価情報記憶部130、MPI通信部140、MPI命令変換部150、シミュレーション部160および評価結果表示部170を有する。MPI通信部140は、ネットワーク20を介して計算ノード200,200a,・・・,200gと通信を行うことができる。評価結果表示部170は、モニタ11に各種情報を表示することができる。
物理設計情報記憶部110には、性能評価の対象とするネットワークの設計情報のうち、物理的要素に関する設計情報が格納される。具体的には、ネットワークのトポロジーを示す情報、ネットワークを構成する各リンクの通信帯域および遅延時間を示す情報、送信待ちのメッセージを一時的に格納しておく通信バッファの記憶容量および管理方法を示す情報などが格納される。これら設計情報は、利用者がシミュレーション前に作成し、物理設計情報記憶部110に格納しておく。
機能設計情報記憶部120には、性能評価の対象とするネットワークの設計情報のうち、機能的要素に関する設計情報が格納される。具体的には、通信経路を決定するためのルーティングアルゴリズムを示す情報、メッセージの送受信に用いられる通信プロトコルを示す情報などが格納される。このような機能は、実際の並列計算機では通常、ソフトウェア単独またはソフトウェアとハードウェアの組み合わせによって実現されるものである。これら設計情報は、利用者がシミュレーション前に作成し、機能設計情報記憶部120に格納しておく。
評価情報記憶部130は、物理設計情報記憶部110および機能設計情報記憶部120に格納された設計情報で定義されるネットワークの性能評価の結果を示す評価情報が格納される。具体的には、各リンクの稼働率および平均遅延時間を示す情報、各通信バッファの平均長および最大長を示す情報などが格納される。また、評価情報記憶部130には、計算ノード200,200a,・・・,200gの負荷状態を示す情報も格納される。
評価情報記憶部130に格納された評価情報は、シミュレーションの進行に伴ってシミュレーション部160によって順次更新される。シミュレーションが終了した時点の評価情報が、最終的な性能評価の結果を示す。
MPI通信部140は、MPI(Message Passing Interface)の仕様に従って、計算ノード200,200a,・・・,200gとの間でメッセージを送受信する。MPIとは、メッセージを送受信する際にプログラムから呼び出すことが可能な関数を定義した規格である。例えば、1つの計算ノードに対してメッセージを送信するための関数や、複数の計算ノードに対して同時にメッセージを送信するための関数などが定義されている。MPIの仕様は、標準化団体のMPIフォーラムによって管理されている。
ここで、計算ノード200,200a,・・・,200gとの間で送受信するメッセージには、プロセスが出力する通信データに加えて、追加情報とMPIヘッダとが含まれている。追加情報およびMPIヘッダについては、後で詳細に説明する。
MPI通信部140は、計算ノード200,200a,・・・,200gからメッセージを受信すると、メッセージからMPIヘッダを分離して、MPI命令変換部150に渡す。また、MPI通信部140は、MPI命令変換部150から、追加情報と通信データとからなるデータを受け取ると、MPIヘッダを付加して、宛先となる計算ノードに対して送信する。このようなMPI通信部140の機能は、一般的に入手可能なMPIライブラリを実行することで実現できる。
MPI命令変換部150は、MPI通信部140とシミュレーション部160との間でデータの中継を行う。具体的には、MPI命令変換部150は、MPI通信部140からMPIヘッダが分離された後のメッセージを受け取ると、更に追加情報を分離し、シミュレーション部160に渡す。また、MPI命令変換部150は、シミュレーション部160から通信データを受け取ると、追加情報を付加して、MPI通信部140に渡す。
シミュレーション部160は、利用者の操作入力によってシミュレーションの開始が指示されると、MPI命令変換部150から受け取るデータに基づいて、通信のシミュレーションを行う。シミュレーション部160は、利用者の操作入力によってシミュレーションの終了が指示されると、シミュレーションを停止する。シミュレーション部160は、仮想通信特定部161および仮想負荷計算部162を有する。
仮想通信特定部161は、物理設計情報記憶部110および機能設計情報記憶部120に格納された設計情報に基づいて、MPI命令変換部150から受け取った通信データを伝送する、仮想的な通信内容を特定する。例えば、仮想通信特定部161は、仮想的な通信の発生タイミングと通信経路とを特定する。
仮想負荷計算部162は、仮想通信特定部161が特定した仮想的な通信内容と、物理設計情報記憶部110および機能設計情報記憶部120に格納された設計情報とに基づいて、各リンクの負荷状態をリアルタイムに計算する。例えば、仮想負荷計算部162は、各時点における各リンクでの通信状況を特定し、リンクの稼働率や衝突の発生によって送信待ちとなっている通信データの量を計算する。
そして、仮想負荷計算部162は、計算結果に基づいて、評価情報記憶部130に格納された評価情報を順次更新する。なお、通信バッファの平均長や各リンクの稼働率など平均値を示す指標については、全シミュレーション時間の平均値を評価情報記憶部130に格納してもよいし、時系列変化を把握できるように所定の期間毎の平均値を評価情報記憶部130に格納してもよい。
また、仮想負荷計算部162は、仮想通信特定部161によって特定された通信の発生タイミングに基づいて、計算ノード200,200,200a,・・・,200gの負荷状態を推計する。そして、仮想負荷計算部162は、推計結果をネットワーク性能の評価結果と併せて、評価情報記憶部130に格納する。
評価結果表示部170は、シミュレーションが終了すると、評価情報記憶部130から評価情報を取得する。そして、評価結果表示部170は、グラフなどの可視化データを生成し、モニタ11に表示する。
図5は、第1の実施の形態の計算ノードの機能を示すブロック図である。計算ノード200は、プログラム記憶部210、MPI通信部220、MPI命令変換部230およびプログラム実行部240を有する。MPI通信部220は、ネットワーク20を介してシミュレーションサーバ100および他の計算ノード200a,・・・,200gと通信を行うことができる。
プログラム記憶部210には、並列処理の処理内容を定義した並列プログラムが格納される。並列プログラムは、利用者によって予め作成されて、プログラム記憶部210に格納される。
MPI通信部220は、MPIの仕様に従って、シミュレーションサーバ100との間でメッセージを送受信する。具体的には、MPI通信部220は、シミュレーションサーバ100からメッセージを受信すると、メッセージからMPIヘッダを分離して、MPI命令変換部230に渡す。また、MPI通信部220は、MPI命令変換部230から追加情報と通信データとからなるデータを受け取ると、MPIヘッダを付加して、シミュレーションサーバ100に対して送信する。このようなMPI通信部220の機能は、一般的に入手可能なMPIライブラリを実行することで実現できる。
MPI命令変換部230は、MPI通信部220とプログラム実行部240との間でデータの中継を行う。具体的には、MPI命令変換部230は、MPI通信部220からMPIヘッダが分離された後のメッセージを受け取ると、更に追加情報を分離し、プログラム実行部240に渡す。また、MPI命令変換部230は、プログラム実行部240から通信データを受け取ると、追加情報を付加して、MPI通信部220に渡す。
プログラム実行部240は、処理の開始の指示があると、プログラム記憶部210から並列プログラムを取得する。そして、プログラム実行部240は、取得した並列プログラムに基づいてプロセスを実行する。プログラム実行部240は、プロセスの実行中に通信データが出力されると、通信データをMPI命令変換部230に渡す。また、MPI命令変換部230から通信データを受け取ると、受け取った通信データを処理に利用する。プログラム実行部240は、処理の終了の指示があると、処理を停止する。
計算ノード200a,・・・,200gも、計算ノード200と同様のモジュール構成によって実現できる。
次に、シミュレーションサーバ100で用いられる設計情報の例について説明する。
図6は、ネットワークのトポロジーの例を示す模式図である。図6に示すトポロジーは、1辺の長さが4の2次元メッシュネットワークのトポロジー例である。1辺の長さが4の2次元メッシュネットワークは、16個のノードと24個のリンクで構成される。それぞれのノードには、0から15までの一意なノード番号が付与されている。
ノード番号0,2,5,7,8,10,13,15のノードは、それぞれ計算ノード200,200a,・・・,200gに対応する。ノード番号1,3,4,6,9,11,12,14のノードは、ルータに相当する。計算ノード200から計算ノード200aへ最短経路で通信を行う場合、ノード番号1に相当するルータを経由することになる。このようにして、演算を行わないノードは仮想的に定義されるため、シミュレーションを行うために実際のルータを用意する必要はない。
このようなネットワークのトポロジーは、物理設計情報記憶部110に格納される設計情報によって定義される。
図7は、リンク情報テーブルのデータ構造例を示す図である。図7に示すリンク情報テーブル111は、物理設計情報記憶部110に格納されている。リンク情報テーブル111に格納されるリンク情報は、図6に示した2次元メッシュ型ネットワークのトポロジーと各リンクの通信能力とを定義した設計情報である。
リンク情報テーブル111には、出力ノードを示す項目、出力ポートを示す項目、入力ノードを示す項目、入力ポートを示す項目、バンド幅を示す項目、遅延時間を示す項目および備考の項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
出力ノードを示す項目には、リンクの起点となるノードのノード番号が設定される。出力ポートを示す項目には、起点となるノードから見たときのリンクの方向を示すポート番号が設定される。具体的には、図6においてX軸の正方向のポート番号は0、Y軸の正方向のポート番号は1、X軸の負方向のポート番号は2、Y軸の負方向のポート番号は3である。
入力ノードを示す項目には、リンクの終点となるノードのノード番号が設定される。入力ポートを示す項目には、終点となるノードから見たときのリンクの方向を示すポート番号が設定される。ポート番号の意味は、出力ポートのポート番号と同じである。
バンド幅を示す項目には、リンクの通信帯域を示す数値が設定される。バンド幅の単位はMbps(Mega bit per second)である。遅延時間を示す項目には、起点となるノードから終点となるノードへ信号を伝送するために要する時間を示す数値が設定される。遅延時間の単位はns(nano second)である。備考を示す項目には、バンド幅および遅延時間以外の物理的な通信条件が設定される。例えば、シミュレーション開始後にリンクが故障する場合、故障時間が設定される。
リンク情報テーブル111には、使用可能なすべてのリンクについての情報が格納される。一部のリンクを使用不可とする場合は、リンク情報テーブル111からそのリンクの情報を削除すればよい。また、リンクの情報は片方向ずつ設定できる。従って、片方向通信しか行えないリンクを定義することもできる。
リンク情報テーブル111に格納される情報は、予め利用者によって定義される。例えば、出力ノードが“1”、出力ポートが“1”、入力ノードが“5”、入力ポートが“3”、バンド幅が“100”、遅延時間が“10”、備考が“fail@1500”という情報が格納される。これは、ノード番号が1のルータからノード番号が5の計算ノードへのリンクは、通信帯域が100Mbps、遅延時間が10nsであり、シミュレーション開始から1500秒後に故障が発生することを示している。
図8は、経路決定処理の例を示すフローチャートである。図8に示す経路決定方法は、図6に示した2次元メッシュ型ネットワークに適用可能なルーティングアルゴリズムの例である。このルーティングアルゴリズムを実現するプログラムが、予め利用者によって作成され、機能設計情報記憶部120に格納されている。以下、仮想通信特定部161がルーティングアルゴリズムに従って通信経路を特定する処理を、図8のステップ番号に沿って説明する。
[ステップS121]仮想通信特定部161は、2次元メッシュ型ネットワークの1辺の長さL、現在のノード番号C、宛先ノード番号Tを設定する。現在のノード番号Cは、初期値として送信元ノード番号を設定する。
[ステップS122]仮想通信特定部161は、現在のノードのY座標が宛先ノードのY座標よりも大きいか否か判断する。すなわち、現在のノード番号Cを1辺の長さLで割った値(小数点以下は切り捨てる。以下同じ。)が、宛先ノード番号Tを1辺の長さLで割った値より大きいという条件を満たすか否か判断する。条件を満たす場合には、処理がステップS123に進められる。条件を満たさない場合には、処理がステップS124に進められる。
[ステップS123]仮想通信特定部161は、現在のノードをY軸の負方向に1つ移動させる。すなわち、現在のノード番号Cを1辺の長さLだけ減じる。その後、処理がステップS122に進められる。
[ステップS124]仮想通信特定部161は、現在のノードのY座標が宛先ノードのY座標よりも小さいか否か判断する。すなわち、現在のノード番号Cを1辺の長さLで割った値が、宛先ノード番号Tを1辺の長さLで割った値より小さいという条件を満たすか否か判断する。条件を満たす場合には、処理がステップS125に進められる。条件を満たさない場合、すなわち、現在のノードのY座標と宛先ノードのY座標とが同一である場合、処理がステップS126に進められる。
[ステップS125]仮想通信特定部161は、現在のノードをY軸の正方向に1つ移動させる。すなわち、現在のノード番号Cに1辺の長さLを加える。その後、処理がステップS124に進められる。
[ステップS126]仮想通信特定部161は、現在のノードのX座標が宛先ノードのX座標よりも大きいか否か判断する。すなわち、現在のノード番号Cが、宛先ノード番号Tより大きいという条件を満たすか否か判断する。条件を満たす場合には、処理がステップS127に進められる。条件を満たさない場合には、処理がステップS128に進められる。
[ステップS127]仮想通信特定部161は、現在のノードをX軸の負方向に1つ移動させる。すなわち、現在のノード番号Cを1だけ減じる。その後、処理がステップS126に進められる。
[ステップS128]仮想通信特定部161は、現在のノードのX座標が宛先ノードのX座標よりも小さいか否か判断する。すなわち、現在のノード番号Cが、宛先ノード番号Tより小さいという条件を満たすか否か判断する。条件を満たす場合には、処理がステップS129に進められる。条件を満たさない場合、すなわち、現在のノードと宛先ノードが同一である場合には、処理が終了する。
[ステップS129]仮想通信特定部161は、現在のノードをX軸の正方向に1つ移動させる。すなわち、現在のノード番号Cに1を加える。その後、処理がステップS128に進められる。
このようにして、仮想通信特定部161は、まず現在のノードのY座標と宛先ノードのY座標とが一致するように現在のノードを移動させる。その後、現在のノードのX座標と宛先ノードのX座標とが一致するように現在のノードを移動させる。現在のノードが辿った経路が通信経路となる。
次に、以上のような構成およびデータ構造を備えるシミュレーションシステムにおいて実行される処理の詳細について説明する。以下、計算ノード200がメッセージを出力する処理、シミュレーションサーバ100がメッセージを受信してからメッセージを転送するまでの処理、計算ノード200がメッセージを受け付ける処理の順に説明する。
図9は、メッセージ出力処理の手順を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
[ステップS11]プログラム実行部240は、プロセスの実行中に他のプロセスとの間で通信を行う必要が生じると、通信データと宛先ノード番号とをMPI命令変換部230に渡す。なお、この処理は、MPIライブラリが提供するMPI関数の呼び出しとして実現できる。
[ステップS12]MPI命令変換部230は、前回MPI関数が呼び出された時刻からの経過時間を計測し、計測した経過時間に所定の係数を掛けた値を演算時間とする。すなわち、演算時間には通信に要する時間が含まれない。ここで、所定の係数は、実時間をシミュレーションのための仮想時間に変換する係数である。実時間に代えて仮想時間を用いるのは、計算ノード間の演算能力の違いを吸収すると共に、演算時間とシミュレーションによって計算される通信時間との間の整合性をとるためである。所定の係数は、計算ノード毎に予め設定される。
[ステップS13]MPI命令変換部230は、通信データに追加情報を付加する。追加情報には、プログラム実行部240から受け取った宛先ノード番号とステップS12で計算した演算時間とが含まれる。そして、MPI命令変換部230は、追加情報と通信データとからなるデータを、MPI通信部220に渡す。
[ステップS14]MPI通信部220は、MPI命令変換部230から受け取ったデータに、更にMPIヘッダを付加する。MPIヘッダには、宛先ノード番号としてのシミュレーションサーバ100のアドレスと、送信元ノード番号としての計算ノード200のノード番号とが含まれる。
[ステップS15]MPI通信部220は、ステップS14で作成された、MPIヘッダ、追加情報、通信データからなるデータを、メッセージとしてネットワーク20に出力する。
このようにして、計算ノード200は、実行中のプロセスによって通信データが生成されると、通信データに追加情報とMPIヘッダとを付加して、シミュレーションサーバ100にメッセージを送信する。これにより、メッセージがシミュレーションサーバ100に届けられる。
図10は、出力時のメッセージのデータ構造例を示す図である。図10に示すメッセージは、図9に示したメッセージ出力処理によって計算ノード200から出力されるメッセージである。メッセージの先頭にはMPIヘッダが配置される。MPIヘッダの次に追加情報が配置される。そして、メッセージの末尾に通信データが配置される。
MPIヘッダには、メッセージの直接の宛先であるシミュレーションサーバ100のアドレスと、送信元ノードである計算ノード200のノード番号とが含まれる。MPIヘッダは、ネットワーク20を介してメッセージをシミュレーションサーバ100に届けるために必要となる情報である。追加情報には、本来の宛先ノードのノード番号と、計算ノード200が前回の通信から要した演算時間(仮想時間)とが含まれる。
なお、計算ノード200がメッセージを出力する処理について説明したが、他の計算ノード200a,・・・,200gがメッセージを出力する処理についても同様である。
図11は、メッセージ中継処理の手順を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
[ステップS21]MPI通信部140は、計算ノード200,200a,・・・,200gが出力したメッセージを受信する。
[ステップS22]MPI通信部140は、ステップS21で受信したメッセージからMPIヘッダを分離する。そして、MPI通信部140は、追加情報と通信データとからなるデータと、MPIヘッダに含まれていた送信元ノード番号とを、MPI命令変換部150に渡す。
[ステップS23]MPI命令変換部150は、MPI通信部140から受け取ったデータから更に追加情報を分離する。そして、MPI命令変換部150は、通信データ、追加情報に含まれていた宛先ノード番号と演算時間、MPI通信部140から受け取った送信元ノード番号を、シミュレーション部160に渡す。
[ステップS24]シミュレーション部160は、MPI命令変換部150から受け取ったデータを仮想通信特定部161に渡す。仮想通信特定部161は、物理設計情報記憶部110および機能設計情報記憶部120に格納された設計情報を参照して、仮想的な通信内容を特定する。具体的には、仮想通信特定部161は、それまでの演算時間および通信時間の累積と、新たに受け取った演算時間とに基づいて、通信が発生したタイミングを特定する。また、仮想通信特定部161は、送信元ノード番号と宛先ノード番号とに基づいて通信経路を特定する。
[ステップS25]仮想負荷計算部162は、ステップS24で仮想通信特定部161が特定した仮想的な通信内容に基づいて、各タイミングにおける各リンクの仮想的な負荷状態を計算する。例えば、仮想負荷計算部162は、リンクの通信状況や衝突の発生によって送信待ちとなっている通信データの量などを計算する。また、仮想負荷計算部162は、仮想通信特定部161が特定した仮想的な通信内容に対応する通信時間を計算する。
[ステップS26]仮想負荷計算部162は、ステップS25で計算した仮想的な負荷状態に応じて、評価情報記憶部130に格納された評価情報を更新する。例えば、仮想負荷計算部162は、各リンクの稼働率や各通信バッファの平均長などを更新する。その後、仮想負荷計算部162は、ステップS25で計算した通信時間をシミュレーション部160に渡す。シミュレーション部160は、演算時間と通信時間の合計、通信データ、宛先ノード番号、送信元ノード番号を、MPI命令変換部150に渡す。
[ステップS27]MPI命令変換部150は、通信データに追加情報を付加する。追加情報には、シミュレーション部160から受け取った演算時間と通信時間の合計と送信元ノード番号とが含まれる。そして、MPI命令変換部150は、追加情報と通信データとからなるデータを、MPI通信部140に渡す。
[ステップS28]MPI通信部140は、MPI命令変換部150から受け取ったデータに、更にMPIヘッダを付加する。MPIヘッダには、シミュレーション部160から受け取った宛先ノード番号と、送信元ノード番号としてのシミュレーションサーバ100のアドレスとが含まれる。
[ステップS29]MPI通信部140は、ステップS28で作成された、MPIヘッダ、追加情報、通信データからなるデータを、メッセージとしてネットワーク20に出力する。
このようにして、シミュレーションサーバ100は、計算ノード200,200a,・・・,200gからメッセージを受信すると、送信元ノード番号、本来の宛先ノードのノード番号、仮想的な演算時間、通信データを用いて、通信のシミュレーションを行う。そして、シミュレーションサーバ100は、通信データに追加情報とMPIヘッダとを付加して、本来の宛先ノードに対して送信する。これにより、メッセージが本来の宛先ノードに届けられる。
図12は、中継時のメッセージのデータ構造例を示す図である。図12に示すメッセージは、図11に示したメッセージ中継処理によってシミュレーションサーバ100から出力されるメッセージである。メッセージの先頭にはMPIヘッダが配置される。MPIヘッダの次に追加情報が配置される。そして、メッセージの末尾に通信データが配置される。
MPIヘッダには、宛先ノードのノード番号と、送信元ノードであるシミュレーションサーバ100のノード番号とが含まれる。MPIヘッダは、ネットワーク20を介してメッセージを宛先ノードに届けるために必要となる情報である。追加情報には、本来の送信元ノードのノード番号と、送信元ノードが要した演算時間(仮想時間)とシミュレーションによって計算された通信時間(仮想時間)の合計時間とが含まれる。
図13は、メッセージ受付処理の手順を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
[ステップS31]MPI通信部220は、シミュレーションサーバ100が出力したメッセージを受信する。
[ステップS32]MPI通信部220は、ステップS31で受信したメッセージからMPIヘッダを分離する。そして、MPI通信部220は、追加情報と通信データとからなるデータをMPI命令変換部230に渡す。
[ステップS33]MPI命令変換部230は、MPI通信部220から受け取ったデータから更に追加情報を分離する。そして、MPI命令変換部230は、通信データをプログラム実行部240に渡す。
[ステップS34]プログラム実行部240は、MPI命令変換部230から通信データを受け取ると、実行中のプロセスへその旨を通知する。以降、プロセスは通信データを利用することができる。
このようにして、計算ノード200は、シミュレーションサーバ100からメッセージを受信すると、メッセージに含まれる通信データを抽出し実行中のプロセスに通知する。ここで、メッセージのMPIヘッダおよび追加情報に含まれる情報もRAMなどに格納しておくことで、実行中のプロセスがこれらの利用することも可能である。また、シミュレーションの終了後に計算ノード200の管理者が利用することも可能である。なお、計算ノード200がメッセージを受け付ける処理について説明したが、他の計算ノード200a,・・・,200gがメッセージを受け付ける処理についても同様である。
ここで、プロセスからは、シミュレーションサーバ100を経由せずに、他のプロセスと直接通信データを送受信しているように見える。従って、計算ノード200,200a,・・・,200gには、実際に並列計算機で使用する並列プログラムを配置することができ、シミュレーションのために用意したプログラムを配置する必要はない。
次に、シミュレーションによって得られる評価結果の例および得られた評価結果の表示例について説明する。
図14は、評価情報テーブルのデータ構造例を示す図である。図14に示す評価情報テーブル131は、シミュレーションサーバ100の評価情報記憶部130に格納されている。評価情報テーブル131に格納された評価情報は、図6に示した2次元メッシュ型ネットワークの評価結果である。
評価情報テーブル131には、ノードを示す項目、演算時間を示す項目、ポート番号を示す項目、バッファ最大長を示す項目、バッファ平均長を示す項目、稼働率を示す項目および平均遅延を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられている。
ノードを示す項目には、リンクの起点となるノードのノード番号が設定される。演算時間を示す項目には、起点となるノードの累積の演算時間が設定される。演算時間の単位は秒である。この演算時間は、前述の仮想的な時間である。なお、ルータに相当するノードの場合、演算時間を示す項目は空欄となる。ポート番号を示す項目には、起点となるノードから見たときのリンクの方向を示すポート番号が設定される。
バッファ最大長を示す項目には、通信バッファに格納された通信データの量の最大値、すなわち、リンクの手前で送信待ち状態になっている通信データの量の最大値が設定される。バッファ平均長を示す項目には、通信バッファに格納された通信データの量の全シミュレーション時間を通した平均値が設定される。バッファ最大長およびバッファ平均長の単位はバイトである。
稼働率を示す項目には、全シミュレーション時間に対するリンクが使用されていた時間の割合が設定される。平均遅延を示す項目には、リンクの起点となるノードから終点となるノードへ信号を伝送する際の遅延時間の平均値が設定される。平均遅延の単位はns(nano second)である。
評価情報テーブル131に格納される評価情報は、シミュレーションサーバ100の仮想負荷計算部162によって適宜更新される。例えば、ノードが“0”、演算時間が“100”、ポート番号が“0”、バッファ最大長が“8”、バッファ平均長が“2”、稼働率が“21%”、平均遅延が“10”という情報が格納される。これは、ノード番号が0の計算ノードからノード番号が1のルータへのリンクは、稼働率が21%、平均の遅延時間が10nsであり、リンクの手前で最大8バイト、平均2バイトの通信データが滞留したことを示している。
図15は、評価結果の表示画面例を示す図である。図15に示す表示画面30は、シミュレーションサーバ100の評価結果表示部170によってモニタ11に表示される画面である。表示画面30は、統計値表示領域31およびグラフ表示領域32を有する。
統計値表示領域31には、評価結果としての各種統計値がテーブル化されて表示される。統計値表示領域31では、統計値の種類毎にタブが設けられており、利用者がタブを1つ選択すると、選択されたタブに対応する種類の統計値が表示される。
グラフ表示領域32には、各計算ノードの演算時間、通信時間および待ち時間の比率を示す棒グラフが表示される。累積の通信時間は、各リンクの稼働率などに基づいて計算することができる。待ち時間は、通信データを出力した後、他の計算ノードから通信データを受け取るまでに待つ時間である。累積の待ち時間は、全シミュレーション時間から累積の演算時間と累積の通信時間とを除くことで計算することができる。
このようなシミュレーションシステムを用いることにより、並列計算機の計算ノードは実際の計算機および並列プログラムによって実現し、ネットワークのみをシミュレーションサーバによって仮想的に実現することができる。このため、並列計算機のすべての構成要素をシミュレーションプログラムで実現する場合と比べて、シミュレーションの準備の作業負担が大きく軽減される。
また、シミュレーションに要する時間が大きく短縮される。また、実際に発生した通信のタイミングに応じた正確な評価結果を得ることができる。更に、通信ログなどの中間データを用いずにリアルタイムにシミュレーションを行えるため、膨大なデータを保持する必要がない。
従って、複数種類のネットワークの性能評価を行う場合でも、迅速かつ容易に各ネットワークの評価結果を得ることができ、並列計算機のネットワークの設計が容易となる。
[第2の実施の形態]
次に、第2の実施の形態について説明する。前述の第1の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。
図16は、第2の実施の形態のシステム構成を示す図である。図16に示すシミュレーションシステムは、シミュレーションサーバ100a,100b、8台の計算ノード200,200a,・・・,200gおよびネットワーク20で構成される。シミュレーションサーバ100a,100bおよび計算ノード200,200a,・・・,200gは、ネットワーク20を介して相互に通信が可能である。
シミュレーションサーバ100a,100bは、第1の実施の形態のシミュレーションサーバ100と同様、並列計算機のネットワーク性能を評価するためのシミュレーションを行うサーバコンピュータである。ただし、第2の実施の形態では、2台のシミュレーションサーバ100a,100bが分散してシミュレーションを行う。
すなわち、8台の計算ノード200,200a,・・・,200gが出力するメッセージを、2台のシミュレーションサーバ100a,100bで分担して受信する。例えば、計算ノード200,200a,・・・,200gのうち特定の4台が出力するメッセージをシミュレーションサーバ100aが受信し、他の4台が出力するメッセージをシミュレーションサーバ100bが受信するようにする。
ここで、シミュレーションサーバ100a,100bが行うシミュレーションの手順は、第1の実施の形態のシミュレーションサーバ100と基本的に同じである。ただし、2台のシミュレーションサーバ100a,100bの間で通信を行い、シミュレーションの内容を適宜同期させる必要がある。特に、処理対象とすべき通信内容を処理せずにシミュレーションを進めてしまうことによる矛盾を防止するために、シミュレーションでの仮想的な経過時間を同期させる必要がある。
このようにシミュレーションプログラム間で同期を行いながら分散して行うシミュレーションは、分散シミュレーションと呼ばれる。分散シミュレーションの技術の例として、並列離散イベント駆動型シミュレーション(PDES:Parallel Discrete Event Simulation)が知られている。PDESなどの同期方法を用いることで、2台のシミュレーションサーバ100a,100bによる分散シミュレーションを実現できる。
このようなシミュレーションシステムを用いることにより、第1の実施の形態と同様の効果を得ることができる。更に、第2の実施の形態のシミュレーションシステムを用いることにより、シミュレーションの負荷を分散させることができる。従って、計算ノード数が大きい大規模な並列計算機のシミュレーションも迅速に行うことができる。
なお、第2の実施の形態では、2台のシミュレーションサーバを用いることとしたが、3台以上のシミュレーションサーバを用いるようにしてもよい。
[第3の実施の形態]
次に、第3の実施の形態について説明する。前述の第1の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。
図17は、第3の実施の形態のシステム構成を示す図である。図17に示すシミュレーションシステムは、シミュレーションサーバ100、4台の計算ノード300,300a,・・・,300cおよびネットワーク20で構成される。シミュレーションサーバ100および計算ノード300,300a,・・・,300cは、ネットワーク20を介して相互に通信が可能である。
計算ノード300,300a,・・・,300cは、第1の実施の形態の計算ノード200,200a,・・・,200gと同様、プロセスを実行するコンピュータである。ただし、第3の実施の形態では、各計算ノードが2つのプロセスを時分割で実行する。
図18は、第3の実施の形態の計算ノードの機能を示すブロック図である。計算ノード300は、プログラム記憶部310、MPI通信部320、MPI命令変換部330および実行制御部340を有する。
実行制御部340は、プログラム実行部341,342を有する。実行制御部340は、処理の開始の指示があると、プログラム記憶部310から並列プログラムを取得する。そして、実行制御部340は、取得した並列プログラムに基づいてプログラム実行部341,342にそれぞれプロセスを実行させる。2つのプロセスは、1つのCPUによって時分割に実行される。
ここで、プログラム実行部341,342には、それぞれ個別にノード番号が割り当てられている。これは、本来2つの計算ノードで実現すべき機能を1つの計算ノードで実現しているためである。
プログラム記憶部310、MPI通信部320およびMPI命令変換部330の機能は、図5に示した第1の実施の形態のプログラム記憶部210、MPI通信部220およびMPI命令変換部230と基本的に同じである。
ただし、MPI命令変換部330は、メッセージに含まれていた通信データをプログラム実行部341,342のいずれに渡すか、宛先ノード番号に基づいて判断する。また、MPI命令変換部330は、演算時間を計算する際、2つのプロセスが時分割で実行されていることを考慮して、各プロセスの実質的な演算時間を計算する。例えば、MPI命令変換部330は、実際の経過時間の半分に所定の係数を掛けたものを、各プロセスの演算時間とする。
計算ノード300a,・・・,300cも、計算ノード300と同様のモジュール構成によって実現できる。
このようなシミュレーションシステムを用いることにより、第1の実施の形態と同様の効果を得ることができる。更に、第3の実施の形態のシミュレーションシステムを用いることにより、設計上の計算ノード数より少ない数の計算機でシミュレーションを実行することができる。従って、計算ノード数が大きい大規模な並列計算機のシミュレーションの作業負担をより軽減することができる。
なお、第3の実施の形態では、各計算ノードで2つのプロセスを実行することとしたが、3つ以上のプロセスを実行するようにしてもよい。
[第4の実施の形態]
次に、第4の実施の形態について説明する。前述の第1の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。
図19は、第4の実施の形態のシステム構成を示す図である。図19に示すシミュレーションシステムは、8台の計算ノード400,400a,・・・,400gおよびネットワーク20で構成される。計算ノード400,400a,・・・,400gは、ネットワーク20を介して相互に通信が可能である。
計算ノード400,400a,・・・,400gは、それぞれプロセスを実行すると共に、ネットワーク性能を評価するためのシミュレーションを分散して行うコンピュータである。すなわち、第2の実施の形態のシミュレーションサーバの数を計算ノードの数と同じにし、各シミュレーションサーバが備える機能を各計算ノード上で実現するようにしたものである。
図20は、第4の実施の形態の計算ノードの機能を示すブロック図である。計算ノード400は、プログラム記憶部410、物理設計情報記憶部420、機能設計情報記憶部430、評価情報記憶部440、プログラム実行部450、MPI通信部460、MPI命令変換部470およびシミュレーション部480を有する。
MPI命令変換部470は、プログラム実行部450、MPI通信部460およびシミュレーション部480の間でデータの中継を行う。具体的には、MPI命令変換部470は、MPI通信部460からMPIヘッダが分離された後のメッセージを受け取ると、更に追加情報を分離し、プログラム実行部450に渡す。また、MPI命令変換部470は、プログラム実行部450から通信データを受け取ると、シミュレーション部480に渡す。その後、シミュレーション部480から通信データを受け取ると、追加情報を付加して、MPI通信部460に渡す。
プログラム記憶部410およびプログラム実行部450の機能は、図5に示した第1の実施の形態のプログラム記憶部210およびプログラム実行部240と同じである。物理設計情報記憶部420、機能設計情報記憶部430、評価情報記憶部440、MPI通信部460およびシミュレーション部480の機能は、図4に示した第1の実施の形態の物理設計情報記憶部110、機能設計情報記憶部120、評価情報記憶部130、MPI通信部140およびシミュレーション部160と基本的に同じである。
ただし、シミュレーション部480は、ネットワーク20を介して計算ノード400a,・・・,400gとの間で通信を行い、シミュレーションの内容を適宜同期させる。すなわち、前述の第2の実施の形態で説明した通り、PDESなどの同期方法を用いて、シミュレーションでの仮想的な経過時間などを同期させる。
計算ノード400a,・・・,400gも、計算ノード400と同様のモジュール構成によって実現できる。
次に、計算ノード400がメッセージを出力する処理について説明する。
図21は、メッセージ直接送信処理の手順を示すフローチャートである。以下、図21に示す処理をステップ番号に沿って説明する。
[ステップS41]プログラム実行部450は、プロセスの実行中に他のプロセスとの間で通信を行う必要が生じると、通信データと宛先ノード番号とをMPI命令変換部470に渡す。
[ステップS42]MPI命令変換部470は、前回MPI関数が呼び出された時刻からの経過時間を計測し、計測した経過時間に所定の係数を掛けた値を演算時間とする。そして、MPI命令変換部470は、通信データ、宛先ノード番号、演算時間を、シミュレーション部480に渡す。
[ステップS43]シミュレーション部480は、MPI命令変換部470から受け取ったデータを仮想通信特定部481に渡す。仮想通信特定部481は、物理設計情報記憶部110および機能設計情報記憶部120に格納された設計情報を参照して、仮想的な通信内容を特定する。なお、通信内容を特定する際に用いる送信元ノード番号は、計算ノード400に割り当てられたノード番号である。
[ステップS44]仮想負荷計算部482は、ステップS43で仮想通信特定部481が特定した仮想的な通信内容に基づいて、各タイミングにおける各リンクの仮想的な負荷状態を計算する。また、仮想負荷計算部482は、仮想通信特定部481が特定した仮想的な通信内容に対応する通信時間を計算する。
[ステップS45]仮想負荷計算部482は、ステップS44で計算した仮想的な負荷状態に応じて、評価情報記憶部440に格納された評価情報を更新する。その後、仮想負荷計算部482は、ステップS44で計算した通信時間をシミュレーション部480に渡す。シミュレーション部480は、演算時間と通信時間の合計をMPI命令変換部470に渡す。
[ステップS46]MPI命令変換部470は、通信データに追加情報を付加する。追加情報には、シミュレーション部480から受け取った演算時間と通信時間の合計が含まれる。そして、MPI命令変換部470は、追加情報と通信データとからなるデータと、プログラム実行部450から受け取った宛先ノード番号を、MPI通信部460に渡す。
[ステップS47]MPI通信部460は、MPI命令変換部470から受け取ったデータに、更にMPIヘッダを付加する。MPIヘッダには、MPI命令変換部470から受け取った宛先ノード番号と、送信元ノード番号としての計算ノード400のノード番号とが含まれる。
[ステップS48]MPI通信部460は、ステップS47で作成された、MPIヘッダ、追加情報、通信データからなるデータを、メッセージとしてネットワーク20に出力する。
このようにして、計算ノード400は、実行中のプロセスによって通信データが生成されると、まず通信のシミュレーションを行う。その後、通信データに追加情報とMPIヘッダとを付加して、宛先ノードに対してメッセージを送信する。
図22は、直接送信時のメッセージのデータ構造例を示す図である。図22に示すメッセージは、図21に示したメッセージ直接送信処理によって計算ノード400から出力されるメッセージである。メッセージの先頭にはMPIヘッダが配置される。MPIヘッダの次に追加情報が配置される。そして、メッセージの末尾に通信データが配置される。
MPIヘッダには、宛先ノードのノード番号と、送信元ノードである計算ノード400のノード番号とが含まれる。MPIヘッダは、ネットワーク20を介してメッセージを宛先ノードに届けるために必要となる情報である。追加情報には、計算ノード400が前回の通信から要した演算時間(仮想時間)が含まれる。
このようなシミュレーションシステムを用いることにより、第1の実施の形態と同様の効果を得ることができる。更に、第4の実施の形態のシミュレーションシステムを用いることにより、シミュレーションの負荷をより分散させることができ、大規模な並列計算機のシミュレーションも迅速に行うことができる。また、シミュレーションサーバを別個に用意する必要がなくなり、並列計算機に必要な最小限の台数の計算機でシミュレーションを行うことができる。
なお、本実施の形態では、MPIの仕様に基づいてメッセージを送受信することとしたが、他の通信方法を用いてメッセージを送受信するようにしてもよい。
また、本実施の形態では、演算時間に関して、実時間を仮想時間に変換する処理を計算ノード側で行うこととしたが、シミュレーションサーバ側で行うようにしてもよい。この場合、計算ノードからシミュレーションサーバに送られるメッセージには、実時間の演算時間が含まれることになる。
また、本実施の形態では、MPI関数の呼び出し間隔を用いて、計算ノードの演算時間を計算することとしたが、他の方法で演算時間を計算してもよい。例えば、各プロセスへのCPUの割り当て状況を監視して、演算時間を計算するようにしてもよい。
以上、本発明のネットワーク性能評価プログラム、ネットワーク性能評価装置およびネットワーク性能評価方法を図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、本発明に他の任意の構成物や工程が付加されていてもよい。また、本発明は前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、各シミュレーションサーバや各計算ノードが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記録装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープ(MT)などがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc - Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。
以上説明した実施の形態の主な技術的特徴は、以下の付記の通りである。
(付記1) 複数のプロセスを並列に実行する並列計算機のネットワーク性能を評価するコンピュータで実行されるネットワーク性能評価プログラムにおいて、
前記コンピュータを、
複数の計算ノードを用いて前記複数のプロセスを実行させたときに、前記計算ノードによって出力される通信データを取得する通信データ取得手段、
評価対象のネットワークを定義した設計情報を記憶する設計情報記憶手段を参照して、前記通信データ取得手段が取得した前記通信データを前記評価対象のネットワークで伝送する場合の通信のシミュレーションを行い、得られたシミュレーション結果に基づいて、評価情報記憶手段が記憶する前記評価対象のネットワークの評価結果を示す評価情報を更新する設計評価手段、
前記通信データ取得手段が取得した前記通信データを、宛先の計算ノードに対して転送する通信データ転送手段、
として機能させることを特徴とするネットワーク性能評価プログラム。
(付記2) 前記通信データ取得手段が取得する前記通信データには、送信元の計算ノードが前記通信データを出力するまでに要した演算時間の情報が付加されており、
前記設計評価手段は、前記演算時間に基づいて前記通信データが出力されたタイミングを特定し、特定したタイミングに応じた通信のシミュレーションを行う、
ことを特徴とする付記1記載のネットワーク性能評価プログラム。
(付記3) 前記演算時間は、送信元の計算ノードが要した実演算時間であり、
前記設計評価手段は、所定の関数を用いて前記実演算時間を仮想演算時間に変換し、前記仮想演算時間に基づいて前記通信データが出力されたタイミングを特定する、
ことを特徴とする付記2記載のネットワーク性能評価プログラム。
(付記4) 前記評価情報には、前記計算ノードの負荷状態を示す情報が更に含まれており、
前記設計評価手段は、前記演算時間に基づいて個々の前記計算ノードの負荷状態を計算し、得られた計算結果を前記評価情報に反映させる、
ことを特徴とする付記2記載のネットワーク性能評価プログラム。
(付記5) 前記設計情報には、前記評価対象のネットワーク内の故障箇所と故障時刻とを示す故障情報が含まれており、
前記設計評価手段は、前記故障情報が示す前記故障時刻以降は前記故障箇所を迂回するように通信のシミュレーションを行う、
ことを特徴とする付記1記載のネットワーク性能評価プログラム。
(付記6) 前記設計情報には、送信元の計算ノードと宛先の計算ノードとから通信経路を決定する方法を定義した経路決定情報が含まれており、
前記設計評価手段は、通信のシミュレーションの際に前記経路決定情報を用いて通信経路を決定する、
ことを特徴とする付記1記載のネットワーク性能評価プログラム。
(付記7) 複数のプロセスを並列に実行する並列計算機のネットワーク性能を評価するネットワーク性能評価装置において、
複数の計算ノードを用いて前記複数のプロセスを実行させたときに、前記計算ノードによって出力される通信データを取得する通信データ取得手段と、
評価対象のネットワークを定義した設計情報を記憶する設計情報記憶手段を参照して、前記通信データ取得手段が取得した前記通信データを前記評価対象のネットワークで伝送する場合の通信のシミュレーションを行い、得られたシミュレーション結果に基づいて、評価情報記憶手段が記憶する前記評価対象のネットワークの評価結果を示す評価情報を更新する設計評価手段と、
前記通信データ取得手段が取得した前記通信データを、宛先の計算ノードに対して転送する通信データ転送手段と、
を有することを特徴とするネットワーク性能評価装置。
(付記8) 前記通信データ取得手段が取得する前記通信データには、送信元の計算ノードが前記通信データを出力するまでに要した演算時間の情報が付加されており、
前記設計評価手段は、前記演算時間に基づいて前記通信データが出力されたタイミングを特定し、特定したタイミングに応じた通信のシミュレーションを行う、
ことを特徴とする付記7記載のネットワーク性能評価装置。
(付記9) 前記演算時間は、送信元の計算ノードが要した実演算時間であり、
前記設計評価手段は、所定の関数を用いて前記実演算時間を仮想演算時間に変換し、前記仮想演算時間に基づいて前記通信データが出力されたタイミングを特定する、
ことを特徴とする付記8記載のネットワーク性能評価装置。
(付記10) 前記評価情報には、前記計算ノードの負荷状態を示す情報が更に含まれており、
前記設計評価手段は、前記演算時間に基づいて個々の前記計算ノードの負荷状態を計算し、得られた計算結果を前記評価情報に反映させる、
ことを特徴とする付記8記載のネットワーク性能評価装置。
(付記11) 前記設計情報には、前記評価対象のネットワーク内の故障箇所と故障時刻とを示す故障情報が含まれており、
前記設計評価手段は、前記故障情報が示す前記故障時刻以降は前記故障箇所を迂回するように通信のシミュレーションを行う、
ことを特徴とする付記7記載のネットワーク性能評価装置。
(付記12) 前記設計情報には、送信元の計算ノードと宛先の計算ノードとから通信経路を決定する方法を定義した経路決定情報が含まれており、
前記設計評価手段は、通信のシミュレーションの際に前記経路決定情報を用いて通信経路を決定する、
ことを特徴とする付記8記載のネットワーク性能評価装置。
(付記13) 複数のプロセスを並列に実行する並列計算機のネットワーク性能を評価するコンピュータによるネットワーク性能評価方法において、
通信データ取得手段が、複数の計算ノードを用いて前記複数のプロセスを実行させたときに、前記計算ノードによって出力される通信データを取得するステップと、
設計評価手段が、評価対象のネットワークを定義した設計情報を記憶する設計情報記憶手段を参照して、前記通信データ取得手段が取得した前記通信データを前記評価対象のネットワークで伝送する場合の通信のシミュレーションを行い、得られたシミュレーション結果に基づいて、評価情報記憶手段が記憶する前記評価対象のネットワークの評価結果を示す評価情報を更新するステップと、
通信データ転送手段が、前記通信データ取得手段が取得した前記通信データを、宛先の計算ノードに対して転送するステップと、
を有することを特徴とするネットワーク性能評価方法。
(付記14) 前記通信データ取得手段が取得する前記通信データには、送信元の計算ノードが前記通信データを出力するまでに要した演算時間の情報が付加されており、
前記評価情報を更新するステップで、前記設計評価手段が、前記演算時間に基づいて前記通信データが出力されたタイミングを特定し、特定したタイミングに応じた通信のシミュレーションを行う、
ことを特徴とする付記13記載のネットワーク性能評価方法。
(付記15) 前記演算時間は、送信元の計算ノードが要した実演算時間であり、
前記評価情報を更新するステップで、前記設計評価手段が、所定の関数を用いて前記実演算時間を仮想演算時間に変換し、前記仮想演算時間に基づいて前記通信データが出力されたタイミングを特定する、
ことを特徴とする付記14記載のネットワーク性能評価方法。
(付記16) 前記評価情報には、前記計算ノードの負荷状態を示す情報が更に含まれており、
前記評価情報を更新するステップで、前記設計評価手段が、前記演算時間に基づいて個々の前記計算ノードの負荷状態を計算し、得られた計算結果を前記評価情報に反映させる、
ことを特徴とする付記14記載のネットワーク性能評価方法。
(付記17) 前記設計情報には、前記評価対象のネットワーク内の故障箇所と故障時刻とを示す故障情報が含まれており、
前記評価情報を更新するステップで、前記設計評価手段が、前記故障情報が示す前記故障時刻以降は前記故障箇所を迂回するように通信のシミュレーションを行う、
ことを特徴とする付記13記載のネットワーク性能評価方法。
(付記18) 前記設計情報には、送信元の計算ノードと宛先の計算ノードとから通信経路を決定する方法を定義した経路決定情報が含まれており、
前記評価情報を更新するステップで、前記設計評価手段が、通信のシミュレーションを行う際に前記経路決定情報を用いて通信経路を決定する、
ことを特徴とする付記13記載のネットワーク性能評価方法。
本実施の形態の概要を示す図である。 第1の実施の形態のシステム構成を示す図である。 シミュレーションサーバのハードウェア構成を示す図である。 シミュレーションサーバの機能を示すブロック図である。 第1の実施の形態の計算ノードの機能を示すブロック図である。 ネットワークのトポロジーの例を示す模式図である。 リンク情報テーブルのデータ構造例を示す図である。 経路決定処理の例を示すフローチャートである。 メッセージ出力処理の手順を示すフローチャートである。 出力時のメッセージのデータ構造例を示す図である。 メッセージ中継処理の手順を示すフローチャートである。 中継時のメッセージのデータ構造例を示す図である。 メッセージ受付処理の手順を示すフローチャートである。 評価情報テーブルのデータ構造例を示す図である。 評価結果の表示画面例を示す図である。 第2の実施の形態のシステム構成を示す図である。 第3の実施の形態のシステム構成を示す図である。 第3の実施の形態の計算ノードの機能を示すブロック図である。 第4の実施の形態のシステム構成を示す図である。 第4の実施の形態の計算ノードの機能を示すブロック図である。 メッセージ直接送信処理の手順を示すフローチャートである。 直接送信時のメッセージのデータ構造例を示す図である。
符号の説明
1 コンピュータ
1a 設計情報記憶手段
1b 評価情報記憶手段
1c 通信データ取得手段
1d 設計評価手段
1e 通信データ転送手段
2a,2b,2c 計算ノード
3 ネットワーク

Claims (8)

  1. ネットワークを介して接続される複数の計算ノードを用いて複数のプログラムを実行する並列計算機の性能評価に用いられる性能評価プログラムにおいて、
    前記ネットワークを介して前記複数の計算ノードに接続されるコンピュータ
    前記複数の計算ノードを用いて前記複数のプログラムを実行させる場合前記複数の計算ノードのうち一の計算ノードによって宛先が他の計算ノードから前記コンピュータに書き換えられた通信データを、前記一の計算ノードから受信し
    前記コンピュータが有する定義情報記憶部が記憶する評価対象のネットワークを定義したネットワーク定義情報に基づき受信した前記通信データを用いたシミュレーションを行い、
    前記シミュレーション結果に基づいて、前記コンピュータが有する評価情報記憶が記憶する前記評価対象のネットワークの評価結果を示す評価情報を更新
    受信した前記通信データを前記他の計算ノードに転送する、
    処理を実行させることを特徴とする性能評価プログラム。
  2. 記通信データは前記一の計算ノードが前記通信データを出力するまでに要した演算時間を示す演算時間情報を含み
    前記コンピュータに、前記演算時間に基づいて特定される前記通信データが出力されたタイミングに応じて前記シミュレーションを行う、処理を実行させる、
    ことを特徴とする請求項1記載の性能評価プログラム。
  3. 前記コンピュータに、
    定の関数を用いて前記演算時間を前記シミュレーションにおける演算時間に変換し、
    変換された前記シミュレーションにおける演算時間に基づいて前記通信データが出力されたタイミングを特定する、
    処理を実行させることを特徴とする請求項2記載の性能評価プログラム。
  4. 前記評価情報は、前記複数の計算ノードの負荷状態を示す負荷情報を含み
    前記コンピュータに、前記演算時間に基づいて前記一の計算ノードの負荷状態を計算し、負荷状態の計算により得られた計算結果を前記評価情報に反映させる、処理を実行させる、
    ことを特徴とする請求項2記載の性能評価プログラム。
  5. 前記ネットワーク定義情報は、前記評価対象のネットワーク内の故障箇所と故障時刻とを示す故障情報を含み
    前記コンピュータに、前記故障時刻以降は前記故障箇所を迂回するように、前記通信データを用いた前記シミュレーションを行う、処理を実行させる、
    ことを特徴とする請求項1記載の性能評価プログラム。
  6. 前記コンピュータに、
    受信した前記通信データの宛先を前記コンピュータから前記他の計算ノードに書き換え、
    宛先を書き換えた通信データを前記他の計算ノードに転送する、
    処理を実行させることを特徴とする請求項1記載の性能評価プログラム。
  7. ネットワークを介して接続される複数の計算ノードを用いて複数のプログラムを実行する並列計算機の性能評価に用いられ、前記ネットワークを介して前記複数の計算ノードに接続される性能評価装置において、
    前記複数の計算ノードを用いて前記複数のプログラムを実行させる場合、前記複数の計算ノードのうち一の計算ノードによって宛先が他の計算ノードから前記性能評価装置に書き換えられた通信データを、前記一の計算ノードから受信する受信部と、
    評価対象のネットワークを定義したネットワーク定義情報を記憶する定義情報記憶部と、
    前記評価対象のネットワークの評価結果を示す評価情報を記憶する評価情報記憶部と、
    前記定義情報記憶部が記憶する前記ネットワーク定義情報に基づき、受信された前記通信データを用いたシミュレーションを行い、前記シミュレーションの結果に基づいて、前記評価情報記憶部が記憶する前記評価情報を更新する評価部と、
    受信した前記通信データを前記他の計算ノードに転送する転送部と、
    を有することを特徴とする性能評価装置。
  8. ネットワークを介して接続される複数の計算ノードを用いて複数のプログラムを実行する並列計算機の性能評価に用いられる性能評価方法において、
    前記ネットワークを介して前記複数の計算ノードに接続されるコンピュータが、
    前記複数の計算ノードを用いて前記複数のプログラムを実行させる場合、前記複数の計算ノードのうち一の計算ノードによって宛先が他の計算ノードから前記コンピュータに書き換えられた通信データを、前記一の計算ノードから受信し、
    前記コンピュータが有する定義情報記憶部が記憶する評価対象のネットワークを定義したネットワーク定義情報に基づき、受信した前記通信データを用いたシミュレーションを行い、
    前記シミュレーションの結果に基づいて、前記コンピュータが有する評価情報記憶部が記憶する前記評価対象のネットワークの評価結果を示す評価情報を更新し、
    受信した前記通信データを前記他の計算ノードに転送する、
    ことを特徴とする性能評価方法。
JP2007081812A 2007-03-27 2007-03-27 性能評価プログラム、性能評価装置および性能評価方法 Expired - Fee Related JP4983332B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007081812A JP4983332B2 (ja) 2007-03-27 2007-03-27 性能評価プログラム、性能評価装置および性能評価方法
US12/050,439 US8619624B2 (en) 2007-03-27 2008-03-18 Network performance estimating device, network performance estimating method and storage medium having a network performance estimating program stored therein

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007081812A JP4983332B2 (ja) 2007-03-27 2007-03-27 性能評価プログラム、性能評価装置および性能評価方法

Publications (2)

Publication Number Publication Date
JP2008242757A JP2008242757A (ja) 2008-10-09
JP4983332B2 true JP4983332B2 (ja) 2012-07-25

Family

ID=39794123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007081812A Expired - Fee Related JP4983332B2 (ja) 2007-03-27 2007-03-27 性能評価プログラム、性能評価装置および性能評価方法

Country Status (2)

Country Link
US (1) US8619624B2 (ja)
JP (1) JP4983332B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2938993B1 (fr) 2008-11-24 2010-12-24 Centre Nat Etd Spatiales Procede de mesure des performances d'un reseau ip et systeme associe
US20100251259A1 (en) * 2009-03-31 2010-09-30 Howard Kevin D System And Method For Recruitment And Management Of Processors For High Performance Parallel Processing Using Multiple Distributed Networked Heterogeneous Computing Elements
CN109936473B (zh) * 2017-12-19 2022-04-08 北京华耀科技有限公司 基于深度学习预测的分布计算系统及其运行方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3348445B2 (ja) * 1992-08-10 2002-11-20 富士通株式会社 並列計算機のシミュレーション方法およびシミュレータ
US5680326A (en) * 1995-06-22 1997-10-21 Mci Corporation System and method therefor of estimating optimal spare capacity for a distributed restoration scheme
JP3727466B2 (ja) * 1998-03-27 2005-12-14 株式会社日立製作所 ネットワーク評価方法及びその実施装置並びにその処理プログラムを記録した媒体
JP2000105713A (ja) * 1998-09-29 2000-04-11 Hitachi Software Eng Co Ltd ネットワークシステムの性能シミュレーション方法およびシステムおよび記録媒体
JP2001251302A (ja) * 2000-03-06 2001-09-14 Atr Adaptive Communications Res Lab ネットワークの模擬方法及び装置
US7774440B1 (en) * 2001-07-25 2010-08-10 Scalable Network Technologies, Inc. Method and system for enhancing performance of a physical network under real-time control using simulation of a reference model
JP3938487B2 (ja) * 2001-11-12 2007-06-27 株式会社国際電気通信基礎技術研究所 ネットワーク管理装置及びネットワークシステム
KR100609710B1 (ko) * 2004-11-25 2006-08-08 한국전자통신연구원 이상 트래픽 분석을 위한 네트워크 시뮬레이션 장치 및 그방법
US20060198382A1 (en) * 2005-03-07 2006-09-07 Hitachi, Ltd. Communication node, communication network and method for updating database

Also Published As

Publication number Publication date
JP2008242757A (ja) 2008-10-09
US20080239967A1 (en) 2008-10-02
US8619624B2 (en) 2013-12-31

Similar Documents

Publication Publication Date Title
JP2022500775A (ja) 分散型システムのデータ同期方法、装置、コンピュータプログラム、及び電子機器
JP3072711B2 (ja) 複合タスクを実行する方法及びシステム
US20100198955A1 (en) Computer-readable recording medium storing software update command program, software update command method, and information processing device
CN109218349A (zh) 一种管理服务器集群的方法及装置
CN102201907B (zh) 一种分布式仿真同步的实现方法
US11068499B2 (en) Method, device, and system for peer-to-peer data replication and method, device, and system for master node switching
JPWO2010001766A1 (ja) 実行時間推定方法、実行時間推定プログラムおよび実行時間推定装置
JPH0855075A (ja) 対等サブシステム間のデータストリーミング機能を効率的に処理するコンピュータシステム
US8868862B2 (en) Method and apparatus for synchronization in primary-backup replication schemes
WO2009081657A1 (ja) ノードシステム、サーバ切換え方法、サーバ装置、およびデータ引き継ぎ方法
JP4983332B2 (ja) 性能評価プログラム、性能評価装置および性能評価方法
CN109728981A (zh) 一种云平台故障监测方法及装置
CN111625592A (zh) 分布式数据库的负载均衡方法和装置
JP5742841B2 (ja) 集中制御検証装置、集中制御検証プログラム、集中制御検証方法
CN115642980B (zh) 一种分布式仿真同步方法及系统
JP5675703B2 (ja) 通信装置、制御装置及びプログラム
CN109739684A (zh) 基于向量时钟的分布式键值数据库的副本修复方法与装置
US10496592B2 (en) System and method to effectively overlap computation and reduction operation of nonblocking collective communication
US20190356605A1 (en) Information processing apparatus and verification system
US20140115165A1 (en) Resource management system, resource management method, and computer product
US11243600B2 (en) HMC control device and method of CPU side and HMC side for low power mode, and power management method of HMC control device
KR102327027B1 (ko) 인-밴드 네트워크 모니터링 방법 및 인-밴드 네트워크 모니터링에서 지연 예측 방법
JP4579843B2 (ja) 通信装置
JP6586666B2 (ja) 並列処理装置、ノード情報採取方法、およびノード情報採取プログラム
CN109165230A (zh) 一种分布式集群管理软件数据同步的方法、装置及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110815

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110823

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111021

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120327

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120409

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees