(57)【特許請求の範囲】
【請求項１】
複数のプロセッサ間で通信を行い、前記複数のプロセッサでプログラムを実行して所望の計算処理を実行する情報処理装置の通信状態を評価するネットワーク評価装置に、
前記複数のプロセッサが前記プログラムを実行せず、前記計算処理が行われていない状態での前記複数のプロセッサ間のプログラム送受信に要する第１通信処理時間を集計し、
集計された前記第１通信処理時間を記録し、
前記複数のプロセッサが共に前記プログラムを実行し、前記計算処理が行われている状態での前記複数のプロセッサ間のプログラム送受信に要する第２通信処理時間を集計し、
記憶された前記第１通信処理時間と、集計された前記第２通信処理時間とを比較し、前記第１通信処理時間と前記第２通信処理時間との時間差を出力すること、を実行させるためのネットワーク評価プログラム。
【請求項２】
前記第１通信処理時間と前記第２通信処理時間との前記時間差から、前記第１通信処理時間と前記第２通信処理時間との有意差の判定を行うことを前記ネットワーク評価装置に実行させるための請求項１記載のネットワーク評価プログラム。
【請求項３】
前記複数のプロセッサ間の前記通信データ長、前記プロセッサ数及び前記時間差に基づいて、前記プロセッサ間の前記第１通信処理時間に対する数値補間を行うことを前記ネットワーク評価装置に実行させるための請求項１記載のネットワーク評価プログラム。
【請求項４】
前記通信データ長に基づいて前記複数のプロセッサ間の前記第１通信処理時間に対する数値補間を行い、次いで前記プロセッサ数に基づいて前記プロセッサ間の前記第１通信処理時間に対する数値補間を行うことを前記ネットワーク評価装置に実行させるための請求項１記載のネットワーク評価プログラム。
【請求項５】
前記通信データ長から１を減じた結果に対し、所定の整定数で除した商の整数部が同じであるときに、前記通信データ長及び前記プロセッサ数に基づいて前記複数のプロセッサ間の前記第１通信処理時間に対する数値補間を行うことを前記ネットワーク評価装置に実行させるための請求項１記載のネットワーク評価プログラム。
【請求項６】
前記プロセッサ数から１を減じた結果に対し、所定の整定数を底とした対数の整数部が同じ値であるときに、前記通信データ長及び前記プロセッサ数に基づいて前記複数のプロセッサ間の前記第１通信処理時間に対する数値補間を行うことを前記ネットワーク評価装置に実行させるための請求項１記載のネットワーク評価プログラム。
【請求項７】
複数のプロセッサ間で通信を行い、前記複数のプロセッサでプログラムを実行して所望の計算処理を実行する情報処理装置の通信状態を評価するネットワーク評価装置であって、
前記複数のプロセッサが前記プログラムを実行せず、前記計算処理が行われていない状態での前記複数のプロセッサ間のプログラム送受信に要する第１通信処理時間を集計する第１通信処理時間集計部と、
前記第１通信処理時間集計部で集計された前記第１通信処理時間を記録する第１通信処理時間記録部と、
前記複数のプロセッサが共に前記プログラムを実行し、前記計算処理が行われている状態での前記複数のプロセッサ間のプログラム送受信に要する第２通信処理時間を集計する第２通信処理時間集計部と、
前記第１通信処理時間記録部で記憶された前記第１通信処理時間と、前記第２通信処理時間集計部で集計された前記第２通信処理時間とを比較し、前記第１通信処理時間と前記第２通信処理時間との時間差を出力する通信処理時間比較部と、を備えることを特徴とするネットワーク評価装置。
【請求項８】
複数のプロセッサ間で通信を行い、前記複数のプロセッサでプログラムを実行して所望の計算処理を実行する情報処理装置の通信状態を評価するネットワーク評価装置によって実行されるネットワーク評価方法であって、
前記複数のプロセッサが前記プログラムを実行せず、前記計算処理が行われていない状態での前記複数のプロセッサ間のプログラム送受信に要する第１通信処理時間を集計し、
集計された前記第１通信処理時間を記録し、
前記複数のプロセッサが共に前記プログラムを実行し、前記計算処理が行われている状態での前記複数のプロセッサ間のプログラム送受信に要する第２通信処理時間を集計し、
記憶された前記第１通信処理時間と、集計された前記第２通信処理時間とを比較し、前記第１通信処理時間と前記第２通信処理時間との時間差を出力することを含むことを特徴とするネットワーク評価方法。
【発明の詳細な説明】
【技術分野】
【０００１】
開示の技術は、複数のプロセッサ間で通信を行い、複数のプロセッサでプログラムを実行する情報処理装置における、複数のプロセッサ間の通信状態を評価するネットワーク評価装置、ネットワーク評価方法及びネットワーク評価プログラムに関する。
【背景技術】
【０００２】
従来、演算処理装置としての複数のプロセッサ間で通信を行い、複数のプロセッサでプログラムを実行して所望の計算処理を実行する情報処理装置が知られている。複数のプロセッサでプログラムを実行する場合、複数のプロセッサ間では、計算処理を実行するために必要となるデータを通信処理によって交換する処理が行われる。複数のプロセッサ間におけるデータの通信処理には、所定の時間が必要となる。複数のプロセッサ間における通信処理時間のことを通信オーバヘッドという。【０００３】
所望の計算処理を高速化するためには、通信オーバヘッドをできるだけ抑制することが必要となる。しかし、通信オーバヘッドは、複数のプロセッサ間でデータを交換する際に必要となる最小限の処理時間に加え、通信用ネットワークの混雑度合及び各プロセッサの通信開始タイミングに影響される。そのため、通信オーバヘッドがどの程度抑制できるか把握することは困難である。【０００４】
一方、通信用ネットワークの混雑度合の低減、又は各プロセッサの通信開始タイミングを変更するためには、計算処理のアルゴリズムの変更が必要となる場合がある。計算処理のアルゴリズムを変更すると、システムの設定変更を再度行う必要があるため、計算処理の高速化に伴う作業量が増加する。そのため、アルゴリズム変更による計算処理の高速化の効果及び限界を事前に効率良く見積もることが望ましい。【０００５】
しかし、通信オーバヘッドの抑制及びアルゴリズム変更によって得られる計算処理の高速化の度合いは、作業者の経験及びスキルに大きく依存する。それゆえ、単にアルゴリズム変更を実施しても、アルゴリズム変更による計算処理の高速化の効果及び限界を把握することは困難である。又、使用するプロセッサの数を増加させて大規模な計算処理を行う際も同様に、計算処理の高速化の限界を把握することは困難である。【０００６】
従来技術として、下記の文献がある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１０−９８４６８号公報
【特許文献２】特開平０５−２５０３３９号公報
【特許文献３】特開２００４−１３５６７号公報
【発明の概要】
【０００８】
（発明が解決しようとする課題）
開示の技術は、複数のプロセッサ間における通信オーバヘッドを容易に評価できるネットワーク評価装置、ネットワーク評価方法及びネットワーク評価プログラムを提供することを目的とする。
【０００９】
（課題を解決するための手段）
本発明の課題を解決するため、開示の技術の第１の側面によれば、
複数のプロセッサ間で通信を行い、前記複数のプロセッサでプログラムを実行する情報処理装置の通信状態を評価するネットワーク評価装置であって、
前記複数のプロセッサが前記プログラムを実行していない状態での前記複数のプロセッサ間の第１通信処理時間を集計する第１通信処理時間集計部と、
前記第１通信処理時間集計部で集計された前記第１通信処理時間を記録する第１通信処理時間記録部と、
前記複数のプロセッサが共に前記プログラムを実行している状態での前記複数のプロセッサ間の第２通信処理時間を集計する第２通信処理時間集計部と、
前記第１通信処理時間記録部で記憶された前記第１通信処理時間と、前記第２通信処理時間集計部で集計された前記第２通信処理時間とを比較し、前記第１通信処理時間と前記第２通信処理時間との時間差を出力する通信処理時間比較部と、
を備えることを特徴とするネットワーク評価装置を提供する。
【００１０】
開示の技術の第２の側面によれば、
複数のプロセッサ間で通信を行い、前記複数のプロセッサでプログラムを実行する情報処理装置の通信状態を評価するネットワーク評価方法であって、
前記複数のプロセッサが前記プログラムを実行していない状態での前記複数のプロセッサ間の第１通信処理時間を集計し、
集計された前記第１通信処理時間を記録し、
前記複数のプロセッサが共に前記プログラムを実行している状態での前記複数のプロセッサ間の第２通信処理時間を集計し、
記憶された前記第１通信処理時間と、集計された前記第２通信処理時間とを比較し、前記第１通信処理時間と前記第２通信処理時間との時間差を出力することを含むことを特徴とするネットワーク評価方法を提供する。
【００１１】
開示の技術の第３の側面によれば、
複数のプロセッサ間で通信を行い、前記複数のプロセッサでプログラムを実行する情報処理装置の通信状態を評価するネットワーク評価プログラムであって、
前記複数のプロセッサが前記プログラムを実行していない状態での前記複数のプロセッサ間の第１通信処理時間を集計し、
集計された前記第１通信処理時間を記録し、
前記複数のプロセッサが共に前記プログラムを実行している状態での前記複数のプロセッサ間の第２通信処理時間を集計し、
記憶された前記第１通信処理時間と、集計された前記第２通信処理時間とを比較し、前記第１通信処理時間と前記第２通信処理時間との時間差を出力することを含むことを特徴とするネットワーク評価プログラムを提供する。
【００１２】
（発明の効果）
開示の技術によれば、第１通信処理時間集計部は、複数のプロセッサがプログラムを実行していない状態で複数のプロセッサ間の第１通信処理時間を集計する。次いで、第２通信処理時間集計部は、複数のプロセッサがプログラムを複数のプロセッサで実行している状態で複数のプロセッサ間の第２通信処理時間を集計する。通信処理時間比較部で第１通信処理時間及び第２通信処理時間を比較し、第１通信処理時間と前記第２通信処理時間との時間差を出力することにより、複数のプロセッサ間における通信オーバヘッドを容易に評価することができる。複数のプロセッサ間における通信オーバヘッドを容易に評価することができるため、使用するプロセッサの数を増加させた際のプログラム処理の高速化の限界を容易に把握することができる。
【図面の簡単な説明】
【００１３】
【図１】図１は、本実施例に係るネットワーク評価装置を備える情報処理装置の概要を示す図である。
【図２】図２は、本実施例に係るネットワーク評価装置の処理を示すフローチャートを示す図である。
【図３】図３は、本実施例に係るネットワーク評価装置の処理を示すフローチャートを示す図である。
【図４】図４は、本実施例に係るネットワーク評価装置の処理を示すフローチャートを示す図である。
【図５】図５は、本実施例に係るネットワーク評価装置の処理を示すフローチャートを示す図である。
【図６】図６は、本実施例に係るネットワーク評価装置の処理を示すフローチャートを示す図である。
【図７】図７は、本実施例に係る理想通信処理時間記録テーブルの一例を示す図である。
【図８】図８は、本実施例に係る理想通信処理時間及び通信処理時間の計算方法の一例を示す。
【図９】図９は、本実施例に係るネットワーク評価装置において、集計された通信処理時間及び理想通信処理時間を示す図である。
【図１０】図１０は、本実施例のネットワーク評価装置に係るＭＰＩ規格に準拠した通信処理ソフトウェアライブラリにおいて、通信に参加した演算装置数（ノード数）と通信処理に要する時間との関係を示す図である。
【図１１】図１１は、本実施例のネットワーク評価装置に係るＭＰＩ規格に準拠した通信処理ソフトウェアライブラリにおいて、通信データ長と通信処理に要する時間との関係を示す図である。
【図１２】図１２は、本実施例に係るネットワーク評価装置において、通信オーバヘッドの削減目標値を算出するアプローチを示す模式図である。
【発明を実施するための形態】
【００１４】
以下、開示の技術の本実施例に係るネットワーク評価装置１００、ネットワーク評価方法及びネットワーク評価プログラムが説明される。ただし、開示の技術は各実施例に限定されるものではない。
【００１５】
図１から図１２では、本実施例に係るネットワーク評価装置１００、ネットワーク評価方法及びネットワーク評価プログラムが説明される。
【００１６】
図１は、本実施例に係る情報処理装置１０００に備えられたネットワーク評価装置１００の概略構成図を示す。
情報処置装置１０００は、演算装置１０Ａ、演算装置１０Ｂ、ネットワーク１５、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１６、モニタ１７及びネットワーク評価装置１００を備える。演算装置１０Ａ、演算装置１０Ｂ、モニタ１７及びネットワーク評価装置１００は、ネットワーク１５を介して互いに接続されている。なお、演算装置１０Ａ及び演算装置１０Ｂは、同一の構成要件を備える。
【００１７】
演算装置１０Ａは、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１Ａ、タイマ１２Ａ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３Ａ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１４Ａ及びバス１８Ａを備える。
【００１８】
演算装置１０Ａは、ＣＰＵ１１Ａによって全体が制御される。ＣＰＵ１１Ａには、バス１８Ａを介してＲＡＭ１３Ａ及びＨＤＤ１４Ａが接続される。
【００１９】
ＣＰＵ１１Ａは、タイマ１２Ａの機能を備える。タイマ１２Ａは、例えば演算装置１０Ａのシステム時刻を計時する。タイマ１２Ａは、演算装置１０ＡのＣＰＵ１１Ａ及び演算装置１０ＢのＣＰＵ１１Ｂ間の通信処理を行う際に、通信処理開始時刻及び通信処理終了時刻を計時する。
【００２０】
ＣＰＵ１１Ａは、演算装置１０ＡのＣＰＵ１１Ａ及び演算装置１０ＢのＣＰＵ１１Ｂにおいて計算処理が行われていない時の通信処理開始時刻と通信処理終了時刻との間の差分を計算する。ＣＰＵ１１Ａは、通信処理開始時刻を取得する前に、ＲＡＭ１３Ａに格納される計算プログラム１３０Ａの一部を、ＣＰＵ１１Ａに備えられた不図示のキャッシュに一時的に格納する。ＣＰＵ１１Ａのタイマ１２Ａは、演算装置１０ＢのＣＰＵ１１Ｂに対して計算プログラム１３０Ａの一部を送信する処理を開始する時刻を取得する。ＣＰＵ１１Ａのタイマ１２Ａは、例えば、計算プログラム１３０Ａの一部が、ＣＰＵ１１Ｂ内の不図示のキャッシュに一時的に格納されて演算装置１０ＡのＣＰＵ１１Ａに再送信された後、ＣＰＵ１１Ａのキャッシュに計算プログラム１３０Ａの一部が格納される時刻を通信処理終了時刻として取得する。計算処理が行われていない時の通信処理開始時刻と通信処理終了時刻との間の差分を、ＣＰＵ１１ＡとＣＰＵ１１Ｂとの間の理想通信処理時間という。ＣＰＵ１１Ａは、演算装置１０Ａの理想通信処理時間を、ネットワーク評価装置１００の理想通信処理時間集計部１０１Ａに送信する。ＣＰＵ１１Ａは、例えば、ＣＰＵ１１ＡとＣＰＵ１１Ｂとの間の１回の通信に対する理想通信処理時間を理想通信処理時間集計部１０１Ａに送信する。
【００２１】
また、ＣＰＵ１１Ａは、演算装置１０ＡのＣＰＵ１１Ａ及び演算装置１０ＢのＣＰＵ１１Ｂにおいて計算処理が行われている時の通信処理開始時刻と通信処理終了時刻との間の差分を計算する。計算処理が行われているときの通信処理開始時刻と通信処理終了時刻との差分を、ＣＰＵ１１ＡとＣＰＵ１１Ｂとの間の通信処理時間という。ＣＰＵ１１Ａは、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理時間を、ネットワーク評価装置１００の通信処理時間集計部１０１Ｃに送信する。ＣＰＵ１１Ａは、例えば、ＣＰＵ１１ＡとＣＰＵ１１Ｂとの間の１回の通信に対する通信処理時間を通信処理時間集計部１０１Ｃに送信する。
【００２２】
ＲＡＭ１３Ａは、例えば、ＣＰＵ１１Ａに実行させるＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）のプログラム、アプリケーションプログラム及び計算プログラム１３０Ａの少なくとも一部を一時的に記録する。計算プログラム１３０Ａは、本実施例に係る計算処理を実施するためのプログラムである。計算プログラム１３０Ａは、ＣＰＵ１１Ａ及び後述する演算装置１０ＢのＣＰＵ１１Ｂによって実行される。また、ＲＡＭ１３Ａは、タイマ１２Ａで計時された通信処理開始時刻及び通信処理終了時刻を一時的に記録する。ＲＡＭ１３Ａは、ＣＰＵ１１Ａによって計測されたＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間及び通信処理時間を一時的に記録する。また、ＲＡＭ１３Ａは、ＣＰＵ１１Ａにおける処理に必要な各種データを格納する。
【００２３】
なお、計算プログラム１３０Ａは、ＲＡＭ１３Ａ以外の記憶媒体に保持してもよい。計算プログラム１３０Ａは、例えば、演算装置１０Ａに挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク及びＩＣカードなどの「可搬用の物理的記憶媒体」に記録される。計算プログラム１３０Ａは、演算装置１０Ａの内外に備えられるディスク装置、あるいは公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介して演算装置１０Ａに接続される「他のコンピュータ（またはサーバ）」が保持する記憶媒体に記憶される。演算装置１０Ａは、上記記録媒体から計算プログラム１３０Ａを読み出して計算処理を実行することができる。
【００２４】
ＨＤＤ１４Ａは、例えば、ＯＳ及びアプリケーションプログラムを記録する。また、ＨＤＤ１４Ａは、タイマ１２Ａで計時された通信処理開始時刻及び通信処理終了時刻を記録する。ＨＤＤ１４Ａは、ＣＰＵ１１Ａによって計測されたＣＰＵ１１ＡとＣＰＵ１１Ｂとの間の理想通信処理時間及び通信処理時間を記録する。
【００２５】
演算装置１０Ｂは、ＣＰＵ１１Ｂ、タイマ１２Ｂ、ＲＡＭ１３Ｂ、ＨＤＤ１４Ｂ及びバス１８Ｂを備える。
【００２６】
演算装置１０Ｂは、演算装置１０Ａと同様に、ＣＰＵ１１Ｂによって全体が制御される。ＣＰＵ１１Ｂには、バス１８Ｂを介してＲＡＭ１３Ｂ及びＨＤＤ１４Ｂが接続される。
【００２７】
ＣＰＵ１１Ｂは、タイマ１２Ｂの機能を備える。タイマ１２Ｂは、タイマ１２Ａと同様に、例えば演算装置１０Ｂのシステム時刻を計時する。タイマ１２Ｂは、演算装置１０ＢのＣＰＵ１１Ｂと演算装置１０ＡのＣＰＵ１１Ａとの間において通信処理を行う際に、通信処理開始時刻及び通信処理終了時刻を計時する。
【００２８】
ＣＰＵ１１Ｂは、演算装置１０ＡのＣＰＵ１１Ａ及び演算装置１０ＢのＣＰＵ１１Ｂにおいて計算処理が行われていない時の通信処理開始時刻と通信処理終了時刻との間の差分を計算する。ＣＰＵ１１Ｂは、通信処理開始時刻を取得する前に、ＲＡＭ１３Ｂに格納される計算プログラム１３０Ｂの一部を、ＣＰＵ１１Ｂに備えられた不図示のキャッシュに一時的に格納する。ＣＰＵ１１Ｂのタイマ１２Ｂは、演算装置１０ＡのＣＰＵ１１Ａに対して計算プログラム１３０Ｂの一部を送信する処理を開始する時刻を、通信処理開始時刻として取得する。ＣＰＵ１１Ｂのタイマ１２Ｂは、例えば、計算プログラム１３０Ｂの一部が、ＣＰＵ１１Ａの不図示のキャッシュに一時的に格納されて演算装置１０ＢのＣＰＵ１１Ｂに再送信された後、ＣＰＵ１１Ｂのキャッシュに計算プログラム１３０Ｂの一部が格納される時刻を通信処理終了時刻として取得する。計算処理が行われていない時の通信処理開始時刻と通信処理終了時刻との差分を、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間という。ＣＰＵ１１Ｂは、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間を、ネットワーク評価装置１００の理想通信処理時間集計部１０１Ａに送信する。ＣＰＵ１１Ｂは、例えば、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の１回の通信に対する理想通信処理時間を理想通信処理時間集計部１０１Ａに送信する。
【００２９】
また、ＣＰＵ１１Ｂは、演算装置１０ＡのＣＰＵ１１Ａ及び演算装置１０ＢのＣＰＵ１１Ｂにおいて計算処理が行われている時の通信処理開始時刻と通信処理終了時刻との差分を計算する。計算処理が行われているときの通信処理開始時刻と通信処理終了時刻との差分を、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理時間という。ＣＰＵ１１Ｂは、ＣＰＵ１１Ｂによって計算したＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理時間を、ネットワーク評価装置１００の通信処理時間集計部１０１Ｃに送信する。ＣＰＵ１１Ｂは、例えば、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の１回の通信に対する通信処理時間を通信処理時間集計部１０１Ｃに送信する。
【００３０】
ＲＡＭ１３Ｂは、ＲＡＭ１３Ａと同様に、例えば、ＣＰＵ１１Ｂに実行させるＯＳのプログラム、アプリケーションプログラム及び計算プログラム１３０Ｂの少なくとも一部を一時的に記録する。計算プログラム１３０Ｂは、本実施例に係る計算処理を実施するためのプログラムである。計算プログラム１３０Ｂは、ＣＰＵ１１Ａ及びＣＰＵ１１Ｂによって実行される。また、ＲＡＭ１３Ｂは、タイマ１２Ｂで計時された通信処理開始時刻及び通信処理終了時刻を一時的に記録する。ＲＡＭ１３Ｂは、ＣＰＵ１１Ｂによって計測されたＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間及び通信処理時間を一時的に記録する。ＲＡＭ１３Ｂは、ＣＰＵ１１Ｂにおける処理に必要な各種データを格納する。なお、計算プログラム１３０Ｂは、計算プログラム１３０Ａと同様に、ＲＡＭ１３Ｂ以外の記憶媒体に保持してもよい。
【００３１】
ＨＤＤ１４Ｂは、ＨＤＤ１４Ａと同様に、例えば、ＯＳ、アプリケーションプログラムを記録する。また、ＨＤＤ１４Ｂは、タイマ１２Ｂで計時された通信処理開始時刻及び通信処理終了時刻を記録する。ＨＤＤ１４Ｂは、ＣＰＵ１１Ｂによって計測されたＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間及び通信処理時間を記録する。
【００３２】
ネットワーク評価装置１００は、ＣＰＵ１０１、ＲＡＭ１０２、ＨＤＤ１０３、グラフィック処理装置１０４、通信インタフェース１０５及びバス１０６を備える。
【００３３】
ネットワーク評価装置１００は、ＣＰＵ１０１によって全体が制御される。ＣＰＵ１０１には、バス１０６を介してＲＡＭ１０２、ＨＤＤ１０３、グラフィック処理装置１０４及び通信インタフェース１０５が接続される。
【００３４】
ＣＰＵ１０１は、理想通信処理時間集計部１０１Ａ、理想通信処理時間記録部１０１Ｂ、通信処理時間集計部１０１Ｃ及び通信処理時間比較部１０１Ｄを備える。
【００３５】
理想通信処理時間集計部１０１Ａは、演算装置１０ＡのＣＰＵ１１Ａから送信されたＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間と、演算装置１０ＢのＣＰＵ１１Ｂから送信されたＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間と、を受信する。理想通信処理時間集計部１０１Ａは、演算装置１０Ａ及び演算装置１０Ｂから受信したＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間のうち、理想通信処理時間の最大値を抽出する。
【００３６】
理想通信処理時間記録部１０１Ｂは、理想通信処理時間集計部１０１Ａで取得された最大の理想通信処理時間をベンチマークとして記録する。記録された最大の理想通信処理時間は、後述する通信オーバヘッドと比較する際に参照される。
【００３７】
通信処理時間集計部１０１Ｃは、演算装置１０ＡのＣＰＵ１１Ａから送信されたＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理時間と、演算装置１０ＢのＣＰＵ１１Ｂから送信されたＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理時間と、を受信する。通信処理時間集計部１０１Ｃは、演算装置１０Ａ及び演算装置１０Ｂから受信したＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理時間のうち、通信処理時間の最大値を抽出する。なお、複数のＣＰＵ間、即ちＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間のデータの通信処理には、所定の時間が必要となる。ＣＰＵ１１Ａ及びＣＰＵ１１Ｂの計算処理が行われている際に発生する複数のＣＰＵ間の通信処理時間のことを通信オーバヘッドという。
【００３８】
通信処理時間比較部１０１Ｄは、理想通信処理時間記録部１０１Ｂに記録された理想通信処理時間及び通信処理時間集計部１０１Ｃで集計された通信オーバヘッドを比較する。通信処理時間比較部１０１Ｄは、理想通信処理時間に対応する通信処理パターンが、通信オーバヘッドに対応する通信処理パターンと同一であるか、又は類似しているか比較する。理想通信処理時間に対応する通信処理パターンが、通信オーバヘッドに対応する通信処理パターンと同一である、又は類似している場合、通信処理時間比較部１０１Ｄは、同一又は類似した通信処理パターンに対応する理想通信処理時間を通信オーバヘッドの削減目標値として出力する。理想通信処理時間に対応する通信処理パターンが、通信オーバヘッドに対応する通信処理パターンと同一ではなく、かつ類似していない場合、通信処理時間比較部１０１Ｄは、理想通信処理時間集計部１０１Ａに対して理想通信処理時間の追加測定を要求する。
【００３９】
通信処理時間比較部１０１Ｄは、具体的には、通信処理時間集計部１０１Ｃによって集計されたＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理時間及び理想通信処理時間集計部１０１Ａによって集計された理想通信処理時間を比較する。通信処理時間比較部１０１Ｄは、通信処理時間と理想通信処理時間との比較の結果、有意差があるデータを検出する。通信処理時間比較部１０１Ｄは、有意差があるデータにおいて、通信処理時間と理想通信処理時間との時間差を通信オーバヘッド削減目標値として算出する。通信処理時間比較部１０１Ｄは、算出された通信オーバヘッド削減目標値をモニタ１７に出力する。通信オーバヘッド削減目標値は、演算アルゴリズムの変更により、通信オーバヘッドを削減する際のベンチマークとして使用される目標値である。
【００４０】
ＲＡＭ１０２は、例えば、ＣＰＵ１０１に実行させるＯＳのプログラム、アプリケーションプログラム及び評価プログラム１０２Ａの少なくとも一部を一時的に記録する。評価プログラム１０２Ａは、ＣＰＵ１０１によって、ＣＰＵ１１Ａ及びＣＰＵ１１Ｂ間の理想通信処理時間及び通信処理時間の集計及び比較を行うためのプログラムである。評価プログラム１０２Ａは、ＣＰＵ１０１によって実行される。ＲＡＭ１０２は、ＣＰＵ１１Ａによって計測されたＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間及び通信処理時間を一時的に記録する。ＲＡＭ１０２は、ＣＰＵ１１Ｂによって計測されたＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間及び通信処理時間を一時的に記録する。また、ＲＡＭ１０２は、ＣＰＵ１０１における処理に必要な各種データを格納する。
【００４１】
なお、評価プログラム１０２Ａは、ＲＡＭ１０２以外の記憶媒体に保持してもよい。評価プログラム１０２Ａは、例えば、ネットワーク評価装置１００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＭＯディスク、ＤＶＤディスク、光磁気ディスク及びＩＣカードなどの「可搬用の物理的記憶媒体」に記録される。評価プログラム１０２Ａは、ネットワーク評価装置１００の内外に備えられるディスク装置、あるいは公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してネットワーク評価装置１００に接続される「他のコンピュータ（またはサーバ）」が保持する記憶媒体に記憶される。演算装置１０Ａは、上記記録媒体から評価プログラム１０２Ａを読み出して計算処理を実行することができる。
【００４２】
ＨＤＤ１０３は、例えば、ＯＳ及びアプリケーションプログラムを記録する。ＨＤＤ１０３は、後述する理想通信処理時間記録テーブル１０３Ａを記録する。理想通信処理時間記録テーブル１０３Ａについての説明は後述する。ＨＤＤ１０３は、ＣＰＵ１１Ａによって計測されたＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間及び通信処理時間を一時的に記録する。ＨＤＤ１０３は、ＣＰＵ１１Ｂによって計測されたＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間及び通信処理時間を一時的に記録する。また、ＨＤＤ１０３は、理想通信処理時間集計部１０１Ａ及び通信処理時間比較部１０１Ｄを用いて予め測定された理想通信処理時間に対応する通信処理パターンを記録する。通信処理パターンは、通信オーバヘッド削減目標値を算出するために使用される理想通信処理時間に対応する通信処理のパターンである。
【００４３】
グラフィック処理装置１０４は、モニタ１７が接続されている。グラフィック処理装置１０４は、ＣＰＵ１０１からの命令に従って、通信処理時間比較部１０１Ｄによって集計された通信オーバヘッド削減目標値をモニタ１７に出力する。
【００４４】
通信インタフェース１０５は、ＬＡＮ１６に接続されている。通信インタフェース１０５は、ＬＡＮ１６及びネットワーク１５を介して、演算装置１０Ａ及び演算装置１０Ｂに対してデータの送受信を行う。又、通信インタフェース１０５は、演算装置１０Ａ及び演算装置１０Ｂから、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間及び通信処理時間の受信を行う。
【００４５】
図２は、本実施例に係るネットワーク評価装置１００の処理を示すフローチャートを示す図である。図２に示す処理は、本実施例に係るネットワーク評価装置１００を用いて通信オーバヘッド削減目標値の推定を実行する際の処理である。
【００４６】
図２に示すように、Ｓ１において、理想通信処理時間集計部１０１Ａは、理想通信処理時間記録部１０１Ｂに、演算装置１０Ａ及び演算装置１０Ｂから受信したＣＰＵ１１ＡとＣＰＵ１１Ｂとの間の理想通信処理時間が記録されているか判断する。また、Ｓ１において、理想通信処理時間集計部１０１Ａは、ネットワーク評価装置１００が初めて使用される初期状態であるか判断する。Ｓ１において、理想通信処理時間集計部１０１Ａは、ＣＰＵ１１ＡとＣＰＵ１１Ｂとの間の理想通信処理時間が記録されている、又はネットワーク評価装置１００が初めて使用される初期状態ではないと判断すると、次にＳ２の処理を行う。なお、本実施例において、Ｓ１に係る処理は必須ではない。Ｓ１の処理を行わず、Ｓ２からの処理を開始しても良い。
【００４７】
Ｓ１において、理想通信処理時間記録部１０１Ｂに理想通信処理時間が記録されておらず、又はネットワーク評価装置１００が初めて使用される初期状態であると判断すると、Ｓ６において、理想通信処理時間集計部１０１Ａは、理想通信処理時間計測処理を行う。理想通信処理時間集計部１０１Ａにおける理想通信処理時間計測処理については後述する。
【００４８】
Ｓ２において、通信処理時間集計部１０１Ｃは、通信オーバヘッドの評価対象である計算処理における通信オーバヘッド集計処理を行う。
【００４９】
Ｓ２において、ＣＰＵ１１Ａ及びＣＰＵ１１Ｂは、演算装置１０Ａに記録される計算プログラム１３０Ａ又は演算装置１０Ｂに記録される計算プログラム１３０Ｂを実行して計算処理を行う。通信処理時間集計部１０１Ｃは、演算装置１０Ａ及び演算装置１０Ｂが計算処理している間の、ＣＰＵ１１ＡとＣＰＵ１１Ｂとの間の通信処理時間を、演算装置１０Ａ及び演算装置１０Ｂからそれぞれ集計する。なお、複数のＣＰＵ間、即ちＣＰＵ１１ＡとＣＰＵ１１Ｂとの間のデータの通信処理には、所定の時間が必要となる。なお、ＣＰＵ１１Ａ及びＣＰＵ１１Ｂの計算処理に対応する複数のＣＰＵ間の通信処理時間のことを通信オーバヘッド（通信ＯＨ）と簡略化して図示する。
【００５０】
Ｓ３において、通信処理時間比較部１０１Ｄは、通信オーバヘッドに対応する通信処理パターンに対する理想通信処理時間が通信オーバヘッドの削減目標値として流用できるか判定する処理を行う。計算プログラム１３０Ａは、ＣＰＵ１１Ａ及びＣＰＵ１１Ｂによって実行される。なお、通信処理時間比較部１０１Ｄにおける流用可否判定処理については後述する。
【００５１】
また、Ｓ３において、通信処理時間比較部１０１Ｄは、通信オーバヘッドに対応する通信処理パターンに対する理想通信処理時間は集計済みであるか判断する。Ｓ３において、通信処理時間比較部１０１Ｄは、通信オーバヘッドに対応する通信処理パターンに対する理想通信処理時間が集計済みであると判断すると、次にＳ４の処理を行う。
【００５２】
なお、Ｓ３において、通信処理時間に対応する理想通信処理時間が未集計であると判断すると、通信処理時間比較部１０１Ｄは、Ｓ７において、通信処理時間に対応する理想通信処理時間の集計を要求する。
【００５３】
Ｓ４において、通信処理時間比較部１０１Ｄは、理想通信処理時間を通信オーバヘッドの削減目標値として流用する処理を行う。通信処理時間比較部１０１Ｄにおける理想通信処理時間の流用処理については後述する。
【００５４】
Ｓ５において、通信処理時間比較部１０１Ｄは、理想通信処理時間及び通信オーバヘッドの有意差判定処理を行う。通信処理時間比較部１０１Ｄにおける通信処理パターンの有意差判定処理については後述する。
【００５５】
また、Ｓ５において、通信処理時間比較部１０１Ｄは、理想通信処理時間を流用することにより有意差があるデータを抽出する。次いで、通信処理時間比較部１０１Ｄは、有意差があるデータにおいて、通信処理時間及び理想通信処理時間の時間差を通信オーバヘッド削減目標値として算出し、モニタ１７に出力する。また、通信処理時間比較部１０１Ｄは、通信オーバヘッド削減目標値をＨＤＤ１０３に記録する。
【００５６】
図３は、本実施例に係るネットワーク評価装置１００の処理を示すフローチャートを示す図である。図３に係るフローチャートは、図２のＳ６における理想通信処理時間集計部１０１Ａの理想通信処理時間計測処理を示す。なお、本実施例は、通信オーバヘッドの評価対象であるＣＰＵ１１Ａ及びＣＰＵ１１Ｂ間の理想通信処理時間を計測する一例を示す。
【００５７】
図３に示すように、Ｓ１１において、理想通信処理時間集計部１０１Ａは、ＣＰＵ１１Ａ及びＣＰＵ１１Ｂの通信処理時間の集計に関係しないＣＰＵ１１Ａ及びＣＰＵ１１Ｂを停止させる処理を行う。なお、ＣＰＵ１１Ａ及びＣＰＵ１１Ｂ以外のＣＰＵは、簡略化のため図示を省略する。通信処理時間の集計に関係しないＣＰＵ１１Ａ及びＣＰＵ１１Ｂの停止処理は、通信処理時間の集計に関係しないＣＰＵ１１Ａ及びＣＰＵ１１Ｂによる、通信処理時間の集計に対する外乱を抑制するために行われる。なお、本実施例において、情報処理装置１０００の運用条件によっては、Ｓ１１に係る処理は必須ではない。Ｓ１１の処理を行わず、Ｓ１２からの処理を開始しても良い。
【００５８】
Ｓ１２において、理想通信処理時間集計部１０１Ａは、通信処理時間の集計に関係するＣＰＵを初期化する。即ち、理想通信処理時間集計部１０１Ａは、ＣＰＵ１１Ａ及びＣＰＵ１１Ｂを初期化する。
【００５９】
Ｓ１３において、理想通信処理時間集計部１０１Ａは、通信処理時間の集計対象であるＣＰＵ１１ＡとＣＰＵ１１Ｂとの間の通信処理時間の測定を開始する。理想通信処理時間集計部１０１Ａは、ＣＰＵ１１ＡとＣＰＵ１１Ｂとの間の通信処理時間の測定をＣＰＵ１１Ａ及びＣＰＵ１１Ｂにそれぞれ実行させる。理想通信処理時間集計部１０１Ａは、仮測定として、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の、例えば５回又は１０回の通信処理時間の測定を実行させる。仮測定は、仮測定後のＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理時間の測定値の変動を抑制するために行われる。
【００６０】
Ｓ１４において、理想通信処理時間集計部１０１Ａは、ＣＰＵ１１ＡとＣＰＵ１１Ｂとの間の仮測定が所定回数実行済みであるか判断する。Ｓ１４において、理想通信処理時間集計部１０１Ａは、ＣＰＵ１１ＡとＣＰＵ１１Ｂとの間の通信処理時間の測定が所定回数実行済みであると判断すると、次にＳ１５の処理を行う。
【００６１】
Ｓ１４において、ＣＰＵ１１ＡとＣＰＵ１１Ｂとの間の仮測定としての通信処理が所定回数分だけ実行されていないと判断すると、理想通信処理時間集計部１０１Ａは、次にＳ１３の処理を行う。
【００６２】
Ｓ１５において、理想通信処理時間集計部１０１Ａは、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間の測定を開始する。具体的には、理想通信処理時間集計部１０１Ａは、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理が、例えば５回又は１０回の所定回数だけ繰返し実行された後の理想通信処理時間の測定を実行させる。なお、Ｓ１５における、仮測定後のＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間の測定を本測定という。
【００６３】
Ｓ１６において、理想通信処理時間集計部１０１Ａは、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間の測定が、所定回数、即ち本測定分だけ繰返し実行されたか判断する。Ｓ１６において、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の測定が所定回数だけ繰返し実行されたと判断されると、理想通信処理時間集計部１０１Ａは、次にＳ１７の処理を行う。
【００６４】
Ｓ１６において、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理が、本測定分だけ実行されていないと判断されると、理想通信処理時間集計部１０１Ａは、次にＳ１５の処理を行う。
【００６５】
Ｓ１７において、理想通信処理時間集計部１０１Ａは、ＨＤＤ１０３に記録されるＣＰＵ１１Ａ及びＣＰＵ１１Ｂの本測定分の理想通信処理時間の中から最大値を求める。理想通信処理時間集計部１０１Ａによって計算されたＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間の最大値は、理想通信処理時間記録部１０１Ｂに記録される。
【００６６】
図４は、本実施例に係るネットワーク評価装置１００の処理を示すフローチャートを示す図である。図４に係るフローチャートは、図２のＳ３における通信処理時間比較部１０１Ｄにおける流用可否判定処理を示す。流用可否判定処理とは、理想通信処理時間を通信オーバヘッドの削減目標値として流用することができるか判定する処理である。
【００６７】
Ｓ２１において、通信処理時間比較部１０１Ｄは、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理パターンの通信データ長が１ＭＢ以上であるか判断する。同様に、通信処理時間比較部１０１Ｄは、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理パターンに対応する理想通信処理時間の通信参加演算装置数と、通信処理時間の通信参加演算装置数が同じであるか判断する。ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理パターンの通信データ長が１ＭＢ未満である、または通信参加演算装置数が異なる場合、通信処理時間比較部１０１Ｄは、次にＳ２２の判断を行う。通信処理パターンの通信データ長の判断は、理想通信処理時間を通信オーバヘッドの削減目標値として流用する際のデータ信頼性を判断するために行われる。
【００６８】
Ｓ２１において、通信処理パターンの通信データ長が１ＭＢ以上であり、且つ通信参加演算装置数が同じである場合、通信処理時間比較部１０１Ｄは、次にＳ２５の判断を行う。
【００６９】
Ｓ２５において、通信処理時間比較部１０１Ｄは、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理パターンに対応する理想通信処理時間を、通信オーバヘッドの削減目標値として流用することが可能であると判定する。
【００７０】
Ｓ２２において、通信処理時間比較部１０１Ｄは、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理パターンの通信データ長の「通信データ長−１」を４ＫＢで除した結果の商の整数部が、理想通信処理時間における整数部の値と同じであるか判断する。なお、４ＫＢは４０９６Ｂである。同様に、通信処理時間比較部１０１Ｄは、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理パターンの通信参加演算装置数が、理想通信処理時間における整数部の値と同じであるか判断する。なお、４ＫＢというパケット長は、通信に用いられるパケット長の一例として設定される。「通信データ長−１」を４ＫＢで除することにより、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理パターンの通信データ長を、パケット数により判断することができる。上述した商の整数部が理想通信処理時間における整数部の値と同じである場合、即ちパケット数が同じである場合、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理時間及び理想通信処理時間は、大きく変わらないものであると仮定される。Ｓ２２において、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理パターンの「通信データ長−１」の商の整数部が異なる、または通信参加演算装置数が異なる場合、通信処理時間比較部１０１Ｄは、次にＳ２３の判断を行う。上述した商の整数部が理想通信処理時間における整数部の値と同じであるか判断することにより、理想通信処理時間を通信オーバヘッドの削減目標値として流用する際のデータ信頼性を判断することができる。
【００７１】
Ｓ２２において、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理パターンに対応する通信データ長の商の整数部が同じであり、且つ通信参加演算装置数が同じである場合、通信処理時間比較部１０１Ｄは、次にＳ２５の判断を行う。
【００７２】
Ｓ２３において、通信処理時間比較部１０１Ｄは、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理パターンの通信データ長が同じであるか判断する。同様に、通信処理時間比較部１０１Ｄは、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理パターンの２を底とした「通信参加演算装置数−１」の対数の整数部が同じであるか判断する。ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理パターンの通信データ長及び通信参加演算装置数の対数の整数部が異なる場合、通信処理時間比較部１０１Ｄは、次にＳ２４の判断を行う。ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理パターンの通信データ長が同じであるか、且つ「通信参加演算装置数−１」の対数の整数部が同じであるか判断することにより、理想通信処理時間を通信オーバヘッドの削減目標値として流用する際のデータ信頼性を判断することができる。
【００７３】
Ｓ２３において、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理パターンに対応する通信データ長及び通信参加演算装置数の対数の整数部が同じである場合、通信処理時間比較部１０１Ｄは、次にＳ２５の判断を行う。
【００７４】
Ｓ２４において、通信処理時間比較部１０１Ｄは、通信処理パターンに対応する理想通信処理時間を通信オーバヘッドの削減目標値として流用することは不可能であると判定する。
【００７５】
図５は、本実施例に係るネットワーク評価装置１００の処理を示すフローチャートを示す図である。図５に係るフローチャートは、図２のＳ４における通信処理時間比較部１０１Ｄにおける理想通信処理時間の流用処理を示す。理想通信処理時間の流用処理とは、理想通信処理時間を通信オーバヘッドの削減目標値として流用する処理である。
【００７６】
Ｓ３１において、通信処理時間比較部１０１Ｄは、評価対象であるＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信データ長及び通信参加演算装置数に対し、通信データ長及び通信参加演算装置数が最も近い既存性能データを例えば４つ選択する。選択される既存性能データの数は、任意に決定される。既存性能データは、例えば理想通信処理時間記録テーブル１０３ＡとしてＨＤＤ１０３に記録されている。
【００７７】
Ｓ３１において選択される４つの既存性能データは、通信参加演算装置数、通信データ長及び通信処理時間からなる３つの要素を１組とする。また、通信データ長及び通信参加演算装置数が類似する既存性能データとは、以下の式を使用して、αをパラメータとした既存性能データとの有意差が小さくなるような既存性能データが選択される。既存性能データとの有意差は、通信参加演算装置数及び通信データ長から定義される既存性能データ及び評価対象データ間の差異の大きさを示す。パラメータαは、定数として、例えば１×１０−６を用いる。選択されるパラメータαの定数は、任意に決定される。
【００７８】
既存性能データとの有意差＝（既存性能データの通信参加演算装置数−実際の通信参加演算装置数）２＋α×（既存性能データの通信データ長−実際の通信データ長）２
【００７９】
Ｓ３２において、通信処理時間比較部１０１Ｄは、通信データ長による線形補間により通信処理時間Ｔ１を推定する。通信処理時間Ｔ１の推定には、選択した４つの既存性能データのうち、通信参加演算装置数が多い２つの既存性能データが使用される。
【００８０】
Ｓ３３において、通信処理時間比較部１０１Ｄは、通信データ長による線形補間により通信処理時間Ｔ２を推定する。通信処理時間Ｔ２の推定には、選択した４つの既存性能データのうち、通信参加演算装置数が少ない２つの既存性能データが使用される。
【００８１】
なお、Ｓ３２及びＳ３３で行われる線形補間の処理は、推定される通信処理時間Ｔｘ及び対応する通信参加演算装置数Ｐｘを求める。線形補間の処理には、通信参加演算装置数Ｐ、通信データ長Ｌ及び通信処理時間Ｔの要素からなる２組の性能データ｛Ｐａ、Ｌａ、Ｔａ｝、｛Ｐｂ，Ｌｂ、Ｔｂ｝及び以下の２式が使用される。
【００８２】
推定される通信処理時間Ｔｘ＝Ｔａ＋（Ｔｂ−Ｔａ）×（実際の通信データ長−Ｌａ）÷（Ｌｂ−Ｌａ）
【００８３】
対応する通信参加演算装置数Ｐｘ＝Ｐａ＋（Ｐｂ−Ｐａ）×（実際の通信データ長−Ｌａ）÷（Ｌｂ−Ｌａ）
【００８４】
Ｓ３４において、通信処理時間比較部１０１Ｄは、通信参加演算装置数に対応するデータの線形補間により理想通信処理時間Ｔｉｄｅａｌを推定する。理想通信処理時間Ｔｉｄｅａｌの推定には、通信処理時間Ｔ１及びＴ２が用いられる。理想通信処理時間Ｔｉｄｅａｌは、図２のＳ５における通信オーバヘッドの削減目標値となる。
【００８５】
Ｓ３４に係る線形補間の処理は、以下の演算により理想通信処理時間Ｔｉｄｅａｌを求める。理想通信処理時間Ｔｉｄｅａｌを求める演算には、通信処理時間Ｔｘの式で求めた通信処理時間Ｔ１、通信処理時間Ｔ２、対応する通信参加演算装置数Ｐｘの式で求めた通信参加演算装置数Ｐ１及び通信参加演算装置数Ｐ２が用いられる。
【００８６】
理想通信処理時間Ｔｉｄｅａｌ＝Ｔ１＋（Ｔ２−Ｔ１）×（実際の通信参加演算装置数−Ｐ１）÷（Ｐ２−Ｐ１）
【００８７】
Ｓ３５において、通信処理時間比較部１０１Ｄは、推定された理想通信処理時間Ｔｉｄｅａｌと評価対象データに対応する通信処理時間とを比較する。
【００８８】
図６は、本実施例に係るネットワーク評価装置１００の処理を示すフローチャートを示す図である。図６に係るフローチャートは、図２のＳ５における通信処理時間の有意差判定処理を示す。通信処理時間の有意差判定処理は、評価対象であるＣＰＵ１１Ａ及びＣＰＵ１１Ｂ間の通信処理時間及び理想通信処理時間を、通信処理時間比較部１０１Ｄで比較して行う。なお、本実施例に係るＭＰＩの通信条件及び演算処理数は、任意に設定される。
【００８９】
Ｓ４１において、通信処理時間比較部１０１Ｄは、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理時間が５０μ秒以上であるか、且つ、通信処理時間と理想通信処理時間の時間差が２０％以上であるか判断する。なお、５０μ秒という通信処理時間は、通信処理時間の一例として設定される。５０μ秒という通信時間は、ＣＰＵ１１Ａ及びＣＰＵ１１Ｂが、通信処理以外の演算処理に要する時間のうち有意な長さを持つ時間の目安として設定される。例えば、３ＧＨｚのクロック周波数を有するＣＰＵは、５０μ秒の処理時間で６０万回〜１２０万回の数値演算を行う。Ｓ４１において、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理時間が５０μ秒未満である、または通信処理時間の時間差か２０％未満であると判断された場合、通信処理時間比較部１０１Ｄは、次にＳ４２の判断を行う。
【００９０】
Ｓ４１において、通信処理時間が５０μ秒以上であり、且つ通信処理時間の時間差か２０％以上であると判断された場合、通信処理時間比較部１０１Ｄは、次にＳ４５の処理を行う。
【００９１】
Ｓ４２において、通信処理時間比較部１０１Ｄは、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信データ長が６４ＫＢ以上であり、且つ通信処理時間と理想通信処理時間の時間差が１０％以上であるか判断する。なお、６４ＫＢという通信データ長は、通信データ長の一例として設定される。通信データ長が例えば６４ＫＢである場合、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理時間は例えば３０μ秒〜４０μ秒となる。Ｓ４２において、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信データ長が６４ＫＢ未満である、または通信処理時間と理想通信処理時間の時間差が１０％未満であると判断された場合、通信処理時間比較部１０１Ｄは、次にＳ４３の判断を行う。
【００９２】
Ｓ４２において、通信データ長が６４ＫＢ以上であり、且つ通信処理時間及び理想通信処理時間の時間差が１０％以上であると判断された場合、通信処理時間比較部１０１Ｄは、次にＳ４５の判断を行う。
【００９３】
Ｓ４３において、通信処理時間比較部１０１Ｄは、通信処理時間と理想通信処理時間との時間差が１００μ秒以上であるか判断する。通信処理時間と理想通信処理時間との時間差が１００μ秒未満であると判断された場合、通信処理時間比較部１０１Ｄは、次にＳ４４の処理を行う。
【００９４】
なお、Ｓ４３において、通信処理時間と理想通信処理時間との時間差が１００μ秒以上であると判断された場合、通信処理時間比較部１０１Ｄは、次にＳ４５の処理を行う。
【００９５】
Ｓ４４において、通信処理時間比較部１０１Ｄは、通信処理時間と理想通信処理時との間において有意差が無いと判定する。
【００９６】
Ｓ４５において、通信処理時間比較部１０１Ｄは、通信処理時間と理想通信処理時との間において有意差が有ると判定する。
【００９７】
図７は、本実施例に係る理想通信処理時間記録テーブル１０３Ａのデータ構造例を示す図である。ネットワーク評価装置１００に係るＨＤＤ１０３は、理想通信処理時間記録テーブル１０３Ａを記録する。
【００９８】
理想通信処理時間記録テーブル１０３Ａは、例えば、ＭＰＩ（Ｍｅｓｓａｇｅ  Ｐａｓｓｉｎｇ  Ｉｎｔｅｒｆａｃｅ）という通信ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）で記述された並列プログラムが演算装置１０ＡのＣＰＵ１１Ａ及び演算装置１０ＢのＣＰＵ１１Ｂで実行された際の通信データ長（Ｂ）及び通信処理時間（μ秒）を記録するテーブルである。理想通信処理時間記録テーブル１０３Ａは、通信の種類を示すフィールド１０３Ａ１、通信に参加した演算装置数を示すフィールド１０３Ａ２、通信データ長を示すフィールド１０３Ａ３、送信元の演算装置番号を示すフィールド１０３Ａ４、送信先の演算装置番号を示すフィールド１０３Ａ５及び通信処理時間を示すフィールド１０３Ａ６が設けられている。各フィールドの横方向に並べられた情報同士が互いに関連付けられている。
【００９９】
フィールド１０３Ａ１には、ＭＰＩ通信機能における通信の種類が設定されている。図７に示した例では、“ＭＰＩ＿ＡｌｌｔｏＡｌｌ”（全対全通信）及び“ＭＰＩ＿Ｂｃａｓｔ”（放送通信）の２つが設定されている。
【０１００】
フィールド１０３Ａ２には、ＭＰＩ通信機能における通信に参加した演算装置数が設定されている。
【０１０１】
フィールド１０３Ａ３には、通信の種類及び演算装置数に対応した通信データ長が設定されている。
【０１０２】
フィールド１０３Ａ４には、送信元の演算装置番号が設定されている。
【０１０３】
フィールド１０３Ａ５には、送信先の演算装置番号が設定されている。
【０１０４】
フィールド１０３Ａ６には、通信の種類及び演算装置数に対応した通信処理時間が設定されている。
【０１０５】
以下、理想通信処理時間記録テーブル１０３Ａに記録される通信データ長又は通信参加演算装置数における通信処理時間について説明する。通信オーバヘッドの削減目標値を算出する際に使用される理想通信処理時間に関して、ＣＰＵ１１Ａ及びＣＰＵ１１Ｂにおける計算処理中の通信処理時間の通信データ長による理想通信処理時間が未測定である場合がある。同様に、計算処理中の通信処理時間の通信参加演算装置数による理想通信処理時間が未測定である場合がある。このような場合、通信処理時間比較部１０１Ｄは、類似の通信データ長又は通信参加演算装置数による理想通信処理時間を評価対象であるＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理時間と比較する。若しくは、通信処理時間比較部１０１Ｄは、理想通信処理時間集計部１０１Ａを用いて理想通信処理時間の追加測定を実施する。
【０１０６】
類似の通信データ長又は通信参加演算装置数による理想通信処理時間が流用される場合、類似の通信データ長又は通信参加演算装置数による理想通信処理時間が使用される。未測定である理想通信処理時間は、流用元の理想通信処理時間を通信データ長又は通信参加演算装置数で内挿又は外挿することにより補間できる。理想通信処理時間のデータ補間は、通信データ長の補間、次いで通信参加演算装置数の補間の順番で行われることが望ましい。通信データ長、次いで通信参加演算装置数の順番でデータ補間を行うことにより、多重のデータ補間によるデータの誤差の蓄積を抑制できる。
【０１０７】
なお、本実施例に係るネットワーク評価装置１００を使用する際に、理想通信処理時間集計部１０１Ａにより、集計対象となる演算装置間の通信の種類、演算装置数及び通信処理時間を予め集計しておいてもよい。通信の種類は、例えば“ＭＰＩ＿Ｓｅｎｄ／ＭＰＩ＿Ｒｅｃｖ”（１対１通信）、“ＭＰＩ＿Ｂｃａｓｔ”（放送通信）、“ＭＰＩ＿Ｓｃａｔｔｅｒ”（分配通信）、“ＭＰＩ＿Ｇａｔｈｅｒ”（収集通信）及び“ＭＰＩ＿Ａｌｌｔｏａｌｌ”（転置通信）が設定されることが望ましい。演算装置数は、２のべき乗又は整数の２乗の値が設定されることが望ましい。通信データ長は、２のべき乗又は２のべき乗±１の値が設定されることが望ましい。しかし、集計対象となる並列計算機システムに係る通信パターン及び通信データ長が既知である場合は、既知である通信パターン及び通信データ長に絞って通信処理時間を集計してもよい。
【０１０８】
図８は、本実施例に係るＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間及び通信処理時間の取得方法の一例を示す。図８は、“ＭＰＩ＿Ｂｃａｓｔ”に係るＣＰＵ１１Ａ及びＣＰＵ１１Ｂ間の通信処理時間の取得方法の一例を示す。理想通信処理時間及び通信処理時間の測定は、演算装置１０ＡのＣＰＵ１１Ａに備えられたタイマ１２Ａ及び演算装置１０ＢのＣＰＵ１１Ｂに備えられたタイマ１２Ｂにより行われる。
【０１０９】
図８に示すように、ＣＰＵ１１Ａ及びＣＰＵ１１Ｂは、計算処理が行われていないときの通信処理開始時刻及び通信処理終了時刻の取得、理想通信処理時間の計算及び理想通信処理時間の記録を実行する。また、ＣＰＵ１１Ａ及びＣＰＵ１１Ｂは、計算処理が行われているときの通信処理開始時刻及び通信処理終了時刻の取得、通信処理時間の計算及び通信処理時間の記録を実行する。
【０１１０】
ＣＰＵ１１Ａ及びＣＰＵ１１Ｂは、一連の取得処理、計算処理及び記録処理を行うことにより、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間及び通信処理時間を取得する。また、本実施例の一連の取得処理、計算処理及び記録処理に使用されるプログラムの一部はＲＡＭ１３Ａ及びＲＡＭ１３Ｂに一時的に記録される。
【０１１１】
ＣＰＵ１１Ａは、一連の取得処理、計算処理及び記録処理によって取得されるＣＰＵ１１Ａの理想通信処理時間及び通信処理時間をＨＤＤ１４Ａに記録する。ＣＰＵ１１Ａは、ＨＤＤ１４Ａに記録された理想通信処理時間を理想通信処理時間集計部１０１Ａに送信する。ＣＰＵ１１Ａは、ＨＤＤ１４Ａに記録された通信処理時間を通信処理時間集計部１０１Ｃに送信する。
【０１１２】
ＣＰＵ１１Ｂは、一連の取得処理、計算処理及び記録処理によって取得されるＣＰＵ１１Ｂの理想通信処理時間及び通信処理時間をＨＤＤ１４Ｂに記録する。ＣＰＵ１１Ｂは、ＨＤＤ１４Ｂに記録された理想通信処理時間を理想通信処理時間集計部１０１Ａに送信する。ＣＰＵ１１Ｂは、ＨＤＤ１４Ｂに記録された通信処理時間を通信処理時間集計部１０１Ｃに送信する。
【０１１３】
図９は、本実施例のネットワーク評価装置１００において、集計された通信処理時間及び理想通信処理時間を示す図である。図９の横軸は、通信処理時間の集計対象である演算装置間、即ちＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信データ長（Ｂ）を示す。図９の縦軸は、通信処理時間の集計対象である演算装置間の１回毎の通信処理時間を示す。図９の黒四角は、通信処理時間集計部１０１Ｃによって集計された演算装置間の通信処理時間を示す。図９の実線は、通信処理時間比較部１０１Ｄによって推定された演算装置間の理想通信処理時間を示す。
【０１１４】
図９に示すように、通信処理時間は理想通信処理時間で示した通信処理時間と比較して大きな差異が発生する場合があることがわかる。通信処理時間と及び理想通信処理時間との間において通信処理時間に大きな差異がある部分が、通信オーバヘッドを削減する必要がある部分となることがわかる。
【０１１５】
図１０は、本実施例のネットワーク評価装置１００に係るＭＰＩ規格に準拠した通信処理ソフトウェアライブラリにおいて、通信に参加した演算装置数（ノード数）と通信処理時間（ミリ秒）との関係を示す図である。図１０の横軸は通信に参加した演算装置数を示す。図１０の縦軸は通信に参加した演算装置間、即ちＣＰＵ１１Ａ及びＣＰＵ１１Ｂ間の通信処理時間を示す。図１０の実線は、ＭＰＩ規格の放送通信において、情報処理装置１０００Ａに係る演算装置数に対応した通信処理時間を示す。図１０の破線は、ＭＰＩ規格の放送通信において、情報処理装置１０００Ｂに係る演算装置数に対応した通信処理時間を示す。なお、情報処理装置１０００Ａは、複数の演算装置が通信アルゴリズムＡにより実装されている。情報処理装置１０００Ｂは、複数の演算装置が通信アルゴリズムＢにより実装されている。
【０１１６】
図１０に示すように、情報処理装置１０００Ａにおいて、演算装置数が５の時、通信処理時間は概ね２．５ミリ秒となる。次いで、演算装置数が６のとき、通信処理時間は概ね３．３ミリ秒となる。即ち、演算装置数が５から６に増加したとき、情報処理装置１０００Ａにおける通信処理時間が急峻に増加していることがわかる。
【０１１７】
一方、情報処理装置１０００Ａにおいて、演算装置数が１２のとき、通信処理時間は概ね３．６ミリ秒となる。次いで、演算装置数が１３のとき、通信処理時間は概ね４．６ミリ秒となる。即ち、演算装置数が１２から１３に増加したとき、情報処理装置１０００Ａにおける通信処理時間が急峻に増加していることがわかる。
【０１１８】
情報処理装置１０００Ｂにおいて、演算装置数が４の時、通信処理時間は概ね１，７ミリ秒となる。次いで、演算装置数が５のとき、通信処理時間は概ね２．６ミリ秒となる。即ち、演算装置数が４から５に増加したとき、情報処理装置１０００Ｂにおける通信処理時間が急峻に増加していることがわかる。
【０１１９】
一方、情報処理装置１０００Ｂにおいて、演算装置数が７のとき、通信処理時間は概ね２．６ミリ秒となる。ついで、演算装置数が８のとき、通信処理時間は概ね１．８ミリ秒となる。即ち、演算装置数が７から８に増加したとき、情報処理装置１０００Ｂにおける通信処理時間が急峻に減少していることがわかる。
【０１２０】
上述したように、情報処理装置１０００Ａ及び情報処理装置１０００Ｂに係る演算装置数と通信処理時間との関係は、単なる正比例の関係ではないことがわかる。なお、情報処理装置１０００Ａに採用されている通信アルゴリズムＡ及び情報処理装置１０００Ｂに採用されている通信アルゴリズムＢの違いから、演算装置数と通信処理時間の関係が決定されることが推定される。
【０１２１】
図１１は、本実施例のネットワーク評価装置１００において、ＭＰＩ規格に準拠した通信処理ソフトウェアライブラリにおいて、通信データ長と通信処理時間との関係を示す図である。図１１の横軸は通信に参加した演算装置間、即ちＣＰＵ１１ＡとＣＰＵ１１Ｂとの間の通信データ長を示す。図１１の縦軸は通信に参加した演算装置間に係る通信処理時間を示す。図１１の実線は、ＭＰＩ規格の放送通信において、情報処理装置１０００Ａに係る通信データ長及び通信処理時間の関係を示す。図１１の破線は、ＭＰＩ規格の放送通信において、情報処理装置１０００Ｂに係る通信データ長及び通信処理時間の関係を示す。なお、情報処理装置１０００Ａは、複数の演算装置が通信アルゴリズムＡにより実装されている。情報処理装置１０００Ｂは、複数の演算装置が通信アルゴリズムＢにより実装されている。
【０１２２】
図１１に示すように、情報処理装置１０００Ａにおいて、通信データ長が４Ｂの時、通信処理時間は概ね６．６μ秒となる。通信データ長が８Ｂの時、通信処理時間は概ね６．９μ秒となる。通信データ長が１６Ｂの時、通信処理時間は概ね６．７μ秒となる。即ち、通信データ長が８Ｂから１６Ｂに増加するとき、情報処理装置１０００Ａにおける通信処理時間はほとんど増加しない。
【０１２３】
一方、情報処理装置１０００Ａにおいて、通信データ長が８１９２Ｂの時、通信処理時間は概ね４３．７μ秒となる。通信データ長が１６３８４Ｂの時、通信処理時間は概ね７６．４μ秒となる。通信データ長が３２７６８Ｂの時、通信処理時間は概ね１５２．８μ秒となる。即ち、通信データ長が８１９２Ｂから３２７６８Ｂに増加するとき、情報処理装置１０００Ａに係る通信処理時間は急峻に増加することがわかる。
【０１２４】
図１１に示すように、情報処理装置１０００Ｂにおいて、通信データ長が４Ｂの時、通信処理時間は概ね８．７μ秒となる。通信データ長が８Ｂの時、通信処理時間は概ね８．９μ秒となる。通信データ長が１６Ｂの時、通信処理時間は概ね９．１μ秒となる。即ち、通信データ長が８Ｂから１６Ｂに増加するとき、情報処理装置１０００Ｂにおける通信処理時間はほとんど増加しない。
【０１２５】
一方、情報処理装置１０００Ｂにおいて、通信データ長が８１９２Ｂの時、通信処理時間は概ね５４．３μ秒となる。通信データ長が１６３８４Ｂの時、通信処理時間は概ね１３１．３μ秒となる。通信データ長が３２７６８Ｂの時、通信処理時間は概ね２２９．７μ秒となる。即ち、通信データ長が８１９２Ｂから３２７６８Ｂに増加するとき、情報処理装置１０００Ｂにおける通信処理時間は急峻に増加することがわかる。
【０１２６】
上述したように、情報処理装置１０００Ａ及び情報処理装置１０００Ｂに係る通信データ長と通信処理時間との関係は、単なる正比例の関係とならないことがわかる。なお、情報処理装置１０００Ａに採用されている通信アルゴリズムＡ及び情報処理装置１０００Ｂに採用されている通信アルゴリズムＢの違いから、通信データ長と通信処理時間との関係が決定されることが推定される。
【０１２７】
図１２は、本実施例に係るネットワーク評価装置１００において、集計された通信オーバヘッドと理想通信処理時間との差から、通信オーバヘッドの削減目標値を算出するアプローチを示す模式図である。図１２の横軸は、通信処理時間の集計対象である演算装置間、即ちＣＰＵ１１Ａ及びＣＰＵ１１Ｂ間の通信データ長を示す。図１２の縦軸は、集計対象である演算装置間の１回の通信処理時間を示す。図１２の白四角は、理想通信処理時間集計部１０１Ａによって集計された演算装置間の理想通信処理時間を示す。図１２の黒丸は、通信処理時間集計部１０１Ｃによって集計された演算装置間の通信処理時間を示す。図１２の破線は、通信処理時間比較部１０１Ｄによって推定された演算装置間の理想通信処理時間を示す。なお、通信処理時間比較部１０１Ｄによって理想通信処理時間を推定する際に、演算装置間の理想通信処理時間のデータが不足する場合がある。演算装置間の理想通信処理時間のデータが不足する場合は、理想通信処理時間集計部１０１Ａによって理想通信処理時間の追加測定が行われる。図１２の矢印は、理想通信処理時間と通信処理時間との差分を示す。差分が大きいデータは、通信処理時間比較部１０１Ｄによって有意差があると判定される。
【０１２８】
図１２に示すように、通信処理時間比較部１０１Ｄは、理想通信処理時間と通信処理時と間の差分を比較し、差分の大きいデータに有意差が有るか否かを判定する。そして、図２のＳ７に示すように、通信処理時間比較部１０１Ｄは、判定されたデータを通信オーバヘッド削減目標値として算出し、モニタ１７に出力する。
【０１２９】
本実施例に係るネットワーク評価装置１００、ネットワーク評価方法及びネットワーク評価プログラムによれば、理想通信処理時間集計部１０１Ａは、計算プログラムをＣＰＵ１１Ａ及びＣＰＵ１１Ｂで実行しない状態で評価対象となるＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の理想通信処理時間を測定する。次いで、通信処理時間集計部１０１Ｃは、ＣＰＵ１１Ａ及びＣＰＵ１１Ｂで計算プログラムを実行している状態でのＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信処理時間を測定する。通信処理時間比較部１０１Ｄは、理想通信処理時間及び通信処理時間を比較し、理想通信処理時間と通信処理時間との時間差を出力する。そのため、ＣＰＵ１１Ａ−ＣＰＵ１１Ｂ間の通信オーバヘッドを容易に評価することができる。複数のプロセッサ間における通信オーバヘッドを容易に評価することができるため、使用するプロセッサの数を増加させた際のプログラム処理の高速化の限界を容易に把握することができる。
【産業上の利用可能性】
【０１３０】
開示の技術によれば、第１通信処理時間集計部は、複数のプロセッサがプログラムを実行していない状態で複数のプロセッサ間の第１通信処理時間を集計する。次いで、第２通信処理時間集計部は、複数のプロセッサがプログラムを複数のプロセッサで実行している状態で複数のプロセッサ間の第２通信処理時間を集計する。通信処理時間比較部で第１通信処理時間及び第２通信処理時間を比較し、第１通信処理時間と前記第２通信処理時間との時間差を出力することにより、複数のプロセッサ間における通信オーバヘッドを容易に評価することができる。複数のプロセッサ間における通信オーバヘッドを容易に評価することができるため、使用するプロセッサの数を増加させた際のプログラム処理の高速化の限界を容易に把握することができる。
【符号の説明】
【０１３１】
１０Ａ  演算装置
１０Ｂ  演算装置
１１Ａ  ＣＰＵ
１１Ｂ  ＣＰＵ
１２Ａ  タイマ
１２Ｂ  タイマ
１３Ａ  ＲＡＭ
１３Ｂ  ＲＡＭ
１４Ａ  ＨＤＤ
１４Ｂ  ＨＤＤ
１５  ネットワーク
１６  ＬＡＮ
１７  モニタ
１８Ａ  バス
１８Ｂ  バス
１００  ネットワーク評価装置
１０１  ＣＰＵ
１０１Ａ  理想通信処理時間集計部
１０１Ｂ  理想通信処理時間記録部
１０１Ｃ  通信処理時間集計部
１０１Ｄ  通信処理時間比較部
１０２  ＲＡＭ
１０２Ａ  評価プログラム
１０３  ＨＤＤ
１０３Ａ  理想通信処理時間記録テーブル
１０３Ａ１  フィールド
１０３Ａ２  フィールド
１０３Ａ３  フィールド
１０３Ａ４  フィールド
１０３Ａ５  フィールド
１０３Ａ６  フィールド
１０４  グラフィック処理装置
１０５  通信インタフェース
１０６  バス
１３０Ａ  計算プログラム
１３０Ｂ  計算プログラム
１０００  情報処理装置
１０００Ａ  情報処理装置
１０００Ｂ  情報処理装置
【図１】
0005527416.tif 000002
【図２】
0005527416.tif 000003
【図３】
0005527416.tif 000004
【図４】
0005527416.tif 000005
【図５】
0005527416.tif 000006
【図６】
0005527416.tif 000007
【図７】
0005527416.tif 000008
【図８】
0005527416.tif 000009
【図９】
0005527416.tif 000010
【図１０】
0005527416.tif 000011
【図１１】
0005527416.tif 000012
【図１２】
0005527416.tif 000013