JP2008139965A - 情報処理装置及び情報処理方法及びプログラム - Google Patents

情報処理装置及び情報処理方法及びプログラム Download PDF

Info

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
Application number
JP2006323560A
Other languages
English (en)
Other versions
JP4842783B2 (ja
Inventor
Kaoru Tsuru
薫 鶴
Taiji Kawazoe
泰司 川添
Shoichi Furuichi
昌一 古市
Naoyuki Tsunoda
直之 角田
Wakasa Kise
若桜 木瀬
Yosuke Kinoshita
洋輔 木下
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006323560A priority Critical patent/JP4842783B2/ja
Publication of JP2008139965A publication Critical patent/JP2008139965A/ja
Application granted granted Critical
Publication of JP4842783B2 publication Critical patent/JP4842783B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】様々なハードウェア・アーキテクチャを対象とする性能予測を可能とする。
【解決手段】機能シミュレーション部2が、複数の機能ブロックから構成されるプログラムのシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報5を生成し、性能選択部8が、性能予測の対象となるハードウェア・アーキテクチャを選択し、性能情報データベース6は、複数のハードウェア・アーキテクチャの各々に対して、プログラムを実行する場合の各ハードウェア・アーキテクチャの機能ブロックごとの予測実行性能を記憶しており、性能情報変換部7は、性能情報データベース6を検索して、性能情報変換部7が選択したハードウェア・アーキテクチャを用いてトレース情報5に示される機能ブロックの遷移に従って当該プログラムを実行する場合の性能情報データをトレース/性能パラメータ情報として生成する。
【選択図】図1

Description

本発明は、シミュレーションを行う情報処理装置等に関する。
従来のトレース情報を用いたシミュレーションでは、例えば、性能評価対象となる並列計算機のアプリケーションシステムを実機上で動作させ、その際に各プロセッサ間でのメッセージの送受信情報を時刻情報と共に収集することによりCPU(Central Processing Unit)使用時間を得て、シミュレーション対象のハードウェア環境におけるCPU性能に置き換えてシステムの性能評価を行っていた(例えば、特許文献1)。
また、命令レベルシミュレータでは、性能評価対象となるプログラムを命令レベルシミュレータ上で動作させ、その命令数をカウントすることによりCPU使用時間を概算して性能評価を行う方法も提案されている(例えば、特許文献2)。
特開平6‐59939号公報 第2頁〜4頁、第1図 特開平10‐78892号公報 第2頁〜4頁、第1図
従来の性能予測/性能評価を行う為のシミュレーション方式では、以下のような課題があった。
(1)実機上で実システムを動作させてトレースログなどを取得する為、性能予測対象のハードウェア・アーキテクチャが固定され、他のハードウェア・アーキテクチャに対する性能予測が行えない。
(2)実システムを動作させてトレースログなどを取得する為、まだ実システムが存在しない(実際のプログラムが存在しない)システムに対する性能予測が行えない。
(3)性能予測の精度を上げるためにプロセッサの命令レベルでの動作把握を行う為、大規模、且つ、複雑なシステムを対象とした場合、大量のトレースログが必要になり、性能予測の実施に時間がかかる。
この発明は上記のような課題を解決することを主な目的としており、具体的には以下を主な目的とする。
(1)対象システムを任意の規模の機能ブロックに分割し、この機能ブロック単位にハードウェアへの配置を行うことにより、様々なハードウェア・アーキテクチャを対象として性能予測を行えるようにする。
(2)現実には未実装の機能を機能ブロック単位で想定し、その機能ブロックの予測性能情報、もしくは目標性能情報を用いて、システム全体の性能予想を可能とする。
(3)任意の機能ブロック単位でトレース情報を取得することにより、トレース量を少なくし、性能予測の実施時間を短縮する。また、一旦トレース情報を取得するとこれを用いて様々なハードウェア・アーキテクチャ上での性能予測を繰り返し行えるようにする。
(4)機能ブロック単位でベンチマークプログラムを作成し、これを実ハードウェア上で動作させて性能情報を収集し、この性能情報を性能シミュレーションに用いることにより、性能予測の精度を高める。
(5)機能に影響を及ぼすような性能評価がなされた場合に、その性能情報をフィードバック情報として、機能シミュレーションにおける機能パラメータ、機能モデルを自動的に再設定することを可能とする。
そして、これらを実現することにより、システムの事前/事後検証、将来システムの設計支援を効率的に行うことを可能とする情報処理装置等を実現する。
本発明に係る情報処理装置は、
複数の機能ブロックにより構成される対象プログラムのシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報を生成する機能シミュレーション部と、
性能予測の対象となる対象ハードウェア・アーキテクチャを選択する性能選択部と、
前記対象プログラムが前記対象ハードウェア・アーキテクチャを用いて前記トレース情報に示される機能ブロックの遷移に従って実行される場合の前記対象ハードウェア・アーキテクチャの予測実行性能を示す予測実行性能情報を生成する予測実行性能情報生成部とを有することを特徴とする。
本発明によれば、対象プログラムに対するシミュレーションを実行しトレース情報が生成されると、これを用いて、繰り返し、様々なハードウェア・アーキテクチャに対する性能予測が可能となり、様々なハードウェア・アーキテクチャに対する性能予測の結果に基づいて適切なシステム設計が可能となる。
実施の形態1.
図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のハードウェア・アーキテクチャを自動的に再設定したりする手段である。
なお、機能シミュレーションとは、シナリオデータ3、機能モデル、機能パラメータに従い、シミュレーション対象のプログラム(シミュレーション対象のプログラム)をシミュレートすることであり、性能シミュレーションは、性能予測の対象となるハードウェア・アーキテクチャを用いてトレース情報5に示された機能ブロックの遷移の順序に従ってシミュレーション対象システムが実行された場合のリソース使用量等の当該ハードウェア・アーキテクチャの性能をシミュレートすることである。
詳細は後述するが、ここで本実施の形態に係る情報処理装置100の動作例を概説する。
機能シミュレーション部2は、複数の機能ブロックにより構成されるシミュレーション対象のプログラム(対象プログラム)のシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報5を生成する。
そして、性能選択部8が、性能予測の対象となるハードウェア・アーキテクチャ(対象ハードウェア・アーキテクチャ)を選択し、性能情報変換部7(予測実行性能情報生成部)が、対象プログラムが対象ハードウェア・アーキテクチャを用いてトレース情報5に示される機能ブロックの遷移に従って実行される場合の対象ハードウェア・アーキテクチャの性能情報(予測実行性能)を示すトレース/性能パラメータ情報10(予測実行性能情報)を生成する。
トレース/性能パラメータ情報10は、トレース情報5に示される機能ブロックの遷移に従って対象ハードウェアの性能情報を表示する。
性能情報データベース6には、複数のハードウェア・アーキテクチャの各々に対して、対象プログラムを実行する場合の各ハードウェア・アーキテクチャの機能ブロックごとの予測実行性能を記憶しており、性能情報変換部7は、性能情報データベース6から、トレース情報に示される機能ブロックごとに対象ハードウェア・アーキテクチャの予測実行性能を抽出して、トレース/性能パラメータ情報を生成する。
次に、本実施の形態及び以下の実施の形態に係る情報処理装置100のハードウェア構成例について説明する。
図19は、本実施の形態及び以下に述べる実施の形態に示す情報処理装置100のハードウェア資源の一例を示す図である。なお、図19の構成は、あくまでも情報処理装置100のハードウェア構成の一例を示すものであり、情報処理装置100のハードウェア構成は図19に記載の構成に限らず、他の構成であってもよい。
図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などは、出力部、出力装置の一例である。
通信ボード915は、ネットワークに接続されていてもよい。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
上記プログラム群923には、本実施の形態及び以下に述べる実施の形態の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、以下に述べる説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の評価」、「〜の抽出」、「〜の設定」、「〜の登録」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、以下で説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
また、本実施の形態及び以下に述べる実施の形態の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組合せ、さらには、ファームウェアとの組合せで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、本実施の形態及び以下に述べる実施の形態の「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態及び以下に述べる実施の形態の「〜部」の手順や方法をコンピュータに実行させるものである。
このように、本実施の形態及び以下に述べる実施の形態に示す情報処理装置100は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
次に、図18のフローチャートを参照しながら、本実施の形態に係る情報処理装置100の動作例(情報処理方法)について説明する。
まず、機能選択部1が、情報処理装置100を操作する操作員からの指示に基づいてシミュレーション対象となる機能モデル、機能パラメータ、シミュレーションに用いるシナリオなどを指定し、機能シミュレーション部2の初期設定を行う。
次に、機能シミュレーション部2は、初期設定されたシナリオをシナリオデータ3として読込み(S1801)、機能モデル、機能パラメータに従い機能シミュレーションを実行し(S1802)(機能シミュレーションステップ)、その結果を実行結果4として出力すると共に、機能シミュレーション部2は機能ブロック単位での実行履歴をトレース情報5として出力する(S1803)(機能シミュレーションステップ)。
ここで、シミュレーション対象システム(対象プログラム)としては、図2に示すように、複数の機能ブロックに分割され、外部機器の計測データの入力に対して、機能ブロック間でデータのやり取りを行い、外部機器への制御指示を行う制御システムが想定され、このシミュレーション対象システムに対する入力である計測データは、シナリオデータ3により規定され、その出力である制御指示は実行結果4として参照可能となり、実行履歴は機能ブロックA〜Hのデータの遷移に従いトレース情報5として出力される。
トレース情報5としては、図3の例に示すように、時系列にどの機能ブロックが実行されたかが記録される。
なお、図3の例では、各機能ブロックの開始時刻及び終了時刻が示されているが、これらは省略してもよい。つまり、トレース情報5では、機能シミュレーションにおける機能ブロックの遷移(順序)が示されていればよく、機能ブロックIDのみが示されるものであってもよい。
次に、性能選択部8が、操作員からの指示に基づいて性能予測シミュレーション対象となるハードウェア・アーキテクチャを指定し(S1804)(性能選択ステップ)、性能シミュレーション部9の初期設定を行う。
なお、この操作は、機能シミュレーションの実施前、即ち、機能選択部1を介した機能シミュレーション部2の初期設定と同時にも可能である。
次に、性能情報変換部7が、性能選択部8により選択された性能予測対象のハードウェア・アーキテクチャに基づき、トレース情報5に対応させて性能情報データベース6の性能データを抽出し(S1805)(予測実行性能情報生成ステップ)、トレース/性能パラメータ情報10を生成し(S1806)(予測実行性能情報生成ステップ)、トレース/性能パラメータ情報10を出力する(S1807)。
性能シミュレーション部9は、性能情報変換部7から出力されたトレース/性能パラメータ情報10を入力として性能シミュレーションを実行し、その結果を性能結果11として出力すると共に、性能フィードバック部12を介して、機能シミュレーション部2に機能モデル、機能パラメータの初期設定としてフィードバックを行う。
性能シミュレーション部9による性能シミュレーションの詳細及び性能フィードバック部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負荷及びメモリ使用量を減少させることができ、コンピュータの有限なリソースの使用効率を向上させることができるという効果が得られる。
また、機能ブロック単位でトレース情報を取得することにより、トレース量を少なくし、性能予測の実施時間を短縮することが可能となる。
実施の形態2.
以上の実施の形態1では、機能ブロック単位でのCPU利用時間を性能情報データベースに保存して利用していたが、次により性能予測の精度を向上させる場合の実施の形態を示す。
なお、本実施の形態に係る情報処理装置100の構成は、図1に示したものと同様である。
本実施の形態では、機能ブロックを更に複数のサブ機能ブロックに分割する。サブ機能ブロックへの分割は、具体的には、図6に示すように機能ブロック内を入力データの違いにより処理性能差が出る単位で分岐パターンに分割する。
機能シミュレーション部2は、どの分岐パターンで実行されたかを記録し、図7に示すように実行された分岐パターンを示すトレース情報5を出力する。図7の例では、例えば、機能ブロックAに対しては複数の分岐パターンのうち、分岐パターン2が実行され、機能ブロックCに対しては複数の分岐パターンのうち、分岐パターン1が実行されたことが示されている。
そして、性能情報データベース6は、図8に示すように、分岐パターン毎にハードウェアリソースの利用量を保持する。
また、図8では、ハードウェアリソースとして、CPU利用時間だけではなく、メモリ利用量、IO量などを保持する例が示されている。
本実施の形態に係る情報処理装置100の動作は、基本的に実施の形態1と同様である。
つまり、機能シミュレーション部2が、分岐パターン(サブ機能ブロック)単位で機能ブロックの遷移を示すトレース情報5を生成し、
性能情報変換部7が、性能情報データベース6から、トレース情報5に示される分岐パターン(サブ機能ブロック)ごとに対象ハードウェア・アーキテクチャの性能情報データ(予測実行性能)を抽出して、対象プログラムが対象ハードウェア・アーキテクチャを用いてトレース情報5に示される機能ブロックの遷移に従って実行される場合の対象ハードウェア・アーキテクチャの予測実行性能をトレース情報に示される分岐パターン(サブ機能ブロック)の遷移に従って示すトレース/性能パラメータ情報10を生成する。
本実施の形態では、性能情報変換部7は、図7のトレース情報及び図8の性能情報データベース6の性能情報データに基づいて、例えば図9に示すようなトレース/性能パラメータ情報10を生成する。
以上のように、本実施の形態によれば、トレース情報の詳細化、性能情報データベースのリソース利用量項目の詳細化により、性能予測の精度を高めることが可能となる。
実施の形態3.
以上の実施の形態1は、性能情報データベース6には、ハードウェア・アーキテクチャ毎の固定値を用いるようにしたものであるが、次に、より高精度に性能予測を行う場合の実施の形態を示す。
なお、本実施の形態に係る情報処理装置100の構成は、図1に示したものと同様である。
図10は、本実施の形態に係るトレース情報5を示し、図11は、本実施の形態に係る性能情報データベース6のデータを示し、図12は、本実施の形態に係るトレース/性能パラメータ情報10の例を示している。
本実施の形態では、図11に示すように、ハードウェアリソースの利用量が固定値ではなく算術式で指定できるようにしており、ハードウェアリソースの利用量に影響を及ぼすパラメータ値を図10のトレース情報5で記録できるようにしている。
これにより、各機能ブロックの実行時にどれだけのハードウェアリソースが必要とされるかが性能情報変換部7で計算され、図12のトレース/性能パラメータ情報に変換される。
ここで、図10に示されるパラメータ値Xは、機能シミュレーション部2による機能シミュレーション後に判明する値である。
また、図10〜図12では、分岐パターンごとにパラメータ値、計算式、予測性能値を示すこととしているが、分岐パターンへの細分類を行わずに機能ブロックごとにパラメータ値、計算式、予測性能値を示すようにしてもよい。
本実施の形態に係る情報処理装置100の動作は、基本的に実施の形態1と同様である。
つまり、機能シミュレーション部2が、ハードウェア・アーキテクチャの実行性能に影響を与え得るパラメータ値が機能ブロック又は分岐パターン(サブ機能ブロック)ごとに示されたトレース情報を生成する。
そして、性能情報データベース6は、複数のハードウェア・アーキテクチャの各々に対して、対象プログラムを実行する場合の各ハードウェア・アーキテクチャの予測実行性能を算出するための計算式(予測実行性能計算式)を機能ブロック又は分岐パターン(サブ機能ブロック)ごとに記憶しており、性能情報変換部7は、性能情報データベース6から、トレース情報5に示される機能ブロック又は分岐パターン(サブ機能ブロック)ごとに対象ハードウェア・アーキテクチャの計算式を抽出し、抽出した計算式とトレース情報5に示された対応する機能ブロック又は分岐パターン(サブ機能ブロック)のパラメータ値とを用いてを用いて予測実行性能を算出してトレース/性能パラメータ情報10を生成する。
以上のように、本実施の形態によれば、性能に影響を及ぼすパラメータ値に対するハードウェアリソース利用量の算術式を設定可能とすることにより、より高精度の性能予測が可能となる。
実施の形態4.
次に、より柔軟にハードウェア・アーキテクチャを指定可能とすることにより、性能予測の利便性を向上させる場合の実施の形態を示す。
なお、本実施の形態に係る情報処理装置100の構成は、図1に示したものと同様である。
図13は、本実施の形態に係る情報処理装置100がトレース/性能パラメータ情報の生成の対象とする性能シミュレーション対象ハードウェアの概念図である。
図13(a)の性能シミュレーション対象ハードウェアでは、バスで結ばれたプロセッサ・ボードを2枚用い、各々のプロセッサ・ボード上で動作する機能ブロックを固定的に割付けている。同様に図13(b)の性能シミュレーション対象ハードウェアでは、LANで結ばれたサーバ計算機を2台用い、各々のサーバ計算機上で動作する機能ブロックを固定的に割付けている。
各々の例で、2枚のプロセッサ・ボード同士、2台のサーバ計算機同士は同じハードウェア・アーキテクチャでも良いし、異なるハードウェア・アーキテクチャを指定することも可能である。
また、各ハードウェア・アーキテクチャ上に割付けられている機能ブロックも操作員により性能選択部8を介して自由に再割付を可能とする。
同時に機能選択部1においては、予め制御システムのモデルとして、機能ブロックA、C、E、Gは同一プロセッサを使用するため各々の並列動作は出来ず、同様に機能ブロックB、D、F、Hも各々の並列動作は出来ないというモデル設定を行い、機能シミュレーション部2による機能シミュレーションを実施してトレース情報5を取得し、そのトレース情報5を基に両方のハードウェア・アーキテクチャに対する性能シミュレーション部9による性能シミュレーションを実施する。
つまり、本実施の形態では、機能選択部1は、対象プログラムの各機能ブロックのハードウェア割り当て形態を指定し、機能シミュレーション部2は、機能選択部1により指定されたハードウェア割り当て形態に合わせて対象プログラムに対するシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報5を生成する。
そして、性能選択部8は、対象ハードウェア・アーキテクチャとして、機能選択部1により指定されたハードウェア割り当て形態に合致するハードウェア・アーキテクチャを選択し、性能情報変換部7は、機能選択部1により指定されたハードウェア割り当て形態に合致するハードウェア・アーキテクチャの予測実行性能をトレース情報5に示される機能ブロックの遷移に従って示すトレース/性能パラメータ情報10を生成する。
以上のように、本実施の形態によれば、ハードウェア・アーキテクチャを自由に選択可能とし、機能ブロック単位にハードウェアへの配置を行え、ハードウェア・アーキテクチャを固定化していないので、自由なハードウェア・アーキテクチャの組合せによる性能予測が可能となり、利便性が向上する。
また、機能シミュレーションにおいては、機能ブロックの動作条件を制御システムのモデルとして機能選択部1により設定しておくことにより、同一条件で異なるハードウェア・アーキテクチャに対する性能シミュレーションを一度の機能シミュレーションから取得したトレース情報5を基に実施可能となり、検証時間が短縮できる。
実施の形態5.
次に、性能情報データベース6に保持する性能情報データの精度を更に高める場合の実施の形態を示す。
なお、本実施の形態に係る情報処理装置100の構成は、図1に示したものと同様である。
図14は、各機能ブロック対応に、その主たる処理と同じ処理を行う部分を持ったベンチマークプログラム(模擬プログラム)の概念を示している。
この例では、データの送受信部分を除き、実際の機能ブロックの処理を持ち、データの送受信を行う替わりに、受信データに相当する模擬データをファイル等から読込み処理を実行させ、その結果を出力するプログラムをベンチマークプログラムとしている。
用意する模擬データは、機能ブロック内の分岐パターンの全てを通るように複数選定する。
このベンチマークプログラムを様々なハードウェア・アーキテクチャ上で動作させ、分岐パターン毎に使用されるハードウェアリソース量を測定し、その結果を性能情報データベース6の該当するハードウェア・アーキテクチャの性能情報データとする。
つまり、本実施の形態では、性能情報データベース6は、性能情報データ(予測実行性能)として、対象プログラムのベンチマークプログラム(模擬プログラム)を実行する場合の各ハードウェア・アーキテクチャの機能ブロックごと又は分岐パターン(サブ機能ブロック)ごとの実行性能の実測値を記憶しており、先行する実施の形態と同様に、性能情報変換部7は、性能情報データベース6から該当する機能ブロック又は分岐パターンの性能情報データ(ベンチマークプログラムに対する実測値)を抽出して、トレース/性能パラメータ情報10を生成する。
このように、本実施の形態によれば、ベンチマークプログラムを用いる場合でもベンチマークプログラムに対応させた性能情報データ(実測値)を利用することで、該当ハードウェア・アーキテクチャを用いた場合の性能予測の精度をカタログ情報から作成された性能情報データに比べて著しく向上させることが出来る。
実施の形態6.
次に、性能シミュレーション部9から性能フィードバック部12を介して機能シミュレーション部2に制御用パラメータが再設定される実施の形態を示す。
本実施の形態に係る情報処理装置100の構成は、図1に示したものと同様である。
なお、本実施の形態では、性能シミュレーション部9は、機能シミュレーション部2による対象プログラムの機能シミュレーションの結果を解析し、対象プログラムのシミュレーションに用いたいずれかのパラメータ値を変更するとともに、性能フィードバック部12を介して、変更後のパラメータ値を用いて対象プログラムの機能シミュレーションを再実行するよう機能シミュレーション部2に指示する。本実施の形態では、性能シミュレーション部9は、シミュレーション解析部として機能する。
また、本実施の形態では、機能シミュレーション部2は、性能シミュレーション部9により指示された変更後のパラメータ値を用いて対象プログラムの機能シミュレーションを再実行し、再実行した機能シミュレーションにおける機能ブロックの遷移を示すトレース情報5を生成し、性能情報変換部7は、機能シミュレーション部2によるシミュレーションの再実行時に生成されたトレース情報5を用いてトレース/性能パラメータ情報10を生成する。
図15は、制御用パラメータを必要とする機能ブロックのプログラム例である。
この例では、経路探索を再帰的に行う“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を生成する。
以上のように、本実施の形態によれば、性能シミュレーションから機能シミュレーションへのフィードバック機構を持たせ、また、試行した結果を保存しておくことにより、対象とするハードウェア・アーキテクチャに対して最適な制御用パラメータを導くことが可能となり、設計支援の利便性が向上する。
実施の形態7.
次に、性能シミュレーション部9から性能フィードバック部12を介して、性能シミュレーション部9にハードウェア構成が再設定される実施の形態を示す。
本実施の形態に係る情報処理装置100の構成は、図1に示したものと同様である。
なお、本実施の形態では、性能シミュレーション部9は、性能情報変換部7により生成されたトレース/性能パラメータ情報10を解析し、対象ハードウェア・アーキテクチャのハードウェア構成を変更するとともに、ハードウェア構成変更後の対象ハードウェア・アーキテクチャを用いた場合のトレース/性能パラメータ情報10を再生成するよう性能情報変換部7に指示する。本実施の形態では、性能シミュレーション部9は、予測実行性能情報解析部として機能する。
また、本実施の形態では、性能情報変換部7は、性能シミュレーション部9により指示されたハードウェア構成変更後の対象ハードウェア・アーキテクチャを用いた場合のトレース/性能パラメータ情報10を再生成する。
図16は、本実施の形態における性能予測の対象となるH/W構成の例である。
図16(a)で、当初プロセッサ数を4個に設定して性能シミュレーションを実行したところ、目標とする要求実行時間内に処理が完了し、更に余裕がある状況であることを検知し、当初プロセッサ4個で実行していたのを図16(b)のようにプロセッサ数を2個に変更して性能シミュレーションを再実行できるようにする。
つまり、性能シミュレーション部9は、プロセッサ数が4個のハードウェア構成に対して性能情報変換部7により生成されたトレース/性能パラメータ情報10を解析した結果、目標とする要求実行時間内に処理が完了し、更に余裕がある状況であることを検知した場合には、性能シミュレーション部9は、図16(b)のようにハードウェア構成をプロセッサ数が2個の構成に変更してトレース/性能パラメータ情報10を再生成するように性能情報変換部7に指示する。
そして、性能情報変換部7は、プロセッサが2個の場合の性能情報データを性能情報データベース6から抽出し、プロセッサが2個の場合のトレース/性能パラメータ情報10を生成する。
以上のように、本実施の形態によれば、性能シミュレーション結果からのフィードバック機構を持たせることにより、最適なハードウェア・アーキテクチャを導くことが可能となり、設計支援の利便性が向上する。
実施の形態8.
次に、性能シミュレーション部9から性能フィードバック部12を介して、性能シミュレーション部9にハードウェア構成が再設定される他の実施の形態を示す。
なお、本実施の形態においても、情報処理装置100の構成は、図1に示したものと同様である。
また、本実施の形態においても、性能シミュレーション部9は、予測実行性能情報解析部として機能する。
図17は、本実施の形態における性能予測の対象となるH/W構成の例である。
図17(a)で、当初プロセッサ数を2個に設定して性能シミュレーションを実行したところ、目標とする要求実行時間内に処理が完了しないことを検知し、当初プロセッサ2個で実行していたのを図17(b)のようにプロセッサ数を4個に変更して性能シミュレーションを再実行できるようにする。
つまり、性能シミュレーション部9は、プロセッサ数が2個のハードウェア構成に対して性能情報変換部7により生成されたトレース/性能パラメータ情報10を解析した結果、目標とする要求実行時間内に処理が完了しなかったことを検知した場合には、性能シミュレーション部9は、図17(b)のようにハードウェア構成をプロセッサが4個の構成に変更してトレース/性能パラメータ情報10を再生成するように性能情報変換部7に指示する。
そして、性能情報変換部7は、プロセッサが4個の場合の性能情報データを性能情報データベース6から抽出し、プロセッサが4個の場合のトレース/性能パラメータ情報10を生成する。
以上のように、本実施の形態によれば、性能シミュレーション結果からのフィードバック機構を持たせることにより、最適なハードウェア・アーキテクチャを導くことが可能となり、設計支援の利便性が向上する。
実施の形態9.
次に、シミュレーション対象システムの一部機能の再設計支援を主な目的として性能予測を行う場合の実施の形態を示す。
なお、本実施の形態においても、情報処理装置100の構成は、図1に示したものと同様である。
また、本実施の形態においても、性能シミュレーション部9は、予測実行性能情報解析部として機能する。
図21(a)に示す既存システムの一部である機能ブロックCを機能ブロックC’に置換えて図21(b)に示すように一部機能を再設計する際に、まず、図21(a)に示す既存システムの機能シミュレーションを実行し、トレース情報を生成する。
次に予測実行性能情報生成部において、機能ブロックCに関する性能情報の変わりに、未実装の機能ブロックC’の性能目標値を使用して予測実行性能情報を生成する。
この予測実行性能情報を用いて性能シミュレーションを実施する。
以上のように、本実施の形態によれば、性能情報データベースの情報を用いずに任意の性能値により予測実行性能情報を生成する機構を持たせることにより、個別の機能ブロックの性能目標が妥当であるかの検証が行なえるようになり、設計支援の利便性が向上する。
ここで、実施の形態1〜9で説明した情報処理装置の特徴を以下にて再言する。
実施の形態1〜9では、以下の機能部を備え、ソフトウェアにより実現される機能とハードウェア・アーキテクチャに起因する性能とを各々独立、もしくは連係して検証・評価可能とすることを特徴とする情報処理装置について説明した。
(a)機能シミュレーション部での模擬対象の制御システムのモデルや制御用パラメータを選択・設定する機能選択部、
(b)複数の制御プログラムにより構成された制御システムの機能をシミュレーションし、シミュレーション実行内容をトレース情報として出力するとともに実行結果を出力する機能シミュレーション部、
(c)性能模擬の対象となるハードウェア・アーキテクチャを選択する性能選択部、
(d)性能選択部により指定されたハードウェアの性能を性能情報データベースから取り出し、トレース情報と合成して、トレース/性能パラメータ情報を生成する性能情報変換部、
(e)トレース/性能パラメータ情報を入力とし、シミュレーション対象ハードウェア・アーキテクチャにおけるハードウェア資源の利用を演算することにより性能結果を出力すると共に性能フィードバック部に対してフィードバック情報を出力する性能シミュレーション部、
(f)性能シミュレーション部より入力されたフィードバック情報を元に機能シミュレーション部の制御用パラメータを自動的に再設定する性能フィードバック部。
また、実施の形態1〜9に係る情報処理装置は、トレース情報として、シミュレーション対象となる制御システムにおける任意の規模のプログラムを単位とした機能ブロックにおいて、各機能ブロックの実行順序が判別可能な論理的な時刻情報を時系列で記録することを特徴とする。
また、実施の形態1〜9に係る情報処理装置は、時系列のトレース情報として、機能ブロック内における分岐パターンを併せて記録することを特徴とする。
また、実施の形態1〜9に係る情報処理装置は、時系列のトレース情報として、実行時間性能に影響を与え得る実行時パラメータを併せて記録することを特徴とする。
また、実施の形態1〜9に係る情報処理装置は、時系列のトレース情報として、IOを行なったサイズ、回数、inかoutか、IO対象などを併せて記録することを特徴とする。
また、実施の形態1〜9に係る情報処理装置は、性能情報データベースとして、各機能ブロックにおける性能情報データを複数のハードウェア・アーキテクチャに関して備えることを特徴とする。
また、実施の形態1〜9に係る情報処理装置は、性能情報データベースの性能情報データとして、機能ブロックにおけるCPU使用時間を記録することを特徴とする。
また、実施の形態1〜9に係る情報処理装置は、性能情報データベースの性能情報データとして、各機能ブロックにおけるメモリ、IO帯域などのハードウェアリソース利用量を併せて記録することを特徴とする。
また、実施の形態1〜9に係る情報処理装置は、性能情報データベースの性能情報データとして、各機能ブロックにおけるハードウェアリソース利用量として、実行時パラメータに対応した計算式を併せて記録することを特徴とする。
また、実施の形態1〜9に係る情報処理装置は、トレース/性能パラメータ情報として、機能シミュレーション部が出力したトレース情報と同様の機能ブロック単位での論理的な時刻情報と、その機能ブロックが任意のハードウェア・アーキテクチャ上で消費するリソース利用量を時系列で保持することを特徴とする。
また、実施の形態1〜9に係る情報処理装置は、トレース/性能パラメータ情報として、機能ブロック単位ではなく、機能ブロック内の分岐パターンで分割される単位で、任意のハードウェア・アーキテクチャ上で消費するリソース利用量を保持することを特徴とする。
また、実施の形態1〜9に係る情報処理装置は、トレース情報を取得する単位となる機能ブロックを個別に任意のハードウェア・アーキテクチャ上で動作させる指定を行うことが可能であることを特徴とする。
また、実施の形態1〜9に係る情報処理装置は、ハードウェア・アーキテクチャの構成、配置を利用者が性能選択部を介して指定を行うことが可能であることを特徴とする。
また、実施の形態1〜9に係る情報処理装置は、性能情報データベースに保存する性能情報データを生成する為にハードウェア・アーキテクチャのカタログ仕様を用いて算出された性能情報データだけではなく、シミュレーション対象となる制御システムで使用されている制御プログラムを機能ブロック単位に切出して作成したベンチマークプログラムを該当するハードウェア・アーキテクチャ上で実際に動作させて性能情報データを収集することにより、性能シミュレーションの精度を高めることを特徴とする。
また、実施の形態1〜9に係る情報処理装置は、性能情報データベースに保存されていない架空の性能情報データを設定した架空のハードウェア・アーキテクチャを一部、もしくは全てで用いるように性能選択部で指定でき、架空のハードウェア・アーキテクチャを対象とした性能シミュレーションを行えることを特徴とする。
また、実施の形態1〜9に係る情報処理装置は、機能シミュレーション部で検証された機能に対して、性能シミュレーション部で性能評価を行った結果、性能的に機能を満足できない場合などに性能シミュレーション部からのフィードバック情報を性能フィードバック部を介して受けて機能シミュレーション部での機能パラメータを自動的に再設定し、再度機能シミュレーションを実行可能とすることを特徴とする。
また、実施の形態1〜9に係る情報処理装置は、機能シミュレーション部で検証された機能に対して,性能シミュレーション部で性能評価を行った結果,使用したハードウェアリソース(CPU数等)や要求性能を満足できない場合,機能ブロックのハードウェアリソースへの割り付け方や,使用するハードウェアリソース数を再設定して再度,性能シミュレーション部で性能評価を行うことを特徴とする。
また、実施の形態1〜9に係る情報処理装置は、性能シミュレーション部からのフィードバック情報を性能フィードバック部において、シナリオデータ、及び、性能シミュレーションを行ったハードウェア・アーキテクチャの情報と関連付けてフィードバック情報データベースとして保存することを特徴とする。
実施の形態1〜9に係る情報処理装置の構成例を示す図。 実施の形態1に係るシミュレーション対象システムの例を示す図。 実施の形態1に係るトレース情報の例を示す図。 実施の形態1に係る性能情報データベースの性能情報データの例を図。 実施の形態1に係るトレース/性能パラメータ情報の例を示す図。 実施の形態2に係る分岐パターンの例を示す図。 実施の形態2に係るトレース情報の例を示す図。 実施の形態2に係る性能情報データベースの性能情報データの例を図。 実施の形態2に係るトレース/性能パラメータ情報の例を示す図。 実施の形態3に係るトレース情報の例を示す図。 実施の形態3に係る性能情報データベースの性能情報データの例を図。 実施の形態3に係るトレース/性能パラメータ情報の例を示す図。 実施の形態4に係る性能シミュレーション対象ハードウェアの例を示す図。 実施の形態5に係るベンチマークプログラムの例を示す図。 実施の形態6に係る制御用パラメータを必要とする機能ブロックの例を示す図。 実施の形態7に係るハードウェア・アーキテクチャが再設定される例を示す図。 実施の形態8に係るハードウェア・アーキテクチャが再設定される例を示す図。 実施の形態1に係る情報処理装置の動作例を示すフローチャート図。 実施の形態1〜9に係る情報処理装置のハードウェア構成例を示す図。 実施の形態1に係る各機能ブロックのCPU利用時間チャートを解決する演算例を説明する図。 実施の形態9に係る機能ブロックの一部を再設計する例を示す図。
符号の説明
1 機能選択部、2 機能シミュレーション部、3 シナリオデータ、4 実行結果、5 トレース情報、6 性能情報データベース、7 性能情報変換部、8 性能選択部、9 性能シミュレーション部、10 トレース/性能パラメータ情報、11 性能結果、12 性能フィードバック部、13 フィードバック情報データベース、100 情報処理装置。

Claims (16)

  1. 複数の機能ブロックにより構成される対象プログラムのシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報を生成する機能シミュレーション部と、
    性能予測の対象となる対象ハードウェア・アーキテクチャを選択する性能選択部と、
    前記対象プログラムが前記対象ハードウェア・アーキテクチャを用いて前記トレース情報に示される機能ブロックの遷移に従って実行される場合の前記対象ハードウェア・アーキテクチャの予測実行性能を示す予測実行性能情報を生成する予測実行性能情報生成部とを有することを特徴とする情報処理装置。
  2. 前記情報処理装置は、更に、
    複数のハードウェア・アーキテクチャの各々に対して、前記対象プログラムを実行する場合の各ハードウェア・アーキテクチャの機能ブロックごとの予測実行性能を記憶する性能情報データベースを有し、
    前記予測実行性能生成部は、
    前記性能情報データベースから、前記トレース情報に示される機能ブロックごとに前記対象ハードウェア・アーキテクチャの予測実行性能を抽出して、予測実行性能情報を生成することを特徴とする請求項1に記載の情報処理装置。
  3. 前記機能シミュレーション部は、
    機能ブロックに任意数のサブ機能ブロックが含まれる対象プログラムに対するシミュレーションを実行し、サブ機能ブロックの遷移を示すトレース情報を生成し、
    前記予測実行性能情報生成部は、
    前記対象プログラムが前記対象ハードウェア・アーキテクチャを用いて前記トレース情報に示されるサブ機能ブロックの遷移に従って実行される場合の前記対象ハードウェア・アーキテクチャの予測実行性能を示す予測実行性能情報を生成することを特徴とする請求項1に記載の情報処理装置。
  4. 前記情報処理装置は、更に、
    複数のハードウェア・アーキテクチャの各々に対して、前記対象プログラムを実行する場合の各ハードウェア・アーキテクチャのサブ機能ブロックごとの予測実行性能を記憶する性能情報データベースを有し、
    前記予測実行性能生成部は、
    前記性能情報データベースから、前記トレース情報に示されるサブ機能ブロックごとに前記対象ハードウェア・アーキテクチャの予測実行性能を抽出して、予測実行性能情報を生成することを特徴とする請求項3に記載の情報処理装置。
  5. 前記機能シミュレーション部は、
    機能ブロックにサブ機能ブロックとして分岐パターンが含まれる対象プログラムに対するシミュレーションを実行し、分岐パターンの遷移を示すトレース情報を生成し、
    前記予測実行性能情報生成部は、
    前記対象プログラムが前記対象ハードウェア・アーキテクチャを用いて前記トレース情報に示される分岐パターンの遷移に従って実行される場合の前記対象ハードウェア・アーキテクチャの予測実行性能を示す予測実行性能情報を生成することを特徴とする請求項3に記載の情報処理装置。
  6. 前記情報処理装置は、更に、
    複数のハードウェア・アーキテクチャの各々に対して、前記対象プログラムを実行する場合の各ハードウェア・アーキテクチャの予測実行性能を算出するための予測実行性能計算式を機能ブロックごとに記憶する性能情報データベースを有し、
    前記予測実行性能生成部は、
    前記性能情報データベースから、前記トレース情報に示される機能ブロックごとに前記対象ハードウェア・アーキテクチャの予測実行性能計算式を抽出し、抽出した予測実行性能計算式を用いて予測実行性能を算出して予測実行性能情報を生成することを特徴とする請求項1に記載の情報処理装置。
  7. 前記機能シミュレーション部は、
    ハードウェア・アーキテクチャの実行性能に影響を与え得るパラメータ値が機能ブロックごとに示されたトレース情報を生成し、
    前記予測実行性能生成部は、
    前記性能情報データベースから抽出した予測実行性能計算式と前記トレース情報に示された対応する機能ブロックのパラメータ値とを用いて予測実行性能を算出することを特徴とする請求項6に記載の情報処理装置。
  8. 前記情報処理装置は、更に、
    複数のハードウェア・アーキテクチャの各々に対して、前記対象プログラムを実行する場合の各ハードウェア・アーキテクチャの予測実行性能を算出するための予測実行性能計算式をサブ機能ブロックごとに記憶する性能情報データベースを有し、
    前記予測実行性能生成部は、
    前記性能情報データベースから、前記トレース情報に示されるサブ機能ブロックごとに前記対象ハードウェア・アーキテクチャの予測実行性能計算式を抽出し、抽出した予測実行性能計算式を用いて予測実行性能を算出して予測実行性能情報を生成することを特徴とする請求項3に記載の情報処理装置。
  9. 前記機能シミュレーション部は、
    ハードウェア・アーキテクチャの実行性能に影響を与え得るパラメータ値がサブ機能ブロックごとに示されたトレース情報を生成し、
    前記予測実行性能生成部は、
    前記性能情報データベースから抽出した予測実行性能計算式と前記トレース情報に示された対応するサブ機能ブロックのパラメータ値とを用いて予測実行性能を算出することを特徴とする請求項8に記載の情報処理装置。
  10. 前記情報処理装置は、更に、
    前記対象プログラムの各機能ブロックのハードウェア割り当て形態を指定する機能選択部を有し、
    前記機能シミュレーション部は、
    前記機能選択部により指定されたハードウェア割り当て形態に合わせて前記対象プログラムに対するシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報を生成し、
    前記性能選択部は、
    前記対象ハードウェア・アーキテクチャとして、前記機能選択部により指定されたハードウェア割り当て形態に合致するハードウェア・アーキテクチャを選択し、
    前記予測実行性能情報生成部は、
    前記機能選択部により指定されたハードウェア割り当て形態に合致するハードウェア・アーキテクチャの予測実行性能を前記トレース情報に示される機能ブロックの遷移に従って示す予測実行性能情報を生成することを特徴とする請求項1に記載の情報処理装置。
  11. 前記性能情報データベースは、
    前記予測実行性能として、前記対象プログラムの模擬プログラムを実行する場合の各ハードウェア・アーキテクチャの機能ブロックごとの実行性能の実測値を記憶していることを特徴とする請求項2に記載の情報処理装置。
  12. 前記性能情報データベースは、
    前記予測実行性能として、前記対象プログラムの模擬プログラムを実行する場合の各ハードウェア・アーキテクチャのサブ機能ブロックごとの実行性能の実測値を記憶していることを特徴とする請求項4に記載の情報処理装置。
  13. 前記情報処理装置は、更に、
    前記機能シミュレーション部による前記対象プログラムのシミュレーション結果を解析し、前記対象プログラムのシミュレーションに用いたいずれかのパラメータ値を変更するとともに、変更後のパラメータ値を用いて前記対象プログラムのシミュレーションを再実行するよう前記機能シミュレーション部に指示するシミュレーション解析部を有し、
    前記機能シミュレーション部は、
    前記シミュレーション解析部により指示された変更後のパラメータ値を用いて前記対象プログラムのシミュレーションを再実行し、再実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報を生成し、
    前記予測実行性能情報生成部は、
    前記機能シミュレーション部によるシミュレーションの再実行時に生成されたトレース情報を用いて予測実行性能情報を生成することを特徴とする請求項1に記載の情報処理装置。
  14. 前記情報処理装置は、更に、
    前記予測実行性能情報生成部により生成された予測実行性能情報を解析し、前記対象ハードウェア・アーキテクチャのハードウェア構成を変更するとともに、ハードウェア構成変更後の対象ハードウェア・アーキテクチャを用いた場合の予測実行性能情報を再生成するよう前記予測実行性能情報生成部に指示する予測実行性能情報解析部を有し、
    前記予測実行性能情報生成部は、
    前記予測実行性能情報解析部により指示されたハードウェア構成変更後の対象ハードウェア・アーキテクチャを用いた場合の予測実行性能情報を再生成することを特徴とする請求項1に記載の情報処理装置。
  15. コンピュータが、複数の機能ブロックにより構成される対象プログラムのシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報を生成する機能シミュレーションステップと、
    コンピュータが、性能予測の対象となる対象ハードウェア・アーキテクチャを選択する性能選択ステップと、
    前記対象プログラムが前記対象ハードウェア・アーキテクチャを用いて前記トレース情報に示される機能ブロックの遷移に従って実行される場合の前記対象ハードウェア・アーキテクチャの予測実行性能を示す予測実行性能情報を、コンピュータが生成する予測実行性能情報生成ステップとを有することを特徴とする情報処理方法。
  16. 複数の機能ブロックにより構成される対象プログラムのシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報を生成する機能シミュレーション処理と、
    性能予測の対象となる対象ハードウェア・アーキテクチャを選択する性能選択処理と、
    前記対象プログラムが前記対象ハードウェア・アーキテクチャを用いて前記トレース情報に示される機能ブロックの遷移に従って実行される場合の前記対象ハードウェア・アーキテクチャの予測実行性能を示す予測実行性能情報を生成する予測実行性能情報生成処理とをコンピュータに実行させることを特徴とするプログラム。
JP2006323560A 2006-11-30 2006-11-30 情報処理装置及び情報処理方法及びプログラム Expired - Fee Related JP4842783B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 データ処理装置設計方法、データ処理装置設計装置及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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