(57)【要約】【課題】様々なハードウェア・アーキテクチャを対象とする性能予測を可能とする。【解決手段】機能シミュレーション部２が、複数の機能ブロックから構成されるプログラムのシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報５を生成し、性能選択部８が、性能予測の対象となるハードウェア・アーキテクチャを選択し、性能情報データベース６は、複数のハードウェア・アーキテクチャの各々に対して、プログラムを実行する場合の各ハードウェア・アーキテクチャの機能ブロックごとの予測実行性能を記憶しており、性能情報変換部７は、性能情報データベース６を検索して、性能情報変換部７が選択したハードウェア・アーキテクチャを用いてトレース情報５に示される機能ブロックの遷移に従って当該プログラムを実行する場合の性能情報データをトレース／性能パラメータ情報として生成する。【選択図】図１
2008139965.tif 000002
【特許請求の範囲】
【請求項１】
複数の機能ブロックにより構成される対象プログラムのシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報を生成する機能シミュレーション部と、
性能予測の対象となる対象ハードウェア・アーキテクチャを選択する性能選択部と、
前記対象プログラムが前記対象ハードウェア・アーキテクチャを用いて前記トレース情報に示される機能ブロックの遷移に従って実行される場合の前記対象ハードウェア・アーキテクチャの予測実行性能を示す予測実行性能情報を生成する予測実行性能情報生成部とを有することを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は、更に、
複数のハードウェア・アーキテクチャの各々に対して、前記対象プログラムを実行する場合の各ハードウェア・アーキテクチャの機能ブロックごとの予測実行性能を記憶する性能情報データベースを有し、
前記予測実行性能生成部は、
前記性能情報データベースから、前記トレース情報に示される機能ブロックごとに前記対象ハードウェア・アーキテクチャの予測実行性能を抽出して、予測実行性能情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記機能シミュレーション部は、
機能ブロックに任意数のサブ機能ブロックが含まれる対象プログラムに対するシミュレーションを実行し、サブ機能ブロックの遷移を示すトレース情報を生成し、
前記予測実行性能情報生成部は、
前記対象プログラムが前記対象ハードウェア・アーキテクチャを用いて前記トレース情報に示されるサブ機能ブロックの遷移に従って実行される場合の前記対象ハードウェア・アーキテクチャの予測実行性能を示す予測実行性能情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記情報処理装置は、更に、
複数のハードウェア・アーキテクチャの各々に対して、前記対象プログラムを実行する場合の各ハードウェア・アーキテクチャのサブ機能ブロックごとの予測実行性能を記憶する性能情報データベースを有し、
前記予測実行性能生成部は、
前記性能情報データベースから、前記トレース情報に示されるサブ機能ブロックごとに前記対象ハードウェア・アーキテクチャの予測実行性能を抽出して、予測実行性能情報を生成することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記機能シミュレーション部は、
機能ブロックにサブ機能ブロックとして分岐パターンが含まれる対象プログラムに対するシミュレーションを実行し、分岐パターンの遷移を示すトレース情報を生成し、
前記予測実行性能情報生成部は、
前記対象プログラムが前記対象ハードウェア・アーキテクチャを用いて前記トレース情報に示される分岐パターンの遷移に従って実行される場合の前記対象ハードウェア・アーキテクチャの予測実行性能を示す予測実行性能情報を生成することを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記情報処理装置は、更に、
複数のハードウェア・アーキテクチャの各々に対して、前記対象プログラムを実行する場合の各ハードウェア・アーキテクチャの予測実行性能を算出するための予測実行性能計算式を機能ブロックごとに記憶する性能情報データベースを有し、
前記予測実行性能生成部は、
前記性能情報データベースから、前記トレース情報に示される機能ブロックごとに前記対象ハードウェア・アーキテクチャの予測実行性能計算式を抽出し、抽出した予測実行性能計算式を用いて予測実行性能を算出して予測実行性能情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記機能シミュレーション部は、
ハードウェア・アーキテクチャの実行性能に影響を与え得るパラメータ値が機能ブロックごとに示されたトレース情報を生成し、
前記予測実行性能生成部は、
前記性能情報データベースから抽出した予測実行性能計算式と前記トレース情報に示された対応する機能ブロックのパラメータ値とを用いて予測実行性能を算出することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記情報処理装置は、更に、
複数のハードウェア・アーキテクチャの各々に対して、前記対象プログラムを実行する場合の各ハードウェア・アーキテクチャの予測実行性能を算出するための予測実行性能計算式をサブ機能ブロックごとに記憶する性能情報データベースを有し、
前記予測実行性能生成部は、
前記性能情報データベースから、前記トレース情報に示されるサブ機能ブロックごとに前記対象ハードウェア・アーキテクチャの予測実行性能計算式を抽出し、抽出した予測実行性能計算式を用いて予測実行性能を算出して予測実行性能情報を生成することを特徴とする請求項３に記載の情報処理装置。
【請求項９】
前記機能シミュレーション部は、
ハードウェア・アーキテクチャの実行性能に影響を与え得るパラメータ値がサブ機能ブロックごとに示されたトレース情報を生成し、
前記予測実行性能生成部は、
前記性能情報データベースから抽出した予測実行性能計算式と前記トレース情報に示された対応するサブ機能ブロックのパラメータ値とを用いて予測実行性能を算出することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記情報処理装置は、更に、
前記対象プログラムの各機能ブロックのハードウェア割り当て形態を指定する機能選択部を有し、
前記機能シミュレーション部は、
前記機能選択部により指定されたハードウェア割り当て形態に合わせて前記対象プログラムに対するシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報を生成し、
前記性能選択部は、
前記対象ハードウェア・アーキテクチャとして、前記機能選択部により指定されたハードウェア割り当て形態に合致するハードウェア・アーキテクチャを選択し、
前記予測実行性能情報生成部は、
前記機能選択部により指定されたハードウェア割り当て形態に合致するハードウェア・アーキテクチャの予測実行性能を前記トレース情報に示される機能ブロックの遷移に従って示す予測実行性能情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項１１】
前記性能情報データベースは、
前記予測実行性能として、前記対象プログラムの模擬プログラムを実行する場合の各ハードウェア・アーキテクチャの機能ブロックごとの実行性能の実測値を記憶していることを特徴とする請求項２に記載の情報処理装置。
【請求項１２】
前記性能情報データベースは、
前記予測実行性能として、前記対象プログラムの模擬プログラムを実行する場合の各ハードウェア・アーキテクチャのサブ機能ブロックごとの実行性能の実測値を記憶していることを特徴とする請求項４に記載の情報処理装置。
【請求項１３】
前記情報処理装置は、更に、
前記機能シミュレーション部による前記対象プログラムのシミュレーション結果を解析し、前記対象プログラムのシミュレーションに用いたいずれかのパラメータ値を変更するとともに、変更後のパラメータ値を用いて前記対象プログラムのシミュレーションを再実行するよう前記機能シミュレーション部に指示するシミュレーション解析部を有し、
前記機能シミュレーション部は、
前記シミュレーション解析部により指示された変更後のパラメータ値を用いて前記対象プログラムのシミュレーションを再実行し、再実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報を生成し、
前記予測実行性能情報生成部は、
前記機能シミュレーション部によるシミュレーションの再実行時に生成されたトレース情報を用いて予測実行性能情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項１４】
前記情報処理装置は、更に、
前記予測実行性能情報生成部により生成された予測実行性能情報を解析し、前記対象ハードウェア・アーキテクチャのハードウェア構成を変更するとともに、ハードウェア構成変更後の対象ハードウェア・アーキテクチャを用いた場合の予測実行性能情報を再生成するよう前記予測実行性能情報生成部に指示する予測実行性能情報解析部を有し、
前記予測実行性能情報生成部は、
前記予測実行性能情報解析部により指示されたハードウェア構成変更後の対象ハードウェア・アーキテクチャを用いた場合の予測実行性能情報を再生成することを特徴とする請求項１に記載の情報処理装置。
【請求項１５】
コンピュータが、複数の機能ブロックにより構成される対象プログラムのシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報を生成する機能シミュレーションステップと、
コンピュータが、性能予測の対象となる対象ハードウェア・アーキテクチャを選択する性能選択ステップと、
前記対象プログラムが前記対象ハードウェア・アーキテクチャを用いて前記トレース情報に示される機能ブロックの遷移に従って実行される場合の前記対象ハードウェア・アーキテクチャの予測実行性能を示す予測実行性能情報を、コンピュータが生成する予測実行性能情報生成ステップとを有することを特徴とする情報処理方法。
【請求項１６】
複数の機能ブロックにより構成される対象プログラムのシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報を生成する機能シミュレーション処理と、
性能予測の対象となる対象ハードウェア・アーキテクチャを選択する性能選択処理と、
前記対象プログラムが前記対象ハードウェア・アーキテクチャを用いて前記トレース情報に示される機能ブロックの遷移に従って実行される場合の前記対象ハードウェア・アーキテクチャの予測実行性能を示す予測実行性能情報を生成する予測実行性能情報生成処理とをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーションを行う情報処理装置等に関する。
【背景技術】
【０００２】
従来のトレース情報を用いたシミュレーションでは、例えば、性能評価対象となる並列計算機のアプリケーションシステムを実機上で動作させ、その際に各プロセッサ間でのメッセージの送受信情報を時刻情報と共に収集することによりＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）使用時間を得て、シミュレーション対象のハードウェア環境におけるＣＰＵ性能に置き換えてシステムの性能評価を行っていた（例えば、特許文献１）。
また、命令レベルシミュレータでは、性能評価対象となるプログラムを命令レベルシミュレータ上で動作させ、その命令数をカウントすることによりＣＰＵ使用時間を概算して性能評価を行う方法も提案されている（例えば、特許文献２）。
【特許文献１】特開平６‐５９９３９号公報  第２頁〜４頁、第１図
【特許文献２】特開平１０‐７８８９２号公報  第２頁〜４頁、第１図
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の性能予測／性能評価を行う為のシミュレーション方式では、以下のような課題があった。
（１）実機上で実システムを動作させてトレースログなどを取得する為、性能予測対象のハードウェア・アーキテクチャが固定され、他のハードウェア・アーキテクチャに対する性能予測が行えない。
（２）実システムを動作させてトレースログなどを取得する為、まだ実システムが存在しない（実際のプログラムが存在しない）システムに対する性能予測が行えない。
（３）性能予測の精度を上げるためにプロセッサの命令レベルでの動作把握を行う為、大規模、且つ、複雑なシステムを対象とした場合、大量のトレースログが必要になり、性能予測の実施に時間がかかる。
【０００４】
この発明は上記のような課題を解決することを主な目的としており、具体的には以下を主な目的とする。
（１）対象システムを任意の規模の機能ブロックに分割し、この機能ブロック単位にハードウェアへの配置を行うことにより、様々なハードウェア・アーキテクチャを対象として性能予測を行えるようにする。
（２）現実には未実装の機能を機能ブロック単位で想定し、その機能ブロックの予測性能情報、もしくは目標性能情報を用いて、システム全体の性能予想を可能とする。
（３）任意の機能ブロック単位でトレース情報を取得することにより、トレース量を少なくし、性能予測の実施時間を短縮する。また、一旦トレース情報を取得するとこれを用いて様々なハードウェア・アーキテクチャ上での性能予測を繰り返し行えるようにする。
（４）機能ブロック単位でベンチマークプログラムを作成し、これを実ハードウェア上で動作させて性能情報を収集し、この性能情報を性能シミュレーションに用いることにより、性能予測の精度を高める。
（５）機能に影響を及ぼすような性能評価がなされた場合に、その性能情報をフィードバック情報として、機能シミュレーションにおける機能パラメータ、機能モデルを自動的に再設定することを可能とする。
そして、これらを実現することにより、システムの事前／事後検証、将来システムの設計支援を効率的に行うことを可能とする情報処理装置等を実現する。
【課題を解決するための手段】
【０００５】
本発明に係る情報処理装置は、
複数の機能ブロックにより構成される対象プログラムのシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報を生成する機能シミュレーション部と、
性能予測の対象となる対象ハードウェア・アーキテクチャを選択する性能選択部と、
前記対象プログラムが前記対象ハードウェア・アーキテクチャを用いて前記トレース情報に示される機能ブロックの遷移に従って実行される場合の前記対象ハードウェア・アーキテクチャの予測実行性能を示す予測実行性能情報を生成する予測実行性能情報生成部とを有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、対象プログラムに対するシミュレーションを実行しトレース情報が生成されると、これを用いて、繰り返し、様々なハードウェア・アーキテクチャに対する性能予測が可能となり、様々なハードウェア・アーキテクチャに対する性能予測の結果に基づいて適切なシステム設計が可能となる。
【発明を実施するための最良の形態】
【０００７】
実施の形態１．
図１は、本実施の形態に係る情報処理装置１００の動作原理を示す構成図である。
図１において、機能選択部１は、機能シミュレーションを行うための機能モデル、機能パラメータの選択、シミュレーション対象のシナリオの指定などを情報処理装置１００を操作する操作員が指示・確認するためのマン・マシン・インターフェースを備えた手段である。
機能シミュレーション部２は、検証対象となる機能を機能選択部１で指定された機能モデル、機能パラメータで、与えられたシナリオに従いシミュレーションする手段である。
シナリオデータ３は、機能シミュレーションを行う為の初期設定などが記憶されたデータである。
実行結果４は、シナリオデータ３に基づき実行された機能シミュレーションの結果などのデータである。
トレース情報５は、シミュレーション対象システム内の任意の機能ブロックの実行履歴と同等とする機能シミュレーションの実行内容を保存したデータである。
性能情報データベース６は、各機能ブロックでのハードウェアリソース使用量を様々な複数のハードウェア・アーキテクチャ毎に記録しているデータベースである。
性能情報変換部７は、トレース情報５を性能情報データベース６によりトレース／性能パラメータ情報１０に変換する手段である。
性能選択部８は、性能シミュレーションを行う為のハードウェア・アーキテクチャの選択、各機能ブロックのハードウェア・アーキテクチャへの配置などを操作員が指示・確認するためのマン・マシン・インターフェースを備えた手段である。
性能シミュレーション部９は、指定されたハードウェア・アーキテクチャでトレース／性能パラメータ情報を元にリソース使用量を演算し対象システムの性能シミュレーションを行う手段である。
トレース／性能パラメータ情報１０は、性能情報変換部７により生成され保存されたデータである。
性能結果１１は、性能シミュレーション部９の実行結果などのデータである。
性能フィードバック部１２は、性能シミュレーション部で検知された機能に影響する性能値をフィードバック情報データベース１３に保存すると共に機能シミュレーション部２の機能モデルや機能パラメータを自動的に再設定したり、性能シミュレーション部９のハードウェア・アーキテクチャを自動的に再設定したりする手段である。
【０００８】
なお、機能シミュレーションとは、シナリオデータ３、機能モデル、機能パラメータに従い、シミュレーション対象のプログラム（シミュレーション対象のプログラム）をシミュレートすることであり、性能シミュレーションは、性能予測の対象となるハードウェア・アーキテクチャを用いてトレース情報５に示された機能ブロックの遷移の順序に従ってシミュレーション対象システムが実行された場合のリソース使用量等の当該ハードウェア・アーキテクチャの性能をシミュレートすることである。
【０００９】
詳細は後述するが、ここで本実施の形態に係る情報処理装置１００の動作例を概説する。
機能シミュレーション部２は、複数の機能ブロックにより構成されるシミュレーション対象のプログラム（対象プログラム）のシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報５を生成する。
そして、性能選択部８が、性能予測の対象となるハードウェア・アーキテクチャ（対象ハードウェア・アーキテクチャ）を選択し、性能情報変換部７（予測実行性能情報生成部）が、対象プログラムが対象ハードウェア・アーキテクチャを用いてトレース情報５に示される機能ブロックの遷移に従って実行される場合の対象ハードウェア・アーキテクチャの性能情報（予測実行性能）を示すトレース／性能パラメータ情報１０（予測実行性能情報）を生成する。
トレース／性能パラメータ情報１０は、トレース情報５に示される機能ブロックの遷移に従って対象ハードウェアの性能情報を表示する。
性能情報データベース６には、複数のハードウェア・アーキテクチャの各々に対して、対象プログラムを実行する場合の各ハードウェア・アーキテクチャの機能ブロックごとの予測実行性能を記憶しており、性能情報変換部７は、性能情報データベース６から、トレース情報に示される機能ブロックごとに対象ハードウェア・アーキテクチャの予測実行性能を抽出して、トレース／性能パラメータ情報を生成する。
【００１０】
次に、本実施の形態及び以下の実施の形態に係る情報処理装置１００のハードウェア構成例について説明する。
【００１１】
図１９は、本実施の形態及び以下に述べる実施の形態に示す情報処理装置１００のハードウェア資源の一例を示す図である。なお、図１９の構成は、あくまでも情報処理装置１００のハードウェア構成の一例を示すものであり、情報処理装置１００のハードウェア構成は図１９に記載の構成に限らず、他の構成であってもよい。
図１９において、情報処理装置１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００１２】
通信ボード９１５は、ネットワークに接続されていてもよい。例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００１３】
上記プログラム群９２３には、本実施の形態及び以下に述べる実施の形態の説明において「〜部」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、以下に述べる説明において、「〜の判断」、「〜の計算」、「〜の比較」、「〜の評価」、「〜の抽出」、「〜の設定」、「〜の登録」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、以下で説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１４】
また、本実施の形態及び以下に述べる実施の形態の説明において「〜部」として説明しているものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組合せ、さらには、ファームウェアとの組合せで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、本実施の形態及び以下に述べる実施の形態の「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態及び以下に述べる実施の形態の「〜部」の手順や方法をコンピュータに実行させるものである。
【００１５】
このように、本実施の形態及び以下に述べる実施の形態に示す情報処理装置１００は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「〜部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【００１６】
次に、図１８のフローチャートを参照しながら、本実施の形態に係る情報処理装置１００の動作例（情報処理方法）について説明する。
【００１７】
まず、機能選択部１が、情報処理装置１００を操作する操作員からの指示に基づいてシミュレーション対象となる機能モデル、機能パラメータ、シミュレーションに用いるシナリオなどを指定し、機能シミュレーション部２の初期設定を行う。
次に、機能シミュレーション部２は、初期設定されたシナリオをシナリオデータ３として読込み（Ｓ１８０１）、機能モデル、機能パラメータに従い機能シミュレーションを実行し（Ｓ１８０２）（機能シミュレーションステップ）、その結果を実行結果４として出力すると共に、機能シミュレーション部２は機能ブロック単位での実行履歴をトレース情報５として出力する（Ｓ１８０３）（機能シミュレーションステップ）。
ここで、シミュレーション対象システム（対象プログラム）としては、図２に示すように、複数の機能ブロックに分割され、外部機器の計測データの入力に対して、機能ブロック間でデータのやり取りを行い、外部機器への制御指示を行う制御システムが想定され、このシミュレーション対象システムに対する入力である計測データは、シナリオデータ３により規定され、その出力である制御指示は実行結果４として参照可能となり、実行履歴は機能ブロックＡ〜Ｈのデータの遷移に従いトレース情報５として出力される。
トレース情報５としては、図３の例に示すように、時系列にどの機能ブロックが実行されたかが記録される。
なお、図３の例では、各機能ブロックの開始時刻及び終了時刻が示されているが、これらは省略してもよい。つまり、トレース情報５では、機能シミュレーションにおける機能ブロックの遷移（順序）が示されていればよく、機能ブロックＩＤのみが示されるものであってもよい。
【００１８】
次に、性能選択部８が、操作員からの指示に基づいて性能予測シミュレーション対象となるハードウェア・アーキテクチャを指定し（Ｓ１８０４）（性能選択ステップ）、性能シミュレーション部９の初期設定を行う。
なお、この操作は、機能シミュレーションの実施前、即ち、機能選択部１を介した機能シミュレーション部２の初期設定と同時にも可能である。
次に、性能情報変換部７が、性能選択部８により選択された性能予測対象のハードウェア・アーキテクチャに基づき、トレース情報５に対応させて性能情報データベース６の性能データを抽出し（Ｓ１８０５）（予測実行性能情報生成ステップ）、トレース／性能パラメータ情報１０を生成し（Ｓ１８０６）（予測実行性能情報生成ステップ）、トレース／性能パラメータ情報１０を出力する（Ｓ１８０７）。
性能シミュレーション部９は、性能情報変換部７から出力されたトレース／性能パラメータ情報１０を入力として性能シミュレーションを実行し、その結果を性能結果１１として出力すると共に、性能フィードバック部１２を介して、機能シミュレーション部２に機能モデル、機能パラメータの初期設定としてフィードバックを行う。
【００１９】
性能シミュレーション部９による性能シミュレーションの詳細及び性能フィードバック部１２による機能シミュレーション部２に対するフィードバックの詳細は、以降の実施の形態において説明する。
ここでは、性能情報変換部７の動作について説明する。
性能情報データベース６は、図４の例に示すようにハードウェア・アーキテクチャ毎にどの機能ブロックがどれだけＣＰＵを必要とするかが記録されている。
また、トレース／性能パラメータ情報１０は、図５の例に示すように時系列にどの機能ブロックが実行されて、その際にどれだけのＣＰＵ利用を必要とするかが示される。
性能情報変換部７は、シミュレーション対象システム（対象プログラム）をシミュレートした結果である機能ブロックの遷移を示すトレース情報５を入力し、また、性能選択部８より選択されたハードウェア・アーキテクチャ（対象ハードウェア・アーキテクチャ）の情報を入力し、トレース情報５に示される各機能ブロックに対して性能情報データベース６の対応する性能情報データを抽出して、トレース／性能パラメータ情報１０を生成する。
トレース／性能パラメータ情報１０は、シミュレーション対象システムが選択されたハードウェア・アーキテクチャを用いてトレース情報５に示される機能ブロックの遷移に従って実行される場合の当該ハードウェア・アーキテクチャの予測実行性能をトレース情報５に示される機能ブロックの遷移に従って示している。
性能シミュレーション部９において、トレース／性能パラメータ情報１０を解析した結果、機能シミュレーションの再実行やトレース／性能パラメータ情報１０の再生成等が必要ないと判断されれば、トレース／性能パラメータ情報１０が性能結果１１として出力され、情報処理装置１００の操作員は、性能選択部８により選択されたハードウェア・アーキテクチャを用いてシミュレーション対象システムが実行された場合の各機能ブロックのＣＰＵ時間等を参照することができる。
図２に示すシステムを対象として機能シミュレーションを実施し、性能情報変換部９においてＣＰＵを１個搭載したあるハードウェア・アーキテクチャが選択された際に図５に示すようなトレース／性能パラメータ情報１０が生成されたとする。
性能シミュレーション部９の予測実行性能情報解析部においては、トレース／性能パラメータ情報１０より３０ｍｓｅｃ周期で機能ブロックＡに対する計測データ入力がなされていることを読取り、機能ブロックの読出し順序に従い、図２０に示すような各機能ブロックのＣＰＵ利用時間チャートを解決する演算を行ない、任意の計測データ入力から制御指示が出されるまでの経過時間を予測する。
【００２０】
以上のように、本実施の形態では、機能シミュレーションとハードウェア・アーキテクチャに対する性能評価とが分割された構成となっている為、一旦、機能シミュレーションを実行しトレース情報を取得すると、これを用いて、繰り返し、様々なハードウェア・アーキテクチャに対する性能予測が可能となる。
そして、ハードウェア・アーキテクチャごとに機能シミュレーションを行う必要がないため、全体の処理としてＣＰＵ負荷及びメモリ使用量を減少させることができ、コンピュータの有限なリソースの使用効率を向上させることができるという効果が得られる。
【００２１】
また、機能ブロック単位でトレース情報を取得することにより、トレース量を少なくし、性能予測の実施時間を短縮することが可能となる。
【００２２】
実施の形態２．
以上の実施の形態１では、機能ブロック単位でのＣＰＵ利用時間を性能情報データベースに保存して利用していたが、次により性能予測の精度を向上させる場合の実施の形態を示す。
なお、本実施の形態に係る情報処理装置１００の構成は、図１に示したものと同様である。
【００２３】
本実施の形態では、機能ブロックを更に複数のサブ機能ブロックに分割する。サブ機能ブロックへの分割は、具体的には、図６に示すように機能ブロック内を入力データの違いにより処理性能差が出る単位で分岐パターンに分割する。
機能シミュレーション部２は、どの分岐パターンで実行されたかを記録し、図７に示すように実行された分岐パターンを示すトレース情報５を出力する。図７の例では、例えば、機能ブロックＡに対しては複数の分岐パターンのうち、分岐パターン２が実行され、機能ブロックＣに対しては複数の分岐パターンのうち、分岐パターン１が実行されたことが示されている。
そして、性能情報データベース６は、図８に示すように、分岐パターン毎にハードウェアリソースの利用量を保持する。
また、図８では、ハードウェアリソースとして、ＣＰＵ利用時間だけではなく、メモリ利用量、ＩＯ量などを保持する例が示されている。
【００２４】
本実施の形態に係る情報処理装置１００の動作は、基本的に実施の形態１と同様である。
つまり、機能シミュレーション部２が、分岐パターン（サブ機能ブロック）単位で機能ブロックの遷移を示すトレース情報５を生成し、
性能情報変換部７が、性能情報データベース６から、トレース情報５に示される分岐パターン（サブ機能ブロック）ごとに対象ハードウェア・アーキテクチャの性能情報データ（予測実行性能）を抽出して、対象プログラムが対象ハードウェア・アーキテクチャを用いてトレース情報５に示される機能ブロックの遷移に従って実行される場合の対象ハードウェア・アーキテクチャの予測実行性能をトレース情報に示される分岐パターン（サブ機能ブロック）の遷移に従って示すトレース／性能パラメータ情報１０を生成する。
本実施の形態では、性能情報変換部７は、図７のトレース情報及び図８の性能情報データベース６の性能情報データに基づいて、例えば図９に示すようなトレース／性能パラメータ情報１０を生成する。
【００２５】
以上のように、本実施の形態によれば、トレース情報の詳細化、性能情報データベースのリソース利用量項目の詳細化により、性能予測の精度を高めることが可能となる。
【００２６】
実施の形態３．
以上の実施の形態１は、性能情報データベース６には、ハードウェア・アーキテクチャ毎の固定値を用いるようにしたものであるが、次に、より高精度に性能予測を行う場合の実施の形態を示す。
なお、本実施の形態に係る情報処理装置１００の構成は、図１に示したものと同様である。
【００２７】
図１０は、本実施の形態に係るトレース情報５を示し、図１１は、本実施の形態に係る性能情報データベース６のデータを示し、図１２は、本実施の形態に係るトレース／性能パラメータ情報１０の例を示している。
本実施の形態では、図１１に示すように、ハードウェアリソースの利用量が固定値ではなく算術式で指定できるようにしており、ハードウェアリソースの利用量に影響を及ぼすパラメータ値を図１０のトレース情報５で記録できるようにしている。
これにより、各機能ブロックの実行時にどれだけのハードウェアリソースが必要とされるかが性能情報変換部７で計算され、図１２のトレース／性能パラメータ情報に変換される。
ここで、図１０に示されるパラメータ値Ｘは、機能シミュレーション部２による機能シミュレーション後に判明する値である。
また、図１０〜図１２では、分岐パターンごとにパラメータ値、計算式、予測性能値を示すこととしているが、分岐パターンへの細分類を行わずに機能ブロックごとにパラメータ値、計算式、予測性能値を示すようにしてもよい。
【００２８】
本実施の形態に係る情報処理装置１００の動作は、基本的に実施の形態１と同様である。
つまり、機能シミュレーション部２が、ハードウェア・アーキテクチャの実行性能に影響を与え得るパラメータ値が機能ブロック又は分岐パターン（サブ機能ブロック）ごとに示されたトレース情報を生成する。
そして、性能情報データベース６は、複数のハードウェア・アーキテクチャの各々に対して、対象プログラムを実行する場合の各ハードウェア・アーキテクチャの予測実行性能を算出するための計算式（予測実行性能計算式）を機能ブロック又は分岐パターン（サブ機能ブロック）ごとに記憶しており、性能情報変換部７は、性能情報データベース６から、トレース情報５に示される機能ブロック又は分岐パターン（サブ機能ブロック）ごとに対象ハードウェア・アーキテクチャの計算式を抽出し、抽出した計算式とトレース情報５に示された対応する機能ブロック又は分岐パターン（サブ機能ブロック）のパラメータ値とを用いてを用いて予測実行性能を算出してトレース／性能パラメータ情報１０を生成する。
【００２９】
以上のように、本実施の形態によれば、性能に影響を及ぼすパラメータ値に対するハードウェアリソース利用量の算術式を設定可能とすることにより、より高精度の性能予測が可能となる。
【００３０】
実施の形態４．
次に、より柔軟にハードウェア・アーキテクチャを指定可能とすることにより、性能予測の利便性を向上させる場合の実施の形態を示す。
なお、本実施の形態に係る情報処理装置１００の構成は、図１に示したものと同様である。
【００３１】
図１３は、本実施の形態に係る情報処理装置１００がトレース／性能パラメータ情報の生成の対象とする性能シミュレーション対象ハードウェアの概念図である。
図１３（ａ）の性能シミュレーション対象ハードウェアでは、バスで結ばれたプロセッサ・ボードを２枚用い、各々のプロセッサ・ボード上で動作する機能ブロックを固定的に割付けている。同様に図１３（ｂ）の性能シミュレーション対象ハードウェアでは、ＬＡＮで結ばれたサーバ計算機を２台用い、各々のサーバ計算機上で動作する機能ブロックを固定的に割付けている。
各々の例で、２枚のプロセッサ・ボード同士、２台のサーバ計算機同士は同じハードウェア・アーキテクチャでも良いし、異なるハードウェア・アーキテクチャを指定することも可能である。
また、各ハードウェア・アーキテクチャ上に割付けられている機能ブロックも操作員により性能選択部８を介して自由に再割付を可能とする。
【００３２】
同時に機能選択部１においては、予め制御システムのモデルとして、機能ブロックＡ、Ｃ、Ｅ、Ｇは同一プロセッサを使用するため各々の並列動作は出来ず、同様に機能ブロックＢ、Ｄ、Ｆ、Ｈも各々の並列動作は出来ないというモデル設定を行い、機能シミュレーション部２による機能シミュレーションを実施してトレース情報５を取得し、そのトレース情報５を基に両方のハードウェア・アーキテクチャに対する性能シミュレーション部９による性能シミュレーションを実施する。
【００３３】
つまり、本実施の形態では、機能選択部１は、対象プログラムの各機能ブロックのハードウェア割り当て形態を指定し、機能シミュレーション部２は、機能選択部１により指定されたハードウェア割り当て形態に合わせて対象プログラムに対するシミュレーションを実行し、実行したシミュレーションにおける機能ブロックの遷移を示すトレース情報５を生成する。
そして、性能選択部８は、対象ハードウェア・アーキテクチャとして、機能選択部１により指定されたハードウェア割り当て形態に合致するハードウェア・アーキテクチャを選択し、性能情報変換部７は、機能選択部１により指定されたハードウェア割り当て形態に合致するハードウェア・アーキテクチャの予測実行性能をトレース情報５に示される機能ブロックの遷移に従って示すトレース／性能パラメータ情報１０を生成する。
【００３４】
以上のように、本実施の形態によれば、ハードウェア・アーキテクチャを自由に選択可能とし、機能ブロック単位にハードウェアへの配置を行え、ハードウェア・アーキテクチャを固定化していないので、自由なハードウェア・アーキテクチャの組合せによる性能予測が可能となり、利便性が向上する。
また、機能シミュレーションにおいては、機能ブロックの動作条件を制御システムのモデルとして機能選択部１により設定しておくことにより、同一条件で異なるハードウェア・アーキテクチャに対する性能シミュレーションを一度の機能シミュレーションから取得したトレース情報５を基に実施可能となり、検証時間が短縮できる。
【００３５】
実施の形態５．
次に、性能情報データベース６に保持する性能情報データの精度を更に高める場合の実施の形態を示す。
なお、本実施の形態に係る情報処理装置１００の構成は、図１に示したものと同様である。
【００３６】
図１４は、各機能ブロック対応に、その主たる処理と同じ処理を行う部分を持ったベンチマークプログラム（模擬プログラム）の概念を示している。
この例では、データの送受信部分を除き、実際の機能ブロックの処理を持ち、データの送受信を行う替わりに、受信データに相当する模擬データをファイル等から読込み処理を実行させ、その結果を出力するプログラムをベンチマークプログラムとしている。
用意する模擬データは、機能ブロック内の分岐パターンの全てを通るように複数選定する。
このベンチマークプログラムを様々なハードウェア・アーキテクチャ上で動作させ、分岐パターン毎に使用されるハードウェアリソース量を測定し、その結果を性能情報データベース６の該当するハードウェア・アーキテクチャの性能情報データとする。
【００３７】
つまり、本実施の形態では、性能情報データベース６は、性能情報データ（予測実行性能）として、対象プログラムのベンチマークプログラム（模擬プログラム）を実行する場合の各ハードウェア・アーキテクチャの機能ブロックごと又は分岐パターン（サブ機能ブロック）ごとの実行性能の実測値を記憶しており、先行する実施の形態と同様に、性能情報変換部７は、性能情報データベース６から該当する機能ブロック又は分岐パターンの性能情報データ（ベンチマークプログラムに対する実測値）を抽出して、トレース／性能パラメータ情報１０を生成する。
【００３８】
このように、本実施の形態によれば、ベンチマークプログラムを用いる場合でもベンチマークプログラムに対応させた性能情報データ（実測値）を利用することで、該当ハードウェア・アーキテクチャを用いた場合の性能予測の精度をカタログ情報から作成された性能情報データに比べて著しく向上させることが出来る。
【００３９】
実施の形態６．
次に、性能シミュレーション部９から性能フィードバック部１２を介して機能シミュレーション部２に制御用パラメータが再設定される実施の形態を示す。
本実施の形態に係る情報処理装置１００の構成は、図１に示したものと同様である。
なお、本実施の形態では、性能シミュレーション部９は、機能シミュレーション部２による対象プログラムの機能シミュレーションの結果を解析し、対象プログラムのシミュレーションに用いたいずれかのパラメータ値を変更するとともに、性能フィードバック部１２を介して、変更後のパラメータ値を用いて対象プログラムの機能シミュレーションを再実行するよう機能シミュレーション部２に指示する。本実施の形態では、性能シミュレーション部９は、シミュレーション解析部として機能する。
また、本実施の形態では、機能シミュレーション部２は、性能シミュレーション部９により指示された変更後のパラメータ値を用いて対象プログラムの機能シミュレーションを再実行し、再実行した機能シミュレーションにおける機能ブロックの遷移を示すトレース情報５を生成し、性能情報変換部７は、機能シミュレーション部２によるシミュレーションの再実行時に生成されたトレース情報５を用いてトレース／性能パラメータ情報１０を生成する。
【００４０】
図１５は、制御用パラメータを必要とする機能ブロックのプログラム例である。
この例では、経路探索を再帰的に行う“ＲｅｃｕｒｓｉｖｅＳｅａｒｃｈ”関数が設定されており、何らかの条件を満たすか、制御用パラメータである“ＭＡＸ＿ＳＥＡＲＣＨ＿ＬＥＶＥＬ”に再帰実行回数が満たない場合に呼び出される。
この制御用パラメータである“ＭＡＸ＿ＳＥＡＲＣＨ＿ＬＥＶＥＬ”は、通常、処理時間の制約を表している。
この例において、機能ブロックＥが周期的に実行されるものとすると、”ＭＡＸ＿ＳＥＡＲＣＨ＿ＬＥＶＥＬ”が再帰処理制限回数として周期内に処理が終えるように設定されている必要がある。
性能シミュレーション部９は、周期的に動作する機能ブロックＥが周期時間内に処理を終了できなかったのを検知し、再帰処理が何回まで処理できたかの数値Ｎを性能フィードバック部１２に通知し、性能フィードバック部１２は、機能シミュレーション部２で使用されたシナリオデータ、性能シミュレーション部で使用されたハードウェア・アーキテクチャの構成／配置、及び、制御用パラメータ“ＭＡＸ＿ＳＥＡＲＣＨ＿ＬＥＶＥＬ”に対応する値Ｎをフィードバック情報データベース１３に保存し、機能シミュレーション部２の制御用パラメータである”ＭＡＸ＿ＳＥＡＲＣＨ＿ＬＥＶＥＬ”をＮに再設定し、機能シミュレーションを再実行できるようにする。つまり、シナリオデータ３の他のパラメータ等は変更することなく、“ＭＡＸ＿ＳＥＡＲＣＨ＿ＬＥＶＥＬ”を値Ｎに変更して機能シミュレーション部２は機能シミュレーションを行う。
そして、性能情報変換部７は、“ＭＡＸ＿ＳＥＡＲＣＨ＿ＬＥＶＥＬ”が値Ｎである機能シミュレーションの結果を示すトレース情報５を入力し、このトレース情報５に基づいてトレース／性能パラメータ情報１０を生成する。
【００４１】
以上のように、本実施の形態によれば、性能シミュレーションから機能シミュレーションへのフィードバック機構を持たせ、また、試行した結果を保存しておくことにより、対象とするハードウェア・アーキテクチャに対して最適な制御用パラメータを導くことが可能となり、設計支援の利便性が向上する。
【００４２】
実施の形態７．
次に、性能シミュレーション部９から性能フィードバック部１２を介して、性能シミュレーション部９にハードウェア構成が再設定される実施の形態を示す。
本実施の形態に係る情報処理装置１００の構成は、図１に示したものと同様である。
なお、本実施の形態では、性能シミュレーション部９は、性能情報変換部７により生成されたトレース／性能パラメータ情報１０を解析し、対象ハードウェア・アーキテクチャのハードウェア構成を変更するとともに、ハードウェア構成変更後の対象ハードウェア・アーキテクチャを用いた場合のトレース／性能パラメータ情報１０を再生成するよう性能情報変換部７に指示する。本実施の形態では、性能シミュレーション部９は、予測実行性能情報解析部として機能する。
また、本実施の形態では、性能情報変換部７は、性能シミュレーション部９により指示されたハードウェア構成変更後の対象ハードウェア・アーキテクチャを用いた場合のトレース／性能パラメータ情報１０を再生成する。
【００４３】
図１６は、本実施の形態における性能予測の対象となるＨ／Ｗ構成の例である。
図１６（ａ）で、当初プロセッサ数を４個に設定して性能シミュレーションを実行したところ、目標とする要求実行時間内に処理が完了し、更に余裕がある状況であることを検知し、当初プロセッサ４個で実行していたのを図１６（ｂ）のようにプロセッサ数を２個に変更して性能シミュレーションを再実行できるようにする。
つまり、性能シミュレーション部９は、プロセッサ数が４個のハードウェア構成に対して性能情報変換部７により生成されたトレース／性能パラメータ情報１０を解析した結果、目標とする要求実行時間内に処理が完了し、更に余裕がある状況であることを検知した場合には、性能シミュレーション部９は、図１６（ｂ）のようにハードウェア構成をプロセッサ数が２個の構成に変更してトレース／性能パラメータ情報１０を再生成するように性能情報変換部７に指示する。
そして、性能情報変換部７は、プロセッサが２個の場合の性能情報データを性能情報データベース６から抽出し、プロセッサが２個の場合のトレース／性能パラメータ情報１０を生成する。
【００４４】
以上のように、本実施の形態によれば、性能シミュレーション結果からのフィードバック機構を持たせることにより、最適なハードウェア・アーキテクチャを導くことが可能となり、設計支援の利便性が向上する。
【００４５】
実施の形態８．
次に、性能シミュレーション部９から性能フィードバック部１２を介して、性能シミュレーション部９にハードウェア構成が再設定される他の実施の形態を示す。
なお、本実施の形態においても、情報処理装置１００の構成は、図１に示したものと同様である。
また、本実施の形態においても、性能シミュレーション部９は、予測実行性能情報解析部として機能する。
【００４６】
図１７は、本実施の形態における性能予測の対象となるＨ／Ｗ構成の例である。
図１７（ａ）で、当初プロセッサ数を２個に設定して性能シミュレーションを実行したところ、目標とする要求実行時間内に処理が完了しないことを検知し、当初プロセッサ２個で実行していたのを図１７（ｂ）のようにプロセッサ数を４個に変更して性能シミュレーションを再実行できるようにする。
つまり、性能シミュレーション部９は、プロセッサ数が２個のハードウェア構成に対して性能情報変換部７により生成されたトレース／性能パラメータ情報１０を解析した結果、目標とする要求実行時間内に処理が完了しなかったことを検知した場合には、性能シミュレーション部９は、図１７（ｂ）のようにハードウェア構成をプロセッサが４個の構成に変更してトレース／性能パラメータ情報１０を再生成するように性能情報変換部７に指示する。
そして、性能情報変換部７は、プロセッサが４個の場合の性能情報データを性能情報データベース６から抽出し、プロセッサが４個の場合のトレース／性能パラメータ情報１０を生成する。
【００４７】
以上のように、本実施の形態によれば、性能シミュレーション結果からのフィードバック機構を持たせることにより、最適なハードウェア・アーキテクチャを導くことが可能となり、設計支援の利便性が向上する。
【００４８】
実施の形態９．
次に、シミュレーション対象システムの一部機能の再設計支援を主な目的として性能予測を行う場合の実施の形態を示す。
なお、本実施の形態においても、情報処理装置１００の構成は、図１に示したものと同様である。
また、本実施の形態においても、性能シミュレーション部９は、予測実行性能情報解析部として機能する。
【００４９】
図２１（ａ）に示す既存システムの一部である機能ブロックＣを機能ブロックＣ’に置換えて図２１（ｂ）に示すように一部機能を再設計する際に、まず、図２１（ａ）に示す既存システムの機能シミュレーションを実行し、トレース情報を生成する。
次に予測実行性能情報生成部において、機能ブロックＣに関する性能情報の変わりに、未実装の機能ブロックＣ’の性能目標値を使用して予測実行性能情報を生成する。
この予測実行性能情報を用いて性能シミュレーションを実施する。
【００５０】
以上のように、本実施の形態によれば、性能情報データベースの情報を用いずに任意の性能値により予測実行性能情報を生成する機構を持たせることにより、個別の機能ブロックの性能目標が妥当であるかの検証が行なえるようになり、設計支援の利便性が向上する。
【００５１】
ここで、実施の形態１〜９で説明した情報処理装置の特徴を以下にて再言する。
【００５２】
実施の形態１〜９では、以下の機能部を備え、ソフトウェアにより実現される機能とハードウェア・アーキテクチャに起因する性能とを各々独立、もしくは連係して検証・評価可能とすることを特徴とする情報処理装置について説明した。
（ａ）機能シミュレーション部での模擬対象の制御システムのモデルや制御用パラメータを選択・設定する機能選択部、
（ｂ）複数の制御プログラムにより構成された制御システムの機能をシミュレーションし、シミュレーション実行内容をトレース情報として出力するとともに実行結果を出力する機能シミュレーション部、
（ｃ）性能模擬の対象となるハードウェア・アーキテクチャを選択する性能選択部、
（ｄ）性能選択部により指定されたハードウェアの性能を性能情報データベースから取り出し、トレース情報と合成して、トレース／性能パラメータ情報を生成する性能情報変換部、
（ｅ）トレース／性能パラメータ情報を入力とし、シミュレーション対象ハードウェア・アーキテクチャにおけるハードウェア資源の利用を演算することにより性能結果を出力すると共に性能フィードバック部に対してフィードバック情報を出力する性能シミュレーション部、
（ｆ）性能シミュレーション部より入力されたフィードバック情報を元に機能シミュレーション部の制御用パラメータを自動的に再設定する性能フィードバック部。
【００５３】
また、実施の形態１〜９に係る情報処理装置は、トレース情報として、シミュレーション対象となる制御システムにおける任意の規模のプログラムを単位とした機能ブロックにおいて、各機能ブロックの実行順序が判別可能な論理的な時刻情報を時系列で記録することを特徴とする。
【００５４】
また、実施の形態１〜９に係る情報処理装置は、時系列のトレース情報として、機能ブロック内における分岐パターンを併せて記録することを特徴とする。
【００５５】
また、実施の形態１〜９に係る情報処理装置は、時系列のトレース情報として、実行時間性能に影響を与え得る実行時パラメータを併せて記録することを特徴とする。
【００５６】
また、実施の形態１〜９に係る情報処理装置は、時系列のトレース情報として、ＩＯを行なったサイズ、回数、ｉｎかｏｕｔか、ＩＯ対象などを併せて記録することを特徴とする。
【００５７】
また、実施の形態１〜９に係る情報処理装置は、性能情報データベースとして、各機能ブロックにおける性能情報データを複数のハードウェア・アーキテクチャに関して備えることを特徴とする。
【００５８】
また、実施の形態１〜９に係る情報処理装置は、性能情報データベースの性能情報データとして、機能ブロックにおけるＣＰＵ使用時間を記録することを特徴とする。
【００５９】
また、実施の形態１〜９に係る情報処理装置は、性能情報データベースの性能情報データとして、各機能ブロックにおけるメモリ、ＩＯ帯域などのハードウェアリソース利用量を併せて記録することを特徴とする。
【００６０】
また、実施の形態１〜９に係る情報処理装置は、性能情報データベースの性能情報データとして、各機能ブロックにおけるハードウェアリソース利用量として、実行時パラメータに対応した計算式を併せて記録することを特徴とする。
【００６１】
また、実施の形態１〜９に係る情報処理装置は、トレース／性能パラメータ情報として、機能シミュレーション部が出力したトレース情報と同様の機能ブロック単位での論理的な時刻情報と、その機能ブロックが任意のハードウェア・アーキテクチャ上で消費するリソース利用量を時系列で保持することを特徴とする。
【００６２】
また、実施の形態１〜９に係る情報処理装置は、トレース／性能パラメータ情報として、機能ブロック単位ではなく、機能ブロック内の分岐パターンで分割される単位で、任意のハードウェア・アーキテクチャ上で消費するリソース利用量を保持することを特徴とする。
【００６３】
また、実施の形態１〜９に係る情報処理装置は、トレース情報を取得する単位となる機能ブロックを個別に任意のハードウェア・アーキテクチャ上で動作させる指定を行うことが可能であることを特徴とする。
【００６４】
また、実施の形態１〜９に係る情報処理装置は、ハードウェア・アーキテクチャの構成、配置を利用者が性能選択部を介して指定を行うことが可能であることを特徴とする。
【００６５】
また、実施の形態１〜９に係る情報処理装置は、性能情報データベースに保存する性能情報データを生成する為にハードウェア・アーキテクチャのカタログ仕様を用いて算出された性能情報データだけではなく、シミュレーション対象となる制御システムで使用されている制御プログラムを機能ブロック単位に切出して作成したベンチマークプログラムを該当するハードウェア・アーキテクチャ上で実際に動作させて性能情報データを収集することにより、性能シミュレーションの精度を高めることを特徴とする。
【００６６】
また、実施の形態１〜９に係る情報処理装置は、性能情報データベースに保存されていない架空の性能情報データを設定した架空のハードウェア・アーキテクチャを一部、もしくは全てで用いるように性能選択部で指定でき、架空のハードウェア・アーキテクチャを対象とした性能シミュレーションを行えることを特徴とする。
【００６７】
また、実施の形態１〜９に係る情報処理装置は、機能シミュレーション部で検証された機能に対して、性能シミュレーション部で性能評価を行った結果、性能的に機能を満足できない場合などに性能シミュレーション部からのフィードバック情報を性能フィードバック部を介して受けて機能シミュレーション部での機能パラメータを自動的に再設定し、再度機能シミュレーションを実行可能とすることを特徴とする。
【００６８】
また、実施の形態１〜９に係る情報処理装置は、機能シミュレーション部で検証された機能に対して，性能シミュレーション部で性能評価を行った結果，使用したハードウェアリソース（ＣＰＵ数等）や要求性能を満足できない場合，機能ブロックのハードウェアリソースへの割り付け方や，使用するハードウェアリソース数を再設定して再度，性能シミュレーション部で性能評価を行うことを特徴とする。
【００６９】
また、実施の形態１〜９に係る情報処理装置は、性能シミュレーション部からのフィードバック情報を性能フィードバック部において、シナリオデータ、及び、性能シミュレーションを行ったハードウェア・アーキテクチャの情報と関連付けてフィードバック情報データベースとして保存することを特徴とする。
【図面の簡単な説明】
【００７０】
【図１】実施の形態１〜９に係る情報処理装置の構成例を示す図。
【図２】実施の形態１に係るシミュレーション対象システムの例を示す図。
【図３】実施の形態１に係るトレース情報の例を示す図。
【図４】実施の形態１に係る性能情報データベースの性能情報データの例を図。
【図５】実施の形態１に係るトレース／性能パラメータ情報の例を示す図。
【図６】実施の形態２に係る分岐パターンの例を示す図。
【図７】実施の形態２に係るトレース情報の例を示す図。
【図８】実施の形態２に係る性能情報データベースの性能情報データの例を図。
【図９】実施の形態２に係るトレース／性能パラメータ情報の例を示す図。
【図１０】実施の形態３に係るトレース情報の例を示す図。
【図１１】実施の形態３に係る性能情報データベースの性能情報データの例を図。
【図１２】実施の形態３に係るトレース／性能パラメータ情報の例を示す図。
【図１３】実施の形態４に係る性能シミュレーション対象ハードウェアの例を示す図。
【図１４】実施の形態５に係るベンチマークプログラムの例を示す図。
【図１５】実施の形態６に係る制御用パラメータを必要とする機能ブロックの例を示す図。
【図１６】実施の形態７に係るハードウェア・アーキテクチャが再設定される例を示す図。
【図１７】実施の形態８に係るハードウェア・アーキテクチャが再設定される例を示す図。
【図１８】実施の形態１に係る情報処理装置の動作例を示すフローチャート図。
【図１９】実施の形態１〜９に係る情報処理装置のハードウェア構成例を示す図。
【図２０】実施の形態１に係る各機能ブロックのＣＰＵ利用時間チャートを解決する演算例を説明する図。
【図２１】実施の形態９に係る機能ブロックの一部を再設計する例を示す図。
【符号の説明】
【００７１】
１  機能選択部、２  機能シミュレーション部、３  シナリオデータ、４  実行結果、５  トレース情報、６  性能情報データベース、７  性能情報変換部、８  性能選択部、９  性能シミュレーション部、１０  トレース／性能パラメータ情報、１１  性能結果、１２  性能フィードバック部、１３  フィードバック情報データベース、１００  情報処理装置。
【図１】
2008139965.tif 000003
【図２】
2008139965.tif 000004
【図３】
2008139965.tif 000005
【図４】
2008139965.tif 000006
【図５】
2008139965.tif 000007
【図６】
2008139965.tif 000008
【図７】
2008139965.tif 000009
【図８】
2008139965.tif 000010
【図９】
2008139965.tif 000011
【図１０】
2008139965.tif 000012
【図１１】
2008139965.tif 000013
【図１２】
2008139965.tif 000014
【図１３】
2008139965.tif 000015
【図１４】
2008139965.tif 000016
【図１５】
2008139965.tif 000017
【図１６】
2008139965.tif 000018
【図１７】
2008139965.tif 000019
【図１８】
2008139965.tif 000020
【図１９】
2008139965.tif 000021
【図２０】
2008139965.tif 000022
【図２１】
2008139965.tif 000023