Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5765266B2 - 性能評価方法、情報処理装置およびプログラム - Google Patents
[go: Go Back, main page]

JP5765266B2 - 性能評価方法、情報処理装置およびプログラム - Google Patents

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

Info

Publication number
JP5765266B2
JP5765266B2 JP2012039406A JP2012039406A JP5765266B2 JP 5765266 B2 JP5765266 B2 JP 5765266B2 JP 2012039406 A JP2012039406 A JP 2012039406A JP 2012039406 A JP2012039406 A JP 2012039406A JP 5765266 B2 JP5765266 B2 JP 5765266B2
Authority
JP
Japan
Prior art keywords
calculation time
calculation
value
amount
relationship
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.)
Active
Application number
JP2012039406A
Other languages
English (en)
Other versions
JP2013175065A (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 JP2012039406A priority Critical patent/JP5765266B2/ja
Publication of JP2013175065A publication Critical patent/JP2013175065A/ja
Application granted granted Critical
Publication of JP5765266B2 publication Critical patent/JP5765266B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Description

本発明は性能評価方法、情報処理装置およびプログラムに関する。
現在、大量のデータを処理する場合や複雑な計算を行う場合などに、多数のプロセッサを備えるような大きなリソースをもつ計算機システムを利用することがある。このような大規模な計算機システムを利用するユーザは、例えば、投入するプログラムに割り当てるリソースの量(例えば、プロセッサ数)とプログラムの実行が完了するまでの計算時間との関係を予測し、所望の量のリソースを予約する。もし予測に誤りがあると、意図した日時までに計算が終了しない、または、計算が早く終了して予約していたリソースが無駄になる、という問題が生じる。このため、計算時間をどのように予測するかが重要となる。
この点、計算時間τが、プロセッサ数pと問題の大きさxと利用する計算機システムに応じたパラメータcとに依存することを示すモデル式が提案されている。このモデル式によれば、プロセッサ数pが大きいほど並列化オーバヘッドが大きくなる。モデル式を使用する場合、例えば、プロセッサ数pを変えつつサンプル問題の計算時間τを測定し、プロセッサ数pと測定した計算時間τとの組をモデル式にフィッティングして、パラメータcを決定する。パラメータcが決定されて計算機システムに応じたモデルが生成されると、投入するプログラムに対するプロセッサ数pと計算時間τとの関係を予測できる。
折居茂夫,"時間モデルを用いた並列処理の性能評価−並列化部に隠れた並列オーバヘッド−",情報処理学会研究報告 ハイパフォーマンスコンピューティング(HPC),2011−HPC−130 No.1,2011年7月
しかし、測定値と予測値とが完全に一致するようなモデルを生成できる(例えば、グラフにおいてモデルが示す曲線上に全ての測定値が乗る)ことは少なく、少なくとも一部の測定値とモデルによる予測値との間には残差が存在することが多い。このため、測定値をモデル式にフィッティングしてパラメータの値を決定する過程において、測定値のばらつき方に応じて、生成したモデルの予測精度が低下してしまう可能性がある。一方、小規模なサンプル問題を解くことで生成したモデルを大規模な問題に適用すると、少しの精度低下が大きな計算時間の誤差になって現れる。例えば、1%の精度低下が数十時間の計算時間の誤差になる可能性がある。このため、モデルから計算時間を予測するにあたっては、予測精度(例えば、どの程度の誤差が生じ得るか)を評価できることが好ましい。
一側面では、計算機システムが使用するリソースの量と計算時間との関係を評価する、コンピュータが実行する性能評価方法が提供される。性能評価方法では、使用するリソースの量を変えて計算機システムにサンプルプログラムを複数回実行させることで測定された複数の第1の計算時間に基づいて、リソース量と計算時間との関係を算出するための評価モデルに用いられるパラメータの値を決定する。測定された複数の第1の計算時間それぞれと、評価モデルに従って算出される当該第1の計算時間に対応する第2の計算時間との差が、閾値まで広がることを許容した場合の、パラメータの値の変動量を算出する。評価モデルに決定したパラメータの値を適用することで示されるリソース量と計算時間との関係が、決定したパラメータの値が算出した変動量だけ変動することによって受ける影響を示す情報を出力する。
また、一側面では、使用するリソースの量を変えて計算機システムにサンプルプログラムを複数回実行させることで測定された複数の第1の計算時間を示す測定情報を記憶する記憶部と、測定情報を用いてリソース量と計算時間との関係を評価する演算部と、を有する情報処理装置が提供される。演算部は、測定情報に基づいて、リソース量と計算時間との関係を算出するための評価モデルに用いられるパラメータの値を決定する。演算部は、測定情報が示す複数の第1の計算時間それぞれと、評価モデルに従って算出される当該第1の計算時間に対応する第2の計算時間との差が、閾値まで広がることを許容した場合の、パラメータの値の変動量を算出する。演算部は、評価モデルに決定したパラメータの値を適用することで示されるリソース量と計算時間との関係が、決定したパラメータの値が算出した変動量だけ変動することによって受ける影響を示す情報を出力する。
また、一側面では、計算機システムが使用するリソースの量と計算時間との関係を評価するためのプログラムが提供される。プログラムを実行するコンピュータは、使用するリソースの量を変えて計算機システムにサンプルプログラムを複数回実行させることで測定された複数の第1の計算時間に基づいて、リソース量と計算時間との関係を算出するための評価モデルに用いられるパラメータの値を決定する。測定された複数の第1の計算時間それぞれと、評価モデルに従って算出される当該第1の計算時間に対応する第2の計算時間との差が、閾値まで広がることを許容した場合の、パラメータの値の変動量を算出する。評価モデルに決定したパラメータの値を適用することで示されるリソース量と計算時間との関係が、決定したパラメータの値が算出した変動量だけ変動することによって受ける影響を示す情報を出力する。
一側面では、計算機システムが要する計算時間の予測の精度を評価できる。
第1の実施の形態の情報処理装置を示す図である。 第2の実施の形態の情報処理システムを示す図である。 シミュレーション装置のハードウェア例を示すブロック図である。 シミュレーション装置の機能例を示すブロック図である。 計算時間予測の手順例を示すフローチャートである。 パラメータの取り得る値の例を示すグラフである。 計算時間の予測結果の例を示す第1のグラフである。 計算時間の予測結果の例を示す第2のグラフである。
以下、本実施の形態を図面を参照して説明する。
[第1の実施の形態]
図1は、第1の実施の形態の情報処理装置を示す図である。情報処理装置10は、計算機システム20が使用するリソースの量と計算時間との関係を評価する。リソース量は、例えば、プロセッサ数であり、計算機システム20は複数のプロセッサを並列に用いてプログラムを実行できる。計算時間は、例えば、使用する複数のプロセッサのうち何れかのプロセッサで投入したプログラムの実行が開始されてから、それら複数のプロセッサの全てで投入したプログラムの実行が終了するまでの時間である。情報処理装置10は、ユーザが操作する端末装置としてのクライアントコンピュータでもよいし、端末装置からアクセス可能なサーバコンピュータでもよい。情報処理装置10は、ネットワークを介して、リソース量を指定して計算機システム20にプログラムの実行を指示できる。
情報処理装置10は、記憶部11と演算部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性メモリでもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。演算部12は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサでもよいし、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などのプロセッサ以外の電子回路でもよい。プロセッサは、例えば、記憶部11または他のメモリに記憶されたプログラムを実行する。プロセッサは、プログラムの命令を実行するための演算器やレジスタ以外に、他の電子回路を含んでもよい。
記憶部11は、リソース量(例えば、プロセッサ数)と測定された計算時間とを対応付けた測定情報11aを記憶する。測定情報11aが示す複数の計算時間は、リソース量を変えて計算機システム20にサンプルプログラムを複数回実行させることで測定される。サンプルプログラムの実行指示、計算時間の測定、測定情報11aの生成などは、情報処理装置10が行ってもよいし、他の情報処理装置が行ってもよい。また、測定情報11aは、性能評価を行う毎に生成してもよいし、予め生成したものを利用してもよい。
サンプルプログラムによって解く問題は、好ましくは、後述の性能評価を行った後に計算機システム20に実行させる本番プログラムによって解く問題よりも、十分に小規模なものとする。ただし、サンプルプログラムによって解く問題と本番プログラムによって解く問題とは、好ましくは、同種の問題(例えば、計算アルゴリズムが類似しているもの)とする。サンプルプログラムと本番プログラムを同一のものとし、処理するデータの量を変えることで問題の規模を変えるようにしてもよい。これにより、小規模な問題を通じて生成された計算機システム20のモデルを、大規模な問題に適用しやすくなる。
演算部12は、リソース量と計算時間の関係を算出するためのモデル式と、記憶部11に記憶された測定情報11aとを用いて、計算機システム20についてのリソース量と計算時間との関係を評価する。モデル式は、予め用意されており、プログラムを実行する計算機システムに依存するパラメータCを含む(2以上のパラメータを含んでもよい)。パラメータCは、例えば、プロセッサやプロセッサ間の接続に関するアーキテクチャに依存し、また、解く問題の種類に依存することもある。演算部12は、測定情報11aを用いて、モデル式に含まれるパラメータCの値を決定する。例えば、演算部12は、最小二乗法により、各リソース量についての残差(測定された計算時間とモデルから予測される計算時間との差)の二乗和が最小になるように、パラメータCの値を決定する。
また、演算部12は、モデル式と決定したパラメータCの値と測定情報11aとを用いて、誤差を考慮したパラメータCの変動量ΔCの値を算出する。変動量ΔCは、測定情報11aが示す各リソース量について、測定された計算時間とモデルから予測される計算時間との差が閾値まで広がることを許容した場合に、パラメータCの値が上記の決定した値からどの程度変動し得るかを示す。変動量ΔCの値は、数式処理によって算出し得る。
例えば、演算部12は、n個(nは2以上の整数)の計算時間が測定されているとき、測定された計算時間と誤差を考慮したモデル上の計算時間との差が閾値以下であることを示すn個の不等式を生成する。各リソース量に対する誤差を考慮したモデル上の計算時間は、モデル式のパラメータCをC+ΔCに置き換え、置き換えた式にリソース量と上記の決定したパラメータCの値を代入することで得られる。これにより、変動量ΔCを自由変数として含むn個の不等式が生成される。閾値は、例えば、パラメータCの値を決定するとき算出した残差の最大値、または、n個の不等式が解をもつ条件下での最小値(通常は残差の最小値より大きい)とする。ただし、閾値を、両者の間の任意の値としてもよい。
生成したn個の不等式に対し、演算部12は、例えば、限量子消去(QE:Quantifier Elimination)法を適用して、自由変数である変動量ΔCの取り得る値を算出する。測定した計算時間のばらつきが大きく残差が平均的に大きい場合や、測定した計算時間の中に特異点があり一部の残差のみが大きい場合などに、変動量ΔCの値が大きくなり得る。限量子消去については、例えば、次の書籍に説明がある:穴井宏和 横山和弘,“QEの計算アルゴリズムとその応用−数式処理による最適化”,東京大学出版会,2011年8月25日。限量子消去の具体例については、第2の実施の形態でも説明する。
そして、演算部12は、モデル式に上記の決定したパラメータCの値を代入することで算出されるリソース量と計算時間の関係が、パラメータCの値が変動量ΔCの値だけ変動することでどのような影響を受けるかを示す情報を出力する。例えば、演算部12は、情報処理装置10または他の情報処理装置に接続されたディスプレイに、変動量ΔCの影響を示す情報を表示させる。変動量ΔCの影響を示す情報として、例えば、モデル式のパラメータCに上記の決定した値を代入したモデルを示す曲線と、パラメータCにC+ΔCに相当する値を代入したモデルを示す曲線とを表示するための情報が考えられる。また、変動量ΔCの影響を示す情報として、例えば、あるリソース量に対応する計算時間が、変動量ΔCを考慮すると、考慮しない場合より最大で何%変化するかを示す情報も考えられる。
第1の実施の形態の情報処理装置10によれば、測定情報11aからパラメータCの値を決定することで生成したモデルが、どの程度の精度で計算機システム20の計算時間を予測できるかを定量的に評価することができる。このため、サンプル問題よりも大規模な問題を解くプログラムを大きなリソースを用いて計算機システム20に実行させるときでも、モデルによる計算時間の予測結果を効果的に利用できるようになる。例えば、ユーザは、予測精度が許容できるとき、予測誤差を考慮して計算機システム20のリソースを予約することができる。一方、予測精度が許容できないとき、より精度の高いモデルを生成するため、演算部12が出力した情報を手掛かりに測定情報11aの中から異常な測定値を探し、異常な測定値を除去することや測定をやり直すなどの措置をとることができる。
[第2の実施の形態]
図2は、第2の実施の形態の情報処理システムを示す図である。第2の実施の形態の情報処理システムは、シミュレーション装置100とサーバ装置210〜240を含む。シミュレーション装置100およびサーバ装置210〜240は、ネットワーク31に接続されている。なお、シミュレーション装置100は、前述の情報処理装置10の一例であり、サーバ装置210〜240の集合は、前述の計算機システム20の一例である。
シミュレーション装置100は、ユーザが操作する端末装置としてのコンピュータである。シミュレーション装置100は、サーバ装置210〜240にサンプルプログラムを実行させて計算時間を測定し、測定結果からサーバ装置210〜240の性能を評価したモデルを生成する。また、シミュレーション装置100は、ユーザからの指示に応じて、サーバ装置210〜240が備えるリソースの一部または全部を、リソース量および使用期間を指定して予約し、サーバ装置210〜240にプログラムを実行させる。
サーバ装置210〜240は、ユーザが予約したリソースを用いてユーザから取得したプログラムを実行するサーバコンピュータである。サーバ装置210〜240の集合は、複数のプロセッサを並列に用いて計算を行うことができる並列処理システムであると言える。ユーザから指定されるリソース量には、プロセッサ数が含まれる。例えば、ジョブを制御するサーバ装置が、シミュレーション装置100からプログラムの実行の指示を受け付け、ジョブが割り当てられていない空きプロセッサの中から指定された数のプロセッサを選択し、選択したプロセッサにジョブを割り当てて計算を開始させる。
図3は、シミュレーション装置のハードウェア例を示すブロック図である。シミュレーション装置100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、ディスクドライブ106および通信インタフェース107を有する。CPU101は、第1の実施の形態の演算部12の一例であり、RAM102やHDD103は、第1の実施の形態の記憶部11の一例である。
CPU101は、プログラムの命令を実行する演算器を含むプロセッサである。CPU101は、HDD103に記憶されているプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを備えてもよく、シミュレーション装置100は複数のプロセッサを備えてもよく、以下で説明する処理を複数のプロセッサまたはプロセッサコアを用いて並列実行してもよい。
RAM102は、CPU101が実行するプログラムや計算に用いられるデータを一時的に記憶する揮発性メモリである。なお、シミュレーション装置100は、RAM以外の種類のメモリを備えてもよく、複数のメモリを備えてもよい。
HDD103は、OS(Operating System)やファームウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性記憶装置である。なお、シミュレーション装置100は、フラッシュメモリなどの他の種類の不揮発性記憶装置を備えてもよく、複数の不揮発性記憶装置を備えてもよい。
画像信号処理部104は、CPU101からの命令に従って、シミュレーション装置100に接続されたディスプレイ32に画像を出力する。ディスプレイ32としては、CRT(Cathode Ray Tube)ディスプレイや液晶ディスプレイなどを用いることができる。
入力信号処理部105は、シミュレーション装置100に接続された入力デバイス33から入力信号を取得し、CPU101に通知する。入力デバイス33としては、マウスやタッチパネルなどのポインティングデバイス、キーボードなどを用いることができる。
ディスクドライブ106は、記録媒体34に記録されたプログラムやデータを読み取る駆動装置である。記録媒体34として、例えば、フレキシブルディスク(FD:Flexible Disk)やHDDなどの磁気ディスク、CD(Compact Disc)やDVD(Digital Versatile Disc)などの光ディスク、光磁気ディスク(MO:Magneto-Optical disk)を使用できる。ディスクドライブ106は、例えば、CPU101からの命令に従って、記録媒体34から読み取ったプログラムやデータをRAM102またはHDD103に格納する。
通信インタフェース107は、ネットワーク31を介してサーバ装置210〜240と通信を行えるインタフェースである。通信インタフェース107は、有線網に接続する有線インタフェースでもよいし、無線網に接続する無線インタフェースでもよい。
なお、サーバ装置210〜240も、シミュレーション装置100と同様のハードウェア構成によって実現することができる。ただし、サーバ装置210〜240は、ディスプレイや入力デバイスに接続されていなくてもよく、画像信号処理部や入力信号処理部やディスクドライブを備えていなくてもよい。また、サーバ装置210〜240は、それぞれ複数のCPUやRAMやHDDを備えていてもよい。
図4は、シミュレーション装置の機能例を示すブロック図である。シミュレーション装置100は、測定部111、測定情報記憶部112、モデル生成部113、誤差判定部114および評価結果表示部115を有する。測定情報記憶部112は、例えば、RAM102またはHDD103に確保した記憶領域として実現できる。測定部111、モデル生成部113、誤差判定部114および評価結果表示部115は、例えば、CPU101が実行するプログラムのモジュールとして実現できる。
測定部111は、サーバ装置210〜240を含む並列処理システムに、プロセッサ数を変えながらサンプルプログラムを複数回実行させ、この並列処理システムが要する計算時間を測定する。例えば、測定部111は、プロセッサ数として、10,20,30,40,50,60,70,80.90,100,110,120の12通りを指定し、それぞれの場合の計算時間を測定する。プロセッサ数が多くなると、並列化のオーバヘッドも大きくなるため、プロセッサ数が多いほど計算時間が短くなるとは限らない。
なお、サンプルプログラムによって解く問題は、サーバ装置210〜240を用いて解きたい大規模な問題と同種のもの(例えば、計算アルゴリズムが類似するもの)で小規模なものとする。計算時間は、使用する複数のプロセッサの何れか1つが計算を開始してから、全てのプロセッサが計算を終了するまでの時間とする。計算時間は、サーバ装置210〜240で生成されたログに基づいて算出してもよく、測定部111がコマンドを送信してからレスポンスを受信するまでの時間を測定することで算出してもよい。
測定情報記憶部112は、測定部111の測定結果を示す測定情報を記憶する。測定情報には、プロセッサ数piと測定された計算時間di(i=1,2,…,n)との組を示すエントリがn個(nは2以上の整数)含まれる。例えば、測定部111が12通りのプロセッサ数を指定して計算時間を測定した場合、測定情報は12個のエントリを含む。
モデル生成部113は、測定情報記憶部112に記憶された測定情報をモデル式にフィッティングすることで、サーバ装置210〜240に対応するモデルを生成する。第2の実施の形態で使用するモデル式は、パラメータ集合Cとプロセッサ数pと問題の大きさxとから、計算時間を計算する関数T(C,p,x)である。パラメータ集合Cは、1またはそれ以上のパラメータを含む。各パラメータは、サーバ装置210〜240のアーキテクチャや解きたい問題の種類に応じた値を取る。モデル生成部113は、問題の大きさxを固定して、測定情報が示すプロセッサ数piと計算時間diの組に対して最小二乗法を適用することで、各パラメータcj(j=1,2,…)の値を決定する。
誤差判定部114は、モデル生成部113がパラメータcjの値を決定して生成したモデルの精度を評価する。具体的には、誤差判定部114は、測定された計算時間diをモデル式にフィッティングする過程でパラメータcjの値に生じる誤差を推定し、パラメータcjの誤差が計算時間の予測にどの程度の影響を与えるか定量的に評価する。
まず、誤差判定部114は、各パラメータcjの値の変動量Δcjを自由変数として用いて、測定情報が示すn通りのプロセッサ数piに対応するn個の不等式を生成する。各不等式は、測定した計算時間diとモデル式に従って算出される計算時間T(C+ΔC,pi,xi)との差を、閾値eまで許容することを示す。ΔCは、変動量Δcjの集合である。パラメータcjにモデル生成部113が決定した値を代入し、閾値eを所定の方法で決定することで、n個の不等式は自由変数として変動量Δcjのみを含むことになる。そして、誤差判定部114は、生成したn個の不等式を、後述する限量子消去(QE)法を用いて解くことで、変動量の集合ΔCの取り得る値の範囲を算出する。これにより、モデルから予測される計算時間の変動する範囲を算出することができる。
評価結果表示部115は、モデル生成部113が算出したパラメータcjの値を用いたモデルの曲線と、誤差判定部114が算出した誤差を考慮したパラメータcj+Δcjの値を用いたモデルの曲線とを合わせて、ディスプレイ32に表示する。これにより、シミュレーション装置100のユーザは、モデルの精度を視覚的に確認することができる。また、評価結果表示部115は、ユーザからプロセッサ数が指定されると、最小二乗法によって生成したモデルを用いて算出される計算時間が、最大で何%増加または減少する可能性があるかを算出し、予測される計算時間とその誤差をディスプレイ32に表示する。これにより、ユーザは、計算時間の予測誤差を定量的に確認することができる。
ここで、前述の限量子消去(QE)について説明する。限量子消去は、一階述語論理として記述された限量子を含む論理式を、限量子を含まない等価な式に変換する数式処理である。入力される論理式は、代数的等式、代数的不等式、限量子(全称限量子および存在限量子)および論理演算子(論理積や論理和など)を用いて記述することができる。入力される論理式に、限量子が付された束縛変数の他に、限量子が付されていない自由変数が含まれる場合は、出力される式は自由変数の取り得る値の範囲を示す。
例えば、以下に示す数式(1)の左辺は、全てのxの値について括弧内の論理式が成立することを要求している。限量子消去法により論理式から束縛変数xを消去すると、数式(1)の右辺に示すように、左辺の論理式が成立するための自由変数a,b,cの条件を示す式が算出される。また、以下に示す数式(2)の左辺は、括弧内の論理式が成立するようなx1,x2の値の組が少なくとも1つ存在することを要求している。限量子消去法により論理式から束縛変数x1,x2を消去すると、数式(2)の右辺に示すように、左辺の論理式が成立するための自由変数yの条件を示す式が算出される。このような限量子消去は、数式処理を行うアプリケーションソフトウェアに実装されていることがある。
Figure 0005765266
Figure 0005765266
図5は、計算時間予測の手順例を示すフローチャートである。
(ステップS1)測定部111は、問題の大きさxを固定した状態で(例えば、同じサンプルプログラムと同じデータを用いて)、プロセッサ数pを変えながらサーバ装置210〜240にサンプルプログラムを実行させ、n通りの計算時間dを測定する。例えば、測定部111は、p=10,20,…,120の12通りの計算時間dを測定する。測定部111は、プロセッサ数piと測定した計算時間diを関連付けた測定情報を生成し、生成した測定情報を測定情報記憶部112に格納する。
(ステップS2)モデル生成部113は、測定情報記憶部112に記憶された測定情報が示すn個の計算時間diを、モデル式である関数T(C,p,x)にフィッティングすることで、パラメータ集合Cに属する各パラメータcjの値を決定する。フィッティングでは、各プロセッサ数piについての残差ei(以下の数式(3)参照)の二乗和が最小になるように、最小二乗法によって各パラメータcjの値を決定する。
Figure 0005765266
(ステップS3)誤差判定部114は、以下の数式(4)に示すように、測定情報が示すn個の計算時間diに対応するn個の不等式を生成する。各不等式は、変動量ΔCを自由変数として用いてパラメータ変動後の計算時間を表した式T(C+ΔC,pi,xi)と測定された計算時間diとの差が、閾値e以下であることを示す。パラメータ変動後の計算時間を表した式は、モデル式のパラメータ集合CをC+ΔCに置き換え、ステップS2で決定したパラメータ集合Cの値とプロセッサ数piとを代入することで生成される。
また、誤差判定部114は、閾値eを決定する。閾値eは、数式(3)により算出されるn個の残差e1〜enの中の最大値Max(ei)以下であり、かつ、上記のn個の不等式が解をもつ範囲での下限値em以上であることが望ましい。下限値emは、通常は残差e1〜enの中の最小値Min(ei)より大きい値になる。閾値eとしてMax(ei)を選択した場合、パラメータ集合Cの誤差を悲観的に評価することになり、閾値eとしてemを選択した場合、パラメータ集合Cの誤差を楽観的に評価することになる。モデルの精度評価の観点から、誤差判定部114は、好ましくは、閾値e=Max(ei)の場合と閾値e=emの場合の両方について、以下の処理を実行する。なお、n個の不等式から閾値eの下限値emを算出する方法は、後述する。
Figure 0005765266
(ステップS4)誤差判定部114は、ステップS3で生成したn個の不等式および閾値eを定義する式の集合に対して限量子消去(QE)法を適用し、束縛変数である閾値eを消去して自由変数である変動量ΔCの取り得る値の範囲を算出する。
(ステップS5)誤差判定部114は、ステップS4で算出した変動量ΔCの取り得る値の範囲から、モデルに従って算出される計算時間を最も増加させる(正の誤差が最も大きくなる)変動量Δcjの組み合わせを抽出する。また、誤差判定部114は、変動量ΔCの取り得る値の範囲から、モデルに従って算出される計算時間を最も減少させる(負の誤差が最も大きくなる)変動量Δcjの組み合わせを抽出する。
(ステップS6)評価結果表示部115は、ステップS2でモデル生成部113が決定した各パラメータcjの値をモデル式に代入することで生成されるグラフを、ディスプレイ32に表示する。また、評価結果表示部115は、各パラメータcjの値をステップS5で誤差判定部114が抽出した変動量Δcjだけ変動させる(モデル式にcj+Δcjの値を代入する)ことで生成されるグラフを、ディスプレイ32に表示する。
一例として、フィッティングに用いるモデル式として、問題の大きさxを固定した(問題の大きさxを変数として含まない)以下に示す数式(5)を考える。数式(5)において、2つのパラメータc1,c2はパラメータ集合Cに属し、定数aは固定値である。数式(5)は、プロセッサ数pが大きいほど小さな値になる項と、プロセッサ数pが大きいほど大きな値になる項とを含む。前者は、負荷分散によるプロセッサ1個当たりの計算量の減少を反映し、後者は、プロセッサ間の通信によるオーバヘッドを反映している。数式(5)によれば、プロセッサ数pを1から徐々に増やしていくと、最初は計算時間が短くなるが、あるプロセッサ数を過ぎるとオーバヘッドの影響で計算時間が長くなる。
Figure 0005765266
以下に示す数式(6)は、数式(5)のモデル式を用いた場合に、上記のステップS3において生成される一階述語論理の論理式の例である。ここでは、測定部111が、12通りのプロセッサ数p=10,20,30,40,50,60,70,80,90,100,110,120に対応して、12個の計算時間d1〜d12を測定した場合を考える。
この論理式では、12通りのプロセッサ数に対応する12個の不等式が論理積によって結合されている。数式(6)において、定数aは固定値であり、パラメータc1,c2の値は上記ステップS2で決定したものである。閾値eには、残差の最大値Max(ei)を代入している。閾値eに他の値(例えば、下限値em)を代入することも可能である。パラメータc1の変動量Δc1とパラメータc2の変動量Δc2は自由変数であり、閾値eは存在限量子が付された束縛変数となっている。この論理式は、12個の残差それぞれの絶対値が、閾値e以下の範囲で変動することを許容することを示している。
Figure 0005765266
数式(6)に対して限量子消去法を適用すると、不等式の集合の解として数式(7)が算出される。数式(7)は、数式(6)で自由変数であった変動量Δc1,Δc2の取り得る値の範囲を示している。入力としての論理式が2個の自由変数を含むことから、出力としての式はこの2個の自由変数の間の関係を示している。等式および不等式で表された変動量Δc1と変動量Δc2との間の関係は、2次元平面上に可視化することができる。
Figure 0005765266
図6は、パラメータの取り得る値の例を示すグラフである。数式(7)を変動量Δc1×変動量Δc2の2次元平面にマッピングすると、図6のようなグラフが生成される。変動量Δc1,Δc2の可動範囲を示す領域は、(Δc1,Δc2)=(0.000946051,−7.96273×10-8),(−0.000115456,4.14635×10-8)の2点を端点としてもつ。この2つの端点は、数式(7)の先頭2行の解に相当する。2つの端点の一方が、正の誤差を最大にする変動量Δc1,Δc2の組み合わせを示し、他方が負の誤差を最大にする変動量Δc1,Δc2の組み合わせを示している。
このように、限量子消去の結果からグラフを生成して端点を検出することで、モデルの誤差を最大にする変動量Δcjの組み合わせを判定できる。ただし、このような変動量Δcjの組み合わせは、上記のステップS3で生成されるn個の不等式から限量子消去法によって確認することもできる。数式(8)に示すように、n個の不等式に含まれる変数のうち、1つの変動量のみを自由変数として選択し、他の変動量および閾値eは存在限量子を付して束縛変数とする。この不等式の集合に対して、限量子消去法を適用して束縛変数を消去すると、選択した1つの変動量の取り得る値の範囲のみが算出される。このような数式(8)の計算を、変動量Δcjそれぞれについて行う。
Figure 0005765266
数式(6)の束縛変数を変動量Δc1と閾値eに変更して限量子消去を行い、また、数式(6)の束縛変数を変動量Δc2と閾値eに変更して限量子消去を行うことで、以下に示す数式(9)が算出される。変動量Δc1の上限値と変動量Δc2の下限値の組み合わせが、図6に示したグラフの1つの端点に相当し、変動量Δc1の下限値と変動量Δc2の上限値の組み合わせが、図6に示したグラフの他の端点に相当する。
Figure 0005765266
前述のように、数式(6)の閾値eに、残差の最大値Max(ei)に代えて、不等式に解が存在する範囲での下限値emを代入することもできる。下限値emは、以下に示す数式(10)に従って算出することができる。数式(10)に示すように、n個の不等式に含まれる変数のうち、閾値eのみを自由変数とし、全ての変動量に存在限定子を付して束縛変数とする。この不等式の集合に対して、限量子消去法を適用して束縛変数を消去すると、全ての変動量が消去されて閾値eの取り得る値の範囲のみが算出される。算出された式によって示される閾値eの最小値を、下限値emとして採用する。
Figure 0005765266
図7は、計算時間の予測結果の例を示す第1のグラフである。図7にプロットされた点(×印)は、測定部111において測定された計算時間diを示している。また、図7では、最小二乗法によって生成したモデルを示す曲線と、誤差の上限および下限を示す曲線と、閾値eとして下限値emを用いて算出した楽観的な誤差を示す曲線とを描いている。図7に示すように、問題の規模および使用するプロセッサの数が、サンプルプログラムを実行したときと同程度である(十分に小さい)ときは、モデルから予測される計算時間の誤差は十分小さいように見える。しかし、問題の規模や使用するプロセッサの数が大きくなると、このモデルから予測される計算時間は大きな誤差を含み得る。
図8は、計算時間の予測結果の例を示す第2のグラフである。図8に示すようなグラフが、評価結果表示部115によってディスプレイ32に表示され得る。図8のグラフは、図7のグラフの横軸を伸ばしたものであり、プロセッサ数が大きい区間の、生成したモデルを示す曲線と、誤差の上限および下限を示す曲線と、閾値eとして下限値emを用いて算出した誤差を示す曲線とを含む。図8に示すように、小規模な問題に基づいて生成したモデルを大規模な問題に適用しようとすると、フィッティングの過程でパラメータ集合Cに発生する小さな誤差が、予測される計算時間に大きな影響を与える。例えば、ユーザは図8のようなグラフを見ることで、あるプロセッサ数に対応する予測される計算時間が、どの程度変動する可能性があるかを定量的に確認することができる。前述のように、評価結果表示部115は、何%の誤差が生じるかを計算してユーザに提示してもよい。
第2の実施の形態の情報処理システムによれば、測定した計算時間からモデル式のパラメータ集合Cの値を決定することでサーバ装置210〜240に応じたモデルを生成し、任意のプログラムに対する計算時間を予測することができる。また、パラメータ集合Cに生じる誤差を推定することで、生成したモデルがどの程度の精度で計算時間を予測できるかを定量的に評価することができる。このため、サンプル問題よりも大規模な問題を解くプログラムを大きなリソースを用いて並列処理システムに実行させるときでも、モデルによる計算時間の予測を効果的に利用できるようになる。
例えば、ユーザは、予測精度が許容できるとき、予測誤差を考慮して並列処理システムのリソースを予約することができる。一方、予測精度が許容できないとき、より予測精度の高いモデルを生成するために、測定情報の中から異常な測定データを探し、異常な測定データを除去してモデルを生成し直すといった措置をとることができる。
なお、前述のように、第1の実施の形態の情報処理は、情報処理装置10にプログラムを実行させることで実現でき、第2の実施の形態の情報処理は、シミュレーション装置100にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体(例えば、記録媒体34)に記録しておくことができる。記録媒体としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、FDおよびHDDが含まれる。光ディスクには、CD、CD−R(Recordable)/RW(Rewritable)、DVDおよびDVD−R/RWが含まれる。
プログラムを流通させる場合、例えば、当該プログラムを記録した可搬記録媒体が提供される。また、プログラムを他のコンピュータの記憶装置に格納しておき、ネットワーク経由でプログラムを配布することもできる。コンピュータは、例えば、可搬記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを、記憶装置(例えば、HDD103)に格納し、当該記憶装置からプログラムを読み込んで実行する。ただし、可搬記録媒体から読み込んだプログラムを直接実行してもよく、他のコンピュータからネットワークを介して受信したプログラムを直接実行してもよい。
10 情報処理装置
11 記憶部
11a 測定情報
12 演算部
20 計算機システム

Claims (6)

  1. 計算機システムが使用するリソースの量と計算時間との関係を評価する、コンピュータが実行する性能評価方法であって、
    使用するリソースの量を変えて前記計算機システムにサンプルプログラムを複数回実行させることで測定された複数の第1の計算時間に基づいて、リソース量と計算時間との関係を算出するための評価モデルに用いられるパラメータの値を決定し、
    前記測定された複数の第1の計算時間それぞれと、前記評価モデルに従って算出される当該第1の計算時間に対応する第2の計算時間との差が、閾値まで広がることを許容した場合の、パラメータの値の変動量を算出し、
    前記評価モデルに前記決定したパラメータの値を適用することで示されるリソース量と計算時間との関係が、前記決定したパラメータの値が前記算出した変動量だけ変動することによって受ける影響を示す情報を出力する、性能評価方法。
  2. 前記変動量の算出では、各測定された第1の計算時間と当該第1の計算時間に対応する第2の計算時間との差が前記閾値以下であることを、パラメータの値の変動量を示す自由変数を用いて表した複数の不等式を生成し、前記複数の不等式の集合を数式処理することで前記自由変数が取り得る値を算出する、請求項1記載の性能評価方法。
  3. 前記数式処理は、前記複数の不等式の集合に対し限量子消去法を適用することを含む、請求項2記載の性能評価方法。
  4. 前記閾値として、各測定された第1の計算時間と前記評価モデルに前記決定したパラメータの値を適用することで算出される当該第1の計算時間に対応する第2の計算時間との差のうちの最大値を用いる、請求項1記載の性能評価方法。
  5. 使用するリソースの量を変えて計算機システムにサンプルプログラムを複数回実行させることで測定された複数の第1の計算時間を示す測定情報を記憶する記憶部と、
    前記測定情報を用いてリソース量と計算時間との関係を評価する演算部と、
    を有し、前記演算部は、
    前記測定情報に基づいて、リソース量と計算時間との関係を算出するための評価モデルに用いられるパラメータの値を決定し、
    前記測定情報が示す複数の第1の計算時間それぞれと、前記評価モデルに従って算出される当該第1の計算時間に対応する第2の計算時間との差が、閾値まで広がることを許容した場合の、パラメータの値の変動量を算出し、
    前記評価モデルに前記決定したパラメータの値を適用することで示されるリソース量と計算時間との関係が、前記決定したパラメータの値が前記算出した変動量だけ変動することによって受ける影響を示す情報を出力する、情報処理装置。
  6. 計算機システムが使用するリソースの量と計算時間との関係を評価するためのプログラムであって、コンピュータに、
    使用するリソースの量を変えて前記計算機システムにサンプルプログラムを複数回実行させることで測定された複数の第1の計算時間に基づいて、リソース量と計算時間との関係を算出するための評価モデルに用いられるパラメータの値を決定し、
    前記測定された複数の第1の計算時間それぞれと、前記評価モデルに従って算出される当該第1の計算時間に対応する第2の計算時間との差が、閾値まで広がることを許容した場合の、パラメータの値の変動量を算出し、
    前記評価モデルに前記決定したパラメータの値を適用することで示されるリソース量と計算時間との関係が、前記決定したパラメータの値が前記算出した変動量だけ変動することによって受ける影響を示す情報を出力する、処理を実行させるプログラム。
JP2012039406A 2012-02-24 2012-02-24 性能評価方法、情報処理装置およびプログラム Active JP5765266B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012039406A JP5765266B2 (ja) 2012-02-24 2012-02-24 性能評価方法、情報処理装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012039406A JP5765266B2 (ja) 2012-02-24 2012-02-24 性能評価方法、情報処理装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2013175065A JP2013175065A (ja) 2013-09-05
JP5765266B2 true JP5765266B2 (ja) 2015-08-19

Family

ID=49267909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012039406A Active JP5765266B2 (ja) 2012-02-24 2012-02-24 性能評価方法、情報処理装置およびプログラム

Country Status (1)

Country Link
JP (1) JP5765266B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6536295B2 (ja) * 2015-08-31 2019-07-03 富士通株式会社 予測性能曲線推定プログラム、予測性能曲線推定装置および予測性能曲線推定方法
JP7003025B2 (ja) * 2018-10-17 2022-01-20 Kddi株式会社 計算量評価装置、計算量評価方法及び計算量評価プログラム

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI428767B (zh) * 2006-06-26 2014-03-01 Ibm 最佳化配置系統參數集之方法,程式及裝置
JP5316433B2 (ja) * 2010-01-26 2013-10-16 富士通株式会社 最適化処理プログラム、方法及び装置

Also Published As

Publication number Publication date
JP2013175065A (ja) 2013-09-05

Similar Documents

Publication Publication Date Title
JP5983728B2 (ja) 仮想マシン管理装置及び仮想マシン管理方法
US9626272B2 (en) Prediction of impact of workload migration
JP5901140B2 (ja) システムの高い可用性のためにセンサデータを補間する方法、コンピュータプログラム、システム。
JP7040319B2 (ja) 運用管理装置、移動先推奨方法及び移動先推奨プログラム
US11714680B2 (en) Dynamic resource allocation for computational simulation
CN109189323B (zh) 扩容方法及设备
US20190101911A1 (en) Optimization of virtual sensing in a multi-device environment
CN108509324B (zh) 选择计算平台的系统和方法
TWI598812B (zh) 判定用於軟體開發之經推薦之最佳化策略
JP2010009160A (ja) 性能値算出装置
JP6090327B2 (ja) ボトルネック検出装置、方法及びプログラム
CN114356577A (zh) 一种系统容量预估方法以及装置
JP2014074994A (ja) 評価支援方法、情報処理装置、及びプログラム
JP2017167930A (ja) 情報処理装置、電力測定方法及び電力測定プログラム
JP5765266B2 (ja) 性能評価方法、情報処理装置およびプログラム
JP2014174844A (ja) 性能評価支援プログラム、性能評価支援装置及び性能評価支援方法
JP2018120387A (ja) 並列処理パラメータ決定プログラム、並列処理パラメータ決定方法、および並列処理管理装置
US20130282337A1 (en) Performance evaluation device and performance evaluation method
KR102057219B1 (ko) 데이터 입출력 포화 검출 장치 및 방법
CN115169559A (zh) 一种模型耗时预测方法、装置、设备以及存储介质
US20250291872A1 (en) Analysis device, analysis method, and recording medium
JP2020149230A (ja) 機械学習プログラム、機械学習方法および機械学習システム
JP5636922B2 (ja) 性能予測装置、性能予測方法およびプログラム
von Kistowski et al. Univariate interpolation-based modeling of power and performance
KR20200010644A (ko) 컴퓨터 수행 가능한 클라우드 기반의 인공지능 연산 서비스 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141007

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150508

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: 20150519

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150601

R150 Certificate of patent or registration of utility model

Ref document number: 5765266

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150