(57)【要約】【課題】より簡便にハードウェアの性能を測定する計算機性能測定システム、及び計算機性能測定方法を提供する。【解決手段】複数のハードウェアの各々について、一つの命令を実行するのに必要な時間の平均値である平均性能値を格納したデータベースと、プログラムを前記複数のハードウェアのうちの一のハードウェアに実行させるプログラム実行装置と、前記プログラム実行装置が測定対象のプログラムである測定対象プログラムを実行させた際に、命令数をカウントする命令数カウント部と、前記測定対象プログラムが前記一のハードウェアにより実行された際に、前記命令数と前記平均性能値とに基いて、前記測定対象プログラムが前記複数のハードウェアのうちの他のハードウェアで実行される場合に要する時間を算出するデータ処理部と、を具備する。【選択図】        図１
2006277694.tif 000002
【特許請求の範囲】
【請求項１】
複数のハードウェアの各々について、一つの命令を実行するのに必要な時間の平均値である平均性能値を格納したデータベースと、
プログラムを前記複数のハードウェアのうちの一のハードウェアに対し実行するプログラム実行装置と、
前記プログラム実行装置が測定対象のプログラムである測定対象プログラムを実行させた際に、命令数をカウントする命令数カウント部と、
前記測定対象プログラムが前記一のハードウェアにより実行された際に、前記命令数と前記平均性能値とに基いて、前記測定対象プログラムが前記複数のハードウェアのうちの他のハードウェアで実行される場合に要する時間を算出するデータ処理部と、
を具備した
計算機性能測定システム。
【請求項２】
請求項１に記載された計算機性能測定システムであって、
更に、
前記プログラム実行装置がプログラムを実行させた際に、実行に要した時間を測定する実行時間測定部
を具備し、
前記データ処理部は、第１サンプルプログラムが前記一のハードウェア上で実行された際に、前記命令数カウント部によりカウントされた前記第１サンプルプログラムの命令数と、前記実行時間測定部により測定された前記第１サンプルプログラムの実行に要した時間と、に基いて、前記第１サンプルプログラムの一命令が前記一のハードウェア上で実行されるのに必要な時間の平均を算出し、前記一のハードウェアの前記平均性能値として前記データベースに格納する
計算機性能測定システム。
【請求項３】
請求項2に記載された計算機性能測定システムであって、
前記データ処理部は、前記第１サンプルプログラムが前記一のハードウェア上で実行されて前記平均性能値が前記データベースに格納された後に、第２サンプルプログラムが前記一のハードウェア上で実行された場合において、前記一のハードウェアの前記平均性能値を更新する
計算機性能測定システム。
【請求項４】
請求項３に記載された計算機性能測定システムであって、
前記データ処理部は、第１サンプルプログラムが前記一のハードウェア上で実行された際に、前記第１サンプルプログラムの命令数と、前記第１サンプルプログラムの実行に要した時間と、前記第１サンプルプログラムの一命令が前記一のハードウェア上で実行されるのに必要な時間の平均と、を前記第１サンプルプログラムと対応付けて前記データベースに格納し、前記第２サンプルプログラムが前記一のハードウェア上で実行された場合において、前記第１サンプルプログラムの命令数、前記第１サンプルプログラムの実行に要した時間、前記第２サンプルプログラムの命令数、及び前記第２サンプルプログラムの実行に要した時間、に基いて、前記一のハードウェアの前記平均性能値を更新する
計算機性能測定システム。
【請求項５】
複数のハードウェアの各々について、一つの命令を実行するのに必要な時間の平均値である平均性能値を格納したデータベースと、
プログラムを前記複数のハードウェアのうちの一のハードウェアに実行させるプログラム実行装置と、
前記プログラム実行装置が測定対象のプログラムである測定対象プログラムを実行させた際に、前記測定対象プログラムの所定の区間の命令数をカウントする命令数カウント部と、
前記測定対象プログラムが前記一のハードウェアにより実行された際に、前記命令数と前記平均性能値とに基いて、前記測定対象プログラムの所定の区間が前記複数のハードウェアのうちの他のハードウェアで実行される場合に要する時間を算出するデータ処理部と、
を具備した
計算機性能測定システム。
【請求項６】
複数のハードウェアの各々について、一つの命令を実行するのに必要な時間の平均値である平均性能値を格納したデータベースを与えるデータベース作成ステップと、
プログラムを複数のハードウェアのうちの一のハードウェアに実行させるプログラム実行装置を与えるステップと、
前記プログラム実行装置が測定対象のプログラムである測定対象プログラムを実行した際に、命令数をカウントする命令数カウント部を与えるステップと、
前記データベース及び前記命令数カウント部にアクセス可能なデータ処理部を与えるステップと、
前記プログラム実行装置が測定対象のプログラムである測定対象プログラムを前記複数のハードウェアのうちの一のハードウェア上で実行するステップと、
前記命令数カウント部が、前記測定対象プログラムの命令数をカウントするステップと、
前記データ処理部が、前記命令数カウント部がカウントした前記測定対象プログラムの命令数と、前記データベースに格納された前記平均性能値に基いて、前記測定対象プラグラムを前記複数のハードウェアのうちの他のハードウェア上で実行させる時に必要とする時間を算出するステップと、
を具備した
計算機性能測定方法。
【請求項７】
請求項６に記載された計算機性能測定方法であって、
更に、
前記プログラム実行装置がプログラムを実行させた際に、実行に要した時間を測定する実行時間測定部を与えるステップ
を具備し、
前記データベース作成ステップは、
前記プログラム実行装置が前記一のハードウェア上で第１サンプルプログラムを実行するステップと、
前記命令数カウント部が前記第１サンプルプログラムの命令数をカウントするステップと、
前記実行時間測定部が、前記第１サンプルプログラムの実行に要する時間を測定するステップと、
前記データ処理部が、前記第１サンプルプログラムの命令数と実行に要した時間とに基いて、前記第１サンプルプログラムの一命令が実行されるのに必要な時間の平均を算出するステップと、
前記データ処理部が、前記第１サンプルプログラムの一命令が実行されるのに必要な時間の平均を、前記一のハードウェアの前記平均性能値としてを前記データベースに格納する平均性能値格納ステップと、
を備える
計算機性能測定方法。
【請求項８】
請求項７に記載された計算機性能測定方法であって、
前記データベース作成ステップは、
前記平均性能値格納ステップの後に、前記プログラム実行装置が前記ハードウェア上で第２サンプルプログラムを実行させるステップと、
前記データ処理部が前記平均性能値を更新する平均性能値更新ステップと、
を備える
計算機性能測定方法。
【請求項９】
請求項８に記載された計算機性能測定システムであって、
前記データベース作成ステップは、
前記データ処理部が前記第１サンプルプログラムの命令数と、前記第１サンプルプログラムの実行に要した時間と、前記第１サンプルプログラムの一命令が前記一のハードウェア上で実行されるのに必要な時間の平均と、を前記第１サンプルプログラムと対応付けて前記データベースに格納するステップ、
を備え、
前記平均性能値更新ステップは、
前期データ処理部が、前記第１サンプルプログラムの命令数、前記第１サンプルプログラムの実行に要した時間、前記第２サンプルプログラムの命令数、及び前記第２サンプルプログラムの実行に要した時間、に基いて、前記一のハードウェアの前記平均性能値を更新するステップ
を備える
計算機性能測定方法。
【請求項１０】
複数のハードウェアの各々について、一つの命令を実行するのに必要な時間の平均値である平均性能値を格納したデータベースを与えるデータベース作成ステップと、
プログラムを複数のハードウェアのうちの一のハードウェアに実行させるプログラム実行装置を与えるステップと、
前記プログラム実行装置が測定対象のプログラムである測定対象プログラムを実行した際に、前記測定対象プログラムの所定区間の命令数をカウントする命令数カウント部を与えるステップと、
前記データベース及び前記命令数カウント部にアクセス可能なデータ処理部を与えるステップと、
前記プログラム実行装置が測定対象のプログラムである測定対象プログラムを前記複数のハードウェアのうちの一のハードウェア上で実行するステップと、
前記命令数カウント部が、前記測定対象プログラムの所定区間の命令数をカウントするステップと、
前記データ処理部が、前記命令数カウント部がカウントした前記測定対象プログラムの所定区間の命令数と、前記データベースに格納された前記平均性能値に基いて、前記測定対象プラグラムの所定区間を前記複数のハードウェアのうちの他のハードウェア上で実行させる時に必要とする時間を算出するステップと、
を具備した
計算機性能測定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ハードウェア上におけるプログラムの実行性能を計測するための計算機性能測定システム及び計算機性能測定方法に関する。
【背景技術】
【０００２】
複数のハードウェア間でソフトウェアの実行性能を比較する為に、ハードウェアのソフトウェア実行時間を測定して比較する方法が知られている。複数のハードウェア間でソフトウェアの実行性能を比較する場合には、実際に複数のハードウェアの各々でそのソフトウェアを実行してその性能を計測する必要があった。このような計算機性能測定方法においては、ソフトウェアをハードウェアを代えて何度も実行させる必要があるために、ハードウェアの数に比例して、性能測定に必要なコストが大きくなっていた。よって、より簡便にハードウェアの性能を測定する方法の提供が望まれている。
【０００３】
上記と関連して、特許文献１には、装置各部の動作状況を測定する測定部を有する情報処理装置において、測定対象となるアプリケーションプログラムを特定する為の情報の入力を受ける入力受付手段と、
前記入力受付手段から入力された情報によって特定されたアプリケーションプログラムを記憶装置から取得するアプリケーションプログラム取得手段と、
前記測定部からアプリケーションプログラム実行前の測定値を取得して格納する第１の測定値格納手段と、
前記アプリケーションプログラム取得手段によって取得されたアプリケーションプログラムを実行するアプリケーションプログラム実行手段と、
前記アプリケーションプログラムの所定の処理単位の処理が終了した場合には、前記測定部からその時点における測定値を取得する第２の測定値格納手段と、
前記第１の測定値格納手段の記憶されている測定値と、
前記第２の測定値格納手段に記憶されている測定値の差分を求めることにより、前記アプリケーションプログラムの所定の処理単位の実行に係る測定値を算出する算出手段と、
前記算出手段によって算出された前記アプリケーションプログラムの所定の処理単位の実行に係る測定値を表示させる表示手段と、
を有することを特徴とする情報処理装置、
が開示されている。
【０００４】
更に、上記と関連して、特許文献２には、複数の命令コードをランダムに発生し、命令処理手段の制御の基に前記命令コードに応じた処理を行う情報処理装置において、前記複数の命令コードの中から、測定対象の命令コードを抽出する命令コード抽出手段と、該命令コード抽出手段が抽出した測定対象の命令コードが、測定中である旨を示すフラグをセットする測定中フラグセット手段と、該測定中フラグセット手段が前記測定中フラグをセットした場合に、他の命令コードの測定を排除する測定排除手段と、
前記測定中フラグセット手段がセットした命令コードの命令実行時間を測定する命令実行時間測定手段とを備えたことを特徴とする情報処理装置、
が開示されている。
【０００５】
しかしながら上述の文献には、比較する対象のハードウェアの数が増えるほど、ハードウェアの性能測定に必要なコストが増える課題を解決する手段については何らの記載もない。
【０００６】
【特許文献１】特開２０００−１４８５２６号  公報
【特許文献２】特開２００１−１４１９０号  公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
即ち、本発明の目的はより簡便にハードウェアの性能を測定する計算機性能測定システム、及び計算機性能測定方法を提供することである。
【０００８】
更に、本発明の他の目的は、比較する対象のハードウェアの数が増えるほど、ハードウェアの性能測定に必要なコストが増える課題を解決する計算機性能測定システム、及び計算機性能測定方法を提供することである。
【課題を解決するための手段】
【０００９】
以下に、［発明の実施の形態］で使用される番号・符号を用いて、課題を解決する為の手段を説明する。これらの番号・符号は［特許請求の範囲］の記載と［発明の実施の形態］の記載との対応関係を明らかにする為に付加されている。但し、付加された番号・符号は［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１０】
本発明に係る計算機性能測定システム（７０）は、
複数のハードウェアの各々について、一つの命令を実行するのに必要な時間の平均値である平均性能値を格納したデータベース（３０）と、
プログラムをその複数のハードウェアのうちの一のハードウェアに実行させるプログラム実行装置（１３０）と、
プログラム実行装置（１３０）が測定対象のプログラムである測定対象プログラムを実行させた際に、命令数をカウントする命令数カウント部（１３１）と、
その測定対象プログラムがその一のハードウェアにより実行された際に、その命令数とその平均性能値とに基いて、その測定対象プログラムがその複数のハードウェアのうちの他のハードウェアで実行される場合に要する時間を算出するデータ処理部（１４０）と、
を備える。
このような構成に依れば、予めデータベース（３０）に複数のハードウェアの各々について、一つの命令を実行するのに必要な時間の平均値を格納してある為に、測定対象のプログラムを、その複数のハードウェアのうちの一のハードウェア５０上で実行させるだけで、他の全てのハードウェア上でその測定対象プログラムを実行した場合に要する時間の概算を得ることができる。よって、複数のハードウェアの夫々について、その測定対象プログラムを実行する必要がなく、ユーザの負担が低減される。
【００１１】
本発明に係る計算機性能測定システム（７０）は、
更に、
プログラム実行装置（１３０）がプログラムを実行させた際に、実行に要した時間を測定する実行時間測定部（１３２）
備え、
データ処理部（１４０）は、第１サンプルプログラムがその一のハードウェア上で実行された際に、命令数カウント部（１３１）によりカウントされた前記第１サンプルプログラムの命令数と、実行時間測定部（１３２）により測定された前記第１サンプルプログラムの実行に要した時間と、に基いて、その第１サンプルプログラムの一命令がその一のハードウェア上で実行されるのに必要な時間の平均を算出し、その一のハードウェアのその平均性能値としてデータベース（３０）に格納する。
上述のように、実行時間測定部（１３１）及び命令数カウント部（１３１）により測定されたサンプルプログラムの命令数及び実行時間を用いることで、一のハードウェア（５０）上における平均性能値を算出することができる。
【００１２】
本発明に係る計算機性能測定システム（７０）において、
データ処理部（１４０）は、その第１サンプルプログラムがその一のハードウェア上で実行されてその平均性能値がデータベース（３０）に格納された後に、第２サンプルプログラムがその一のハードウェア上で実行された場合において、その一のハードウェアのその平均性能値を更新する。
上述のように、既にサンプルプログラムが一のハードウェア（５０）で実行されて、平均性能値がデータベース（３０）に格納されている場合において、他のサンプルプログラムである第２サンプルプログラムが実行された場合、第１サンプルプログラムと第２サンプルプログラムの双方の命令数及び実行時間を考慮して平均性能値が更新される。これにより、平均性能値を用いたその他のハードウェア上における測定対象プログラムの実行時間の計算を、更に正確に行うことが可能である。
【００１３】
本実施の形態に係る計算機性能測定システム（７０）において、
データ処理部（１４０）は、第１サンプルプログラムがその一のハードウェア（５０）上で実行された際に、その第１サンプルプログラムの命令数と、その第１サンプルプログラムの実行に要した時間と、その第１サンプルプログラムの一命令がその一のハードウェア（５０）上で実行されるのに必要な時間の平均と、をその第１サンプルプログラムと対応付けてデータベース（３０）に格納し、その第２サンプルプログラムがその一のハードウェア上で実行された場合において、その第１サンプルプログラムの命令数、その第１サンプルプログラムの実行に要した時間、その第２サンプルプログラムの命令数、及びその第２サンプルプログラムの実行に要した時間、に基いて、一のハードウェア（５０）のその平均性能値を更新する。
【００１４】
本発明に係る計算機性能測定システム（７０）は、
複数のハードウェアの各々について、一つの命令を実行するのに必要な時間の平均値である平均性能値を格納したデータベース（３０）と、
プログラムを前記複数のハードウェアのうちの一のハードウェアに実行させるプログラム実行装置（１３０）と、
プログラム実行装置（１３０）が測定対象のプログラムである測定対象プログラムを実行させた際に、その測定対象プログラムの所定の区間の命令数をカウントする命令数カウント部（１３１）と、
その測定対象プログラムがその一のハードウェアにより実行された際に、その命令数とその平均性能値とに基いて、その測定対象プログラムの所定の区間がその複数のハードウェアのうちの他のハードウェアで実行される場合に要する時間を算出するデータ処理部（１４０）と、
を備える。
【００１５】
本発明に係る計算機性能測定方法は、
複数のハードウェアの各々について、一つの命令を実行するのに必要な時間の平均値である平均性能値を格納したデータベース（３０）を与えるデータベース作成ステップと、
プログラムを複数のハードウェアのうちの一のハードウェアに実行させるプログラム実行装置（１３０）を与えるステップと、
そのプログラム実行装置が測定対象のプログラムである測定対象プログラムを実行した際に、命令数をカウントする命令数カウント部（１３１）を与えるステップと、
データベース（３０）及び命令数カウント部（１３１）にアクセス可能なデータ処理部（１４０）を与えるステップと、
プログラム実行装置（１３０）が測定対象のプログラムである測定対象プログラムをその複数のハードウェアのうちの一のハードウェア上で実行するステップと、
命令数カウント部（１３１）が、その測定対象プログラムの命令数をカウントするステップと、
データ処理部（１４０）が、命令数カウント部（１３１）がカウントしたその測定対象プログラムの命令数と、データベース（３０）に格納されたその平均性能値に基いて、その測定対象プラグラムをその複数のハードウェアのうちの他のハードウェア上で実行させる時に必要とする時間を算出するステップと、
を備える。
【００１６】
本発明に係る計算機性能測定方法は、
更に、
プログラム実行装置（１３１）がプログラムを実行させた際に、実行に要した時間を測定する実行時間測定部（１３２）を与えるステップ
を備え、
そのデータベース作成ステップは、
プログラム実行装置（１３１）がその一のハードウェア上で第１サンプルプログラムを実行するステップと、
命令数カウント部（１３１）がその第１サンプルプログラムの命令数をカウントするステップと、
実行時間測定部（１３２）が、その第１サンプルプログラムの実行に要する時間を測定するステップと、
データ処理部（１４０）が、その第１サンプルプログラムの命令数と実行に要した時間とに基いて、その第１サンプルプログラムの一命令が実行されるのに必要な時間の平均を算出するステップと、
データ処理部（１４０）が、その第１サンプルプログラムの一命令が実行されるのに必要な時間の平均を、その一のハードウェアの前記平均性能値としてデータベース（３０）に格納する平均性能値格納ステップと、
を備える。
【００１７】
本発明に係る計算機性能測定方法において、
そのデータベース作成ステップは、
その平均性能値格納ステップの後に、プログラム実行装置（１３０）がその一のハードウェア上で第２サンプルプログラムを実行させるステップと、
データ処理部（１４０）がその平均性能値を更新する平均性能値更新ステップと、
を備える。
【００１８】
本発明に係る計算機性能測定方法において、
そのデータベース作成ステップは、
データ処理部（１４０）がその第１サンプルプログラムの命令数と、その第１サンプルプログラムの実行に要した時間と、その第１サンプルプログラムの一命令がその一のハードウェア（５０）上で実行されるのに必要な時間の平均と、をその第１サンプルプログラムと対応付けてデータベース（３０）に格納するステップ、
を備え、
その平均性能値更新ステップは、
データ処理部（１４０）が、その第１サンプルプログラムの命令数、その第１サンプルプログラムの実行に要した時間、その第２サンプルプログラムの命令数、及びその第２サンプルプログラムの実行に要した時間、に基いて、その一のハードウェア（５０）のその平均性能値を更新するステップ
を備える。
【００１９】
本発明に係る計算機性能測定方法は、
複数のハードウェアの各々について、一つの命令を実行するのに必要な時間の平均値である平均性能値を格納したデータベース（３０）を与えるデータベース作成ステップと、
プログラムを複数のハードウェアのうちの一のハードウェアに実行させるプログラム実行装置（１３０）を与えるステップと、
プログラム実行装置（１３０）が測定対象のプログラムである測定対象プログラムを実行した際に、その測定対象プログラムの所定区間の命令数をカウントする命令数カウント部（１３１）を与えるステップと、
データベース（３０）及び命令数カウント部（１３１）にアクセス可能なデータ処理部（１４０）を与えるステップと、
プログラム実行装置（１３０）が測定対象のプログラムである測定対象プログラムをその複数のハードウェアのうちの一のハードウェア上で実行するステップと、
命令数カウント部（１３１）が、その測定対象プログラムの所定区間の命令数をカウントするステップと、
データ処理部（１４０）が、命令数カウント部（１３１）がカウントしたその測定対象プログラムの所定区間の命令数と、データベース（３０）に格納されたその平均性能値に基いて、その測定対象プラグラムの所定区間をその複数のハードウェアのうちの他のハードウェア上で実行させる時に必要とする時間を算出するステップと、
を備える。
【発明の効果】
【００２０】
本発明によれば、簡便にハードウェアの性能を測定する計算機性能測定システム、及び計算機性能測定方法が提供される。
【００２１】
更に本発明に依れば、比較する対象のハードウェアの数が増えるほど、ハードウェアの性能測定に必要なコストが増える課題を解決する計算機性能測定システム、及び計算機性能測定方法が提供される。
【発明を実施するための最良の形態】
【００２２】
（第１の実施形態）
本発明の第１の実施形態について図面を参照して詳細に説明する。
【００２３】
（構成）
図１は本実施の形態における計算機性能測定システム７０の全体の構成を示す図である。計算機性能測定システム７０はプログラム実行装置１３０、命令数カウント部１３１、実行時間測定部１３２、計測対象プログラム記憶部１０１、計測対象プログラム保存部２０、計測制御部１２０、データ処理部１４０、計測開始/周郎命令発行部１１０、データベース３０、出力部４０、及び出力装置６０を備えている。
【００２４】
計測対象プログラム保存部２０には、データベース３０を作成する為のプログラムである少なくとも一つのサンプルプログラムと、被測定対象である少なくとも一つの測定対象プログラムが保存されている。尚、本実施の形態におけるプログラムは複数の命令を有している。
【００２５】
計測対象対象プログラム記憶部１０１はメモリ等の記憶装置であり、計測対象プログラム保存部２０に保存されたプログラムを読み込み、記憶する機能を実現する。
【００２６】
プログラム実行装置１３０は計測対象プログラム記憶部１０１に読み込まれたプログラムを複数のハードウェアのうちの一のハードウェア５０に実行させる機能を実現する。ハードウェア５０は、プログラム実行装置１３０がプログラムを実行するにあたり中心的な役割を担う部分を概念的に示したものであり、例えば、プロセッサエレメント、バス、ＲＯＭ（Read only Memory）、RAM(Random Access Memory)等によって構成されている。
【００２７】
命令数カウント部１３１は、ハードウェア、ソフトウェア、及びそれらの組み合わせにより実現される。命令数カウント部１３１はプログラム実行装置１３０が計測対象プログラム記憶部１０１に読み込まれたプログラムをその一のハードウェア５０上で実行させた際に、実行された命令数をカウントする機能を実現する。また、命令数カウント部は、カウントした命令数をデータ処理部１４０へ通知する機能を実現する。
【００２８】
実行時間測定部１３２は、ハードウェア、ソフトウェア、及びそれらの組み合わせにより実現される。実行時間測定部１３２は、プログラム実行装置１３０が計測対象プログラム記憶部１０１に読み込まれたプログラムをその一のハードウェア５０上で実行させた際に、実行に要した時間を測定する機能を実現する。また、実行時間測定部１３２は、測定した時間をデータ処理部１４０へ通知する機能を実現する。
【００２９】
計測制御部１２０はコンピュータにより実現可能なプログラムである。計測制御部１２０は、命令数カウント部１３１が計測対象プログラム記憶部１０１に読み込まれたプログラムの命令数をカウントするように命令数カウント部１３１を制御する機能を実現する。即ち、計測制御部１２０は、プログラムが一のハードウェア５０上で実行されると、命令数カウント部１３１に、プログラムの命令数をカウントするように指示する。また、計測制御部１２０は、実行時間測定部１３２が、計測対象プログラム記憶部１０１に読み込まれたプログラムがその一のハードウェア５０上で実行されるのに要する時間を測定するように、実行時間測定部１３２を制御する機能を実現する。即ち、計測制御部１２０は、プログラムが一のハードウェア５０上で実行されると、実行時間測定部１３２に、プログラムが実行されるのに要する時間を測定するように指示する。
【００３０】
図５はデータベース３０に格納された内容を示す概念図である。データベース３０は、複数のハードウェアの各々と対応付けて、平均性能値とソフトウェア性能情報管理テーブルとを格納している。その平均性能値は、ハードウェアが一つの命令を実行するのに必要な時間の平均値である。図６は、そのソフトウェア性能情報管理テーブルの内容を示す概念図である。そのソフトウェア性能情報管理テーブルは、複数のプログラムの各々と対応付けて、プログラムの命令数、ハードウェア上でそのプログラムを実行するために要する時間、及びその一のハードウェア上でそのプログラムの一命令を実行するために要する時間の平均値、を格納している。更に、そのソフトウェア性能情報管理テーブルは、そのプログラム実行時間が実測値であるか計算値であるかを示すフラグをプログラムと対応付けて格納している。尚、データベース３０の作成方法は後述する。
【００３１】
データ処理部１４０はコンピュータにより実現可能なプログラムである。データ処理部１４０は、サンプルプログラムである第１サンプルプログラムがハードウェア５０上で実行された際に、命令数カウント部１３１から通知されたその第１サンプルプログラムの命令数と、実行時間測定部１３２から通知されたその第１サンプルプログラムの実行に要した時間と、に基いて、一のハードウェア５０上におけるその第１サンプルプログラムの一命令が実行されるのに要する時間の平均を算出し、ハードウェア５０の平均性能値としてデータベース３０に格納するとともに、出力部４０に出力する機能を実現する。
【００３２】
また、データ処理部１４０は、その第１サンプルプログラム、その第１サンプルプログラムの命令数、その第１サンプルプログラムの実行に要した時間、及びそのサンプルプログラムの一命令が実行されるのに要する時間の平均、を対応付けて示すソフトウェア性能情報管理テーブルを作成し、その一のハードウェア５０と対応付けてデータベース３０に格納する機能を実現する。
【００３３】
更に、データ処理部１４０は、一のハードウェア５０上において、第１サンプルプログラムが実行された後に第２サンプルプログラムが実行された場合に、命令数カウント部１３１及び実行時間測定部から取得した、第２サンプルプログラムの命令数と第２サンプルプログラムの実行に要した時間とに基いて、ハードウェア５０として格納されたその平均性能値を更新するとともに、出力部４０に出力する機能を実現する。尚、更新の具体的方法については後述する。
【００３４】
更に、データ処理部１４０は、一のハードウェア５０上で性能測定の対象である測定対象プログラムが実行された場合に、命令数カウント部１３１から通知されたその測定対象プログラムの命令数と、データベース３０に格納された一のハードウェア５０の平均性能値とに基いて、その測定対象プログラムをその他のハードウェア上で実行させた場合に要する時間を計算し、ハードウェアと対応付けてデータベース３０に格納するとともに、出力部４０に出力する機能を実現する。
【００３５】
出力部４０は、データ処理部１４０から取得した内容をユーザに通知する機能を実現する。出力部４０としては、例えば表示装置が挙げられる。
【００３６】
（動作方法）
続いて、本実施の形態に係る計算機性能測定システム７０による計算機性能測定方法について説明する。図２は、その計算機測定方法の動作の全体の流れを示すフローチャートである。本実施の形態に係る計算機性能測定方法は、データベース作成ステップ（Ｓ１００）、測定対象プログラムを実行するステップ（Ｓ２００）、命令数をカウントするステップ（Ｓ３００）、実行時間を測定する実行時間測定ステップ（Ｓ４００）、他のハードウェアにおける実行時間の概算を計算する計算ステップ（Ｓ５００）、及び出力ステップ（Ｓ６００）を備えている。以下に、各ステップの詳細について詳述する。
【００３７】
データベース作成ステップ（Ｓ１００）
図３はデータベース作成ステップのフローチャートを示している。データベース作成ステップは、第１サンプルプログラム実行ステップ（Ｓ１１０）、命令数カウントステップ（Ｓ１２０）、実行時間測定ステップ（Ｓ１３０）、平均時間計算ステップ（Ｓ１４０）、格納ステップ（Ｓ１５０）、及び更新ステップ（Ｓ１６０）を備えている。
【００３８】
まず、第１サンプルプログラム実行ステップ（Ｓ１１０）において、計測対象プログラム記憶部１０１に読み込まれた第１サンプルプログラムが、プログラム実行装置１３０により、その一のハードウェア５０上で実行される。第１サンプルプログラムが、その一のハードウェア５０上で実行されると、計測制御部１２０が命令数カウント部１３１及び実行時間測定部１３２に測定開始を指示する。
【００３９】
続いて、命令数カウントステップ（Ｓ１２０）において、計測制御部１２０から測定開始の指示を受けた命令数カウント部１３１が、その第１サンプルプログラムの命令数のカウントを行う。第１サンプルプログラムの実行が終了し、計測制御部１２０が命令数カウント部１３１に測定終了を指示すると、命令数カウント部１３１は命令数のカウントを終了し、結果をデータ処理部１４０へ通知する。
【００４０】
実行時間測定ステップ（Ｓ１３０）においても、実行時間測定部１３２が計測制御部１２０から測定開始指示を受けると、その第１サンプルプログラムがハードウェア５０上で実行される時間の測定を開始する。第１サンプルプログラムの実行が終了し、計測制御部１２０が実行時間測定部１３２に測定終了を指示すると、実行時間測定部１３２は実行時間の測定を終了し、結果をデータ処理部１４０へ通知する。
【００４１】
続いて、平均時間計算ステップ（Ｓ１４０）において、データ処理部１４０が命令数カウント部１３１から通知されたその第１サンプルプログラムの命令数と、実行時間測定部１３２から通知されたその第１サンプルプログラムの実行時間と、に基いて、ハードウェア５０上における第１サンプルプログラムの一命令の実行時間の平均値が計算される。
【００４２】
続いて、格納ステップ（Ｓ１５０）において、データ処理部１４０により計算されたハードウェア５０上における第１サンプルプログラムの一命令の実行時間の平均値が、ハードウェア５０の平均性能値としてデータベース３０に格納される。
また、データ処理部１４０は、その第１サンプルプログラムと、その第１サンプルプログラムの命令数と、その第１サンプルプログラムの一命令の実行時間の平均値と、その一命令の実行時間の平均値が実測値である旨を表すフラグとを第１サンプルプログラムと対応付けて記述したソフトウェア性能情報管理テーブルを生成し、ハードウェア５０上で第１サンプルプログラムが実行された場合のソフトウェア性能情報管理テーブルとしてデータベース３０に格納する。更に、データ処理部４０はここでデータベース３０に格納された内容を出力部４０に出力する。
【００４３】
上述の第１サンプルプログラム実行ステップ（Ｓ１１０）〜格納ステップ（Ｓ１５０）までの動作は、複数のハードウェアの夫々に対しても行われる。これにより、複数のハードウェアの夫々の平均性能値がハードウェアと対応付けてデータベース３０に格納される。また、複数のハードウェアの夫々において、ソフトウェア性能情報管理テーブルがその第１サンプルプログラムと対応付けられて格納される。更に、データ処理部４０はここでデータベース３０に格納された内容を出力部４０に出力する。
【００４４】
その一のハードウェア５０上において、その第１サンプルプログラムが実行された後に第２サンプルプログラムが実行された場合には、更新ステップ（Ｓ１６０）によりデータベース３０に格納されたハードウェア５０の平均性能値が更新される。図４は更新ステップ（Ｓ１６０）の動作流れを示すフローチャートである。即ち、更新ステップ（Ｓ１６０）は、第２サンプルプログラム実行ステップ（Ｓ１６１）、命令数カウントステップ（Ｓ１６２）、実行時間測定ステップ（Ｓ１６３）、平均時間算出ステップ（Ｓ１６４）、及び平均性能値更新ステップ（Ｓ１６５）を備えている。
【００４５】
まず、第２サンプルプログラム実行ステップ（Ｓ１６１）において、計測対象プログラム記憶部１０１に読み込まれた第２サンプルプログラムが、プログラム実行装置１３０により、その一のハードウェア５０上で実行される。第２サンプルプログラムが、その一のハードウェア５０上で実行されると、計測制御部１２０が命令数カウント部１３１及び実行時間測定部１３２に測定開始を指示する。
【００４６】
続いて、命令数カウントステップ（Ｓ１６２）において、計測制御部１２０から測定開始の指示を受けた命令数カウント部１３１が、その第２サンプルプログラムの命令数のカウントを行う。第１サンプルプログラムの実行が終了し、計測制御部１２０が命令数カウント部１３１に測定終了を指示すると、命令数カウント部１３１は命令数のカウントを終了し、結果をデータ処理部１４０へ通知する。
【００４７】
実行時間測定ステップ（Ｓ１６３）においても、実行時間測定部１３２が計測制御部１２０から測定開始指示を受けると、その第２サンプルプログラムがハードウェア５０上で実行される時間の測定を開始する。第２サンプルプログラムの実行が終了し、計測制御部１２０が実行時間測定部１３２に測定終了を指示すると、実行時間測定部１３２は実行時間の測定を終了し、結果をデータ処理部１４０へ通知する。
【００４８】
続いて、平均時間算出ステップ（Ｓ１６４）において、データ処理部１４０が命令数カウント部１３１から通知されたその第２サンプルプログラムの命令数、データベース３０に格納された第１サンプルプログラムの命令数、実行時間測定部１３２から通知されたその第２サンプルプログラムの実行時間、及びデータベース３０に格納された第１サンプルプログラムの実行時間、に基いて、ハードウェア５０上における一命令の実行時間の平均値が計算される。即ち、ここで計算された一命令の実行時間の平均値は、第１サンプルプログラムと第２サンプルプログラムの測定結果をともに考慮して算出されている。
【００４９】
続いて、更新ステップ（Ｓ１５０）において、データベース３０に格納されたハードウェア５０の平均性能値が、データ処理部１４０により計算されたハードウェア５０上における一命令の実行時間の平均値に更新される。また、データ処理部１４０は、その第１サンプルプログラムの実行時と同様に、ソフトウェア性能情報管理テーブルを生成し、ハードウェア５０上で第２サンプルプログラムが実行された場合のソフトウェア性能情報管理テーブルとしてデータベース３０に格納する。また、データ処理部は、ここで更新及び格納された内容を出力部４０に出力する。
【００５０】
以上で、データベース作成ステップ（Ｓ１００）の動作が終了する。
【００５１】
次に、測定対象プログラム実行ステップ（Ｓ２００）において、計測対象プログラム記憶部１０１に読み込まれた測定対象プログラムが、プログラム実行装置１３０により、その一のハードウェア５０上で実行される。その測定対象プログラムが、その一のハードウェア５０上で実行されると、計測制御部１２０が命令数カウント部１３１及び実行時間測定部１３２に測定開始を指示する。
【００５２】
続いて、命令数カウントステップ（Ｓ３００）において、計測制御部１２０から測定開始の指示を受けた命令数カウント部１３１が、その測定対象プログラムの命令数のカウントを行う。その測定対象プログラムの実行が終了し、計測制御部１２０が命令数カウント部１３１に測定終了を指示すると、命令数カウント部１３１は命令数のカウントを終了し、結果をデータ処理部１４０へ通知する。
【００５３】
実行時間測定ステップ（Ｓ４００）においても、実行時間測定部１３２が計測制御部１２０から測定開始指示を受けると、その測定対象プログラムがハードウェア５０上で実行される時間の測定を開始する。その測定対象プログラムの実行が終了し、計測制御部１２０が実行時間測定部１３２に測定終了を指示すると、実行時間測定部１３２は実行時間の測定を終了し、結果をデータ処理部１４０へ通知する。
【００５４】
続いて、計算ステップ（Ｓ５００）において、データ処理部１４０が、命令数カウント部１３１より取得したその測定対象プログラムの命令数と、データベース３０に格納された平均性能値との乗算を行い、その複数のハードウェアのうちの他のハードウェア上でその測定対象プログラムが実行された場合に要する時間の概算値を計算する。この計算は、その複数のハードウェアのうちのハードウェア５０以外の全てのハードウェアの夫々に対して行われる。更に、データ処理部１４０は、その第１サンプルプログラム実行時におけるソフトウェア性能情報管理テーブルの生成と同様に、測定対象プログラムについてもソフトウェア性能情報管理テーブルを生成し、ハードウェア５０及びその測定対象プログラムと対応付けてデータベース３０に格納する。即ち、その測定対象プログラムの命令数、ハードウェア５０でその測定対象プログラムが実行されたときの実行時間、その測定対象プログラムがハードウェア５０上で実行されたときの一命令に要する平均時間、及び実行時間と一命令平均時間が実測値である旨を示すフラグ、がハードウェア５０とその測定対象プログラムと対応付けられてデータベース３０に格納される。また、その他の全てのハードウェアの夫々に対しては、データ処理部１４０により計算されたその概算値を実行時間とし、実行時間が計算値である旨を示すフラグとともにその測定対象プログラムと対応付けられたソフトウェア性能情報管理テーブルが作成され、データベース３０に格納される。
【００５５】
最後に、データ処理部１４０が、データベース３０に格納された内容を出力部４０に出力する。即ち、複数のハードウェアの夫々について、平均性能値、及び測定対象プログラムを実行した場合の実行時間が対応付けられて出力される。
【００５６】
（作用・効果）
本実施の形態に依れば、測定対象プログラムを複数のハードウェアのうちの一のハードウェアで実行するだけで、その測定対象プログラムがその複数のハードウェアのうちの他のハードウェアで実行された場合に要する時間の概算値を求めることができる。即ち、その測定対象プログラムを、その複数のハードウェアの夫々において実行する必要はなく、性能測定に係るコストを低減できる。
【００５７】
また、その複数のハードウェアの夫々と対応付けて平均性能値が出力されることにより、その複数のハードウェア間の性能を比較することができる。
【００５８】
（第２の実施形態）
本発明の第２の実施形態について説明する。
【００５９】
（構成）
本実施の形態における計算機性能測定システム７０は、第１の実施形態における計算機性能測定システム７０では命令数カウント部１３１及び実行時間測定部１３２がプログラムの全体について測定を行うのに対し、プログラムの所定の区間について測定を行う点が異なっている。
【００６０】
即ち、本実施の計算機性能測定システム７０において、命令数カウント部１３１は、プログラム実行装置１３０が計測対象プログラム１０１に読み込まれたプログラムを複数のハードウェアのうちの一のハードウェア上で実行された際に、そのプログラムの所定の区間の命令数をカウントする機能を実現する。
【００６１】
また、実行時間測定部１３２は、プログラム実行装置１３０が計測対象プログラム１０１に読み込まれたプログラムを複数のハードウェアのうちの一のハードウェア上で実行された際に、そのプログラムの所定の区間を実行するのに要した時間を測定する機能を実現する。
【００６２】
更に、計測制御部１２０は、プログラム実行装置１３０が計測対象プログラム１０１に読み込まれたプログラムを複数のハードウェアのうちの一のハードウェア上で実行させ、所定の区間までに到達した際に、命令数カウント部１３１及び実行時間測定部１３２に対して測定を開始するように指示する機能を実現する。更に、計測制御部１２０は、プログラム実行装置１３０が計測対象プログラム１０１に読み込まれたプログラムを複数のハードウェアのうちの一のハードウェア上で実行させ、所定の区間の終了までに到達した際に、命令数カウント部１３１及び実行時間測定部１３２に対して測定を終了するように指示する機能を実現する。
【００６３】
（動作方法）
本実施の形態に係る計算機性能測定システム７０の動作方法は、第１の実施形態に係る計算機性能測定システム７０の動作方法と同様である。
【００６４】
（作用・効果）
本実施の形態に係る計算機性能測定システム７０によれば、第１の実施の形態に係る作用・効果に加えて、計測対象を所定の区間に指定することにより、所定の区間の実行性能の概算を、一つのハードウェア上で実行するだけで計算することができる。これにより、プログラムの１部分について変更を実施した際に、その変更が及ぼすハードウェア毎の性能への影響を調査するコストを削減することができる。
【図面の簡単な説明】
【００６５】
【図１】計算機性能測定システムの全体の構成を示す構成図である。
【図２】計算機性能測定方法の全体の動作を示すフローチャートである。
【図３】データベース作成ステップの動作を示すフローチャートである。
【図４】更新ステップの動作を示すフローチャートである。
【図５Ａ】データベース３０の内容を示す概念図である。
【図５Ｂ】ソフトウェア性能情報管理テーブルの内容を示す概念図である。
【符号の説明】
【００６６】
２０      計測対象プログラム保存部
３０      データベース
４０      出力部
５０      ハードウェア
７０      計算機性能測定システム
１０１    計測対象プログラム記憶部
１２０    計測制御部
１３０    プログラム実行装置
１３１    命令数カウント部
１３２    実行時間測定部
１４０    データ処理部
【図１】
2006277694.tif 000003
【図２】
2006277694.tif 000004
【図３】
2006277694.tif 000005
【図４】
2006277694.tif 000006
【図５Ａ】
2006277694.tif 000007
【図５Ｂ】
2006277694.tif 000008