JP2008139965A - 情報処理装置及び情報処理方法及びプログラム - Google Patents
情報処理装置及び情報処理方法及びプログラム Download PDFInfo
- Publication number
- JP2008139965A JP2008139965A JP2006323560A JP2006323560A JP2008139965A JP 2008139965 A JP2008139965 A JP 2008139965A JP 2006323560 A JP2006323560 A JP 2006323560A JP 2006323560 A JP2006323560 A JP 2006323560A JP 2008139965 A JP2008139965 A JP 2008139965A
- Authority
- JP
- Japan
- Prior art keywords
- performance
- information
- simulation
- execution performance
- predicted execution
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】機能シミュレーション部2が、複数の機能ブロックから構成されるプログラムのシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報5を生成し、性能選択部8が、性能予測の対象となるハードウェア・アーキテクチャを選択し、性能情報データベース6は、複数のハードウェア・アーキテクチャの各々に対して、プログラムを実行する場合の各ハードウェア・アーキテクチャの機能ブロックごとの予測実行性能を記憶しており、性能情報変換部7は、性能情報データベース6を検索して、性能情報変換部7が選択したハードウェア・アーキテクチャを用いてトレース情報5に示される機能ブロックの遷移に従って当該プログラムを実行する場合の性能情報データをトレース/性能パラメータ情報として生成する。
【選択図】図1
Description
また、命令レベルシミュレータでは、性能評価対象となるプログラムを命令レベルシミュレータ上で動作させ、その命令数をカウントすることによりCPU使用時間を概算して性能評価を行う方法も提案されている(例えば、特許文献2)。
(1)実機上で実システムを動作させてトレースログなどを取得する為、性能予測対象のハードウェア・アーキテクチャが固定され、他のハードウェア・アーキテクチャに対する性能予測が行えない。
(2)実システムを動作させてトレースログなどを取得する為、まだ実システムが存在しない(実際のプログラムが存在しない)システムに対する性能予測が行えない。
(3)性能予測の精度を上げるためにプロセッサの命令レベルでの動作把握を行う為、大規模、且つ、複雑なシステムを対象とした場合、大量のトレースログが必要になり、性能予測の実施に時間がかかる。
(1)対象システムを任意の規模の機能ブロックに分割し、この機能ブロック単位にハードウェアへの配置を行うことにより、様々なハードウェア・アーキテクチャを対象として性能予測を行えるようにする。
(2)現実には未実装の機能を機能ブロック単位で想定し、その機能ブロックの予測性能情報、もしくは目標性能情報を用いて、システム全体の性能予想を可能とする。
(3)任意の機能ブロック単位でトレース情報を取得することにより、トレース量を少なくし、性能予測の実施時間を短縮する。また、一旦トレース情報を取得するとこれを用いて様々なハードウェア・アーキテクチャ上での性能予測を繰り返し行えるようにする。
(4)機能ブロック単位でベンチマークプログラムを作成し、これを実ハードウェア上で動作させて性能情報を収集し、この性能情報を性能シミュレーションに用いることにより、性能予測の精度を高める。
(5)機能に影響を及ぼすような性能評価がなされた場合に、その性能情報をフィードバック情報として、機能シミュレーションにおける機能パラメータ、機能モデルを自動的に再設定することを可能とする。
そして、これらを実現することにより、システムの事前/事後検証、将来システムの設計支援を効率的に行うことを可能とする情報処理装置等を実現する。
複数の機能ブロックにより構成される対象プログラムのシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報を生成する機能シミュレーション部と、
性能予測の対象となる対象ハードウェア・アーキテクチャを選択する性能選択部と、
前記対象プログラムが前記対象ハードウェア・アーキテクチャを用いて前記トレース情報に示される機能ブロックの遷移に従って実行される場合の前記対象ハードウェア・アーキテクチャの予測実行性能を示す予測実行性能情報を生成する予測実行性能情報生成部とを有することを特徴とする。
図1は、本実施の形態に係る情報処理装置100の動作原理を示す構成図である。
図1において、機能選択部1は、機能シミュレーションを行うための機能モデル、機能パラメータの選択、シミュレーション対象のシナリオの指定などを情報処理装置100を操作する操作員が指示・確認するためのマン・マシン・インターフェースを備えた手段である。
機能シミュレーション部2は、検証対象となる機能を機能選択部1で指定された機能モデル、機能パラメータで、与えられたシナリオに従いシミュレーションする手段である。
シナリオデータ3は、機能シミュレーションを行う為の初期設定などが記憶されたデータである。
実行結果4は、シナリオデータ3に基づき実行された機能シミュレーションの結果などのデータである。
トレース情報5は、シミュレーション対象システム内の任意の機能ブロックの実行履歴と同等とする機能シミュレーションの実行内容を保存したデータである。
性能情報データベース6は、各機能ブロックでのハードウェアリソース使用量を様々な複数のハードウェア・アーキテクチャ毎に記録しているデータベースである。
性能情報変換部7は、トレース情報5を性能情報データベース6によりトレース/性能パラメータ情報10に変換する手段である。
性能選択部8は、性能シミュレーションを行う為のハードウェア・アーキテクチャの選択、各機能ブロックのハードウェア・アーキテクチャへの配置などを操作員が指示・確認するためのマン・マシン・インターフェースを備えた手段である。
性能シミュレーション部9は、指定されたハードウェア・アーキテクチャでトレース/性能パラメータ情報を元にリソース使用量を演算し対象システムの性能シミュレーションを行う手段である。
トレース/性能パラメータ情報10は、性能情報変換部7により生成され保存されたデータである。
性能結果11は、性能シミュレーション部9の実行結果などのデータである。
性能フィードバック部12は、性能シミュレーション部で検知された機能に影響する性能値をフィードバック情報データベース13に保存すると共に機能シミュレーション部2の機能モデルや機能パラメータを自動的に再設定したり、性能シミュレーション部9のハードウェア・アーキテクチャを自動的に再設定したりする手段である。
機能シミュレーション部2は、複数の機能ブロックにより構成されるシミュレーション対象のプログラム(対象プログラム)のシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報5を生成する。
そして、性能選択部8が、性能予測の対象となるハードウェア・アーキテクチャ(対象ハードウェア・アーキテクチャ)を選択し、性能情報変換部7(予測実行性能情報生成部)が、対象プログラムが対象ハードウェア・アーキテクチャを用いてトレース情報5に示される機能ブロックの遷移に従って実行される場合の対象ハードウェア・アーキテクチャの性能情報(予測実行性能)を示すトレース/性能パラメータ情報10(予測実行性能情報)を生成する。
トレース/性能パラメータ情報10は、トレース情報5に示される機能ブロックの遷移に従って対象ハードウェアの性能情報を表示する。
性能情報データベース6には、複数のハードウェア・アーキテクチャの各々に対して、対象プログラムを実行する場合の各ハードウェア・アーキテクチャの機能ブロックごとの予測実行性能を記憶しており、性能情報変換部7は、性能情報データベース6から、トレース情報に示される機能ブロックごとに対象ハードウェア・アーキテクチャの予測実行性能を抽出して、トレース/性能パラメータ情報を生成する。
図19において、情報処理装置100は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。
また、通信ボード915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
ファイル群924には、以下に述べる説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の評価」、「〜の抽出」、「〜の設定」、「〜の登録」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、以下で説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
次に、機能シミュレーション部2は、初期設定されたシナリオをシナリオデータ3として読込み(S1801)、機能モデル、機能パラメータに従い機能シミュレーションを実行し(S1802)(機能シミュレーションステップ)、その結果を実行結果4として出力すると共に、機能シミュレーション部2は機能ブロック単位での実行履歴をトレース情報5として出力する(S1803)(機能シミュレーションステップ)。
ここで、シミュレーション対象システム(対象プログラム)としては、図2に示すように、複数の機能ブロックに分割され、外部機器の計測データの入力に対して、機能ブロック間でデータのやり取りを行い、外部機器への制御指示を行う制御システムが想定され、このシミュレーション対象システムに対する入力である計測データは、シナリオデータ3により規定され、その出力である制御指示は実行結果4として参照可能となり、実行履歴は機能ブロックA〜Hのデータの遷移に従いトレース情報5として出力される。
トレース情報5としては、図3の例に示すように、時系列にどの機能ブロックが実行されたかが記録される。
なお、図3の例では、各機能ブロックの開始時刻及び終了時刻が示されているが、これらは省略してもよい。つまり、トレース情報5では、機能シミュレーションにおける機能ブロックの遷移(順序)が示されていればよく、機能ブロックIDのみが示されるものであってもよい。
なお、この操作は、機能シミュレーションの実施前、即ち、機能選択部1を介した機能シミュレーション部2の初期設定と同時にも可能である。
次に、性能情報変換部7が、性能選択部8により選択された性能予測対象のハードウェア・アーキテクチャに基づき、トレース情報5に対応させて性能情報データベース6の性能データを抽出し(S1805)(予測実行性能情報生成ステップ)、トレース/性能パラメータ情報10を生成し(S1806)(予測実行性能情報生成ステップ)、トレース/性能パラメータ情報10を出力する(S1807)。
性能シミュレーション部9は、性能情報変換部7から出力されたトレース/性能パラメータ情報10を入力として性能シミュレーションを実行し、その結果を性能結果11として出力すると共に、性能フィードバック部12を介して、機能シミュレーション部2に機能モデル、機能パラメータの初期設定としてフィードバックを行う。
ここでは、性能情報変換部7の動作について説明する。
性能情報データベース6は、図4の例に示すようにハードウェア・アーキテクチャ毎にどの機能ブロックがどれだけCPUを必要とするかが記録されている。
また、トレース/性能パラメータ情報10は、図5の例に示すように時系列にどの機能ブロックが実行されて、その際にどれだけのCPU利用を必要とするかが示される。
性能情報変換部7は、シミュレーション対象システム(対象プログラム)をシミュレートした結果である機能ブロックの遷移を示すトレース情報5を入力し、また、性能選択部8より選択されたハードウェア・アーキテクチャ(対象ハードウェア・アーキテクチャ)の情報を入力し、トレース情報5に示される各機能ブロックに対して性能情報データベース6の対応する性能情報データを抽出して、トレース/性能パラメータ情報10を生成する。
トレース/性能パラメータ情報10は、シミュレーション対象システムが選択されたハードウェア・アーキテクチャを用いてトレース情報5に示される機能ブロックの遷移に従って実行される場合の当該ハードウェア・アーキテクチャの予測実行性能をトレース情報5に示される機能ブロックの遷移に従って示している。
性能シミュレーション部9において、トレース/性能パラメータ情報10を解析した結果、機能シミュレーションの再実行やトレース/性能パラメータ情報10の再生成等が必要ないと判断されれば、トレース/性能パラメータ情報10が性能結果11として出力され、情報処理装置100の操作員は、性能選択部8により選択されたハードウェア・アーキテクチャを用いてシミュレーション対象システムが実行された場合の各機能ブロックのCPU時間等を参照することができる。
図2に示すシステムを対象として機能シミュレーションを実施し、性能情報変換部9においてCPUを1個搭載したあるハードウェア・アーキテクチャが選択された際に図5に示すようなトレース/性能パラメータ情報10が生成されたとする。
性能シミュレーション部9の予測実行性能情報解析部においては、トレース/性能パラメータ情報10より30msec周期で機能ブロックAに対する計測データ入力がなされていることを読取り、機能ブロックの読出し順序に従い、図20に示すような各機能ブロックのCPU利用時間チャートを解決する演算を行ない、任意の計測データ入力から制御指示が出されるまでの経過時間を予測する。
そして、ハードウェア・アーキテクチャごとに機能シミュレーションを行う必要がないため、全体の処理としてCPU負荷及びメモリ使用量を減少させることができ、コンピュータの有限なリソースの使用効率を向上させることができるという効果が得られる。
以上の実施の形態1では、機能ブロック単位でのCPU利用時間を性能情報データベースに保存して利用していたが、次により性能予測の精度を向上させる場合の実施の形態を示す。
なお、本実施の形態に係る情報処理装置100の構成は、図1に示したものと同様である。
機能シミュレーション部2は、どの分岐パターンで実行されたかを記録し、図7に示すように実行された分岐パターンを示すトレース情報5を出力する。図7の例では、例えば、機能ブロックAに対しては複数の分岐パターンのうち、分岐パターン2が実行され、機能ブロックCに対しては複数の分岐パターンのうち、分岐パターン1が実行されたことが示されている。
そして、性能情報データベース6は、図8に示すように、分岐パターン毎にハードウェアリソースの利用量を保持する。
また、図8では、ハードウェアリソースとして、CPU利用時間だけではなく、メモリ利用量、IO量などを保持する例が示されている。
つまり、機能シミュレーション部2が、分岐パターン(サブ機能ブロック)単位で機能ブロックの遷移を示すトレース情報5を生成し、
性能情報変換部7が、性能情報データベース6から、トレース情報5に示される分岐パターン(サブ機能ブロック)ごとに対象ハードウェア・アーキテクチャの性能情報データ(予測実行性能)を抽出して、対象プログラムが対象ハードウェア・アーキテクチャを用いてトレース情報5に示される機能ブロックの遷移に従って実行される場合の対象ハードウェア・アーキテクチャの予測実行性能をトレース情報に示される分岐パターン(サブ機能ブロック)の遷移に従って示すトレース/性能パラメータ情報10を生成する。
本実施の形態では、性能情報変換部7は、図7のトレース情報及び図8の性能情報データベース6の性能情報データに基づいて、例えば図9に示すようなトレース/性能パラメータ情報10を生成する。
以上の実施の形態1は、性能情報データベース6には、ハードウェア・アーキテクチャ毎の固定値を用いるようにしたものであるが、次に、より高精度に性能予測を行う場合の実施の形態を示す。
なお、本実施の形態に係る情報処理装置100の構成は、図1に示したものと同様である。
本実施の形態では、図11に示すように、ハードウェアリソースの利用量が固定値ではなく算術式で指定できるようにしており、ハードウェアリソースの利用量に影響を及ぼすパラメータ値を図10のトレース情報5で記録できるようにしている。
これにより、各機能ブロックの実行時にどれだけのハードウェアリソースが必要とされるかが性能情報変換部7で計算され、図12のトレース/性能パラメータ情報に変換される。
ここで、図10に示されるパラメータ値Xは、機能シミュレーション部2による機能シミュレーション後に判明する値である。
また、図10〜図12では、分岐パターンごとにパラメータ値、計算式、予測性能値を示すこととしているが、分岐パターンへの細分類を行わずに機能ブロックごとにパラメータ値、計算式、予測性能値を示すようにしてもよい。
つまり、機能シミュレーション部2が、ハードウェア・アーキテクチャの実行性能に影響を与え得るパラメータ値が機能ブロック又は分岐パターン(サブ機能ブロック)ごとに示されたトレース情報を生成する。
そして、性能情報データベース6は、複数のハードウェア・アーキテクチャの各々に対して、対象プログラムを実行する場合の各ハードウェア・アーキテクチャの予測実行性能を算出するための計算式(予測実行性能計算式)を機能ブロック又は分岐パターン(サブ機能ブロック)ごとに記憶しており、性能情報変換部7は、性能情報データベース6から、トレース情報5に示される機能ブロック又は分岐パターン(サブ機能ブロック)ごとに対象ハードウェア・アーキテクチャの計算式を抽出し、抽出した計算式とトレース情報5に示された対応する機能ブロック又は分岐パターン(サブ機能ブロック)のパラメータ値とを用いてを用いて予測実行性能を算出してトレース/性能パラメータ情報10を生成する。
次に、より柔軟にハードウェア・アーキテクチャを指定可能とすることにより、性能予測の利便性を向上させる場合の実施の形態を示す。
なお、本実施の形態に係る情報処理装置100の構成は、図1に示したものと同様である。
図13(a)の性能シミュレーション対象ハードウェアでは、バスで結ばれたプロセッサ・ボードを2枚用い、各々のプロセッサ・ボード上で動作する機能ブロックを固定的に割付けている。同様に図13(b)の性能シミュレーション対象ハードウェアでは、LANで結ばれたサーバ計算機を2台用い、各々のサーバ計算機上で動作する機能ブロックを固定的に割付けている。
各々の例で、2枚のプロセッサ・ボード同士、2台のサーバ計算機同士は同じハードウェア・アーキテクチャでも良いし、異なるハードウェア・アーキテクチャを指定することも可能である。
また、各ハードウェア・アーキテクチャ上に割付けられている機能ブロックも操作員により性能選択部8を介して自由に再割付を可能とする。
そして、性能選択部8は、対象ハードウェア・アーキテクチャとして、機能選択部1により指定されたハードウェア割り当て形態に合致するハードウェア・アーキテクチャを選択し、性能情報変換部7は、機能選択部1により指定されたハードウェア割り当て形態に合致するハードウェア・アーキテクチャの予測実行性能をトレース情報5に示される機能ブロックの遷移に従って示すトレース/性能パラメータ情報10を生成する。
また、機能シミュレーションにおいては、機能ブロックの動作条件を制御システムのモデルとして機能選択部1により設定しておくことにより、同一条件で異なるハードウェア・アーキテクチャに対する性能シミュレーションを一度の機能シミュレーションから取得したトレース情報5を基に実施可能となり、検証時間が短縮できる。
次に、性能情報データベース6に保持する性能情報データの精度を更に高める場合の実施の形態を示す。
なお、本実施の形態に係る情報処理装置100の構成は、図1に示したものと同様である。
この例では、データの送受信部分を除き、実際の機能ブロックの処理を持ち、データの送受信を行う替わりに、受信データに相当する模擬データをファイル等から読込み処理を実行させ、その結果を出力するプログラムをベンチマークプログラムとしている。
用意する模擬データは、機能ブロック内の分岐パターンの全てを通るように複数選定する。
このベンチマークプログラムを様々なハードウェア・アーキテクチャ上で動作させ、分岐パターン毎に使用されるハードウェアリソース量を測定し、その結果を性能情報データベース6の該当するハードウェア・アーキテクチャの性能情報データとする。
次に、性能シミュレーション部9から性能フィードバック部12を介して機能シミュレーション部2に制御用パラメータが再設定される実施の形態を示す。
本実施の形態に係る情報処理装置100の構成は、図1に示したものと同様である。
なお、本実施の形態では、性能シミュレーション部9は、機能シミュレーション部2による対象プログラムの機能シミュレーションの結果を解析し、対象プログラムのシミュレーションに用いたいずれかのパラメータ値を変更するとともに、性能フィードバック部12を介して、変更後のパラメータ値を用いて対象プログラムの機能シミュレーションを再実行するよう機能シミュレーション部2に指示する。本実施の形態では、性能シミュレーション部9は、シミュレーション解析部として機能する。
また、本実施の形態では、機能シミュレーション部2は、性能シミュレーション部9により指示された変更後のパラメータ値を用いて対象プログラムの機能シミュレーションを再実行し、再実行した機能シミュレーションにおける機能ブロックの遷移を示すトレース情報5を生成し、性能情報変換部7は、機能シミュレーション部2によるシミュレーションの再実行時に生成されたトレース情報5を用いてトレース/性能パラメータ情報10を生成する。
この例では、経路探索を再帰的に行う“RecursiveSearch”関数が設定されており、何らかの条件を満たすか、制御用パラメータである“MAX_SEARCH_LEVEL”に再帰実行回数が満たない場合に呼び出される。
この制御用パラメータである“MAX_SEARCH_LEVEL”は、通常、処理時間の制約を表している。
この例において、機能ブロックEが周期的に実行されるものとすると、”MAX_SEARCH_LEVEL”が再帰処理制限回数として周期内に処理が終えるように設定されている必要がある。
性能シミュレーション部9は、周期的に動作する機能ブロックEが周期時間内に処理を終了できなかったのを検知し、再帰処理が何回まで処理できたかの数値Nを性能フィードバック部12に通知し、性能フィードバック部12は、機能シミュレーション部2で使用されたシナリオデータ、性能シミュレーション部で使用されたハードウェア・アーキテクチャの構成/配置、及び、制御用パラメータ“MAX_SEARCH_LEVEL”に対応する値Nをフィードバック情報データベース13に保存し、機能シミュレーション部2の制御用パラメータである”MAX_SEARCH_LEVEL”をNに再設定し、機能シミュレーションを再実行できるようにする。つまり、シナリオデータ3の他のパラメータ等は変更することなく、“MAX_SEARCH_LEVEL”を値Nに変更して機能シミュレーション部2は機能シミュレーションを行う。
そして、性能情報変換部7は、“MAX_SEARCH_LEVEL”が値Nである機能シミュレーションの結果を示すトレース情報5を入力し、このトレース情報5に基づいてトレース/性能パラメータ情報10を生成する。
次に、性能シミュレーション部9から性能フィードバック部12を介して、性能シミュレーション部9にハードウェア構成が再設定される実施の形態を示す。
本実施の形態に係る情報処理装置100の構成は、図1に示したものと同様である。
なお、本実施の形態では、性能シミュレーション部9は、性能情報変換部7により生成されたトレース/性能パラメータ情報10を解析し、対象ハードウェア・アーキテクチャのハードウェア構成を変更するとともに、ハードウェア構成変更後の対象ハードウェア・アーキテクチャを用いた場合のトレース/性能パラメータ情報10を再生成するよう性能情報変換部7に指示する。本実施の形態では、性能シミュレーション部9は、予測実行性能情報解析部として機能する。
また、本実施の形態では、性能情報変換部7は、性能シミュレーション部9により指示されたハードウェア構成変更後の対象ハードウェア・アーキテクチャを用いた場合のトレース/性能パラメータ情報10を再生成する。
図16(a)で、当初プロセッサ数を4個に設定して性能シミュレーションを実行したところ、目標とする要求実行時間内に処理が完了し、更に余裕がある状況であることを検知し、当初プロセッサ4個で実行していたのを図16(b)のようにプロセッサ数を2個に変更して性能シミュレーションを再実行できるようにする。
つまり、性能シミュレーション部9は、プロセッサ数が4個のハードウェア構成に対して性能情報変換部7により生成されたトレース/性能パラメータ情報10を解析した結果、目標とする要求実行時間内に処理が完了し、更に余裕がある状況であることを検知した場合には、性能シミュレーション部9は、図16(b)のようにハードウェア構成をプロセッサ数が2個の構成に変更してトレース/性能パラメータ情報10を再生成するように性能情報変換部7に指示する。
そして、性能情報変換部7は、プロセッサが2個の場合の性能情報データを性能情報データベース6から抽出し、プロセッサが2個の場合のトレース/性能パラメータ情報10を生成する。
次に、性能シミュレーション部9から性能フィードバック部12を介して、性能シミュレーション部9にハードウェア構成が再設定される他の実施の形態を示す。
なお、本実施の形態においても、情報処理装置100の構成は、図1に示したものと同様である。
また、本実施の形態においても、性能シミュレーション部9は、予測実行性能情報解析部として機能する。
図17(a)で、当初プロセッサ数を2個に設定して性能シミュレーションを実行したところ、目標とする要求実行時間内に処理が完了しないことを検知し、当初プロセッサ2個で実行していたのを図17(b)のようにプロセッサ数を4個に変更して性能シミュレーションを再実行できるようにする。
つまり、性能シミュレーション部9は、プロセッサ数が2個のハードウェア構成に対して性能情報変換部7により生成されたトレース/性能パラメータ情報10を解析した結果、目標とする要求実行時間内に処理が完了しなかったことを検知した場合には、性能シミュレーション部9は、図17(b)のようにハードウェア構成をプロセッサが4個の構成に変更してトレース/性能パラメータ情報10を再生成するように性能情報変換部7に指示する。
そして、性能情報変換部7は、プロセッサが4個の場合の性能情報データを性能情報データベース6から抽出し、プロセッサが4個の場合のトレース/性能パラメータ情報10を生成する。
次に、シミュレーション対象システムの一部機能の再設計支援を主な目的として性能予測を行う場合の実施の形態を示す。
なお、本実施の形態においても、情報処理装置100の構成は、図1に示したものと同様である。
また、本実施の形態においても、性能シミュレーション部9は、予測実行性能情報解析部として機能する。
次に予測実行性能情報生成部において、機能ブロックCに関する性能情報の変わりに、未実装の機能ブロックC’の性能目標値を使用して予測実行性能情報を生成する。
この予測実行性能情報を用いて性能シミュレーションを実施する。
(a)機能シミュレーション部での模擬対象の制御システムのモデルや制御用パラメータを選択・設定する機能選択部、
(b)複数の制御プログラムにより構成された制御システムの機能をシミュレーションし、シミュレーション実行内容をトレース情報として出力するとともに実行結果を出力する機能シミュレーション部、
(c)性能模擬の対象となるハードウェア・アーキテクチャを選択する性能選択部、
(d)性能選択部により指定されたハードウェアの性能を性能情報データベースから取り出し、トレース情報と合成して、トレース/性能パラメータ情報を生成する性能情報変換部、
(e)トレース/性能パラメータ情報を入力とし、シミュレーション対象ハードウェア・アーキテクチャにおけるハードウェア資源の利用を演算することにより性能結果を出力すると共に性能フィードバック部に対してフィードバック情報を出力する性能シミュレーション部、
(f)性能シミュレーション部より入力されたフィードバック情報を元に機能シミュレーション部の制御用パラメータを自動的に再設定する性能フィードバック部。
Claims (16)
- 複数の機能ブロックにより構成される対象プログラムのシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報を生成する機能シミュレーション部と、
性能予測の対象となる対象ハードウェア・アーキテクチャを選択する性能選択部と、
前記対象プログラムが前記対象ハードウェア・アーキテクチャを用いて前記トレース情報に示される機能ブロックの遷移に従って実行される場合の前記対象ハードウェア・アーキテクチャの予測実行性能を示す予測実行性能情報を生成する予測実行性能情報生成部とを有することを特徴とする情報処理装置。 - 前記情報処理装置は、更に、
複数のハードウェア・アーキテクチャの各々に対して、前記対象プログラムを実行する場合の各ハードウェア・アーキテクチャの機能ブロックごとの予測実行性能を記憶する性能情報データベースを有し、
前記予測実行性能生成部は、
前記性能情報データベースから、前記トレース情報に示される機能ブロックごとに前記対象ハードウェア・アーキテクチャの予測実行性能を抽出して、予測実行性能情報を生成することを特徴とする請求項1に記載の情報処理装置。 - 前記機能シミュレーション部は、
機能ブロックに任意数のサブ機能ブロックが含まれる対象プログラムに対するシミュレーションを実行し、サブ機能ブロックの遷移を示すトレース情報を生成し、
前記予測実行性能情報生成部は、
前記対象プログラムが前記対象ハードウェア・アーキテクチャを用いて前記トレース情報に示されるサブ機能ブロックの遷移に従って実行される場合の前記対象ハードウェア・アーキテクチャの予測実行性能を示す予測実行性能情報を生成することを特徴とする請求項1に記載の情報処理装置。 - 前記情報処理装置は、更に、
複数のハードウェア・アーキテクチャの各々に対して、前記対象プログラムを実行する場合の各ハードウェア・アーキテクチャのサブ機能ブロックごとの予測実行性能を記憶する性能情報データベースを有し、
前記予測実行性能生成部は、
前記性能情報データベースから、前記トレース情報に示されるサブ機能ブロックごとに前記対象ハードウェア・アーキテクチャの予測実行性能を抽出して、予測実行性能情報を生成することを特徴とする請求項3に記載の情報処理装置。 - 前記機能シミュレーション部は、
機能ブロックにサブ機能ブロックとして分岐パターンが含まれる対象プログラムに対するシミュレーションを実行し、分岐パターンの遷移を示すトレース情報を生成し、
前記予測実行性能情報生成部は、
前記対象プログラムが前記対象ハードウェア・アーキテクチャを用いて前記トレース情報に示される分岐パターンの遷移に従って実行される場合の前記対象ハードウェア・アーキテクチャの予測実行性能を示す予測実行性能情報を生成することを特徴とする請求項3に記載の情報処理装置。 - 前記情報処理装置は、更に、
複数のハードウェア・アーキテクチャの各々に対して、前記対象プログラムを実行する場合の各ハードウェア・アーキテクチャの予測実行性能を算出するための予測実行性能計算式を機能ブロックごとに記憶する性能情報データベースを有し、
前記予測実行性能生成部は、
前記性能情報データベースから、前記トレース情報に示される機能ブロックごとに前記対象ハードウェア・アーキテクチャの予測実行性能計算式を抽出し、抽出した予測実行性能計算式を用いて予測実行性能を算出して予測実行性能情報を生成することを特徴とする請求項1に記載の情報処理装置。 - 前記機能シミュレーション部は、
ハードウェア・アーキテクチャの実行性能に影響を与え得るパラメータ値が機能ブロックごとに示されたトレース情報を生成し、
前記予測実行性能生成部は、
前記性能情報データベースから抽出した予測実行性能計算式と前記トレース情報に示された対応する機能ブロックのパラメータ値とを用いて予測実行性能を算出することを特徴とする請求項6に記載の情報処理装置。 - 前記情報処理装置は、更に、
複数のハードウェア・アーキテクチャの各々に対して、前記対象プログラムを実行する場合の各ハードウェア・アーキテクチャの予測実行性能を算出するための予測実行性能計算式をサブ機能ブロックごとに記憶する性能情報データベースを有し、
前記予測実行性能生成部は、
前記性能情報データベースから、前記トレース情報に示されるサブ機能ブロックごとに前記対象ハードウェア・アーキテクチャの予測実行性能計算式を抽出し、抽出した予測実行性能計算式を用いて予測実行性能を算出して予測実行性能情報を生成することを特徴とする請求項3に記載の情報処理装置。 - 前記機能シミュレーション部は、
ハードウェア・アーキテクチャの実行性能に影響を与え得るパラメータ値がサブ機能ブロックごとに示されたトレース情報を生成し、
前記予測実行性能生成部は、
前記性能情報データベースから抽出した予測実行性能計算式と前記トレース情報に示された対応するサブ機能ブロックのパラメータ値とを用いて予測実行性能を算出することを特徴とする請求項8に記載の情報処理装置。 - 前記情報処理装置は、更に、
前記対象プログラムの各機能ブロックのハードウェア割り当て形態を指定する機能選択部を有し、
前記機能シミュレーション部は、
前記機能選択部により指定されたハードウェア割り当て形態に合わせて前記対象プログラムに対するシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報を生成し、
前記性能選択部は、
前記対象ハードウェア・アーキテクチャとして、前記機能選択部により指定されたハードウェア割り当て形態に合致するハードウェア・アーキテクチャを選択し、
前記予測実行性能情報生成部は、
前記機能選択部により指定されたハードウェア割り当て形態に合致するハードウェア・アーキテクチャの予測実行性能を前記トレース情報に示される機能ブロックの遷移に従って示す予測実行性能情報を生成することを特徴とする請求項1に記載の情報処理装置。 - 前記性能情報データベースは、
前記予測実行性能として、前記対象プログラムの模擬プログラムを実行する場合の各ハードウェア・アーキテクチャの機能ブロックごとの実行性能の実測値を記憶していることを特徴とする請求項2に記載の情報処理装置。 - 前記性能情報データベースは、
前記予測実行性能として、前記対象プログラムの模擬プログラムを実行する場合の各ハードウェア・アーキテクチャのサブ機能ブロックごとの実行性能の実測値を記憶していることを特徴とする請求項4に記載の情報処理装置。 - 前記情報処理装置は、更に、
前記機能シミュレーション部による前記対象プログラムのシミュレーション結果を解析し、前記対象プログラムのシミュレーションに用いたいずれかのパラメータ値を変更するとともに、変更後のパラメータ値を用いて前記対象プログラムのシミュレーションを再実行するよう前記機能シミュレーション部に指示するシミュレーション解析部を有し、
前記機能シミュレーション部は、
前記シミュレーション解析部により指示された変更後のパラメータ値を用いて前記対象プログラムのシミュレーションを再実行し、再実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報を生成し、
前記予測実行性能情報生成部は、
前記機能シミュレーション部によるシミュレーションの再実行時に生成されたトレース情報を用いて予測実行性能情報を生成することを特徴とする請求項1に記載の情報処理装置。 - 前記情報処理装置は、更に、
前記予測実行性能情報生成部により生成された予測実行性能情報を解析し、前記対象ハードウェア・アーキテクチャのハードウェア構成を変更するとともに、ハードウェア構成変更後の対象ハードウェア・アーキテクチャを用いた場合の予測実行性能情報を再生成するよう前記予測実行性能情報生成部に指示する予測実行性能情報解析部を有し、
前記予測実行性能情報生成部は、
前記予測実行性能情報解析部により指示されたハードウェア構成変更後の対象ハードウェア・アーキテクチャを用いた場合の予測実行性能情報を再生成することを特徴とする請求項1に記載の情報処理装置。 - コンピュータが、複数の機能ブロックにより構成される対象プログラムのシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報を生成する機能シミュレーションステップと、
コンピュータが、性能予測の対象となる対象ハードウェア・アーキテクチャを選択する性能選択ステップと、
前記対象プログラムが前記対象ハードウェア・アーキテクチャを用いて前記トレース情報に示される機能ブロックの遷移に従って実行される場合の前記対象ハードウェア・アーキテクチャの予測実行性能を示す予測実行性能情報を、コンピュータが生成する予測実行性能情報生成ステップとを有することを特徴とする情報処理方法。 - 複数の機能ブロックにより構成される対象プログラムのシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報を生成する機能シミュレーション処理と、
性能予測の対象となる対象ハードウェア・アーキテクチャを選択する性能選択処理と、
前記対象プログラムが前記対象ハードウェア・アーキテクチャを用いて前記トレース情報に示される機能ブロックの遷移に従って実行される場合の前記対象ハードウェア・アーキテクチャの予測実行性能を示す予測実行性能情報を生成する予測実行性能情報生成処理とをコンピュータに実行させることを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006323560A JP4842783B2 (ja) | 2006-11-30 | 2006-11-30 | 情報処理装置及び情報処理方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006323560A JP4842783B2 (ja) | 2006-11-30 | 2006-11-30 | 情報処理装置及び情報処理方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008139965A true JP2008139965A (ja) | 2008-06-19 |
JP4842783B2 JP4842783B2 (ja) | 2011-12-21 |
Family
ID=39601386
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006323560A Expired - Fee Related JP4842783B2 (ja) | 2006-11-30 | 2006-11-30 | 情報処理装置及び情報処理方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4842783B2 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010052829A1 (ja) * | 2008-11-05 | 2010-05-14 | パナソニック株式会社 | 資源割付方法、プログラム、及び資源割付装置 |
JP2010211316A (ja) * | 2009-03-06 | 2010-09-24 | Fujitsu Ltd | 検証支援プログラム、情報処理装置および検証支援方法 |
WO2014064913A1 (ja) | 2012-10-23 | 2014-05-01 | 日本電気株式会社 | 運用管理装置、及び、運用管理方法 |
JP2016018469A (ja) * | 2014-07-10 | 2016-02-01 | 富士通株式会社 | シミュレーション方法、シミュレーションプログラム |
JPWO2018150588A1 (ja) * | 2017-02-20 | 2019-06-27 | 三菱電機株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
WO2020261323A1 (ja) * | 2019-06-24 | 2020-12-30 | 日本電信電話株式会社 | 見積り装置、見積り方法およびプログラム |
CN112799895A (zh) * | 2021-01-27 | 2021-05-14 | 北京嘀嘀无限科技发展有限公司 | 硬件评测方法、装置、电子设备、存储介质和程序产品 |
US11301133B2 (en) | 2019-12-09 | 2022-04-12 | Fujitsu Limited | Analysis device, non-transitory computer-readable storage medium for analysis program, and computer system |
JP7433085B2 (ja) | 2019-03-06 | 2024-02-19 | 三菱電機株式会社 | システム分析装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6467644A (en) * | 1987-09-09 | 1989-03-14 | Toshiba Corp | Measuring device for program processing time |
JPH1196130A (ja) * | 1997-09-22 | 1999-04-09 | Fujitsu Ltd | マルチプロセッシングシステムの性能評価方法および装置並びにマルチプロセッシングシステムの性能評価プログラムを格納した記憶媒体 |
JP2005242569A (ja) * | 2004-02-25 | 2005-09-08 | Fujitsu Ltd | データ処理装置設計方法、データ処理装置設計装置及びプログラム |
-
2006
- 2006-11-30 JP JP2006323560A patent/JP4842783B2/ja not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6467644A (en) * | 1987-09-09 | 1989-03-14 | Toshiba Corp | Measuring device for program processing time |
JPH1196130A (ja) * | 1997-09-22 | 1999-04-09 | Fujitsu Ltd | マルチプロセッシングシステムの性能評価方法および装置並びにマルチプロセッシングシステムの性能評価プログラムを格納した記憶媒体 |
JP2005242569A (ja) * | 2004-02-25 | 2005-09-08 | Fujitsu Ltd | データ処理装置設計方法、データ処理装置設計装置及びプログラム |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010052829A1 (ja) * | 2008-11-05 | 2010-05-14 | パナソニック株式会社 | 資源割付方法、プログラム、及び資源割付装置 |
JP2010113482A (ja) * | 2008-11-05 | 2010-05-20 | Panasonic Corp | 資源割付方法、プログラム、及び資源割付装置 |
JP2010211316A (ja) * | 2009-03-06 | 2010-09-24 | Fujitsu Ltd | 検証支援プログラム、情報処理装置および検証支援方法 |
WO2014064913A1 (ja) | 2012-10-23 | 2014-05-01 | 日本電気株式会社 | 運用管理装置、及び、運用管理方法 |
US9645909B2 (en) | 2012-10-23 | 2017-05-09 | Nec Corporation | Operation management apparatus and operation management method |
JP2016018469A (ja) * | 2014-07-10 | 2016-02-01 | 富士通株式会社 | シミュレーション方法、シミュレーションプログラム |
JPWO2018150588A1 (ja) * | 2017-02-20 | 2019-06-27 | 三菱電機株式会社 | 情報処理装置、情報処理方法及び情報処理プログラム |
JP7433085B2 (ja) | 2019-03-06 | 2024-02-19 | 三菱電機株式会社 | システム分析装置 |
WO2020261323A1 (ja) * | 2019-06-24 | 2020-12-30 | 日本電信電話株式会社 | 見積り装置、見積り方法およびプログラム |
US11301133B2 (en) | 2019-12-09 | 2022-04-12 | Fujitsu Limited | Analysis device, non-transitory computer-readable storage medium for analysis program, and computer system |
CN112799895A (zh) * | 2021-01-27 | 2021-05-14 | 北京嘀嘀无限科技发展有限公司 | 硬件评测方法、装置、电子设备、存储介质和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
JP4842783B2 (ja) | 2011-12-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4842783B2 (ja) | 情報処理装置及び情報処理方法及びプログラム | |
JP5034955B2 (ja) | 性能評価シミュレーション装置、性能評価シミュレーション方法および性能評価シミュレーションプログラム | |
Grass et al. | MUSA: a multi-level simulation approach for next-generation HPC machines | |
US6772106B1 (en) | Retargetable computer design system | |
US8428927B2 (en) | Simulation method and simulation apparatus | |
JP6342129B2 (ja) | 混合モードプログラムのソースコードエラー位置検出装置及び方法 | |
JP3608915B2 (ja) | マルチプロセッシングシステムの性能評価方法および装置並びにマルチプロセッシングシステムの性能評価プログラムを格納した記憶媒体 | |
WO2006022204A1 (ja) | ソースプログラムの分析装置および方法 | |
US8768680B2 (en) | Simulator of multi-core system employing reconfigurable processor cores and method of simulating multi-core system employing reconfigurable processor cores | |
JP2009003683A (ja) | ソフトウェア実行装置および協調動作方法 | |
CN103098058A (zh) | 根据算法和规格的自动最佳集成电路生成器 | |
Beamer | A case for accelerating software RTL simulation | |
JP5298967B2 (ja) | 検証支援プログラム、情報処理装置および検証支援方法 | |
JP5034916B2 (ja) | 性能評価モデル生成方法、システム性能評価方法、及び性能評価モデル生成装置 | |
KR102160251B1 (ko) | 복수의 프로세서들을 병렬적으로 이용하여 시뮬레이션을 수행하는 방법 및 장치 | |
CN117113890B (zh) | 一种cpu芯片设计方法及系统 | |
US8340952B2 (en) | Power estimation method and device therefor | |
JP2009211424A (ja) | 最適化箇所判定装置及び最適化箇所判定システム及びコンピュータプログラム及び最適化箇所判定方法 | |
JP2006185055A (ja) | 計算機システムの設計支援システムおよび設計支援プログラム | |
JP4870956B2 (ja) | 組み込み用プログラム生成方法、組み込み用プログラム開発システム、及び情報テーブル部 | |
Zhao et al. | Host-compiled reliability modeling for fast estimation of architectural vulnerabilities | |
Hu et al. | A performance prototyping approach to designing concurrent software architectures | |
JP5056493B2 (ja) | 仮想ソフトウェア生成装置 | |
JP2007018313A (ja) | 回路設計プログラム、回路設計装置、回路設計方法 | |
JP5390464B2 (ja) | シミュレーション装置、シミュレーション装置の制御方法およびプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090119 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20100914 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110823 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110914 |
|
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: 20111004 |
|
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: 20111006 |
|
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: 20141014 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |