(57)【要約】【課題】推定精度の高いソフトウェアの処理時間の推定技術を提供する。【解決手段】処理量推定手段１０は、複数台の計算機における評価対象ソフトウェアの処理時間並びに複数台の計算機の整数演算の性能指標値および浮動小数点演算の性能指標値から評価対象ソフトウェアの整数演算の処理量と浮動小数点演算の処理量とを推定する。処理時間推定手段１２は、推定された評価対象ソフトウェアの整数演算の処理量を評価対象計算機の整数演算の性能指標値で割った値と、推定された評価対象ソフトウェアの浮動小数点演算の処理量を評価対象計算機の浮動小数点演算の性能指標値で割った値と、を加算した値を評価対象計算機における評価対象ソフトウェアの処理時間と推定する。【選択図】        図２
2005227932.tif 000002
【特許請求の範囲】
【請求項１】
評価対象計算機における評価対象ソフトウェアの処理時間を推定する処理時間推定装置の処理時間推定方法であって、
複数台の計算機における前記評価対象ソフトウェアの処理時間並びに前記複数台の計算機の整数演算の性能指標値および浮動小数点演算の性能指標値から評価対象ソフトウェアの整数演算の処理量と浮動小数点演算の処理量とを推定する処理量推定ステップと、
前記処理量推定ステップで推定された評価対象ソフトウェアの整数演算の処理量を前記評価対象計算機の整数演算の性能指標値で割った値と、前記処理量推定ステップで推定された評価対象ソフトウェアの浮動小数点演算の処理量を前記評価対象計算機の浮動小数点演算の性能指標値で割った値と、を加算した値を前記評価対象計算機における前記評価対象ソフトウェアの処理時間と推定する処理時間推定ステップと、
を有することを特徴とするソフトウェアの処理時間推定方法。
【請求項２】
請求項１に記載のソフトウェアの処理時間推定方法であって、
前記複数台の計算機の台数をＮ台とし、
前記Ｎ台の計算機における前記評価対象ソフトウェアの処理時間をそれぞれＴ１，Ｔ２，…，ＴＮとし、
前記Ｎ台の計算機それぞれの整数演算の性能指標値をＳｉ１，Ｓｉ２，…，ＳｉＮ、それぞれの浮動小数点演算の性能指標値をＳｆ１，Ｓｆ２…，ＳｆＮとし、
前記評価対象計算機の整数演算の性能指標値をＳｉｘ、浮動小数点演算の性能指標値をＳｆｘとして、
前記処理量推定ステップにおいて、前記Ｎ台の計算機における評価対象ソフトウェアの処理時間Ｔ１，Ｔ２，…，ＴＮの推定値Ｔ１'，Ｔ２'，…，ＴＮ'をＴ'ｊ＝Ｐｉ／Ｓｉｊ＋Ｐｆ／Ｓｆｊ（ｊ＝１，２，…，Ｎ）として、Ｔ１，Ｔ２，…，ＴＮとＴ１'，Ｔ２'，…，ＴＮ'の誤差の大きさを最小にするＰｉ、Ｐｆを、前記評価対象ソフトウェアの整数演算の処理量Ｐｉ、浮動小数点演算の処理量Ｐｆとして推定し、
前記処理時間推定ステップにおいて、前記評価対象計算機における前記評価対象ソフトウェアの処理時間ＴＸをＴＸ＝Ｐｉ／ＳｉＸ＋Ｐｆ／ＳｆＸとすることで求める
ことを特徴とするソフトウェアの処理時間推定方法。
【請求項３】
請求項２に記載のソフトウェアの処理時間推定方法であって、
前記Ｔ１，Ｔ２，…，ＴＮとＴ１'，Ｔ２'，…，ＴＮ'の誤差の大きさを、Ｔ１，Ｔ２，…，ＴＮとＴ１'，Ｔ２'，…，ＴＮ'の差の自乗和であるΣｉ＝１，…，Ｎ（Ｔｉ−Ｔｉ'）２とすることを特徴とするソフトウェアの処理時間推定方法。
【請求項４】
請求項２に記載のソフトウェアの処理時間推定方法であって、
前記Ｔ１，Ｔ２，…，ＴＮとＴ１'，Ｔ２'，…，ＴＮ'の誤差の大きさを、Ｔ１，Ｔ２，…，ＴＮとＴ１'，Ｔ２'，…，ＴＮ'の相対誤差の自乗和であるΣｉ＝１，…，Ｎ｛（Ｔｉ−Ｔｉ'）／Ｔ｝２とすることを特徴とするソフトウェアの処理時間推定方法。
【請求項５】
請求項２に記載のソフトウェアの処理時間推定方法であって、
前記Ｔ１，Ｔ２，…，ＴＮとＴ１'，Ｔ２'，…，ＴＮ'の誤差の大きさを、Ｔ１，Ｔ２，…，ＴＮとＴ１'，Ｔ２'，…，ＴＮ'の誤差の絶対値の和であるΣｉ＝１，…，Ｎ│Ｔｉ−Ｔｉ'│とすることを特徴とするソフトウェアの処理時間推定方法。
【請求項６】
評価対象計算機における評価対象ソフトウェアの処理時間を推定する処理時間推定装置であって、
複数台の計算機における前記評価対象ソフトウェアの処理時間並びに前記複数台の計算機の整数演算の性能指標値および浮動小数点演算の性能指標値から評価対象ソフトウェアの整数演算の処理量と浮動小数点演算の処理量とを推定する処理量推定手段と、
前記処理量推定手段で推定された評価対象ソフトウェアの整数演算の処理量を前記評価対象計算機の整数演算の性能指標値で割った値と、前記処理量推定手段で推定された評価対象ソフトウェアの浮動小数点演算の処理量を前記評価対象計算機の浮動小数点演算の性能指標値で割った値と、を加算した値を前記評価対象計算機における前記評価対象ソフトウェアの処理時間と推定する処理時間推定手段と、
を備えることを特徴とするソフトウェアの処理時間推定装置。
【請求項７】
請求項６に記載のソフトウェアの処理時間推定装置であって、
前記複数台の計算機の台数をＮ台とし、
前記Ｎ台の計算機における前記評価対象ソフトウェアの処理時間をそれぞれＴ１，Ｔ２，…，ＴＮとし、
前記Ｎ台の計算機それぞれの整数演算の性能指標値をＳｉ１，Ｓｉ２，…，ＳｉＮ、それぞれの浮動小数点演算の性能指標値をＳｆ１，Ｓｆ２…，ＳｆＮとし、
前記評価対象計算機の整数演算の性能指標値をＳｉｘ、浮動小数点演算の性能指標値をＳｆｘとして、
前記処理量推定手段は、前記Ｎ台の計算機における評価対象ソフトウェアの処理時間Ｔ１，Ｔ２，…，ＴＮの推定値Ｔ１'，Ｔ２'，…，ＴＮ'をＴ'ｊ＝Ｐｉ／Ｓｉｊ＋Ｐｆ／Ｓｆｊ（ｊ＝１，２，…，Ｎ）として、Ｔ１，Ｔ２，…，ＴＮとＴ１'，Ｔ２'，…，ＴＮ'の誤差の大きさを最小にするＰｉ、Ｐｆを、前記評価対象ソフトウェアの整数演算の処理量Ｐｉ、浮動小数点演算の処理量Ｐｆとして推定し、
前記処理時間推定手段は、前記評価対象計算機における前記評価対象ソフトウェアの処理時間ＴＸをＴＸ＝Ｐｉ／ＳｉＸ＋Ｐｆ／ＳｆＸとすることで求める
ことを特徴とするソフトウェアの処理時間推定装置。
【請求項８】
請求項７に記載のソフトウェアの処理時間推定装置であって、
前記Ｔ１，Ｔ２，…，ＴＮとＴ１'，Ｔ２'，…，ＴＮ'の誤差の大きさを、Ｔ１，Ｔ２，…，ＴＮとＴ１'，Ｔ２'，…，ＴＮ'の差の自乗和であるΣｉ＝１，…，Ｎ（Ｔｉ−Ｔｉ'）２とすることを特徴とするソフトウェアの処理時間推定装置。
【請求項９】
請求項７に記載のソフトウェアの処理時間推定装置であって、
前記Ｔ１，Ｔ２，…，ＴＮとＴ１'，Ｔ２'，…，ＴＮ'の誤差の大きさを、Ｔ１，Ｔ２，…，ＴＮとＴ１'，Ｔ２'，…，ＴＮ'の相対誤差の自乗和であるΣｉ＝１，…，Ｎ｛（Ｔｉ−Ｔｉ'）／Ｔ｝２とすることを特徴とするソフトウェアの処理時間推定装置。
【請求項１０】
請求項７に記載のソフトウェアの処理時間推定装置であって、
前記Ｔ１，Ｔ２，…，ＴＮとＴ１'，Ｔ２'，…，ＴＮ'の誤差の大きさを、Ｔ１，Ｔ２，…，ＴＮとＴ１'，Ｔ２'，…，ＴＮ'の誤差の絶対値の和であるΣｉ＝１，…，Ｎ│Ｔｉ−Ｔｉ'│とすることを特徴とするソフトウェアの処理時間推定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、評価対象計算機において評価対象ソフトウェアを実行させることなしに、評価対象計算機における評価対象ソフトウェアの処理時間を推定する方法および装置に関するものである。
【背景技術】
【０００２】
評価対象計算機において評価対象ソフトウェアを実行させることが難しい場合、現状ではソフトウェアの処理時間の推定には、計算機の性能に比例する指標値を１つだけ用いて、その性能指標値の比から処理時間を求めている（非特許文献１参照）。例えば、性能指標値Ｓ０の計算機が評価対象ソフトウェアの処理にＴ０秒かかったとき、性能指標値がＳ１の計算機での処理時間Ｔ１をＴ１＝Ｔ０＊Ｓ０／Ｓ１として求めている。
【０００３】
【非特許文献１】特集「計算機ベンチマークの最新動向  １．ＳＰＥＣベンチマーク」、情報処理学会誌、Ｖｏｌ．３７、Ｎｏ．８、ｐｐ７１８−７２４、ＡＵＧ．１９９６
【非特許文献２】ＳＰＥＣ、“ＳＰＥＣ  ＣＰＵ２０００  Ｖ１．２”、[online]、［平成１６年１月２９日検索］、インターネット＜http://www.spec.org/cpu2000/＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
代表的な性能指標にＳＰＥＣ（Standard Performance Evaluation Corporation）の定めるＳＰＥＣ ＣＰＵ２０００（非特許文献２参照）があり、大きくは、整数演算の処理性能を対象にしたＣＩＮＴ２０００と浮動小数点演算の処理性能を対象にしたＣＦＰ２０００とに分けられている。これは、計算機には整数演算を得意とする計算機や浮動小数点演算を得意とする計算機など計算機毎に特性を持っていることから、その特性を反映できるように性能指標を分けているためである。
【０００５】
例えば、２台の計算機のＣＩＮＴ２０００に２倍の差があったとしても、ＣＦＰ２００００の差も同じ２倍になるとは限らない。例として、図１にいくつかの計算機のＳＰＥＣＣＰＵ２０００の値を示す。図１から、ＣＰＵの種別によって、整数演算を得意とするもの、浮動小数点演算を得意とするものがあることがわかる。
以上のことから、１つの性能指標を利用した処理性能の推定では誤差が生じやすい。
【０００６】
本発明の目的は、評価対象ソフトウェアの整数演算の処理量と浮動小数点演算の処理量とを推定した上で、評価対象計算機の整数演算の性能指標値と浮動小数点演算の性能指標値とを用いることで処理時間の推定精度を向上した処理時間推定方法および処理時間推定装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、評価対象計算機における評価対象ソフトウェアの処理時間を推定する処理時間推定装置の処理時間推定方法であり、複数台の計算機における前記評価対象ソフトウェアの処理時間並びに前記複数台の計算機の整数演算の性能指標値および浮動小数点演算の性能指標値から評価対象ソフトウェアの整数演算の処理量と浮動小数点演算の処理量とを推定し、前記処理量推定ステップで推定された評価対象ソフトウェアの整数演算の処理量を前記評価対象計算機の整数演算の性能指標値で割った値と、前記処理量推定ステップで推定された評価対象ソフトウェアの浮動小数点演算の処理量を前記評価対象計算機の浮動小数点演算の性能指標値で割った値と、を加算した値を前記評価対象計算機における前記評価対象ソフトウェアの処理時間と推定することを主要な特徴とする。
【発明の効果】
【０００８】
本発明により、任意の評価対象計算機における評価対象ソフトウェアの処理時間を、評価対象計算機を用いることなく評価対象ソフトウェアの特徴を考慮して精度良く求めることが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態を詳しく説明する。なお、これによりこの発明が限定されるものではない。
【００１０】
図２は本発明による一実施例の処理時間推定装置を大まかに示したブロック図である。
処理時間推定装置１は、処理時間入力手段２においてＮ台の計算機での評価対象ソフトウェアの処理時間を収集し、処理時間蓄積手段３において処理時間入力手段２で収集した処理時間を蓄積し、性能指標値入力手段４において前記Ｎ台の計算機についての性能指標値を収集し、性能指標値蓄積手段５において性能指標値入力手段４で収集した性能指標値を蓄積し、処理量推定手順設定手段６において処理量を推定する手順を設定し、処理量推定手順蓄積手段７において処理量推定手順設定手段６で設定した処理量推定手順を蓄積し、評価対象計算機性能指標値入力手段８において評価対象計算機の性能指標値を収集し、評価対象計算機性能指標値蓄積手段９において評価対象計算機性能指標値入力手段８で収集した評価対象計算機の性能指標値を蓄積する。
【００１１】
処理量推定手段１０において処理時間蓄積手段３と性能指標値蓄積手段５で蓄積した情報を用いて処理量推定手順蓄積手段７で蓄積した処理性能推定手順に従って整数演算の処理量と浮動小数点演算の処理量を推定し、処理量蓄積手段１１において処理量推定手段１０で求めた整数演算の処理量と浮動小数点演算の処理量を蓄積する。
【００１２】
処理時間推定手段１２において、処理量蓄積手段１１で蓄積した処理量と評価対象計算機性能指標値蓄積手段９で蓄積した評価対象計算機の性能指標値を収集し処理時間を求める。
処理時間表示手段１３は、処理時間推定手段１２が求めた処理時間を表示する。
【００１３】
以下、本実施の形態の処理時間推定装置１において行われる処理時間推定方法を更に詳細に説明する。なお、本実施の形態においては、計算機の性能指標値と処理時間の積を処理量と定義している。したがって、処理時間＝処理量／（計算機の性能指標値）である。
【００１４】
処理時間入力手段２には、評価対象ソフトウェアを異なるＮ台（Ｎは２以上）の計算機で実行させ、要した処理時間Ｔ１，Ｔ２，…，ＴＮを入力する。入力された処理時間Ｔ１，Ｔ２，…，ＴＮは処理時間蓄積手段３に蓄積される。
【００１５】
性能指標値入力手段４には、評価対象ソフトウェアの処理時間を計測したＮ台の計算機の整数演算の性能指標Ｓｉｊ（ｊ＝１，２，…，Ｎ）と、浮動小数点演算の性能指標Ｓｆｊ（ｊ＝１，２，…，Ｎ）を入力する。入力されたＮ台の計算機の整数演算の性能指標Ｓｉｊ（ｊ＝１，２，…，Ｎ）と、浮動小数点演算の性能指標Ｓｆｊ（ｊ＝１，２，…，Ｎ）は性能指標値蓄積手段５に蓄積される。
【００１６】
処理量推定手順設定手段６には、整数演算の処理量Ｐｉと、浮動小数点演算の処理量Ｐｆの推定手順を入力する。入力された処理量推定手順は処理量推定手順蓄積手段７に蓄積される。
【００１７】
処理量推定手順の例としては、入力されたＮ台の計算機の処理時間Ｔ１，Ｔ２，…，ＴＮと、式Ｔｊ'＝Ｐｉ／Ｓｉｊ＋Ｐｆ／Ｓｆｊを用いて求めたＮ台の計算機の推定処理時間Ｔ１'，Ｔ２'，…，ＴＮ'との差の自乗和Σｉ＝１，…，Ｎ（Ｔｉ−Ｔｉ'）２を最小とする様に整数演算の処理量Ｐｉ、浮動小数点演算の処理量Ｐｆを決めることで処理量を推定する方法がある。具体的には次のとおりである。
【００１８】
以下の通り記号を定義する。
各計算機で測定した評価対象ソフトウェアの処理時間：
Ｔ１，Ｔ２，…，ＴＮ
各計算機の整数演算の性能指標値：
Ｓｉ１，Ｓｉ２，…，ＳｉＮ
各計算機の浮動小数点演算の性能指標値：
Ｓｆ１，Ｓｆ２，…，ＳｆＮ
Ｔ'ｉ＝Ｐｉ／Ｓｉｊ＋Ｐｆ／Ｓｆｊから求めた各計算機での処理時間：
Ｔ'１，Ｔ'２，…，Ｔ'Ｎ
各処理時間の誤差：
Δ１，Δ２，…，ΔＮ      ただし、Δｉ＝Ｔｉ−Ｔ'ｉ
誤差の自乗和：
Ｄ＝Σｉ＝１，…，ＮΔｉ２＝Σｉ＝１，…，Ｎ （Ｔｉ−Ｔ'ｉ）２・・・・（１）
処理量Ｐｉ、Ｐｆを誤差の自乗和Ｄが最小となるように定めるには、
【００１９】
【数１】
2005227932.tif 000003
とおいて（１）式を解けばよい。解は以下のとおりである。
【００２０】
【数２】
2005227932.tif 000004
（３）式は、例えば、Ｎ＝２の場合には以下の（４）式となる。（これは、２回の測定から得られるＴ１＝Ｐｉ／Ｓｉ１＋Ｐｆ／Ｓｆ１とＴ２＝Ｐｉ／Ｓｉ２＋Ｐｆ／Ｓｆ２の連立方程式からＰｉ、Ｐｆを求める方法と一致する。）
【００２１】
【数３】
2005227932.tif 000005
【００２２】
（３）式（Ｎ＝２の場合は（４）式）に基づいてＰｉ、Ｐｆを計算するプログラムあるいは後述する他の処理量推定手順に基づいてＰｉ、Ｐｆを計算するプログラムを予め処理量推定手段１０に蓄積しておく。そして、処理量推定手順設定手段６においてメニューまたはコマンド入力により利用者に希望する処理量推定手順を選択させ、利用者が選択した処理量推定手順を示す情報を処理量推定手順蓄積手段７に蓄積する。あるいは、前述のプログラムを処理量推定手順設定手段６から入力し、処理量推定手順蓄積手段７に蓄積し、そのプログラムを処理量推定手段１０が呼び出して実行するようにしてもよい。
【００２３】
処理量推定手段１０では、各計算機で測定した評価対象ソフトウェアの処理時間Ｔ１，Ｔ２，…，ＴＮと、各計算機の整数演算の性能指標値Ｓｉ１，Ｓｉ２，…，ＳｉＮ、各計算機の浮動小数点演算の性能指標値Ｓｆ１，Ｓｆ２，…，ＳｆＮとを用いて、選択された処理量推定手順に基づいてＰｉ、Ｐｆを計算するプログラムによってＰｉ、Ｐｆを計算し、これらを評価対象ソフトウェアの整数演算の処理量Ｐｉ、浮動小数点演算の処理量Ｐｆの推定値として出力する。処理量推定手段１０が出力した評価対象ソフトウェアの整数演算の処理量Ｐｉおよび浮動小数点演算の処理量Ｐｆは処理量蓄積手段１１に蓄積される。
【００２４】
評価対象計算機性能指標値入力手段８には、評価対象計算機の整数演算の性能指標ＳｉＸと、浮動小数点演算の性能指標ＳｆＸを入力する。入力された整数演算の性能指標ＳｉＸと、浮動小数点演算の性能指標ＳｆＸは評価対象計算機性能指標値蓄積手段９に蓄積される。
【００２５】
処理時間推定手段１２では、処理量蓄積手段１１で蓄積した評価対象ソフトウェアの整数演算の処理量Ｐｉおよび浮動小数点演算の処理量Ｐｆと、評価対象計算機性能指標値蓄積手段９で蓄積した評価対象計算機の整数演算の性能指標ＳｉＸと浮動小数点演算の性能指標ＳｆＸから、評価対象計算機における評価対象ソフトウェアの処理時間ＴＸをＴＸ＝Ｐｉ／ＳｉＸ＋Ｐｆ／ＳｆＸにより推定する。
【００２６】
処理時間表示手段１３では、処理時間推定手段１２で求めた評価対象計算機における評価対象ソフトウェアの処理時間ＴＸを表示する。この値が本発明で最終的に求める処理時間の推定値である。
【００２７】
以上の説明では、誤差の自乗和Ｄを最小とすることで整数演算の処理量と浮動小数点演算の処理量を求める処理量推定手順について説明したが、処理量推定手段１０において整数演算の処理量Ｐｉと浮動小数点演算の処理量Ｐｆを、相対誤差の自乗和Σｉ＝１，…，Ｎ｛（Ｔｉ−Ｔｉ'）／Ｔ｝２を最小にする制約のもとで求める処理量推定手順を採用してもよい。この場合も、前述の処理量推定手順の例と同様に、Ｐｉ、Ｐｆの解を得て、それに基づいてプログラムを作成することができる。
【００２８】
また、本実施例の処理量推定手段１０における整数演算の処理量と浮動小数点濱算の処理量を、誤差の絶対値の和Σｉ＝１，…，Ｎ│Ｔｉ−Ｔｉ'│を最小にする制約のもとで求める処理手順を採用してもよい。「│Ａ│」はＡの絶対値を意味する記号である。この場合も、前述の処理量推定手順の例と同様に、Ｐｉ、Ｐｆの解を得て、それに基づいてプログラムを作成することができる。
【００２９】
また、評価対象ソフトウェアの整数演算の処理量と浮動小数点演算の処理量は、そのソフトウェア固有の値であるため、一度処理量を求めたソフトウェアであれば、処理時間入力手段２および性能指標値入力手段４および処理量推定手順設定手段６を省略し実施することができる。
【００３０】
本実施の形態の処理時間推定装置１はコンピュータとプログラムによって構成することができる。また、本実施の形態の処理時間推定装置１の一部または全部をハードウェアで構成してもよい。
【００３１】
本実施の形態は、従来の技術とは、評価対象ソフトウェアの整数演算の処理量と浮動小数点演算の処理量を推定し、整数演算の性能指標値と浮動小数点演算の性能指標値とを組み合わせて処理時間を推定することが異なっている。
【００３２】
本実施の形態では、評価対象ソフトウェアについて整数演算の処理量と浮動小数点演算の処理量とを推定することで、整数演算の処理時間は評価対象ソフトウェアの整数演算の処理量と評価対象計算機の整数演算の性能指標値を用いて推定し、浮動小数点演算の処理時間は評価対象ソフトウェアの浮動小数点演算の処理量と評価対象計算機の浮動小数点演算の性能指標値を用いて推定し、整数演算の処理時間と浮動小数点演算の処理時間を足し合わせることで評価対象ソフトウェアの処理時間を推定する。これにより本発明の目的である、評価対象計算機における評価対象ソフトウェアの処理時間の推定精度の向上を実現することができる。
【図面の簡単な説明】
【００３３】
【図１】整数演算の性能指標値と浮動小数点演算の性能指標値の分布を示す図である。
【図２】本発明の実施形態の処理時間推定装置の概要を示すブロック図である。
【符号の説明】
【００３４】
１…処理時間推定装置、２…処理時間入力手段、３…処理時間蓄積手段、４…性能指標値入力手段、５…性能指標値蓄積手段、６…処理量推定手順設定手段、７…処理量推定手順蓄積手段、８…評価対象計算機性能指標値入力手段、９…評価対象計算機性能指標値蓄積手段、１０…処理量推定手段、１１…処理量蓄積手段、１２…処理時間推定手段、１３…処理時間表示手段
【図１】
2005227932.tif 000006
【図２】
2005227932.tif 000007