(57)【要約】【課題】  本発明は、プロセッサユニット計算部の処理負荷を軽減し、高速処理を可能としたシステムシミュレーション装置を提供する。【解決手段】    システムシミュレーション装置であって、パケット抽出部位選択部で選択された情報を用いてネットワークパケット情報抽出部によりネットワークパケットから選択された情報を抽出し、プロセッサユニット計算部で抽出された当該情報を用いてシミュレーション計算を行うを特徴とする。【選択図】  図１
2013152653.tif 000002
【特許請求の範囲】
【請求項１】
シミュレーションを行うシステムの構成を定義するシステム構成モデル定義部と、
前記システム構成モデル定義部で定義されたシステムを構築するネットワークシミュレーション部と、
前記ネットワークシミュレーション部で構築されたシステムのシミュレーション計算を行うプロセッサユニット計算部と、
システムシミュレーション計算結果を表示する性能表示部と、
を有するシステムシミュレーション装置であって、、
前記定義されたシステム構成モデルを、前記ネットワークシミュレーション部の構成情報に変換して、該構成情報を前記ネットワークシミュレーション部に入力するとともに、前記プロセッサユニット計算部の構成情報に変換して、該構成情報を前記プロセッサユニット計算部に入力するシミュレーションパラメタ入力部と、
ネットワークパケットから特定の情報を抽出し、前記プロセッサユニット計算部に入力するネットワークパケット情報抽出部と、
前記ネットワークパケット情報抽出部でネットワークパケットから抽出する部位の選択を行うパケット抽出部位選択部と、
前記パケット抽出部位選択部で選択された情報を前記ネットワークパケット情報抽出部と前記プロセッサユニット計算部に入力するパケット抽出設定入力部と、を有し、
前記パケット抽出部位選択部で選択された情報を用いて前記ネットワークパケット情報抽出部によりネットワークパケットから選択された情報を抽出し、前記プロセッサユニット計算部で抽出された当該情報を用いてシミュレーション計算を行うことを特徴とするシステムシミュレーション装置。
【請求項２】
請求項１に記載のシステムシミュレーション装置であって、
前記プロセッサユニット計算部として、プロセッサユニット計算データ、バスビジー状態、バス有効/無効切り替え部、サービス時間計算部（プロセッサ共有バス確率計算モデル）、バス利用可能率、からなるプロセッサユニット計算部（プロセッサ共有バス確率計算モデル）を有することを特徴とするシステムシミュレーション装置。
【請求項３】
請求項１に記載のシステムシミュレーション装置であって、
前記プロセッサユニット計算部として、プロセッサユニット計算データ、バスビジー状態、標準サービス時間付与部、標準サービス時間記憶部、パケットサイズサービス時間計算部、サービスジッタ記憶部、サービス時間計算部（リアルタイム性評価モデル）、からなる、プロセッサユニット計算部（リアルタイム性評価モデル）を有することを特徴とするシステムシミュレーション装置。
【請求項４】
請求項１に記載のシステムシミュレーション装置であって、
前記パケット抽出部位選択部としてシステム評価内容選択部を有し、
前記パケット抽出設定入力部としてシステム評価内容設定入力部を有し、
任意のシステム評価内容を選択する事で、システムシミュレーション装置が自動でネットワークパケットの情報抽出選択とプロセッサユニット計算部のパラメタ設定を完了することを特徴とするシステムシミュレーション装置。
【請求項５】
請求項１に記載のシステムシミュレーション装置であって、
前記パケット抽出部位選択部として、プロセッサユニット計算部で行いたい演算内容を選択するプロセッサユニット計算部 演算内容選択部を有し、
前記パケット抽出設定入力部として、ネットワークパケット情報抽出部とプロセッサユニット計算部が必要なパラメタに自動的に変換し、それぞれの部位に入力するプロセッサユニット計算部 演算内容設定入力部を有し、
任意のプロセッサユニット計算部での演算内容を選択する事で、
システムシミュレーション装置が自動でネットワークパケットの情報抽出選択とプロセッサユニット計算部のパラメタ設定を完了することを特徴とするシステムシミュレーション装置。
【請求項６】
請求項１に記載のシステムシミュレーション装置であって、
前記システムシミュレーション装置にパケットデータ蓄積部、バッファ、パケットデータ応答部を有し、
プロセッサユニット計算部による処理結果をネットワークシミュレーション部で再利用する双方向処理を行うことを特徴とするシステムシミュレーション装置。
【請求項７】
請求項１に記載のシステムシミュレーション装置であって、
前記プロセッサユニット計算部として第１プロセッサユニット計算部、第２プロセッサユニット計算部、第ｎプロセッサユニット計算部を有することを特徴とするシステムシミュレーション装置。
【請求項８】
請求項１に記載のシステムシミュレーション装置であって、
前記プロセッサユニット計算部としてプロセッサユニット計算ハードウェアを有することを特徴とするシステムシミュレーション装置。
【請求項９】
請求項１に記載のシステムシミュレーション装置であって、
ユーザ設定入力画面を有し、該ユーザ設定入力画面でシステム構成モデル定義の設定及びパケット抽出部位選択の設定入力することができることを特徴とするシステムシミュレーション装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、システムシミュレーション装置に関する。
【背景技術】
【０００２】
本技術分野の背景技術として、特許第３０９０３８８号公報（特許文献１）がある。この公報には、「ネットワークによって相互接続される複数のノードの間でネットワーク上を転送されるデータトラフィックをシミュレートする方法であって、該データトラフィックは該複数のノードの間で複数の対話を備えており、該複数のノードの１以上はクライアントノードであり、該複数のノードの１以上はサーバノード」と記載されている。
【０００３】
また、特許第３７４６３７１号公報（特許文献２）がある。この公報には、「複数のプロセッサが各プロセッサ毎に独立したバスによりシステム制御装置に接続され該システム制御装置に主記憶が接続されたマルチプロセッサシステム上で実行される処理をシミュレーションすることにより、前記マルチプロセッサシステムの実行性能を測定する性能シミュレーション方法」と記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第３０９０３８８号公報
【特許文献２】特許第３７４６３７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前記特許文献１には、ネットワークシミュレーションの仕組みが記載されている。また、システムシミュレーション評価の記載もあり、例えば、分散処理システムのトランザクショントラフィックをモデル化する例が記載されている。
【０００６】
しかし従来の組込みシステム設計で用いるシステムシミュレーション装置は、ネットワークシミュレータとプロセッサユニット計算部で構成され、ネットワーク用の宛先 、データ等を含むネットワークパケットを状態変化点の多いプロセッササイクルに合わせてシミュレーションする必要がある。そのため、大規模プロセッサシステムのシミュレーションは、計算時間が長大となり実用時間で使用できない課題が存在した。
【０００７】
そこで、本発明は、プロセッサユニット計算部の処理負荷を軽減し、高速処理を可能としたシステムシミュレーション装置を提供する。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、システムシミュレーション装置であって、シミュレーションを行うシステムの構成を定義するシステム構成モデル定義部と、前記システム構成モデル定義部で定義されたシステムを構築するネットワークシミュレーション部と、前記ネットワークシミュレーション部で構築されたシステムのシミュレーション計算を行うプロセッサユニット計算部と、システムシミュレーション計算結果を表示する性能表示部と、前記定義されたシステム構成モデルを、前記ネットワークシミュレーション部の構成情報に変換して、該構成情報を前記ネットワークシミュレーション部に入力するとともに、前記プロセッサユニット計算部の構成情報に変換して、該構成情報を前記プロセッサユニット計算部に入力するシミュレーションパラメタ入力部と、ネットワークパケットから特定の情報を抽出し、前記プロセッサユニット計算部に入力するネットワークパケット情報抽出部と、前記ネットワークパケット情報抽出部でネットワークパケットから抽出する部位の選択を行うパケット抽出部位選択部と、前記パケット抽出部位選択部で選択された情報を前記ネットワークパケット情報抽出部と前記プロセッサユニット計算部に入力するパケット抽出設定入力部と、を有し、前記パケット抽出部位選択部で選択された情報を用いて前記ネットワークパケット情報抽出部によりネットワークパケットから選択された情報を抽出し、前記プロセッサユニット計算部で抽出された当該情報を用いてシミュレーション計算を行うを特徴とする。
【発明の効果】
【０００９】
本発明によれば、プロセッサユニット計算部の処理負荷を軽減し、高速処理を可能としたシステムシミュレーション装置を提供する事ができる。
【００１０】
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１１】
【図１】実施例１に係るシステムシミュレーション装置の構成図の例
【図２】システム構成モデル定義部のユーザインタフェースの例
【図３】パケット抽出部位選択部のGUIダイアログの例
【図４】実施例１に係るシステムシミュレーション装置の処理を説明するフローチャートの例
【図５】従来のシステムシミュレーション装置の構成図の例
【図６】従来のシステムシミュレーション装置における処理を説明するフローチャートの例
【図７】従来のシステムシミュレーション装置を用いた場合の実計算機での評価計算サイクルの比較を説明する時間軸上のグラフの例
【図８】ネットワークパケット情報抽出部１０６を説明する図の例
【図９】ネットワークパケットを説明する図の例
【図１０】実施例１に係るシステムシミュレーション装置を用いた場合の実計算機での評価計算サイクルを説明する時間軸上のグラフの例
【図１１】プロセッサモジュールでの処理を説明するプロセッサモデルの図の例
【図１２】プロセッサユニット計算部（プロセッサ共有バス確率計算モデル）の計算内容を説明する図の例
【図１３】プロセッサモジュールの、リアルタイム性計算モデルの性能計算の計算内容を示す図
【図１４】システム評価内容選択部のGUIダイアログの例
【図１５】実施例５におけるシステムシミュレーション装置１５００を示す構成図の例
【図１６】プロセッサユニット計算部 演算内容選択部のGUIダイアログ１５０１の例
【図１７】実施例６におけるシステムシミュレーション装置１６００を示す構成図の例
【図１８】実施例７におけるシステムシミュレーション装置１７００を示す構成図の例
【図１９】実施例８におけるシステムシミュレーション装置１９００を示す構成図の例
【図２０】実施例８によるプロセッサユニット計算ハードウェアへのパケット抽出データ入力時間を説明する図の例
【図２１】従来例によるプロセッサユニット計算部へのパケット入力時間を説明する図の例
【発明を実施するための形態】
【００１２】
以下、実施例を図面を用いて説明する。
【実施例１】
【００１３】
ここで、本発明に係るシステムシミュレーション装置の実施の形態について説明する。
図１は、本実施例のシステムシミュレーション装置の構成図の例である。
【００１４】
システムシミュレーション装置１００は、システム構成モデル定義部１０１、シミュレーションパラメタ入力部１０２、パケット抽出部位選択部１０３、パケット抽出設定入力部１０４、ネットワークシミュレーション部１０５、ネットワークパケット情報抽出部１０６、プロセッサユニット計算部１０７、性能表示部１０８からなる装置である。
【００１５】
システム構成モデル定義部１０１はシミュレーションを行うシステムの構成を定義する部位であり、この定義部１０１ではユーザが評価を行いたい対象のシステムの内容入力することで、評価対象のシステム構成を定義する。
【００１６】
シミュレーションパラメタ入力部１０２は、システム構成モデル定義部１０１にて定義されたシステム構成モデルを、ネットワークシミュレーション部１０５の構成情報と、プロセッサユニット計算部１０７の構成情報に変換して、それぞれのシミュレーション部に対し入力する。
【００１７】
パケット抽出部位選択部１０３は、ネットワークパケットから抽出する部位を選択する選択部であり、例としてGUIのダイアログの形態をとる。
【００１８】
パケット抽出設定入力部１０４は、パケット抽出部位選択部１０３にて選択されたネットワークパケットから抽出する部位を、ネットワークパケット情報抽出部１０６とプロセッサユニット計算部１０７に入力する。
【００１９】
ネットワークシミュレーション部１０５は、システム構成モデル定義部１０１によって定義され、シミュレーションパラメタ入力部１０２により変換されたシステム構成モデルパラメタを用いた、システムのネットワークシミュレーションを行う。
【００２０】
ネットワークパケット情報抽出部１０６は、ネットワークシミュレーション部１０５から出力されたネットワークパケットを入力し、ネットワークパケット抽出情報選択部１０３の選択に従い、ネットワークパケットから情報を抽出し、抽出したパケット情報のみをプロセッサユニット計算部１０７へ出力する処理を行う。
【００２１】
プロセッサユニット計算部１０７は、システム構成モデル定義部１０１によって定義され、シミュレーションパラメタ入力部１０２により変換されたシステム構成モデルパラメタと、パケット抽出部位選択部１０３によって選択され、パケット抽出設定入力部１０４により変換されたパケット抽出部位パラメタと、を用いてプロセッサユニット計算を行い、システムのシミュレーションを行う。
【００２２】
性能表示部１０８は、システムシミュレーション結果を表示する部位であり、結果をビジュアル化しGUIもしくはテキスト情報として出力する。
【００２３】
図２は、システム構成モデル定義部１０１のユーザインタフェースの例である。
一例としてシステム構成モデル定義部１０１はGUI（グラフィカルユーザインタフェース）２００と、モジュールとしてデータジェネレータモジュール２０１、伝送路モジュール２０２、スイッチモジュール２０３、プロセッサモジュール２０５からなる。
【００２４】
システム構成モデル定義部GUI（グラフィカルユーザインタフェース）２００は、システム構成モデル定義部のユーザインタフェースの例であり、シミュレーションするシステムを、コンピュータの画面上に表示する。ユーザ設定によりシステムシミュレーションに係るモジュール（部品）と呼ばれる機能ブロックを配置し、それぞれをネットワークで相互に接続する入力を受け付ける。
【００２５】
データジェネレータモジュール２０１は、設定された発生パターンに従って、ネットワークパケットを生成する。
伝送路モジュール２０２は、ネットワークパケットを入力し、ペイロードサイズを解析し、ネットワークパケットが伝送路モジュール２０２を通過するにかかる時間、すなわち伝送レイテンシ時間を算出し、ネットワークパケットのレイテンシパラメタに、その算出した伝送レイテンシ時間を加算し設定する。
【００２６】
システムシミュレーション装置において、シミュレーション対象物が、ある動作を完了するまでに必要とする時間の事をサービス時間と呼び、上記、伝送路モジュール２０２においては「伝送路モジュール２０２は、ネットワークパケットを入力し、ペイロードサイズを解析し、ネットワークパケットに対し伝送レイテンシ時間をサービス時間としてセットする」こととなる。
【００２７】
スイッチモジュール２０３は、ネットワークパケットを入力し、スイッチ設定表に従って、出力ポート先を切り替え、出力するモジュールである。
【００２８】
プロセッサモジュール２０５は、ネットワークパケットを用いた所望の計算を行い、計算結果を出力するモジュールである。
【００２９】
システム構成モデル定義部１０１では、例えば上記モジュールを組合わせて用いてシミュレーション対象としてのシステムを構成する事が可能で、プロセッサモジュール２０５を例えば1000個程度配置した大規模プロセッサシステムも構築可能である。
【００３０】
シミュレーションパラメタ入力部１０２は、前記定義されたシステム構成モデルを、ネットワークシミュレーション部１０５の構成情報と、プロセッサユニット計算部１０７の構成情報に変換して、それぞれのシミュレーション部に対し入力する。
【００３１】
例としてネットワークシミュレーション部１０５には、データジェネレータ２０１、伝送路２０２、スイッチ２０３の各モジュールの構成、個数、それぞれのモジュール個別で定められたパラメタ、各モジュール間でどのような接続関係にあるかを示す接続関係、をパラメタとして設定する。
【００３２】
例としてプロセッサユニット計算部１０７には、プロセッサモジュール２０５の構成、個数、モジュール個別に定められたパラメタ、ネットワークシミュレーション部１０５との接続関係、がパラメタとして設定される。
【００３３】
図３はパケット抽出部位選択部１０３のGUIダイアログ３００の例である。
パケット抽出部位選択部１０３は、ダイアログ３００として例示され、ユーザが抽出部位を選択を入力することでシミュレーションに用いたいネットワークパケットの情報選択入力を受け付ける。
【００３４】
選択された情報はパケット抽出部位選択部１０３によりパケット抽出設定入力部１０４に入力され、さらにパケット抽出設定入力部１０４がネットワークパケット情報抽出部１０６とプロセッサユニット計算部１０７にパケット抽出部位パラメタを入力する。
【００３５】
例えば、ネットワークパケット情報抽出部１０６とプロセッサユニット計算部１０７には、ネットワークパケットから抽出する部位を示す情報をパラメタとして入力する。
【００３６】
ネットワークシミュレーション部１０５、ネットワークパケット情報抽出部１０６、プロセッサユニット計算部１０７は設定されたパラメタに従い、各部が連携し、システムシミュレーション計算を行う。
【００３７】
図４は、本実施例に係るシステムシミュレーション装置の処理を説明するフローチャートの例である。
【００３８】
シミュレーションが開始し（４０１）、システム構成モデル定義部のユーザインターフェース２００においてユーザが設定入力することでシステム構成モデルの定義を行い（４０２）、定義されたモデルを用いてシミュレーションパラメータ入力部１０２によりシミュレーションパラメタを生成し（４０３）、生成されたシミュレーションパラメータをシミュレーションパラメータ入力部１０２によってネットワークシミュレーション部１０５とプロセッサユニット計算部１０７に入力する（４０４）。
【００３９】
次に、パケット抽出部位選択画面３００においてユーザが設定入力することでネットワークパケットから抽出する部位を選択し（４０５）、抽出する部位の情報をパケット抽出設定入力部１０４によりネットワークパケット情報抽出部１０６とプロセッサユニット計算部１０７に入力する（４０６）。
【００４０】
次に、離散時間0の状態における全モジュールの状態を計算し更新する（４０７）。
【００４１】
次に、ネットワークシミュレーション部１０５内のネットワークイベント発生（４１０）にともない、イベントルーチンにてイベント処理を行う（４１１）。
ネットワークイベントとは、ネットワークシミュレーション部内の状態を計算し更新するきっかけとなる、状態の変化点の事を指す。
【００４２】
ネットワークイベントはモジュールごとに異なり、たとえばデータジェネレータモジュール２０１では、「ネットワークパケットを生成する」というイベントが発生し、これにともなう処理を行う事となる。
【００４３】
また、たとえばスイッチモジュール２０３では「入力バッファからネットワークパケットを取り出す」というイベントが発生し、これにともない、所定の出力ポートにネットワークパケットを移動する、という処理をイベントルーチンは行う。
【００４４】
次に、ネットワークパケット情報抽出部１０６において、抽出情報選択部１０３でユーザの設定入力により選択した情報をパケットから抽出する（４２０）。
【００４５】
プロセッサユニット計算部１０７内の各プロセッサモジュール２０５では、送られたネットワークパケット情報によりプロセッサイベントが発生し（４２１）、プロセッサユニット計算を実施する（４３０）。
【００４６】
全てのモジュールの性能計算が完了したか、判定する（４４０）。
全てのモジュールの計算が完了したら、当該離散時間の状態における全モジュールの状態更新完了とし、離散時間を1進める（４４１）。
【００４７】
シミュレーション時間満了を判断し（４４２）、満了したら、今までの計算結果を用い、状態表示部にて性能計算結果をビジュアル化しGUIもしくはテキスト情報として出力する（４４３）。
そして、シミュレーションを終了する（４４４）。
【００４８】
図５は、従来のシステムシミュレーション装置の構成図の例である。
ここで比較のため、従来のシステムシミュレーション装置について図５を用い説明する。
【００４９】
従来のシステムシミュレーション装置５００は、システム構成モデル定義部５０１、シミュレーションパラメタ入力部５０２、ネットワークシミュレーション部５０５、プロセッサユニット計算部５０７、性能表示部５０８からなる装置である。
【００５０】
システム構成モデル定義部５０１はシミュレーションを行うシステムの構成を定義する部位であり、この定義部５０１は評価を行いたい対象のシステムを受け付ける。
【００５１】
シミュレーションパラメタ入力部５０２は、システム構成モデル定義部５０１にて定義されたシステム構成モデルを、ネットワークシミュレーション部５０５の構成情報と、プロセッサユニット計算部５０７の構成情報に変換して、それぞれのシミュレーション部に対し入力する。
【００５２】
ネットワークシミュレーション部５０５は、システム構成モデル定義部５０１によって定義され、シミュレーションパラメタ入力部５０２により変換されたシステム構成モデルパラメタを用いた、システムのネットワークシミュレーションを行う。
【００５３】
プロセッサユニット計算部５０７は、システム構成モデル定義部５０１によって定義され、シミュレーションパラメタ入力部５０２により変換されたシステム構成モデルパラメタを用いた、システムのプロセッサユニットのシミュレーションを行う。
【００５４】
性能表示部５０８は、システムシミュレーション結果を表示する部位であり、結果をビジュアル化しGUIもしくはテキスト情報として出力する。
【００５５】
図６は、従来のシステムシミュレーション装置における処理を説明するフローチャートの例である。
従来のシステムシミュレーション装置５００の各部位が連携したシステムシミュレーション処理フローを図６を用い説明する。
【００５６】
シミュレーションが開始し（６０１）、構成モデル定義を行い（６０２）、定義されたモデルを用いてシミュレーションパラメタを生成（６０３）、ネットワークシミュレーション部５０５とプロセッサユニット計算部５０７に入力する（６０４）。
【００５７】
次に、離散時間0の状態における全モジュールの状態を計算し更新する（６０７）。
【００５８】
ネットワークシミュレーション部５０５内のネットワークイベント発生（６１０）にともない、イベントルーチンにてイベント処理を行う（６１１）。
【００５９】
次に、プロセッサユニット計算部５０７内の各プロセッサモジュールでは、送られたネットワークパケットによりプロセッサイベントが発生する（６２１）。
【００６０】
送られたネットワークパケットのデータを用い、かつプロセッササイクルでの性能計算を行う、マルチレート処理を行う（６３０）。
【００６１】
全てのモジュールの性能計算が完了したか、判定する（６４０）。
【００６２】
全てのモジュールの計算が完了したら、当該離散時間の状態における全モジュールの状態更新完了とし、離散時間を1進める（６４１）。
【００６３】
シミュレーション時間満了を判断し（６４２）、満了したら、今までの計算結果を用い、状態表示部にて性能計算結果をビジュアル化しGUIもしくはテキスト情報として出力する（６４３）。
そして、シミュレーションを終了する（６４４）。
【００６４】
以上、従来のシステムシミュレーション装置５００は、ネットワーク用の宛先 、データ等を含むネットワークパケットと、状態変化点の多いプロセッササイクルとを合わせてシミュレーションする事が必要である。
【００６５】
システムシミュレーション装置において、ネットワークパケットの伝送シミュレーションにともなう各モジュールの状態変化は、ネットワークパケットの伝送が完了した時点で発生する。
【００６６】
例えば、ネットワークパケットのサイズが300Bytesの塊りのデータで、1.25Gbpsの速度の伝送路を通過するシミュレーションを行った場合、ネットワークパケットの伝送シミュレーションにともなう各モジュールの状態変化は、300Bytesデータの伝送毎に発生し、時間間隔（レート）で表現すると240ns毎に発生する。
【００６７】
また、システムシミュレーション装置において、プロセッサユニット計算部５０７内の各プロセッサモジュールでの、プロセッサイベントの状態変化は、プロセッササイクル毎に発生する。プロセッササイクルとは、各プロセッサモジュールを駆動するクロックの逆数を指す。
【００６８】
例えば、各プロセッサモジュールが1GHzのクロックで駆動されているとする。この場合、プロセッサイベントの状態変化は、時間間隔（レート）で表現すると1ns毎に発生する。
【００６９】
ネットワークパケットの伝送シミュレーションにともなう状態変化の間隔と、各プロセッサモジュールにおけるプロセッサイベントの状態変化の間隔は、以上のとおり異なる。これら状態変化の間隔の異なる複数のシミュレーションを単一のシステムシミュレーション装置において実施する事をマルチレート計算と言う。
【００７０】
上記説明した、従来のシステムシミュレーション装置５００は、ネットワーク用の宛先 、データ等を含むネットワークパケットと、状態変化点の多いプロセッササイクルとを合わせてシミュレーションしており、マルチレート計算を行っている、と言う。
【００７１】
従来のシステムシミュレーション装置５００は、正確なシミュレーション結果を得る事を第一の目標としていた。このため、状態変化間隔（レート）の異なる各モジュールを組み合わせた場合、各モジュールの状態変化間隔（レート）を忠実に守り、個々に計算するマルチレート計算は、正確なシミュレーション結果を得るために必須の機能であった。
【００７２】
しかし、マルチレート計算は、計算時間が長大となる課題が存在した。
上記の例では、ネットワークパケットの伝送シミュレーションにともなう各モジュールの状態変化は、240ns毎に発生し、プロセッサユニット計算部５０７内の各プロセッサモジュールでの、プロセッサイベントの状態変化は、1ns毎に発生する。
つまり、一つのネットワークパケットを伝送シミュレーションするのに比べ、プロセッサイベントの状態変化は240倍発生する。
【００７３】
例えば、一つのネットワークパケットを、処理データとしてプロセッサユニット計算部５０７内のプロセッサモジュールに伝送した場合、シミュレーション時間は、ネットワークパケットのみ伝送シミュレーションする場合にくらべ、240倍かかる。
【００７４】
また、プロセッサイベントの状態変化は、プロセッサユニット計算部５０７内の各プロセッサモジュールそれぞれで発生する。そのため、大規模プロセッサシステムのシミュレーションは、計算時間が長大となり実用時間で使用できない。
【００７５】
図７は、従来のシステムシミュレーション装置を用いた場合の実計算機での評価計算サイクルの比較を説明する時間軸上のグラフの例である。
【００７６】
例として、図５で示したプロセッサユニット計算部５０７において、プロセッサユニット計算部５０７内のプロセッサモデルが1000個である大規模システムのシミュレーション評価を行う場合の実計算機での評価計算サイクルを、図７を用い以下説明する。
【００７７】
図７では、ネットワークシミュレーション部５０５の1シミュレーションサイクル（７０１）に対し、プロセッサユニット計算部５０７の計算サイクルが99サイクル必要（７０２）となっている。
【００７８】
マルチレート処理は1000プロセッサ個々に必要であるため、結果、マルチレート処理計算サイクルが1000プロセッサ分積算する。
【００７９】
例えば、マルチレート計算サイクルは、ネットワークパケットが300Bytesのパケットである場合、プロセッサユニット計算部５０７では、ネットワークイベントの処理サイクルに比べ百倍程度の実計算機のマルチレート計算サイクルが必要である。
【００８０】
また、このマルチレート計算は、一つのプロセッサモジュール２０５毎に独立して発生するもので、システム全体として1つの離散時間状態の更新には、マルチレート計算サイクルがプロセッサモジュール個数分積算する。
【００８１】
例示した前記プロセッサモデルが1000個である大規模システムでは、ネットワークイベントの数百倍のマルチレート計算サイクルが、1000個のプロセッモジュール２０５各々で発生する事となる。
【００８２】
さらに、実際のシステムのシミュレーション評価は、100万パケット程度を評価に用いる。よって、前述のマルチレート計算のプロセッサモデル個数分積算した計算回数がさらに100万回超積算する事となり、実計算機の計算量が発散し、実用的な計算時間内では収まらない問題があった。
【００８３】
これに対し本実施例によるシステムシミュレーション装置１００は、ネットワークシミュレータとプロセッサユニット計算部、ネットワークパケットから抽出する部位を選択する選択部と、設定に応じてネットワークパケットから情報を抽出する抽出部とを具備し、当該データを用いることでプロセッサユニット計算部の処理負荷を軽減し、高速処理を可能とした。
【００８４】
以下に、本願発明におけるプロセッサユニット計算部の処理負荷を軽減し、高速処理を可能にする構成について説明する。
【００８５】
図８は、ネットワークパケット情報抽出部１０６を説明する図の例である。
ネットワークパケット入力インタフェース８０１は、ネットワークパケットが入力される部位である。
【００８６】
パケットフィールド選択部８０２は、パケット抽出部位選択部１０３、パケット抽出設定入力部１０４に従い、ネットワークパケットから情報を抽出する。
【００８７】
プロセッサユニット計算部情報生成部８０３は、プロセッサユニット計算部１０７に対する入力データを生成する。
【００８８】
図９はネットワークパケットを説明する図の例である。
ネットワークパケット入力インタフェース８０１へ入力するパケットサイズは、例として図９に示すように、300Bytesである（９０１）。
【００８９】
図８、図９を用いて、ネットワークパケット情報抽出の流れを説明する。
例として、パケットフィールド選択部８０２で”Format Type”と“Transaction”のフィールドを抽出する。
【００９０】
”Format Type”は4bitであり、ネットワークパケットの種類が定義されている。例えば、“遠隔のプロセッサに対しキャッシュ操作をするパケット”、“遠隔のバスI/Oに関するパケット”、“ネットワークの点検用パケット”、“その他パケット”といった定義が”Format Type”によりなされる。
【００９１】
また、“Transaction”は4bitであり、“Format Type”で定義された種類のパケットが行う操作内容が示される。
例えば“遠隔のプロセッサに対しキャッシュ操作をするパケット”について“あるアドレスのデータをゼロクリアする”操作や、“遠隔のバスI/Oに関するパケット”について“あるアドレスにデータを書き込む”操作内容が“Transaction”により示される。
【００９２】
プロセッサユニット計算部情報生成部８０３が”Format Type”と“Transaction”のフィールドを抽出することで、出力されるデータは、例えば8bitとなる。
【００９３】
ここで、パケットフィールド選択部８０２にて、”Format Type”、“Transaction”といったフィールドの定義を組み合わせて判断する表を具備することで、入力されたネットワークパケットから“バスI/Oに対するデータ書き込み操作”といった情報を抽出することも可能である。
【００９４】
“バスI/Oに対するデータ書き込み操作”の有無は最小で１bitの情報で表すことが可能であり、パケット抽出部位選択部１０３、パケット抽出設定入力部１０４、ネットワークパケット情報抽出部１０６を用いることで、ネットワークパケットからの抽出情報サイズを最小1bitまで減らすことが出来る。
【００９５】
これにより、プロセッサユニット計算部１０７に入力する情報量を減らし、計算負荷を軽減、高速処理を可能とする。
【００９６】
本実施例では、ネットワークパケットから”Format Type”と“Transaction”の情報を抽出する設定としているが、これに限定されるものではなく、パケット抽出部位選択部１０３で選択された他の抽出情報においても、その組合わせに応じてプロセッサユニット計算部１０７での計算負荷軽減し、高速処理可能である。
【００９７】
図１０は、本実施例に係るシステムシミュレーション装置を用いた場合の実計算機での評価計算サイクルを説明する時間軸上のグラフの例である。
【００９８】
プロセッサユニット計算部１０７内のプロセッサモデルが1000個超となる大規模システムのシミュレーション評価を行う場合の本実施例に係るシステムシミュレーション装置１００を用いた場合の実計算機での評価計算サイクルを図１０を用い説明する。
【００９９】
ネットワークシミュレーション部１０５の1シミュレーションサイクル（１００１）に対し、プロセッサユニット計算部１０７の計算サイクルが4サイクル必要（１００２）な例で、1000プロセッサ個々に性能計算を行い、結果、従来例のマルチレート処理が積算した例７００と比較し、高速処理が実現されている。
【０１００】
これは、ネットワークパケット情報抽出部１０６においてネットワークパケットから抽出した情報を、プロセッサユニット計算部１０７が計算に用いるためである。
プロセッサユニット計算部１０７での計算は、マルチレート計算が不要となり、ネットワークイベントのイベント処理に比べ数倍程度の実計算機の計算サイクルで実現可能となる。
【０１０１】
また、本実施例によるプロセッサユニット計算部１０７の処理は、一つのプロセッサモデル２０５毎に独立して発生するもので、システム全体として1つの離散時間状態の更新には、計算サイクルがプロセッサモデル個数分積算する。
【０１０２】
例えば、プロセッサモデルが1000個である大規模プロセッサシステムにおいては、ネットワークイベントの数倍の計算サイクルが、1000個のプロセッサモデル各々で発生する事となる。
【０１０３】
さらに、実際のシステムのシミュレーション評価は、100万パケット程度を評価に用いる。
【０１０４】
従来例では数百倍のマルチレート計算が本実施例によるシステムシミュレーション装置１００では数倍まで計算時間が減り、かつ、前述の計算のプロセッサモデル個数分積算した計算回数がさらに100万回程度積算する事となる。
【０１０５】
以上から、従来例に対し得られる実計算機の計算量の削減効果が得られ、実計算機の計算量は発散せず、実用的な計算時間内で収まる。
【０１０６】
なお本実施例では、システム構成定義部１０１及びパケット抽出部位選択部１０３において、ユーザの入力により設定される構成としたが、これに限定されるものではなく、予め設定された条件をメモリ等に記憶しておき、メモリ等に記憶された値や条件を読み出して設定入力するような構成のものであってもよい。
【実施例２】
【０１０７】
本実施例では、システムシミュレーション評価として、ネットワーク性能評価を行うシステムシミュレーション装置の例を説明する。
【０１０８】
本実施例によるシステムシミュレーション装置は、システム構成モデル定義部１０１、シミュレーションパラメタ入力部１０２、パケット抽出部位選択部１０３、パケット抽出設定入力部１０４、ネットワークシミュレーション部１０５、ネットワークパケット情報抽出部１０６、プロセッサユニット計算部（プロセッサ共有バス確率計算モデル）１２００、性能表示部１０８からなる装置である。
【０１０９】
図１のシステムシミュレーション装置１００のうち、プロセッサユニット計算部１０７をプロセッサユニット計算部（プロセッサ共有バス確率計算モデル）１２００に変更したものである。その他の構成は、既に説明した図１に示された同一の符号を付された構成と、同一の機能を有するので、説明を省略する。
【０１１０】
プロセッサ共有バス確率計算モデルは、プロセッサユニットにおけるサービス時間である、プロセッサユニットにデータが到着してからデータ処理が完了するまでの時間を、共有バスの確率を元にして計算し求める計算方式の事である。
【０１１１】
プロセッサ共有バス確率計算モデルの詳細な説明を下記に示す。
システムのネットワークの性能、例えばネットワークの伝送容量を評価する場合、ネットワークパケットがデータジェネレータモジュール２０１で生成されてから、プロセッサモジュール２０５でサービスを受けるまでの総レイテンシを用いる。
【０１１２】
つまり、システムのネットワークの性能を求める場合、プロセッサユニット計算部のサービス時間は、ネットワークパケットがプロセッサユニット計算部に到着してからサービスを与えるまでのレイテンシ時間を算出する方式に簡略化が可能である。
【０１１３】
図１１は、プロセッサモジュールでの処理を説明するプロセッサモデルの図の例である。
ネットワークインタフェース１１０１は、ネットワークで伝送されるパケットデータとプロセッサ共有バスでやり取りされるデータを相互に変換する機能を有する部位である。
【０１１４】
メモリ１１０２は、プロセッサ１１００の処理に必要な一連のデータ、命令を記憶し格納する領域である。
【０１１５】
プロセッサ共有バス１１０３は、プロセッサ１１００内のネットワークインタフェース１１０１、メモリ１１０２、CPU core１１０４を相互にアクセス可能とする、バス型のデータ伝送路である。
【０１１６】
CPU core１１０４は、プロセッサ１１００内のメモリ１１０２からプロセッサ共有バス１１０３を介して命令、データを読出し、計算処理を行い、結果を、プロセッサ共有バス１１０３を介してメモリやネットワークインタフェース１１０１に返す部位である。
【０１１７】
たとえば、プロセッサモデル１１００において、ネットワークインタフェース１１０１にネットワークパケットが到着したとすると、この場合、プロセッサモデル１１００内で直接パケットデータをそのまま性能計算に用いる事は出来ないため、ネットワークインタフェース１１０１のバッファにパケットを格納する。
【０１１８】
次に、パケットの内容を解析し、プロセッサ１１００に対しどのような処理を行うパケットか、判定する。
【０１１９】
例えばプロセッサ１１００のメモリ１１０２にデータを書き込むネットワークパケットだった場合、ネットワークインタフェース１１０１からプロセッサ共有バス１１０３に対し書込みアクセス要求を出す。
【０１２０】
また、ネットワークパケットのデータに対しCPU Core１１０４が何かしらの処理を行う。
これら処理はプロセッササイクルでの処理となる。
【０１２１】
図１１を用い、ネットワークパケットへのサービスの処理の内容について説明する。
図２で説明したデータジェネレータ２０１で生成したネットワークパケットがプロセッサモジュール２０５に対し行う主なアクセスは、メモリ１１０２へのRead、Write処理である。
【０１２２】
すなわち、プロセッサモジュールのパケットレイテンシはネットワークパケットの到着からメモリ１１０２への格納までの時間をサービスとして与えればよい。
【０１２３】
しかしここで、レイテンシには変動要因が存在する。それは、CPU core１１０４がプロセッサ共有バス１１０３へアクセスした場合の、ネットワークインタフェース１１０１との輻輳状態(コンフリクト)の発生である。
【０１２４】
CPU core１１０４が高負荷状態でメモリ１１０２との間で大量のデータを長時間やり取りする場合など、プロセッサ共有バス１１０３が占有される場合、ネットワークインタフェース１１０１から見ると、プロセッサ共有バス１１０３の利用権が獲得できず、パケットはネットワークインタフェース１１０１の内部のバッファに待機する事となる。
【０１２５】
このプロセッサ共有バス１１０３の占有によるパケットの待機状態も、レイテンシとしてカウントされ、ネットワーク性能を悪化させる要因となる。
【０１２６】
本実施例においてこのCPU core１１０４の処理によるプロセッサ共有バス１１０３の占有状態は、ネットワークインタフェース１１０１から見たプロセッサ共有バス１１０３の利用可能率の減少と定義する事とした。
【０１２７】
つまり、CPU core１１０４の処理によるプロセッサ共有バス１１０３の状態は、長期間で考えると確率的にとらえる事が可能である。
【０１２８】
これをネットワークインタフェース１１０１から見た、共有バス１１０３の利用可能率としてモデリングすることとした。
【０１２９】
バス利用可能率は、CPU core１１０４が高負荷であるプロセッサモジュールは低く、低負荷であるプロセッサモジュールは高く設定するものとする。
【０１３０】
以上から、プロセッサモジュール２０５は、ネットワークパケットが到着してから、バス利用可能率に基づき、サービスを提供する、もしくはしない、という判断を行い、サービス時間を計算する。
以上が、プロセッサ共有バス確率計算モデルの詳細な説明である。
【０１３１】
図１２は、プロセッサユニット計算部（プロセッサ共有バス確率計算モデル）１２００の計算内容を説明する図の例である。
本実施例によるプロセッサユニット計算部（プロセッサ共有バス確率計算モデル）１２００は、プロセッサユニット計算データ１２０１、バスビジー状態１２０２、バス有効/無効切り替え部１２０３、サービス時間計算部（プロセッサ共有バス確率計算モデル）１２０４、バス利用可能率１２０５、からなる。
【０１３２】
プロセッサユニット計算部（プロセッサ共有バス確率計算モデル）１２００を用いたネットワークの伝送容量を評価するシステムシミュレーションの流れの一例について、図１２を用いて説明する。
【０１３３】
プロセッサユニット計算データ１２０１は、あるサイズのデータを内包するパケットデータで、ジェネレータ２０１から生成されたものである。
【０１３４】
バス有効/無効切り替え部１２０３は、プロセッサユニット計算部（プロセッサ共有バス確率計算モデル）１２００において、パケットにサービスを与えるサービス計算部１２０４へプロセッサユニット計算データ１２０１を通過させるか、否かの判断を行う。
【０１３５】
バス利用可能率１２０５は、バス有効/無効切り替え部１２０３において、サービス計算部１２０４へプロセッサユニット計算データ１２０１を通過させるか、否かを切り替える値を出力し、それは例えば‘1’= 通過、‘0’= 不通過、である。
【０１３６】
バス利用可能率１２０５が‘1’、‘0’を出力するのは確率的であり、たとえば「‘1’を40%出力する」というように設定されるものである。
【０１３７】
バスビジー状態１２０２は、バス有効/無効切り替え部１２０３においてプロセッサユニット計算データ１２０１が不通過と判断された場合に‘1’となる。
【０１３８】
バス有効/無効切り替え部１２０３においてプロセッサユニット計算データ１２０１が不通過と判断された場合には、ネットワークインタフェース内のバッファにパケットデータを保持し、所定のレイテンシ時間を与える。
【０１３９】
サービス計算部１２０４は、バス有効/無効切り替え部１２０３においてプロセッサユニット計算データ１２０１が通過と判断された場合に、サービス時間を計算し、プロセッサユニット計算データのパラメタにサービス時間を設定する。
【０１４０】
以上示した、プロセッサユニット計算部（プロセッサ共有バス確率計算モデル）１２００を用いた、システムシミュレーション評価として、ネットワーク性能評価を行うシステムシミュレーション装置の例を説明する
図４に示すパケット抽出部位選択部１０３は、ネットワーク性能評価に必要なネットワークパケットから抽出する部位の選択を受け付け、例としてダイアログ３００で、”Transaction Type”と”Transaction”を選択する。
【０１４１】
選択された情報はパケット抽出部設定入力部１０４に入力され、ネットワークパケット情報抽出部１０６とプロセッサユニット計算部（プロセッサ共有バス確率計算モデル）の各々に対する必要なパラメタに変換し、それぞれの部位に入力する。
【０１４２】
例えば、ネットワークパケット情報抽出部１０４とプロセッサユニット計算部（プロセッサ共有バス確率計算モデル）には、ネットワークパケットから抽出する部位”Transaction Type”と”Transaction”が選択されたことを示す情報をパラメタとして入力する。
【０１４３】
これにより、ネットワークパケット情報抽出部１０６は、ネットワークパケットから”Transaction Type”と”Transaction”を抽出するモードとなる。
【０１４４】
プロセッサユニット計算部（プロセッサ共有バス確率計算モデル）では、ネットワークパケットから抽出する部位”Transaction Type”と”Transaction”が選択されたことを示す情報から、プロセッサのバスI/Oのみの性能計算を行うモードとなる。
【０１４５】
また、システムのネットワークの性能、例えばネットワークの伝送容量を評価する場合、ネットワークパケットがデータジェネレータモジュール２０１で生成されてから、プロセッサモジュール２０５でサービスを受けるまでの総レイテンシを用いる。
すなわち、パケットサイズ(単位はBytes)÷総レイテンシ(単位は時間)で伝送容量を算出する。
【０１４６】
以上から、プロセッサユニット計算部としては、ネットワークの性能を求める場合、機能として、ネットワークパケットがプロセッサユニット計算部に到着してからサービスを与えるまでのレイテンシ時間を算出できれば良い。
【０１４７】
図１１は、プロセッサモジュールでの処理を説明するプロセッサモデルの図の例である。
ネットワークインタフェース１１０１は、ネットワークで伝送されるパケットデータとプロセッサ共有バスでやり取りされるデータを相互に変換する機能を有する部位である。
【０１４８】
メモリ１１０２は、プロセッサ１１００の処理に必要な一連のデータ、命令を記憶し格納する領域である。
【０１４９】
プロセッサ共有バス１１０３は、プロセッサ１１００内のネットワークインタフェース１１０１、メモリ１１０２、CPU core１１０４を相互にアクセス可能とする、バス型のデータ伝送路である。
【０１５０】
CPU core１１０４は、プロセッサ１１００内のメモリ１１０２からプロセッサ共有バス１１０３を介して命令、データを読出し、計算処理を行い、結果を、プロセッサ共有バス１１０３を介してメモリやネットワークインタフェース１１０１に返す部位である。
【０１５１】
たとえば、プロセッサモデル１１００において、ネットワークインタフェース１１０１にネットワークパケットが到着したとすると、この場合、プロセッサモデル１１００内で直接パケットデータをそのまま性能計算に用いる事は出来ないため、ネットワークインタフェース１１０１のバッファにパケットを格納する。
【０１５２】
次に、パケットの内容を解析し、プロセッサ１１００に対しどのような処理を行うパケットか、判定する。
例えばプロセッサ１１００のメモリ１１０２にデータを書き込むネットワークパケットだった場合、ネットワークインタフェース１１０１からプロセッサ共有バス１１０３に対し書込みアクセス要求を出す。
また、ネットワークパケットのデータに対しCPU Core１１０４が何かしらの処理を行う。これら処理はプロセッササイクルでの処理となる。
【０１５３】
図１１を用い、ネットワークパケットへのサービスの処理の内容について説明する。
図２で説明したデータジェネレータ２０１で生成したネットワークパケットがプロセッサモジュール２０５に対し行う主なアクセスは、メモリ１１０２へのRead、Write処理である。
すなわち、プロセッサモジュールのパケットレイテンシはネットワークパケットの到着からメモリ１１０２への格納までの時間をサービスとして与えればよい。
【０１５４】
しかしここで、レイテンシには変動要因が存在する。それは、CPU core１１０４がプロセッサ共有バス１１０３へアクセスした場合の、ネットワークインタフェース１１０１との輻輳状態(コンフリクト)の発生である。
【０１５５】
CPU core１１０４が高負荷状態でメモリ１１０２との間で大量のデータを長時間やり取りする場合など、プロセッサ共有バス１１０３が占有される場合、ネットワークインタフェース１１０１から見ると、プロセッサ共有バス１１０３の利用権が獲得できず、パケットはネットワークインタフェース１１０１の内部のバッファに待機する事となる。
【０１５６】
このプロセッサ共有バス１１０３の占有によるパケットの待機状態も、レイテンシとしてカウントされ、ネットワーク性能を悪化させる要因となる。
【０１５７】
本実施例においてこのCPU core１１０４の処理によるプロセッサ共有バス１１０３の占有状態は、ネットワークインタフェース１１０１から見たプロセッサ共有バス１１０３の利用可能率の減少と定義する事とした。
つまり、CPU core１１０４の処理によるプロセッサ共有バス１１０３の状態は、長期間で考えると確率的にとらえる事が可能であるとした。
【０１５８】
これをネットワークインタフェース１１０１から見た、共有バス１１０３の利用可能率としてモデリングすることとした。
【０１５９】
バス利用可能率は、CPU core１１０４が高負荷であるプロセッサモジュールは低く、低負荷であるプロセッサモジュールは高く設定するものとする。
【０１６０】
以上から、プロセッサモジュール２０５は、ネットワークパケットが到着してから、バス利用可能率に基づき、サービスを提供する、もしくはしない、という判断を行う。
【０１６１】
図１２に示すのは、プロセッサユニット計算部（プロセッサ共有バス確率計算モデル）１２００の計算内容を説明する図の例である。
【０１６２】
以上の機能を持つプロセッサユニット計算部（プロセッサ共有バス確率計算モデル）１２００を用いたネットワークの伝送容量を評価するシステムシミュレーションの流れの一例について、図２を用いて説明する。
【０１６３】
ネットワークパケットの伝送容量は、データジェネレータモジュール２０１からネットワークパケットを生成し、プロセッサモジュール２０５にてサービスを受けるまでにかかった時間を計測し、そのパケットデータのサイズをその時間で割って、単位時間当たりネットワークのデータ伝送容量を計測するものである。
【０１６４】
あるサイズのデータを内包するパケットデータをジェネレータ２０１から生成する。
【０１６５】
シリアル伝送路２０２においては、伝送速度(容量)に応じ、パケットデータが伝送路通過する時にある時間がかかる。この時間の事をレイテンシと呼ぶ。例えば100Bytesの大きさのパケットが1Gbpsの伝送路２０２を通過する場合、800nsのレイテンシが発生する。
【０１６６】
そのパケットは、スイッチモジュール２０３が次に受け付ける。スイッチモジュール２０３は入力と出力にそれぞれバッファを持ち、またスイッチ処理のためにパケットレイテンシが発生する。たとえばスイッチ２０３通過のレイテンシを300nsとする。
【０１６７】
次に、プロセッサモジュール２０５において、共有バス利用可能率に基づき、パケットにサービスを与えるかどうかの判断を行う。
【０１６８】
例えば、結果、プロセッサモジュールでのサービス時間が1usだったとする。
【０１６９】
以上、データジェネレータ２０１での100Bytesのパケット生成からプロセッサモデル２０５でのパケットへのサービス提供までに発生したレイテンシは800ns+300ns+1usで2.1usとなり、システム内データ伝送容量は100Bytes/2.1us=752.4MB/sの伝送容量を持つシステムとして評価される。
【０１７０】
以上示した実施例のプロセッサモジュールでは、行っている計算はネットワークパケットのRead、Writeに係るI/O情報を受け取り、あらかじめ決められた共有バス利用可能率に従い、パケットにサービスを与えるかどうかの判断である。
【０１７１】
プロセッサユニット計算部（プロセッサ共有バス確率計算モデル）１２００は、サービスを与える場合はサービスを与え、与えない場合はネットワークインタフェース内のバッファにパケットデータを保持し、所定のレイテンシ時間を与える、という計算を行う。
【０１７２】
これら処理は図１１に示すプロセッサモデルの処理を行う場合に発生するプロセッササイクルでのマルチレート計算が発生せず、高速処理が可能である。
【０１７３】
例えば、ネットワークイベント1回に対し、せいぜい、本実施例でのプロセッサモジュールの計算は、4サイクル程度の計算で済むと考えられる。
【０１７４】
これは、従来のマルチレート計算での計算サイクルに比べ、2桁程度高速な処理が可能としている。以上から、実利用可能な計算時間内で、実利用可能な計算時間内で、システムのネットワーク性能として、ネットワークの伝送容量を評価可能とした。
【０１７５】
また、システムのネットワークの性能として、他に例えばネットワークの各モジュールでのバッファ使用量の評価が組込みなどリアルタイム性を要求されるシステムにおいては重要である。
【０１７６】
各モジュール２０１、２０３、２０５のバッファ使用量は、モジュールの入力伝送容量、出力伝送容量の変化の仕方によって決定される。ネットワークパケットは各モジュールに入力した時点でバッファに格納される。この時点で、バッファ使用量は1増加する。
【０１７７】
また、パケットが出力可能な場合、バッファからパケットを取出し後段に転送するため、バッファ使用量は1減少する。
【０１７８】
システムが破たんしないようにするには、バッファ使用量の上限値をあらかじめ評価し求め、この上限値以上のバッファを具備するシステムを構築する必要がある。
【０１７９】
バッファの使用量は、ネットワークトポロジと、プロセッサモジュールのCPU coreの処理負荷状況に影響を受ける。つまり、ネットワークトポロジが、複数のジェネレータからのネットワークパケットがスイッチを経由し単一のプロセッサモジュールで処理するようなトポロジとなっている場合、スイッチの出力ポートでは複数のジェネレータからのパケットデータが輻輳を起こし、伝送容量が減少する。
【０１８０】
これにより、スイッチの入力ポートのバッファの消費速度が減少し、バッファの使用量が増加する場合がある。また、プロセッサモジュールのCPU coreが高負荷で、プロセッサ共有バスの利用可能率が低い場合、プロセッサのネットワークインタフェースの伝送容量が減少する事となり、このプロセッサにデータを供給しているポートのバッファの利用量が増加する場合がある。
【０１８１】
極端な場合は、ポートの入力、出力の関係から、バッファがフル状態となり、これ以上新たなパケットデータを積むことが出来ない状況も発生する。
すなわち、システムシミュレーションとしては、伝送容量をモデリングする事と、ポート内のバッファの動きをモデリングできればよい事となる。
【０１８２】
伝送容量は本実施例においてシステムシミュレーション評価により算出可能とした。
バッファ使用量については、各モジュールのバッファに、最大使用量を記録する記録部を設ける。
システムシミュレーション完了後、全モジュールの最大使用量を、性能評価値としてGUI、もしくはテキスト情報として出力する。
【０１８３】
以上から、実利用可能な計算時間内で、システムのネットワーク性能として、バッファ利用量を評価可能とした。
【実施例３】
【０１８４】
本実施例では、システムシミュレーション評価として、ネットワーク性能評価を行うシステムシミュレーション装置として、リアルタイム性能を評価する例を説明する。
【０１８５】
本実施例によるシステムシミュレーション装置は、システム構成モデル定義部１０１、シミュレーションパラメタ入力部１０２、パケット抽出部位選択部１０３、パケット抽出設定入力部１０４、ネットワークシミュレーション部１０５、ネットワークパケット情報抽出部１０６、プロセッサユニット計算部（リアルタイム性評価モデル）１３００、性能表示部１０８からなる装置である。
【０１８６】
図１のシステムシミュレーション装置１００のうち、プロセッサユニット計算部１０７をプロセッサユニット計算部（リアルタイム性評価モデル）１３００に変更したものである。その他の構成は、既に説明した図１に示された同一の符号を付された構成と、同一の機能を有するので、説明を省略する。
【０１８７】
プロセッサユニット計算部のリアルタイム性評価モデルとは、プロセッサユニットにおけるサービス時間である、プロセッサユニットにデータが到着してからデータ処理が完了するまでの時間を、パケットが持つ優先度と処理内容とサイズを元にして計算し求める計算方式の事である。
【０１８８】
リアルタイム性評価モデルの詳細な説明を下記に示す。
システムのリアルタイム性を評価するには、パケットがデータジェネレータで生成されてから、プロセッサモジュールで規定時間(デッドライン)までにサービスを受けるまでの時間を算出し評価する。  プロセッサユニット計算部としては、プロセッサユニットにおけるサービス時間である、プロセッサユニットにデータが到着してからデータ処理が完了するまでの時間を、パケットが持つ優先度と処理内容とサイズを用いて計算し、サービス時間として算出する方式に簡略化が可能である。
【０１８９】
この処理のためにはネットワークパケットの”priority”と”Transaction”と”Size”の情報があればよい。
リアルタイム性能を計算するプロセッサモデルでは、priority(優先度)毎に用意されたTransaction(処理)内容別の標準的なサービス時間を値として持っている。
【０１９０】
また、プロセッサの処理速度にパケットのSize情報を乗算し、先ほどのサービス時間と加算し、最終的なネットワークパケットへのサービス時間を求める。
また、リアルタイム性のサービス時間にはジッタと呼ばれるある一定の揺れが存在する。これを求めるパラメタ(時間)を持っておき、この範囲の揺れをランダムに求め、サービス時間に加算する。
【０１９１】
以上示した実施例のプロセッサモジュールでは、行っている計算はネットワークパケットの”priority”と”Transaction”と”Size”の情報を受け取り、あらかじめ決められたプロセッサモジュールのリアルタイム性能情報に従い、パケットにサービスをどれだけ与えるか、という計算を行っているのみである。
【０１９２】
以上が、リアルタイム性評価モデルの詳細な説明である。
図１３は、プロセッサユニット計算部（リアルタイム性評価モデル）１３００の計算内容を説明する図の例である。
【０１９３】
本実施例によるプロセッサユニット計算部（リアルタイム性評価モデル）１３００は、プロセッサユニット計算データ１３０１、バスビジー状態１３０２、標準サービス時間付与部１３０３、標準サービス時間記憶部１３０４、パケットサイズサービス時間計算部１３０５、サービスジッタ記憶部１３０６、サービス時間計算部（リアルタイム性評価モデル）１３０７、からなる。
【０１９４】
プロセッサユニット計算部（リアルタイム性評価モデル）１３００を用いたネットワーク性能評価を行うシステムシミュレーション装置として、リアルタイム性能を評価する流れの一例について、図１３を用いて説明する。
【０１９５】
プロセッサユニット計算データ１３０１は、あるサイズのデータを内包するパケットデータで、ジェネレータ２０１から生成されたものである。
【０１９６】
標準サービス時間付与部１３０３は、優先度、処理別の標準的なサービス時間を求め、プロセッサユニット計算データのパラメタにサービス時間を設定する。
【０１９７】
標準サービス時間付与部１３０３で付与するサービス時間は、あらかじめ、priority(優先度)毎に用意されたTransaction(処理)内容別の標準的なサービス時間を、標準サービス時間記憶部１３０４に記憶し、値として持っている。
【０１９８】
パケットサイズサービス時間計算部１３０５は、プロセッサの処理速度にパケットのSize情報を乗算し、先ほどのサービス時間と加算し、最終的なネットワークパケットへのサービス時間を求め、プロセッサユニット計算データ１３０１のパラメタにサービス時間を設定する。
【０１９９】
また、リアルタイム性のサービス時間にはジッタと呼ばれるある一定の揺れが存在する。これを求めるパラメタ(時間)はサービスジッタ記憶部１３０６に保持しておき、この範囲の揺れをランダムに求め、パケットサイズサービス時間計算部１３０５にてサービス時間に加算する。
【０２００】
サービス時間計算部（リアルタイム性評価モデル）１３０７は、プロセッサユニット計算データ１３０１に対し、データ伝送レイテンシのサービス時間を計算し、プロセッサユニット計算データ１３０１の伝送レイテンシパラメタにサービス時間を設定する。
【０２０１】
以上示した、プロセッサユニット計算部（リアルタイム性評価モデル）１３００を用いた、ネットワーク性能評価を行うシステムシミュレーション装置として、リアルタイム性能を評価するシステムシミュレーション装置の例を説明する
パケット抽出部位選択部１０３において、ネットワーク性能のリアルタイム性評価に必要なネットワークパケットから抽出する部位を選択する。例としてダイアログでは、”priority”と”Transaction”と”Size”を選択する。
【０２０２】
選択された情報はパケット抽出部設定入力部１０４に入力され、ネットワークパケット情報抽出部１０６とプロセッサユニット計算部（リアルタイム性評価モデル）１３００が必要なパラメタに変換し、それぞれの部位に入力する。
【０２０３】
例えば、ネットワークパケット情報抽出部１０６とプロセッサユニット計算部（リアルタイム性評価モデル）１３００には、ネットワークパケットから抽出する部位”priority”と”Transaction”と”Size”が選択されたことを示す情報をパラメタとして入力する。
【０２０４】
これにより、ネットワークパケット情報抽出部１０６は、ネットワークパケットから”priority”と”Transaction”と”Size”を抽出するモードとなる。
【０２０５】
また、プロセッサユニット計算部（リアルタイム性評価モデル）１３００内のプロセッサモジュールでは、ネットワークパケットから抽出する部位”priority”と”Transaction”と”Size”が選択されたことを示す情報から、プロセッサのリアルタイム性能のみの計算を行うモードとなる。
【０２０６】
図１３に示すのは、プロセッサモジュールの、リアルタイム性計算モデルの性能計算の計算内容を示す図である。
【０２０７】
システムのリアルタイム性能を評価する場合、パケットがデータジェネレータで生成されてから、プロセッサモジュールで規定時間(デッドライン)までにサービスを受けるまでの時間を算出する。
【０２０８】
すなわちプロセッサユニット計算部としては、機能として、ある優先度と処理内容とサイズを持ったパケットに対し、所定のデッドラインまでにサービスを与える、という処理を行えばよい。
【０２０９】
この処理のためにはネットワークパケットの”priority”と”Transaction”と”Size”の情報があればよい。
【０２１０】
リアルタイム性能を計算するプロセッサモデルでは、priority(優先度)毎に用意されたTransaction(処理)内容別の標準的なサービス時間を値として持っている。
【０２１１】
また、プロセッサの処理速度にパケットのSize情報を乗算し、先ほどのサービス時間と加算し、最終的なネットワークパケットへのサービス時間を求める。
【０２１２】
また、リアルタイム性のサービス時間にはジッタと呼ばれるある一定の揺れが存在する。これを求めるパラメタ(時間)を持っておき、この範囲の揺れをランダムに求め、サービス時間に加算する。
【０２１３】
以上示した実施例のプロセッサモジュールでは、行っている計算はネットワークパケットの”priority”と”Transaction”と”Size”の情報を受け取り、あらかじめ決められたプロセッサモジュールのリアルタイム性能情報に従い、パケットにサービスをどれだけ与えるか、という計算を行っているのみである。
【０２１４】
これら処理は図１１に示すプロセッサモデルの処理を行う場合に発生するプロセッササイクルでのマルチレート計算が発生せず、高速処理が可能である。
【０２１５】
例えば、ネットワークイベント1回に対し、せいぜい、本実施例でのプロセッサモジュールの計算は、4サイクル程度の計算で済むと考えられる。
【０２１６】
これは、従来のマルチレート計算での計算サイクルに比べ、2桁程度高速な処理が可能としている。
以上から、実利用可能な計算時間内で、システムのリアルタイム性能を評価可能とした。
【実施例４】
【０２１７】
本発明に係るシステムシミュレーション装置の実施の形態について、システムシミュレーションにより評価したい内容を選択させるシステムシミュレーション装置の例を説明する。
【０２１８】
本実施例は、パケットの抽出する情報を選択させるのではなく、システムシミュレーションにより評価したい内容を選択させるシステムシミュレーション装置の例を説明する。
【０２１９】
本実施例によるシステムシミュレーション装置は、システム構成モデル定義部１０１、シミュレーションパラメタ入力部１０２、システム評価内容選択部、システム評価内容設定入力部、ネットワークシミュレーション部１０５、ネットワークパケット情報抽出部１０６、プロセッサユニット計算部１０７、性能表示部１０８からなる装置である。
【０２２０】
図１のシステムシミュレーション装置１００のうち、パケット抽出部位選択部１０３、パケット抽出設定入力部１０４を、システム評価内容選択部、システム評価内容設定入力部に変更したものである。その他の構成は、既に説明した図１に示された同一の符号を付された構成と、同一の機能を有するので、説明を省略する。
【０２２１】
図１４は、システム評価内容選択部のGUIダイアログの例である。
【０２２２】
システム評価内容選択部１４００において、システムシミュレーション装置で行いたい評価内容を選択する。
【０２２３】
例として図１４では”ネットワーク性能、バッファ使用量評価”、”ネットワーク性能、バッファ使用量評価(双方向パケット処理)”、”リアルタイム性能評価”の何れか、もしくはそれらの組合せで選択する。
【０２２４】
選択された情報は、システム評価内容設定入力部に入力され、ネットワークパケット情報抽出部１０６とプロセッサユニット計算部１０７が必要なパラメタに自動的に変換し、それぞれの部位に入力する。
【０２２５】
たとえば、システム評価内容選択部１４００において”ネットワーク性能、バッファ使用量評価”が選択された場合、ネッワークパケット情報抽出部１０６にはネットワークパケットから抽出する部位”Transaction Type”と”Transaction”を選択する事を示す情報を、パラメタとして入力する。
【０２２６】
また、プロセッサユニット計算部１０７には、プロセッサ共有バス確率計算モデルを用いるよう示す情報を、パラメタとして入力する。
【０２２７】
これにより、ネットワークパケット情報抽出部１０６は、ネットワークパケットから”Transaction Type”と”Transaction”を抽出するモードとなる
また、プロセッサユニット計算部１０７内のプロセッサモジュールでは、プロセッサ共有バス確率計算モデルを用いるモードとなり、プロセッサのバスI/Oのみの性能計算を行うモードとなる。
【０２２８】
以上本実施例によるシステムシミュレーション装置により、任意のシステム評価内容を選択する事で、システムシミュレーション装置が自動でネットワークパケットの情報抽出選択とプロセッサユニット計算部のパラメタ設定を完了し、システムシミュレーション評価の高速処理を実現、実用的な計算時間内でのシステムシミュレーション評価を可能とする。
【実施例５】
【０２２９】
本発明に係るシステムシミュレーション装置の実施の形態について、プロセッサユニット計算部にて計算したい内容を選択するシステムシミュレーション装置の例を説明する。
図１５は、本実施例のシステムシミュレーション装置の構成図の例である。
【０２３０】
本実施例は、パケットの抽出する情報を選択させるのではなく、プロセッサユニット計算部にて計算したい内容を選択させるシステムシミュレーション装置の例を説明する。
【０２３１】
本実施例によるシステムシミュレーション装置１５００は、システム構成モデル定義部１０１、シミュレーションパラメタ入力部１０２、プロセッサユニット計算部 演算内容選択部１５０１、プロセッサユニット計算部 演算内容設定入力部１５０２、ネットワークシミュレーション部１０５、ネットワークパケット情報抽出部１０６、プロセッサユニット計算部１０７、性能表示部１０８からなる装置である。
【０２３２】
図１のシステムシミュレーション装置１００のうち、パケット抽出部位選択部１０３、パケット抽出設定入力部１０４を、プロセッサユニット計算部 演算内容選択部１５０１、プロセッサユニット計算部 演算内容設定入力部１５０２に変更したものである。その他の構成は、既に説明した図１に示された同一の符号を付された構成と、同一の機能を有するので、説明を省略する。
【０２３３】
図１６は、プロセッサユニット計算部 演算内容選択部１５０１のGUIダイアログの例である。
【０２３４】
プロセッサユニット計算部 演算内容選択部１５０１において、プロセッサユニット計算部１０７で行いたい演算内容を選択する。
【０２３５】
例として図１６では”共有バス負荷計算”、”双方向ネットワーク処理”、”リアルタイム処理評価”の何れか、もしくはそれらの組合せで選択する。
【０２３６】
選択された情報は、プロセッサユニット計算部 演算内容設定入力部１５０２に入力され、ネットワークパケット情報抽出部１０６とプロセッサユニット計算部１０７が必要なパラメタに自動的に変換し、それぞれの部位に入力する。
【０２３７】
たとえば、プロセッサユニット計算部 演算内容設選択部１５０１において”共有バス負荷計算”が選択された場合、ネッワークパケット情報抽出部１０６にはネットワークパケットから抽出する部位”Transaction Type”と”Transaction”を選択する事を示す情報を、パラメタとして入力する。
【０２３８】
また、プロセッサユニット計算部１０７には、プロセッサ共有バス確率計算モデルを用いるよう示す情報を、パラメタとして入力する。
【０２３９】
これにより、ネットワークパケット情報抽出部１０６は、ネットワークパケットから”Transaction Type”と”Transaction”を抽出するモードとなる。
【０２４０】
また、プロセッサユニット計算部１０７内のプロセッサモジュールでは、プロセッサ共有バス確率計算モデルを用いるモードとなり、プロセッサのバスI/Oのみの性能計算を行うモードとなる。
【０２４１】
以上示した本実施例のシステムシミュレーション装置により、任意のプロセッサユニット計算部での演算内容を選択する事で、システムシミュレーション装置が自動でネットワークパケットの情報抽出選択とプロセッサユニットの高速処理を実現し、実用的な計算時間内でのシステムシミュレーション評価を可能とする。
【実施例６】
【０２４２】
本発明に係るシステムシミュレーション装置の実施の形態について、システムシミュレーション装置におけるプロセッサユニット計算部へのネットワークパケットの入力を単一方向ではなく、ネットワークシミュレータ部とプロセッサユニット計算部の間で双方向処理に対応する構成のシステムシミュレーション装置の例を説明する。
図１７は、本実施例におけるシステムシミュレーション装置１６００を示す構成図の例である。
【０２４３】
本実施例によるシステムシミュレーション装置１６００は、システム構成モデル定義部１０１、シミュレーションパラメタ入力部１０２、パケット抽出部位選択部１０３、パケット抽出設定入力部１０４、ネットワークシミュレーション部１０５、ネットワークパケット情報抽出部１０６、プロセッサユニット計算部１０７、性能表示部１０８、パケットデータ蓄積部１６０９、バッファ１６１０、パケットデータ応答部１６１１からなる装置である。
【０２４４】
図１のシステムシミュレーション装置１００に、パケットデータ蓄積部１６０９、バッファ１６１０、パケットデータ応答部１６１１を追加したものである。その他の構成は、既に説明した図１に示された同一の符号を付された構成と、同一の機能を有するので、説明を省略する。
【０２４５】
本実施例は、プロセッサユニット計算部１０７による処理結果をネットワークシミュレーション部１０５で再利用する際の実施例である。
【０２４６】
ネットワークシミュレーション部１０５から宛先IDやペイロードを含むネットワークパケットをパケットデータ蓄積部１６０９を通じてプロセッサユニット計算部１０７とバッファ１６１０に送信する。
【０２４７】
プロセッサユニット計算部１０７の計算結果を、バッファ１６１０から取り出したネットワークパケットに付加し、ネットワークシミュレーション部１０５に応答パケットとして送信する。
【０２４８】
本実施例によるシステムシミュレーション装置１６００は、たとえば、分散コンピューティングのシステムをシミュレーションするのに用いられる。
【０２４９】
複数のプロセッサユニットを分散し、相互にネットワークで接続する分散コンピューティングのシステムにおいては、プロセッサユニット計算部に処理データを送り計算処理したのち、処理結果をネットワークシミュレーション部に送り、ネットワークシミュレーション部にて再利用する双方向処理を行う。
【０２５０】
本実施例によらない従来例では、数百倍のマルチレート計算が必要であり、実計算機の計算量は発散し、実用的な計算時間内で収まらない場合が存在したのに対し、本実施例によるシステムシミュレーション装置１６００では、実計算機の計算量の削減効果が得られ、実計算機の計算量は発散せず、実用的な計算時間内で収まる。
【０２５１】
パケットデータ蓄積部１６０９とバッファ１６１０、パケットデータ応答部１６１１は、ネットワークパケット情報抽出部１０６にて失われるネットワークパケット情報を保持し再利用する目的のため、必須である。
【０２５２】
本実施例では、ネットワークパケット情報抽出部１０６においてネットワークパケットから抽出した情報を、プロセッサユニット計算部１０７が計算に用いる。
【０２５３】
プロセッサユニット計算部１０７での計算は、マルチレート計算が不要となり、ネットワークイベントのイベント処理に比べ数倍程度の実計算機の計算サイクルで実現可能となる。
【０２５４】
プロセッサユニット計算部１０７での計算は、ネットワークパケット情報抽出部１０６においてネットワークパケットから抽出した情報を用い、ネットワークパケット情報抽出部１０６において抽出する情報以外は失われてしまうため、そのままでは、プロセッサユニット計算部１０７での計算結果をネットワークシミュレーション部１０５にて再利用する双方向処理は不可能である。
【０２５５】
このため、パケットデータ蓄積部１６０９は、ネットワークシミュレーション部１０５から宛先IDやペイロードを含むネットワークパケットを、プロセッサユニット計算部１０７とバッファ１６１０に送信する。
【０２５６】
バッファ１６１０は、プロセッサユニット計算部１０７で処理が行われているネットワークパケットデータを蓄積し保持する。
【０２５７】
パケットデータ応答部１６１１は、プロセッサユニット計算部１０７の計算結果を、バッファ１６１０から取り出したネットワークパケットに付加し、ネットワークシミュレーション部１０５に応答パケットとして送信する。
【０２５８】
以上により、プロセッサユニット計算部１０７による処理結果をネットワークシミュレーション部１０５で再利用する双方向処理を可能にする。
【実施例７】
【０２５９】
本発明に係るシステムシミュレーション装置の実施の形態について、プロセッサユニット計算部を単一ではなく、複数個用いた構成のシステムシミュレーション装置の例を説明する。
図１８は、本実施例におけるシステムシミュレーション装置１７００を示す構成図の例である。
【０２６０】
本実施例によるシステムシミュレーション装置１７００は、システム構成モデル定義部１０１、シミュレーションパラメタ入力部１０２、パケット抽出部位選択部１０３、パケット抽出設定入力部１０４、ネットワークシミュレーション部１０５、第１ネットワークパケット情報抽出部１７０６、第２ネットワークパケット情報抽出部１７０７、第ｎネットワークパケット情報抽出部１７０８、第１プロセッサユニット計算部１７０９、第２プロセッサユニット計算部１７１０、第ｎプロセッサユニット計算部１７１１、性能表示部１０８からなる装置である。
【０２６１】
図１のシステムシミュレーション装置１００のうち、ネットワークパケット情報抽出部１０６を、第１ネットワークパケット情報抽出部１７０６、第２ネットワークパケット情報抽出部１７０７、第ｎネットワークパケット情報抽出部１７０８に、プロセッサユニット計算部１０７を、第１プロセッサユニット計算部１７０９、第２プロセッサユニット計算部１７１０、第ｎプロセッサユニット計算部１７１１に変更したものである。その他の構成は、既に説明した図１に示された同一の符号を付された構成と、同一の機能を有するので、説明を省略する。
【０２６２】
プロセッサユニット計算部での大規模なプロセッサユニットを含む構成は、各種制約のため、単一のプロセッサユニットで構成できない場合が存在する。
【０２６３】
これに対し、第１ネットワークパケット情報抽出部１７０６、第２ネットワークパケット情報抽出部１７０７、第ｎネットワークパケット情報抽出部１７０８、第１プロセッサユニット計算部１７０９、第２プロセッサユニット計算部１７１０、第ｎプロセッサユニット計算部１７１１を構成する事でこれら制約を解決する。
【実施例８】
【０２６４】
本実施例では、システムシミュレーション装置として、プロセッサユニット計算部のハードウェア分割を行うシステムシミュレーション装置の例を説明する。
図１９は、本実施例のシステムシミュレーション装置の構成図の例である。  本実施例によるシステムシミュレーション装置１９００は、システム構成モデル定義部１０１、シミュレーションパラメタ入力部１０２、パケット抽出部位選択部１０３、パケット抽出設定入力部１０４、ネットワークシミュレーション部１０５、ネットワークパケット情報抽出部１０６、プロセッサユニット計算ハードウェア部１９０７、性能表示部１０８からなる装置である。
【０２６５】
図１のシステムシミュレーション装置１００のうち、プロセッサユニット計算部１０７をプロセッサユニット計算ハードウェア部１９０７に変更したものである。その他の構成は、既に説明した図１に示された同一の符号を付された構成と、同一の機能を有するので、説明を省略する。
【０２６６】
本実施例は、システムシミュレーション装置において、ネットワークパケットから抽出する部位を選択する選択部１０３と、設定に応じてネットワークパケットから情報を抽出する抽出部１０６とを具備し、プロセッサユニット計算部をハードウェアで構成する事とした。
【０２６７】
図２０は、本実施例によるプロセッサユニット計算ハードウェアへのパケット抽出データ入力時間を説明する図の例である。
例として、1000プロセッサモジュールに対するバスI/O情報の入力時間を示す。
【０２６８】
図２１は、従来例によるプロセッサユニット計算部へのパケット入力時間を説明する図の例である。
【０２６９】
本実施例では、パケット抽出部位選択部１０３、パケット抽出設定入力部１０４、ネットワークパケット情報抽出部１０６により1ネットワークパケット入力にかかる時間が1/5まで減少している。
【０２７０】
つまり、従来例では10000サイクル程度かかっていたネットワーク情報伝送時間が、本実施例によるシステムシミュレーション装置では1/5の2000サイクル程度まで減少する。
【０２７１】
さらに、システムのシミュレーション評価は、100万パケット程度を評価に用いる。
すなわち、前述の伝送時間がさらに100万回超積算する事となるため、従来例に対し得られるプロセッサユニット計算ハードウェアへの通信量の削減効果が得られる。
【０２７２】
以上から、ネットワークシミュレーション部１０５とプロセッサユニット計算部間インタフェース速度向上と、これによるプロセッサユニット計算部のハードウェアアクセラレート分割を実現し、システムシミュレーション装置の速度向上を達成する。
【０２７３】
以上から本実施例は、ネットワークシミュレーション部１０５とプロセッサユニット計算部ハードウェア間インタフェース速度向上によるプロセッサユニット計算部のハードウェア分割を可能とした。
【０２７４】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０２７５】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０２７６】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。 
【符号の説明】
【０２７７】
１００  システムシミュレーション装置
１０１、５０１  システム構成モデル定義部
１０２、５０２  シミュレーションパラメタ入力部
１０３  パケット抽出部位選択部
１０４  パケット抽出設定入力部
１０５、５０５  ネットワークシミュレーション部
１０６  ネットワークパケット情報抽出部
１０７、５０７  プロセッサユニット計算部
１０８、５０８  性能表示部
２００  システム構成モデル定義部のGUI（グラフィカルユーザインタフェース）
２０１  データジェネレータモジュール
２０２  伝送路モジュール
２０３  スイッチモジュール
２０５  プロセッサモジュール
３００  パケット抽出部位選択部１０３のGUIダイアログ
４０１、４０２、４０３、４０４、４０５、４０６、４１０、４１１、４２０、４２１、４３０、４４０、４４１、４４２、４４３、４４４  システムシミュレーション装置の処理を説明する個別フロー
５００  従来のシステムシミュレーション装置
６０１、６０２、６０３、６０４、６１０、６１１、６２１、６３０、６４０、６４１、６４２、６４３、６４４  従来のシステムシミュレーション装置の処理を説明する個別フロー
８０１  ネットワークパケット入力インタフェース
８０２  パケットフィールド選択部
８０３  プロセッサユニット計算部情報生成部
９０１  ネットワークパケット
１１００  プロセッサモデル
１１０１  ネットワークインタフェース
１１０２  メモリ
１１０３  プロセッサ共有バス
１１０４  CPU core
１２００  プロセッサユニット計算部（プロセッサ共有バス確率計算モデル）
１２０１  プロセッサユニット計算データ
１２０２  バスビジー状態
１２０３  バス有効/無効切り替え部
１２０４  サービス時間計算部（プロセッサ共有バス確率計算モデル）
１２０５  バス利用可能率
１３００  プロセッサユニット計算部（リアルタイム性計算モデル）
１３０１  プロセッサユニット計算データ
１３０２  バスビジー状態
１３０３  標準サービス時間付与部
１３０４  標準サービス時間記憶部
１３０５  パケットサイズサービス時間計算部
１３０６  サービスジッタ記憶部
１３０７  サービス時間計算部（リアルタイム性評価モデル）
１４００  システム評価内容選択部のGUIダイアログの例
１５００  実施例５に係るシステムシミュレーション装置
１５０１  プロセッサユニット計算部 演算内容選択部
１５０２  プロセッサユニット計算部 演算内容設定入力部
１５０１  プロセッサユニット計算部 演算内容選択部のGUIダイアログの例
１６００  実施例６に係るシステムシミュレーション装置
１６０９  パケットデータ蓄積部
１６１０  バッファ
１６１１  パケットデータ応答部
１７００  実施例７に係るシステムシミュレーション装置
１７０６  第１ネットワークパケット情報抽出部
１７０７  第２ネットワークパケット情報抽出部
１７０８  第ｎネットワークパケット情報抽出部
１７０９  第１プロセッサユニット計算部
１７１０  第２プロセッサユニット計算部
１７１１  第ｎプロセッサユニット計算部
１９００  実施例８に係るシステムシミュレーション装置
１９０７  プロセッサユニット計算ハードウェア部
【図１】
2013152653.tif 000003
【図２】
2013152653.tif 000004
【図３】
2013152653.tif 000005
【図４】
2013152653.tif 000006
【図５】
2013152653.tif 000007
【図６】
2013152653.tif 000008
【図７】
2013152653.tif 000009
【図８】
2013152653.tif 000010
【図９】
2013152653.tif 000011
【図１０】
2013152653.tif 000012
【図１１】
2013152653.tif 000013
【図１２】
2013152653.tif 000014
【図１３】
2013152653.tif 000015
【図１４】
2013152653.tif 000016
【図１５】
2013152653.tif 000017
【図１６】
2013152653.tif 000018
【図１７】
2013152653.tif 000019
【図１８】
2013152653.tif 000020
【図１９】
2013152653.tif 000021
【図２０】
2013152653.tif 000022
【図２１】
2013152653.tif 000023