JP2013152653A - システムシミュレーション装置 - Google Patents
システムシミュレーション装置 Download PDFInfo
- Publication number
- JP2013152653A JP2013152653A JP2012013677A JP2012013677A JP2013152653A JP 2013152653 A JP2013152653 A JP 2013152653A JP 2012013677 A JP2012013677 A JP 2012013677A JP 2012013677 A JP2012013677 A JP 2012013677A JP 2013152653 A JP2013152653 A JP 2013152653A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- calculation
- processor
- packet
- network
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/12—Network monitoring probes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/02—Protocol performance
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】
本発明は、プロセッサユニット計算部の処理負荷を軽減し、高速処理を可能としたシステムシミュレーション装置を提供する。
【解決手段】
システムシミュレーション装置であって、パケット抽出部位選択部で選択された情報を用いてネットワークパケット情報抽出部によりネットワークパケットから選択された情報を抽出し、プロセッサユニット計算部で抽出された当該情報を用いてシミュレーション計算を行うを特徴とする。
【選択図】 図1
本発明は、プロセッサユニット計算部の処理負荷を軽減し、高速処理を可能としたシステムシミュレーション装置を提供する。
【解決手段】
システムシミュレーション装置であって、パケット抽出部位選択部で選択された情報を用いてネットワークパケット情報抽出部によりネットワークパケットから選択された情報を抽出し、プロセッサユニット計算部で抽出された当該情報を用いてシミュレーション計算を行うを特徴とする。
【選択図】 図1
Description
本発明は、システムシミュレーション装置に関する。
本技術分野の背景技術として、特許第3090388号公報(特許文献1)がある。この公報には、「ネットワークによって相互接続される複数のノードの間でネットワーク上を転送されるデータトラフィックをシミュレートする方法であって、該データトラフィックは該複数のノードの間で複数の対話を備えており、該複数のノードの1以上はクライアントノードであり、該複数のノードの1以上はサーバノード」と記載されている。
また、特許第3746371号公報(特許文献2)がある。この公報には、「複数のプロセッサが各プロセッサ毎に独立したバスによりシステム制御装置に接続され該システム制御装置に主記憶が接続されたマルチプロセッサシステム上で実行される処理をシミュレーションすることにより、前記マルチプロセッサシステムの実行性能を測定する性能シミュレーション方法」と記載されている。
前記特許文献1には、ネットワークシミュレーションの仕組みが記載されている。また、システムシミュレーション評価の記載もあり、例えば、分散処理システムのトランザクショントラフィックをモデル化する例が記載されている。
しかし従来の組込みシステム設計で用いるシステムシミュレーション装置は、ネットワークシミュレータとプロセッサユニット計算部で構成され、ネットワーク用の宛先 、データ等を含むネットワークパケットを状態変化点の多いプロセッササイクルに合わせてシミュレーションする必要がある。そのため、大規模プロセッサシステムのシミュレーションは、計算時間が長大となり実用時間で使用できない課題が存在した。
そこで、本発明は、プロセッサユニット計算部の処理負荷を軽減し、高速処理を可能としたシステムシミュレーション装置を提供する。
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、システムシミュレーション装置であって、シミュレーションを行うシステムの構成を定義するシステム構成モデル定義部と、前記システム構成モデル定義部で定義されたシステムを構築するネットワークシミュレーション部と、前記ネットワークシミュレーション部で構築されたシステムのシミュレーション計算を行うプロセッサユニット計算部と、システムシミュレーション計算結果を表示する性能表示部と、前記定義されたシステム構成モデルを、前記ネットワークシミュレーション部の構成情報に変換して、該構成情報を前記ネットワークシミュレーション部に入力するとともに、前記プロセッサユニット計算部の構成情報に変換して、該構成情報を前記プロセッサユニット計算部に入力するシミュレーションパラメタ入力部と、ネットワークパケットから特定の情報を抽出し、前記プロセッサユニット計算部に入力するネットワークパケット情報抽出部と、前記ネットワークパケット情報抽出部でネットワークパケットから抽出する部位の選択を行うパケット抽出部位選択部と、前記パケット抽出部位選択部で選択された情報を前記ネットワークパケット情報抽出部と前記プロセッサユニット計算部に入力するパケット抽出設定入力部と、を有し、前記パケット抽出部位選択部で選択された情報を用いて前記ネットワークパケット情報抽出部によりネットワークパケットから選択された情報を抽出し、前記プロセッサユニット計算部で抽出された当該情報を用いてシミュレーション計算を行うを特徴とする。
本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、システムシミュレーション装置であって、シミュレーションを行うシステムの構成を定義するシステム構成モデル定義部と、前記システム構成モデル定義部で定義されたシステムを構築するネットワークシミュレーション部と、前記ネットワークシミュレーション部で構築されたシステムのシミュレーション計算を行うプロセッサユニット計算部と、システムシミュレーション計算結果を表示する性能表示部と、前記定義されたシステム構成モデルを、前記ネットワークシミュレーション部の構成情報に変換して、該構成情報を前記ネットワークシミュレーション部に入力するとともに、前記プロセッサユニット計算部の構成情報に変換して、該構成情報を前記プロセッサユニット計算部に入力するシミュレーションパラメタ入力部と、ネットワークパケットから特定の情報を抽出し、前記プロセッサユニット計算部に入力するネットワークパケット情報抽出部と、前記ネットワークパケット情報抽出部でネットワークパケットから抽出する部位の選択を行うパケット抽出部位選択部と、前記パケット抽出部位選択部で選択された情報を前記ネットワークパケット情報抽出部と前記プロセッサユニット計算部に入力するパケット抽出設定入力部と、を有し、前記パケット抽出部位選択部で選択された情報を用いて前記ネットワークパケット情報抽出部によりネットワークパケットから選択された情報を抽出し、前記プロセッサユニット計算部で抽出された当該情報を用いてシミュレーション計算を行うを特徴とする。
本発明によれば、プロセッサユニット計算部の処理負荷を軽減し、高速処理を可能としたシステムシミュレーション装置を提供する事ができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明により明らかにされる。
以下、実施例を図面を用いて説明する。
ここで、本発明に係るシステムシミュレーション装置の実施の形態について説明する。
図1は、本実施例のシステムシミュレーション装置の構成図の例である。
図1は、本実施例のシステムシミュレーション装置の構成図の例である。
システムシミュレーション装置100は、システム構成モデル定義部101、シミュレーションパラメタ入力部102、パケット抽出部位選択部103、パケット抽出設定入力部104、ネットワークシミュレーション部105、ネットワークパケット情報抽出部106、プロセッサユニット計算部107、性能表示部108からなる装置である。
システム構成モデル定義部101はシミュレーションを行うシステムの構成を定義する部位であり、この定義部101ではユーザが評価を行いたい対象のシステムの内容入力することで、評価対象のシステム構成を定義する。
シミュレーションパラメタ入力部102は、システム構成モデル定義部101にて定義されたシステム構成モデルを、ネットワークシミュレーション部105の構成情報と、プロセッサユニット計算部107の構成情報に変換して、それぞれのシミュレーション部に対し入力する。
パケット抽出部位選択部103は、ネットワークパケットから抽出する部位を選択する選択部であり、例としてGUIのダイアログの形態をとる。
パケット抽出設定入力部104は、パケット抽出部位選択部103にて選択されたネットワークパケットから抽出する部位を、ネットワークパケット情報抽出部106とプロセッサユニット計算部107に入力する。
ネットワークシミュレーション部105は、システム構成モデル定義部101によって定義され、シミュレーションパラメタ入力部102により変換されたシステム構成モデルパラメタを用いた、システムのネットワークシミュレーションを行う。
ネットワークパケット情報抽出部106は、ネットワークシミュレーション部105から出力されたネットワークパケットを入力し、ネットワークパケット抽出情報選択部103の選択に従い、ネットワークパケットから情報を抽出し、抽出したパケット情報のみをプロセッサユニット計算部107へ出力する処理を行う。
プロセッサユニット計算部107は、システム構成モデル定義部101によって定義され、シミュレーションパラメタ入力部102により変換されたシステム構成モデルパラメタと、パケット抽出部位選択部103によって選択され、パケット抽出設定入力部104により変換されたパケット抽出部位パラメタと、を用いてプロセッサユニット計算を行い、システムのシミュレーションを行う。
性能表示部108は、システムシミュレーション結果を表示する部位であり、結果をビジュアル化しGUIもしくはテキスト情報として出力する。
図2は、システム構成モデル定義部101のユーザインタフェースの例である。
一例としてシステム構成モデル定義部101はGUI(グラフィカルユーザインタフェース)200と、モジュールとしてデータジェネレータモジュール201、伝送路モジュール202、スイッチモジュール203、プロセッサモジュール205からなる。
一例としてシステム構成モデル定義部101はGUI(グラフィカルユーザインタフェース)200と、モジュールとしてデータジェネレータモジュール201、伝送路モジュール202、スイッチモジュール203、プロセッサモジュール205からなる。
システム構成モデル定義部GUI(グラフィカルユーザインタフェース)200は、システム構成モデル定義部のユーザインタフェースの例であり、シミュレーションするシステムを、コンピュータの画面上に表示する。ユーザ設定によりシステムシミュレーションに係るモジュール(部品)と呼ばれる機能ブロックを配置し、それぞれをネットワークで相互に接続する入力を受け付ける。
データジェネレータモジュール201は、設定された発生パターンに従って、ネットワークパケットを生成する。
伝送路モジュール202は、ネットワークパケットを入力し、ペイロードサイズを解析し、ネットワークパケットが伝送路モジュール202を通過するにかかる時間、すなわち伝送レイテンシ時間を算出し、ネットワークパケットのレイテンシパラメタに、その算出した伝送レイテンシ時間を加算し設定する。
伝送路モジュール202は、ネットワークパケットを入力し、ペイロードサイズを解析し、ネットワークパケットが伝送路モジュール202を通過するにかかる時間、すなわち伝送レイテンシ時間を算出し、ネットワークパケットのレイテンシパラメタに、その算出した伝送レイテンシ時間を加算し設定する。
システムシミュレーション装置において、シミュレーション対象物が、ある動作を完了するまでに必要とする時間の事をサービス時間と呼び、上記、伝送路モジュール202においては「伝送路モジュール202は、ネットワークパケットを入力し、ペイロードサイズを解析し、ネットワークパケットに対し伝送レイテンシ時間をサービス時間としてセットする」こととなる。
スイッチモジュール203は、ネットワークパケットを入力し、スイッチ設定表に従って、出力ポート先を切り替え、出力するモジュールである。
プロセッサモジュール205は、ネットワークパケットを用いた所望の計算を行い、計算結果を出力するモジュールである。
システム構成モデル定義部101では、例えば上記モジュールを組合わせて用いてシミュレーション対象としてのシステムを構成する事が可能で、プロセッサモジュール205を例えば1000個程度配置した大規模プロセッサシステムも構築可能である。
シミュレーションパラメタ入力部102は、前記定義されたシステム構成モデルを、ネットワークシミュレーション部105の構成情報と、プロセッサユニット計算部107の構成情報に変換して、それぞれのシミュレーション部に対し入力する。
例としてネットワークシミュレーション部105には、データジェネレータ201、伝送路202、スイッチ203の各モジュールの構成、個数、それぞれのモジュール個別で定められたパラメタ、各モジュール間でどのような接続関係にあるかを示す接続関係、をパラメタとして設定する。
例としてプロセッサユニット計算部107には、プロセッサモジュール205の構成、個数、モジュール個別に定められたパラメタ、ネットワークシミュレーション部105との接続関係、がパラメタとして設定される。
図3はパケット抽出部位選択部103のGUIダイアログ300の例である。
パケット抽出部位選択部103は、ダイアログ300として例示され、ユーザが抽出部位を選択を入力することでシミュレーションに用いたいネットワークパケットの情報選択入力を受け付ける。
パケット抽出部位選択部103は、ダイアログ300として例示され、ユーザが抽出部位を選択を入力することでシミュレーションに用いたいネットワークパケットの情報選択入力を受け付ける。
選択された情報はパケット抽出部位選択部103によりパケット抽出設定入力部104に入力され、さらにパケット抽出設定入力部104がネットワークパケット情報抽出部106とプロセッサユニット計算部107にパケット抽出部位パラメタを入力する。
例えば、ネットワークパケット情報抽出部106とプロセッサユニット計算部107には、ネットワークパケットから抽出する部位を示す情報をパラメタとして入力する。
ネットワークシミュレーション部105、ネットワークパケット情報抽出部106、プロセッサユニット計算部107は設定されたパラメタに従い、各部が連携し、システムシミュレーション計算を行う。
図4は、本実施例に係るシステムシミュレーション装置の処理を説明するフローチャートの例である。
シミュレーションが開始し(401)、システム構成モデル定義部のユーザインターフェース200においてユーザが設定入力することでシステム構成モデルの定義を行い(402)、定義されたモデルを用いてシミュレーションパラメータ入力部102によりシミュレーションパラメタを生成し(403)、生成されたシミュレーションパラメータをシミュレーションパラメータ入力部102によってネットワークシミュレーション部105とプロセッサユニット計算部107に入力する(404)。
次に、パケット抽出部位選択画面300においてユーザが設定入力することでネットワークパケットから抽出する部位を選択し(405)、抽出する部位の情報をパケット抽出設定入力部104によりネットワークパケット情報抽出部106とプロセッサユニット計算部107に入力する(406)。
次に、離散時間0の状態における全モジュールの状態を計算し更新する(407)。
次に、ネットワークシミュレーション部105内のネットワークイベント発生(410)にともない、イベントルーチンにてイベント処理を行う(411)。
ネットワークイベントとは、ネットワークシミュレーション部内の状態を計算し更新するきっかけとなる、状態の変化点の事を指す。
ネットワークイベントとは、ネットワークシミュレーション部内の状態を計算し更新するきっかけとなる、状態の変化点の事を指す。
ネットワークイベントはモジュールごとに異なり、たとえばデータジェネレータモジュール201では、「ネットワークパケットを生成する」というイベントが発生し、これにともなう処理を行う事となる。
また、たとえばスイッチモジュール203では「入力バッファからネットワークパケットを取り出す」というイベントが発生し、これにともない、所定の出力ポートにネットワークパケットを移動する、という処理をイベントルーチンは行う。
次に、ネットワークパケット情報抽出部106において、抽出情報選択部103でユーザの設定入力により選択した情報をパケットから抽出する(420)。
プロセッサユニット計算部107内の各プロセッサモジュール205では、送られたネットワークパケット情報によりプロセッサイベントが発生し(421)、プロセッサユニット計算を実施する(430)。
全てのモジュールの性能計算が完了したか、判定する(440)。
全てのモジュールの計算が完了したら、当該離散時間の状態における全モジュールの状態更新完了とし、離散時間を1進める(441)。
全てのモジュールの計算が完了したら、当該離散時間の状態における全モジュールの状態更新完了とし、離散時間を1進める(441)。
シミュレーション時間満了を判断し(442)、満了したら、今までの計算結果を用い、状態表示部にて性能計算結果をビジュアル化しGUIもしくはテキスト情報として出力する(443)。
そして、シミュレーションを終了する(444)。
そして、シミュレーションを終了する(444)。
図5は、従来のシステムシミュレーション装置の構成図の例である。
ここで比較のため、従来のシステムシミュレーション装置について図5を用い説明する。
ここで比較のため、従来のシステムシミュレーション装置について図5を用い説明する。
従来のシステムシミュレーション装置500は、システム構成モデル定義部501、シミュレーションパラメタ入力部502、ネットワークシミュレーション部505、プロセッサユニット計算部507、性能表示部508からなる装置である。
システム構成モデル定義部501はシミュレーションを行うシステムの構成を定義する部位であり、この定義部501は評価を行いたい対象のシステムを受け付ける。
シミュレーションパラメタ入力部502は、システム構成モデル定義部501にて定義されたシステム構成モデルを、ネットワークシミュレーション部505の構成情報と、プロセッサユニット計算部507の構成情報に変換して、それぞれのシミュレーション部に対し入力する。
ネットワークシミュレーション部505は、システム構成モデル定義部501によって定義され、シミュレーションパラメタ入力部502により変換されたシステム構成モデルパラメタを用いた、システムのネットワークシミュレーションを行う。
プロセッサユニット計算部507は、システム構成モデル定義部501によって定義され、シミュレーションパラメタ入力部502により変換されたシステム構成モデルパラメタを用いた、システムのプロセッサユニットのシミュレーションを行う。
性能表示部508は、システムシミュレーション結果を表示する部位であり、結果をビジュアル化しGUIもしくはテキスト情報として出力する。
図6は、従来のシステムシミュレーション装置における処理を説明するフローチャートの例である。
従来のシステムシミュレーション装置500の各部位が連携したシステムシミュレーション処理フローを図6を用い説明する。
従来のシステムシミュレーション装置500の各部位が連携したシステムシミュレーション処理フローを図6を用い説明する。
シミュレーションが開始し(601)、構成モデル定義を行い(602)、定義されたモデルを用いてシミュレーションパラメタを生成(603)、ネットワークシミュレーション部505とプロセッサユニット計算部507に入力する(604)。
次に、離散時間0の状態における全モジュールの状態を計算し更新する(607)。
ネットワークシミュレーション部505内のネットワークイベント発生(610)にともない、イベントルーチンにてイベント処理を行う(611)。
次に、プロセッサユニット計算部507内の各プロセッサモジュールでは、送られたネットワークパケットによりプロセッサイベントが発生する(621)。
送られたネットワークパケットのデータを用い、かつプロセッササイクルでの性能計算を行う、マルチレート処理を行う(630)。
全てのモジュールの性能計算が完了したか、判定する(640)。
全てのモジュールの計算が完了したら、当該離散時間の状態における全モジュールの状態更新完了とし、離散時間を1進める(641)。
シミュレーション時間満了を判断し(642)、満了したら、今までの計算結果を用い、状態表示部にて性能計算結果をビジュアル化しGUIもしくはテキスト情報として出力する(643)。
そして、シミュレーションを終了する(644)。
そして、シミュレーションを終了する(644)。
以上、従来のシステムシミュレーション装置500は、ネットワーク用の宛先 、データ等を含むネットワークパケットと、状態変化点の多いプロセッササイクルとを合わせてシミュレーションする事が必要である。
システムシミュレーション装置において、ネットワークパケットの伝送シミュレーションにともなう各モジュールの状態変化は、ネットワークパケットの伝送が完了した時点で発生する。
例えば、ネットワークパケットのサイズが300Bytesの塊りのデータで、1.25Gbpsの速度の伝送路を通過するシミュレーションを行った場合、ネットワークパケットの伝送シミュレーションにともなう各モジュールの状態変化は、300Bytesデータの伝送毎に発生し、時間間隔(レート)で表現すると240ns毎に発生する。
また、システムシミュレーション装置において、プロセッサユニット計算部507内の各プロセッサモジュールでの、プロセッサイベントの状態変化は、プロセッササイクル毎に発生する。プロセッササイクルとは、各プロセッサモジュールを駆動するクロックの逆数を指す。
例えば、各プロセッサモジュールが1GHzのクロックで駆動されているとする。この場合、プロセッサイベントの状態変化は、時間間隔(レート)で表現すると1ns毎に発生する。
ネットワークパケットの伝送シミュレーションにともなう状態変化の間隔と、各プロセッサモジュールにおけるプロセッサイベントの状態変化の間隔は、以上のとおり異なる。これら状態変化の間隔の異なる複数のシミュレーションを単一のシステムシミュレーション装置において実施する事をマルチレート計算と言う。
上記説明した、従来のシステムシミュレーション装置500は、ネットワーク用の宛先 、データ等を含むネットワークパケットと、状態変化点の多いプロセッササイクルとを合わせてシミュレーションしており、マルチレート計算を行っている、と言う。
従来のシステムシミュレーション装置500は、正確なシミュレーション結果を得る事を第一の目標としていた。このため、状態変化間隔(レート)の異なる各モジュールを組み合わせた場合、各モジュールの状態変化間隔(レート)を忠実に守り、個々に計算するマルチレート計算は、正確なシミュレーション結果を得るために必須の機能であった。
しかし、マルチレート計算は、計算時間が長大となる課題が存在した。
上記の例では、ネットワークパケットの伝送シミュレーションにともなう各モジュールの状態変化は、240ns毎に発生し、プロセッサユニット計算部507内の各プロセッサモジュールでの、プロセッサイベントの状態変化は、1ns毎に発生する。
つまり、一つのネットワークパケットを伝送シミュレーションするのに比べ、プロセッサイベントの状態変化は240倍発生する。
上記の例では、ネットワークパケットの伝送シミュレーションにともなう各モジュールの状態変化は、240ns毎に発生し、プロセッサユニット計算部507内の各プロセッサモジュールでの、プロセッサイベントの状態変化は、1ns毎に発生する。
つまり、一つのネットワークパケットを伝送シミュレーションするのに比べ、プロセッサイベントの状態変化は240倍発生する。
例えば、一つのネットワークパケットを、処理データとしてプロセッサユニット計算部507内のプロセッサモジュールに伝送した場合、シミュレーション時間は、ネットワークパケットのみ伝送シミュレーションする場合にくらべ、240倍かかる。
また、プロセッサイベントの状態変化は、プロセッサユニット計算部507内の各プロセッサモジュールそれぞれで発生する。そのため、大規模プロセッサシステムのシミュレーションは、計算時間が長大となり実用時間で使用できない。
図7は、従来のシステムシミュレーション装置を用いた場合の実計算機での評価計算サイクルの比較を説明する時間軸上のグラフの例である。
例として、図5で示したプロセッサユニット計算部507において、プロセッサユニット計算部507内のプロセッサモデルが1000個である大規模システムのシミュレーション評価を行う場合の実計算機での評価計算サイクルを、図7を用い以下説明する。
図7では、ネットワークシミュレーション部505の1シミュレーションサイクル(701)に対し、プロセッサユニット計算部507の計算サイクルが99サイクル必要(702)となっている。
マルチレート処理は1000プロセッサ個々に必要であるため、結果、マルチレート処理計算サイクルが1000プロセッサ分積算する。
例えば、マルチレート計算サイクルは、ネットワークパケットが300Bytesのパケットである場合、プロセッサユニット計算部507では、ネットワークイベントの処理サイクルに比べ百倍程度の実計算機のマルチレート計算サイクルが必要である。
また、このマルチレート計算は、一つのプロセッサモジュール205毎に独立して発生するもので、システム全体として1つの離散時間状態の更新には、マルチレート計算サイクルがプロセッサモジュール個数分積算する。
例示した前記プロセッサモデルが1000個である大規模システムでは、ネットワークイベントの数百倍のマルチレート計算サイクルが、1000個のプロセッモジュール205各々で発生する事となる。
さらに、実際のシステムのシミュレーション評価は、100万パケット程度を評価に用いる。よって、前述のマルチレート計算のプロセッサモデル個数分積算した計算回数がさらに100万回超積算する事となり、実計算機の計算量が発散し、実用的な計算時間内では収まらない問題があった。
これに対し本実施例によるシステムシミュレーション装置100は、ネットワークシミュレータとプロセッサユニット計算部、ネットワークパケットから抽出する部位を選択する選択部と、設定に応じてネットワークパケットから情報を抽出する抽出部とを具備し、当該データを用いることでプロセッサユニット計算部の処理負荷を軽減し、高速処理を可能とした。
以下に、本願発明におけるプロセッサユニット計算部の処理負荷を軽減し、高速処理を可能にする構成について説明する。
図8は、ネットワークパケット情報抽出部106を説明する図の例である。
ネットワークパケット入力インタフェース801は、ネットワークパケットが入力される部位である。
ネットワークパケット入力インタフェース801は、ネットワークパケットが入力される部位である。
パケットフィールド選択部802は、パケット抽出部位選択部103、パケット抽出設定入力部104に従い、ネットワークパケットから情報を抽出する。
プロセッサユニット計算部情報生成部803は、プロセッサユニット計算部107に対する入力データを生成する。
図9はネットワークパケットを説明する図の例である。
ネットワークパケット入力インタフェース801へ入力するパケットサイズは、例として図9に示すように、300Bytesである(901)。
ネットワークパケット入力インタフェース801へ入力するパケットサイズは、例として図9に示すように、300Bytesである(901)。
図8、図9を用いて、ネットワークパケット情報抽出の流れを説明する。
例として、パケットフィールド選択部802で”Format Type”と“Transaction”のフィールドを抽出する。
例として、パケットフィールド選択部802で”Format Type”と“Transaction”のフィールドを抽出する。
”Format Type”は4bitであり、ネットワークパケットの種類が定義されている。例えば、“遠隔のプロセッサに対しキャッシュ操作をするパケット”、“遠隔のバスI/Oに関するパケット”、“ネットワークの点検用パケット”、“その他パケット”といった定義が”Format Type”によりなされる。
また、“Transaction”は4bitであり、“Format Type”で定義された種類のパケットが行う操作内容が示される。
例えば“遠隔のプロセッサに対しキャッシュ操作をするパケット”について“あるアドレスのデータをゼロクリアする”操作や、“遠隔のバスI/Oに関するパケット”について“あるアドレスにデータを書き込む”操作内容が“Transaction”により示される。
例えば“遠隔のプロセッサに対しキャッシュ操作をするパケット”について“あるアドレスのデータをゼロクリアする”操作や、“遠隔のバスI/Oに関するパケット”について“あるアドレスにデータを書き込む”操作内容が“Transaction”により示される。
プロセッサユニット計算部情報生成部803が”Format Type”と“Transaction”のフィールドを抽出することで、出力されるデータは、例えば8bitとなる。
ここで、パケットフィールド選択部802にて、”Format Type”、“Transaction”といったフィールドの定義を組み合わせて判断する表を具備することで、入力されたネットワークパケットから“バスI/Oに対するデータ書き込み操作”といった情報を抽出することも可能である。
“バスI/Oに対するデータ書き込み操作”の有無は最小で1bitの情報で表すことが可能であり、パケット抽出部位選択部103、パケット抽出設定入力部104、ネットワークパケット情報抽出部106を用いることで、ネットワークパケットからの抽出情報サイズを最小1bitまで減らすことが出来る。
これにより、プロセッサユニット計算部107に入力する情報量を減らし、計算負荷を軽減、高速処理を可能とする。
本実施例では、ネットワークパケットから”Format Type”と“Transaction”の情報を抽出する設定としているが、これに限定されるものではなく、パケット抽出部位選択部103で選択された他の抽出情報においても、その組合わせに応じてプロセッサユニット計算部107での計算負荷軽減し、高速処理可能である。
図10は、本実施例に係るシステムシミュレーション装置を用いた場合の実計算機での評価計算サイクルを説明する時間軸上のグラフの例である。
プロセッサユニット計算部107内のプロセッサモデルが1000個超となる大規模システムのシミュレーション評価を行う場合の本実施例に係るシステムシミュレーション装置100を用いた場合の実計算機での評価計算サイクルを図10を用い説明する。
ネットワークシミュレーション部105の1シミュレーションサイクル(1001)に対し、プロセッサユニット計算部107の計算サイクルが4サイクル必要(1002)な例で、1000プロセッサ個々に性能計算を行い、結果、従来例のマルチレート処理が積算した例700と比較し、高速処理が実現されている。
これは、ネットワークパケット情報抽出部106においてネットワークパケットから抽出した情報を、プロセッサユニット計算部107が計算に用いるためである。
プロセッサユニット計算部107での計算は、マルチレート計算が不要となり、ネットワークイベントのイベント処理に比べ数倍程度の実計算機の計算サイクルで実現可能となる。
プロセッサユニット計算部107での計算は、マルチレート計算が不要となり、ネットワークイベントのイベント処理に比べ数倍程度の実計算機の計算サイクルで実現可能となる。
また、本実施例によるプロセッサユニット計算部107の処理は、一つのプロセッサモデル205毎に独立して発生するもので、システム全体として1つの離散時間状態の更新には、計算サイクルがプロセッサモデル個数分積算する。
例えば、プロセッサモデルが1000個である大規模プロセッサシステムにおいては、ネットワークイベントの数倍の計算サイクルが、1000個のプロセッサモデル各々で発生する事となる。
さらに、実際のシステムのシミュレーション評価は、100万パケット程度を評価に用いる。
従来例では数百倍のマルチレート計算が本実施例によるシステムシミュレーション装置100では数倍まで計算時間が減り、かつ、前述の計算のプロセッサモデル個数分積算した計算回数がさらに100万回程度積算する事となる。
以上から、従来例に対し得られる実計算機の計算量の削減効果が得られ、実計算機の計算量は発散せず、実用的な計算時間内で収まる。
なお本実施例では、システム構成定義部101及びパケット抽出部位選択部103において、ユーザの入力により設定される構成としたが、これに限定されるものではなく、予め設定された条件をメモリ等に記憶しておき、メモリ等に記憶された値や条件を読み出して設定入力するような構成のものであってもよい。
本実施例では、システムシミュレーション評価として、ネットワーク性能評価を行うシステムシミュレーション装置の例を説明する。
本実施例によるシステムシミュレーション装置は、システム構成モデル定義部101、シミュレーションパラメタ入力部102、パケット抽出部位選択部103、パケット抽出設定入力部104、ネットワークシミュレーション部105、ネットワークパケット情報抽出部106、プロセッサユニット計算部(プロセッサ共有バス確率計算モデル)1200、性能表示部108からなる装置である。
図1のシステムシミュレーション装置100のうち、プロセッサユニット計算部107をプロセッサユニット計算部(プロセッサ共有バス確率計算モデル)1200に変更したものである。その他の構成は、既に説明した図1に示された同一の符号を付された構成と、同一の機能を有するので、説明を省略する。
プロセッサ共有バス確率計算モデルは、プロセッサユニットにおけるサービス時間である、プロセッサユニットにデータが到着してからデータ処理が完了するまでの時間を、共有バスの確率を元にして計算し求める計算方式の事である。
プロセッサ共有バス確率計算モデルの詳細な説明を下記に示す。
システムのネットワークの性能、例えばネットワークの伝送容量を評価する場合、ネットワークパケットがデータジェネレータモジュール201で生成されてから、プロセッサモジュール205でサービスを受けるまでの総レイテンシを用いる。
システムのネットワークの性能、例えばネットワークの伝送容量を評価する場合、ネットワークパケットがデータジェネレータモジュール201で生成されてから、プロセッサモジュール205でサービスを受けるまでの総レイテンシを用いる。
つまり、システムのネットワークの性能を求める場合、プロセッサユニット計算部のサービス時間は、ネットワークパケットがプロセッサユニット計算部に到着してからサービスを与えるまでのレイテンシ時間を算出する方式に簡略化が可能である。
図11は、プロセッサモジュールでの処理を説明するプロセッサモデルの図の例である。
ネットワークインタフェース1101は、ネットワークで伝送されるパケットデータとプロセッサ共有バスでやり取りされるデータを相互に変換する機能を有する部位である。
ネットワークインタフェース1101は、ネットワークで伝送されるパケットデータとプロセッサ共有バスでやり取りされるデータを相互に変換する機能を有する部位である。
メモリ1102は、プロセッサ1100の処理に必要な一連のデータ、命令を記憶し格納する領域である。
プロセッサ共有バス1103は、プロセッサ1100内のネットワークインタフェース1101、メモリ1102、CPU core1104を相互にアクセス可能とする、バス型のデータ伝送路である。
CPU core1104は、プロセッサ1100内のメモリ1102からプロセッサ共有バス1103を介して命令、データを読出し、計算処理を行い、結果を、プロセッサ共有バス1103を介してメモリやネットワークインタフェース1101に返す部位である。
たとえば、プロセッサモデル1100において、ネットワークインタフェース1101にネットワークパケットが到着したとすると、この場合、プロセッサモデル1100内で直接パケットデータをそのまま性能計算に用いる事は出来ないため、ネットワークインタフェース1101のバッファにパケットを格納する。
次に、パケットの内容を解析し、プロセッサ1100に対しどのような処理を行うパケットか、判定する。
例えばプロセッサ1100のメモリ1102にデータを書き込むネットワークパケットだった場合、ネットワークインタフェース1101からプロセッサ共有バス1103に対し書込みアクセス要求を出す。
また、ネットワークパケットのデータに対しCPU Core1104が何かしらの処理を行う。
これら処理はプロセッササイクルでの処理となる。
これら処理はプロセッササイクルでの処理となる。
図11を用い、ネットワークパケットへのサービスの処理の内容について説明する。
図2で説明したデータジェネレータ201で生成したネットワークパケットがプロセッサモジュール205に対し行う主なアクセスは、メモリ1102へのRead、Write処理である。
図2で説明したデータジェネレータ201で生成したネットワークパケットがプロセッサモジュール205に対し行う主なアクセスは、メモリ1102へのRead、Write処理である。
すなわち、プロセッサモジュールのパケットレイテンシはネットワークパケットの到着からメモリ1102への格納までの時間をサービスとして与えればよい。
しかしここで、レイテンシには変動要因が存在する。それは、CPU core1104がプロセッサ共有バス1103へアクセスした場合の、ネットワークインタフェース1101との輻輳状態(コンフリクト)の発生である。
CPU core1104が高負荷状態でメモリ1102との間で大量のデータを長時間やり取りする場合など、プロセッサ共有バス1103が占有される場合、ネットワークインタフェース1101から見ると、プロセッサ共有バス1103の利用権が獲得できず、パケットはネットワークインタフェース1101の内部のバッファに待機する事となる。
このプロセッサ共有バス1103の占有によるパケットの待機状態も、レイテンシとしてカウントされ、ネットワーク性能を悪化させる要因となる。
本実施例においてこのCPU core1104の処理によるプロセッサ共有バス1103の占有状態は、ネットワークインタフェース1101から見たプロセッサ共有バス1103の利用可能率の減少と定義する事とした。
つまり、CPU core1104の処理によるプロセッサ共有バス1103の状態は、長期間で考えると確率的にとらえる事が可能である。
これをネットワークインタフェース1101から見た、共有バス1103の利用可能率としてモデリングすることとした。
バス利用可能率は、CPU core1104が高負荷であるプロセッサモジュールは低く、低負荷であるプロセッサモジュールは高く設定するものとする。
以上から、プロセッサモジュール205は、ネットワークパケットが到着してから、バス利用可能率に基づき、サービスを提供する、もしくはしない、という判断を行い、サービス時間を計算する。
以上が、プロセッサ共有バス確率計算モデルの詳細な説明である。
以上が、プロセッサ共有バス確率計算モデルの詳細な説明である。
図12は、プロセッサユニット計算部(プロセッサ共有バス確率計算モデル)1200の計算内容を説明する図の例である。
本実施例によるプロセッサユニット計算部(プロセッサ共有バス確率計算モデル)1200は、プロセッサユニット計算データ1201、バスビジー状態1202、バス有効/無効切り替え部1203、サービス時間計算部(プロセッサ共有バス確率計算モデル)1204、バス利用可能率1205、からなる。
本実施例によるプロセッサユニット計算部(プロセッサ共有バス確率計算モデル)1200は、プロセッサユニット計算データ1201、バスビジー状態1202、バス有効/無効切り替え部1203、サービス時間計算部(プロセッサ共有バス確率計算モデル)1204、バス利用可能率1205、からなる。
プロセッサユニット計算部(プロセッサ共有バス確率計算モデル)1200を用いたネットワークの伝送容量を評価するシステムシミュレーションの流れの一例について、図12を用いて説明する。
プロセッサユニット計算データ1201は、あるサイズのデータを内包するパケットデータで、ジェネレータ201から生成されたものである。
バス有効/無効切り替え部1203は、プロセッサユニット計算部(プロセッサ共有バス確率計算モデル)1200において、パケットにサービスを与えるサービス計算部1204へプロセッサユニット計算データ1201を通過させるか、否かの判断を行う。
バス利用可能率1205は、バス有効/無効切り替え部1203において、サービス計算部1204へプロセッサユニット計算データ1201を通過させるか、否かを切り替える値を出力し、それは例えば‘1’= 通過、‘0’= 不通過、である。
バス利用可能率1205が‘1’、‘0’を出力するのは確率的であり、たとえば「‘1’を40%出力する」というように設定されるものである。
バスビジー状態1202は、バス有効/無効切り替え部1203においてプロセッサユニット計算データ1201が不通過と判断された場合に‘1’となる。
バス有効/無効切り替え部1203においてプロセッサユニット計算データ1201が不通過と判断された場合には、ネットワークインタフェース内のバッファにパケットデータを保持し、所定のレイテンシ時間を与える。
サービス計算部1204は、バス有効/無効切り替え部1203においてプロセッサユニット計算データ1201が通過と判断された場合に、サービス時間を計算し、プロセッサユニット計算データのパラメタにサービス時間を設定する。
以上示した、プロセッサユニット計算部(プロセッサ共有バス確率計算モデル)1200を用いた、システムシミュレーション評価として、ネットワーク性能評価を行うシステムシミュレーション装置の例を説明する
図4に示すパケット抽出部位選択部103は、ネットワーク性能評価に必要なネットワークパケットから抽出する部位の選択を受け付け、例としてダイアログ300で、”Transaction Type”と”Transaction”を選択する。
図4に示すパケット抽出部位選択部103は、ネットワーク性能評価に必要なネットワークパケットから抽出する部位の選択を受け付け、例としてダイアログ300で、”Transaction Type”と”Transaction”を選択する。
選択された情報はパケット抽出部設定入力部104に入力され、ネットワークパケット情報抽出部106とプロセッサユニット計算部(プロセッサ共有バス確率計算モデル)の各々に対する必要なパラメタに変換し、それぞれの部位に入力する。
例えば、ネットワークパケット情報抽出部104とプロセッサユニット計算部(プロセッサ共有バス確率計算モデル)には、ネットワークパケットから抽出する部位”Transaction Type”と”Transaction”が選択されたことを示す情報をパラメタとして入力する。
これにより、ネットワークパケット情報抽出部106は、ネットワークパケットから”Transaction Type”と”Transaction”を抽出するモードとなる。
プロセッサユニット計算部(プロセッサ共有バス確率計算モデル)では、ネットワークパケットから抽出する部位”Transaction Type”と”Transaction”が選択されたことを示す情報から、プロセッサのバスI/Oのみの性能計算を行うモードとなる。
また、システムのネットワークの性能、例えばネットワークの伝送容量を評価する場合、ネットワークパケットがデータジェネレータモジュール201で生成されてから、プロセッサモジュール205でサービスを受けるまでの総レイテンシを用いる。
すなわち、パケットサイズ(単位はBytes)÷総レイテンシ(単位は時間)で伝送容量を算出する。
すなわち、パケットサイズ(単位はBytes)÷総レイテンシ(単位は時間)で伝送容量を算出する。
以上から、プロセッサユニット計算部としては、ネットワークの性能を求める場合、機能として、ネットワークパケットがプロセッサユニット計算部に到着してからサービスを与えるまでのレイテンシ時間を算出できれば良い。
図11は、プロセッサモジュールでの処理を説明するプロセッサモデルの図の例である。
ネットワークインタフェース1101は、ネットワークで伝送されるパケットデータとプロセッサ共有バスでやり取りされるデータを相互に変換する機能を有する部位である。
ネットワークインタフェース1101は、ネットワークで伝送されるパケットデータとプロセッサ共有バスでやり取りされるデータを相互に変換する機能を有する部位である。
メモリ1102は、プロセッサ1100の処理に必要な一連のデータ、命令を記憶し格納する領域である。
プロセッサ共有バス1103は、プロセッサ1100内のネットワークインタフェース1101、メモリ1102、CPU core1104を相互にアクセス可能とする、バス型のデータ伝送路である。
CPU core1104は、プロセッサ1100内のメモリ1102からプロセッサ共有バス1103を介して命令、データを読出し、計算処理を行い、結果を、プロセッサ共有バス1103を介してメモリやネットワークインタフェース1101に返す部位である。
たとえば、プロセッサモデル1100において、ネットワークインタフェース1101にネットワークパケットが到着したとすると、この場合、プロセッサモデル1100内で直接パケットデータをそのまま性能計算に用いる事は出来ないため、ネットワークインタフェース1101のバッファにパケットを格納する。
次に、パケットの内容を解析し、プロセッサ1100に対しどのような処理を行うパケットか、判定する。
例えばプロセッサ1100のメモリ1102にデータを書き込むネットワークパケットだった場合、ネットワークインタフェース1101からプロセッサ共有バス1103に対し書込みアクセス要求を出す。
また、ネットワークパケットのデータに対しCPU Core1104が何かしらの処理を行う。これら処理はプロセッササイクルでの処理となる。
例えばプロセッサ1100のメモリ1102にデータを書き込むネットワークパケットだった場合、ネットワークインタフェース1101からプロセッサ共有バス1103に対し書込みアクセス要求を出す。
また、ネットワークパケットのデータに対しCPU Core1104が何かしらの処理を行う。これら処理はプロセッササイクルでの処理となる。
図11を用い、ネットワークパケットへのサービスの処理の内容について説明する。
図2で説明したデータジェネレータ201で生成したネットワークパケットがプロセッサモジュール205に対し行う主なアクセスは、メモリ1102へのRead、Write処理である。
すなわち、プロセッサモジュールのパケットレイテンシはネットワークパケットの到着からメモリ1102への格納までの時間をサービスとして与えればよい。
図2で説明したデータジェネレータ201で生成したネットワークパケットがプロセッサモジュール205に対し行う主なアクセスは、メモリ1102へのRead、Write処理である。
すなわち、プロセッサモジュールのパケットレイテンシはネットワークパケットの到着からメモリ1102への格納までの時間をサービスとして与えればよい。
しかしここで、レイテンシには変動要因が存在する。それは、CPU core1104がプロセッサ共有バス1103へアクセスした場合の、ネットワークインタフェース1101との輻輳状態(コンフリクト)の発生である。
CPU core1104が高負荷状態でメモリ1102との間で大量のデータを長時間やり取りする場合など、プロセッサ共有バス1103が占有される場合、ネットワークインタフェース1101から見ると、プロセッサ共有バス1103の利用権が獲得できず、パケットはネットワークインタフェース1101の内部のバッファに待機する事となる。
このプロセッサ共有バス1103の占有によるパケットの待機状態も、レイテンシとしてカウントされ、ネットワーク性能を悪化させる要因となる。
本実施例においてこのCPU core1104の処理によるプロセッサ共有バス1103の占有状態は、ネットワークインタフェース1101から見たプロセッサ共有バス1103の利用可能率の減少と定義する事とした。
つまり、CPU core1104の処理によるプロセッサ共有バス1103の状態は、長期間で考えると確率的にとらえる事が可能であるとした。
つまり、CPU core1104の処理によるプロセッサ共有バス1103の状態は、長期間で考えると確率的にとらえる事が可能であるとした。
これをネットワークインタフェース1101から見た、共有バス1103の利用可能率としてモデリングすることとした。
バス利用可能率は、CPU core1104が高負荷であるプロセッサモジュールは低く、低負荷であるプロセッサモジュールは高く設定するものとする。
以上から、プロセッサモジュール205は、ネットワークパケットが到着してから、バス利用可能率に基づき、サービスを提供する、もしくはしない、という判断を行う。
図12に示すのは、プロセッサユニット計算部(プロセッサ共有バス確率計算モデル)1200の計算内容を説明する図の例である。
以上の機能を持つプロセッサユニット計算部(プロセッサ共有バス確率計算モデル)1200を用いたネットワークの伝送容量を評価するシステムシミュレーションの流れの一例について、図2を用いて説明する。
ネットワークパケットの伝送容量は、データジェネレータモジュール201からネットワークパケットを生成し、プロセッサモジュール205にてサービスを受けるまでにかかった時間を計測し、そのパケットデータのサイズをその時間で割って、単位時間当たりネットワークのデータ伝送容量を計測するものである。
あるサイズのデータを内包するパケットデータをジェネレータ201から生成する。
シリアル伝送路202においては、伝送速度(容量)に応じ、パケットデータが伝送路通過する時にある時間がかかる。この時間の事をレイテンシと呼ぶ。例えば100Bytesの大きさのパケットが1Gbpsの伝送路202を通過する場合、800nsのレイテンシが発生する。
そのパケットは、スイッチモジュール203が次に受け付ける。スイッチモジュール203は入力と出力にそれぞれバッファを持ち、またスイッチ処理のためにパケットレイテンシが発生する。たとえばスイッチ203通過のレイテンシを300nsとする。
次に、プロセッサモジュール205において、共有バス利用可能率に基づき、パケットにサービスを与えるかどうかの判断を行う。
例えば、結果、プロセッサモジュールでのサービス時間が1usだったとする。
以上、データジェネレータ201での100Bytesのパケット生成からプロセッサモデル205でのパケットへのサービス提供までに発生したレイテンシは800ns+300ns+1usで2.1usとなり、システム内データ伝送容量は100Bytes/2.1us=752.4MB/sの伝送容量を持つシステムとして評価される。
以上示した実施例のプロセッサモジュールでは、行っている計算はネットワークパケットのRead、Writeに係るI/O情報を受け取り、あらかじめ決められた共有バス利用可能率に従い、パケットにサービスを与えるかどうかの判断である。
プロセッサユニット計算部(プロセッサ共有バス確率計算モデル)1200は、サービスを与える場合はサービスを与え、与えない場合はネットワークインタフェース内のバッファにパケットデータを保持し、所定のレイテンシ時間を与える、という計算を行う。
これら処理は図11に示すプロセッサモデルの処理を行う場合に発生するプロセッササイクルでのマルチレート計算が発生せず、高速処理が可能である。
例えば、ネットワークイベント1回に対し、せいぜい、本実施例でのプロセッサモジュールの計算は、4サイクル程度の計算で済むと考えられる。
これは、従来のマルチレート計算での計算サイクルに比べ、2桁程度高速な処理が可能としている。以上から、実利用可能な計算時間内で、実利用可能な計算時間内で、システムのネットワーク性能として、ネットワークの伝送容量を評価可能とした。
また、システムのネットワークの性能として、他に例えばネットワークの各モジュールでのバッファ使用量の評価が組込みなどリアルタイム性を要求されるシステムにおいては重要である。
各モジュール201、203、205のバッファ使用量は、モジュールの入力伝送容量、出力伝送容量の変化の仕方によって決定される。ネットワークパケットは各モジュールに入力した時点でバッファに格納される。この時点で、バッファ使用量は1増加する。
また、パケットが出力可能な場合、バッファからパケットを取出し後段に転送するため、バッファ使用量は1減少する。
システムが破たんしないようにするには、バッファ使用量の上限値をあらかじめ評価し求め、この上限値以上のバッファを具備するシステムを構築する必要がある。
バッファの使用量は、ネットワークトポロジと、プロセッサモジュールのCPU coreの処理負荷状況に影響を受ける。つまり、ネットワークトポロジが、複数のジェネレータからのネットワークパケットがスイッチを経由し単一のプロセッサモジュールで処理するようなトポロジとなっている場合、スイッチの出力ポートでは複数のジェネレータからのパケットデータが輻輳を起こし、伝送容量が減少する。
これにより、スイッチの入力ポートのバッファの消費速度が減少し、バッファの使用量が増加する場合がある。また、プロセッサモジュールのCPU coreが高負荷で、プロセッサ共有バスの利用可能率が低い場合、プロセッサのネットワークインタフェースの伝送容量が減少する事となり、このプロセッサにデータを供給しているポートのバッファの利用量が増加する場合がある。
極端な場合は、ポートの入力、出力の関係から、バッファがフル状態となり、これ以上新たなパケットデータを積むことが出来ない状況も発生する。
すなわち、システムシミュレーションとしては、伝送容量をモデリングする事と、ポート内のバッファの動きをモデリングできればよい事となる。
すなわち、システムシミュレーションとしては、伝送容量をモデリングする事と、ポート内のバッファの動きをモデリングできればよい事となる。
伝送容量は本実施例においてシステムシミュレーション評価により算出可能とした。
バッファ使用量については、各モジュールのバッファに、最大使用量を記録する記録部を設ける。
システムシミュレーション完了後、全モジュールの最大使用量を、性能評価値としてGUI、もしくはテキスト情報として出力する。
バッファ使用量については、各モジュールのバッファに、最大使用量を記録する記録部を設ける。
システムシミュレーション完了後、全モジュールの最大使用量を、性能評価値としてGUI、もしくはテキスト情報として出力する。
以上から、実利用可能な計算時間内で、システムのネットワーク性能として、バッファ利用量を評価可能とした。
本実施例では、システムシミュレーション評価として、ネットワーク性能評価を行うシステムシミュレーション装置として、リアルタイム性能を評価する例を説明する。
本実施例によるシステムシミュレーション装置は、システム構成モデル定義部101、シミュレーションパラメタ入力部102、パケット抽出部位選択部103、パケット抽出設定入力部104、ネットワークシミュレーション部105、ネットワークパケット情報抽出部106、プロセッサユニット計算部(リアルタイム性評価モデル)1300、性能表示部108からなる装置である。
図1のシステムシミュレーション装置100のうち、プロセッサユニット計算部107をプロセッサユニット計算部(リアルタイム性評価モデル)1300に変更したものである。その他の構成は、既に説明した図1に示された同一の符号を付された構成と、同一の機能を有するので、説明を省略する。
プロセッサユニット計算部のリアルタイム性評価モデルとは、プロセッサユニットにおけるサービス時間である、プロセッサユニットにデータが到着してからデータ処理が完了するまでの時間を、パケットが持つ優先度と処理内容とサイズを元にして計算し求める計算方式の事である。
リアルタイム性評価モデルの詳細な説明を下記に示す。
システムのリアルタイム性を評価するには、パケットがデータジェネレータで生成されてから、プロセッサモジュールで規定時間(デッドライン)までにサービスを受けるまでの時間を算出し評価する。 プロセッサユニット計算部としては、プロセッサユニットにおけるサービス時間である、プロセッサユニットにデータが到着してからデータ処理が完了するまでの時間を、パケットが持つ優先度と処理内容とサイズを用いて計算し、サービス時間として算出する方式に簡略化が可能である。
システムのリアルタイム性を評価するには、パケットがデータジェネレータで生成されてから、プロセッサモジュールで規定時間(デッドライン)までにサービスを受けるまでの時間を算出し評価する。 プロセッサユニット計算部としては、プロセッサユニットにおけるサービス時間である、プロセッサユニットにデータが到着してからデータ処理が完了するまでの時間を、パケットが持つ優先度と処理内容とサイズを用いて計算し、サービス時間として算出する方式に簡略化が可能である。
この処理のためにはネットワークパケットの”priority”と”Transaction”と”Size”の情報があればよい。
リアルタイム性能を計算するプロセッサモデルでは、priority(優先度)毎に用意されたTransaction(処理)内容別の標準的なサービス時間を値として持っている。
リアルタイム性能を計算するプロセッサモデルでは、priority(優先度)毎に用意されたTransaction(処理)内容別の標準的なサービス時間を値として持っている。
また、プロセッサの処理速度にパケットのSize情報を乗算し、先ほどのサービス時間と加算し、最終的なネットワークパケットへのサービス時間を求める。
また、リアルタイム性のサービス時間にはジッタと呼ばれるある一定の揺れが存在する。これを求めるパラメタ(時間)を持っておき、この範囲の揺れをランダムに求め、サービス時間に加算する。
また、リアルタイム性のサービス時間にはジッタと呼ばれるある一定の揺れが存在する。これを求めるパラメタ(時間)を持っておき、この範囲の揺れをランダムに求め、サービス時間に加算する。
以上示した実施例のプロセッサモジュールでは、行っている計算はネットワークパケットの”priority”と”Transaction”と”Size”の情報を受け取り、あらかじめ決められたプロセッサモジュールのリアルタイム性能情報に従い、パケットにサービスをどれだけ与えるか、という計算を行っているのみである。
以上が、リアルタイム性評価モデルの詳細な説明である。
図13は、プロセッサユニット計算部(リアルタイム性評価モデル)1300の計算内容を説明する図の例である。
図13は、プロセッサユニット計算部(リアルタイム性評価モデル)1300の計算内容を説明する図の例である。
本実施例によるプロセッサユニット計算部(リアルタイム性評価モデル)1300は、プロセッサユニット計算データ1301、バスビジー状態1302、標準サービス時間付与部1303、標準サービス時間記憶部1304、パケットサイズサービス時間計算部1305、サービスジッタ記憶部1306、サービス時間計算部(リアルタイム性評価モデル)1307、からなる。
プロセッサユニット計算部(リアルタイム性評価モデル)1300を用いたネットワーク性能評価を行うシステムシミュレーション装置として、リアルタイム性能を評価する流れの一例について、図13を用いて説明する。
プロセッサユニット計算データ1301は、あるサイズのデータを内包するパケットデータで、ジェネレータ201から生成されたものである。
標準サービス時間付与部1303は、優先度、処理別の標準的なサービス時間を求め、プロセッサユニット計算データのパラメタにサービス時間を設定する。
標準サービス時間付与部1303で付与するサービス時間は、あらかじめ、priority(優先度)毎に用意されたTransaction(処理)内容別の標準的なサービス時間を、標準サービス時間記憶部1304に記憶し、値として持っている。
パケットサイズサービス時間計算部1305は、プロセッサの処理速度にパケットのSize情報を乗算し、先ほどのサービス時間と加算し、最終的なネットワークパケットへのサービス時間を求め、プロセッサユニット計算データ1301のパラメタにサービス時間を設定する。
また、リアルタイム性のサービス時間にはジッタと呼ばれるある一定の揺れが存在する。これを求めるパラメタ(時間)はサービスジッタ記憶部1306に保持しておき、この範囲の揺れをランダムに求め、パケットサイズサービス時間計算部1305にてサービス時間に加算する。
サービス時間計算部(リアルタイム性評価モデル)1307は、プロセッサユニット計算データ1301に対し、データ伝送レイテンシのサービス時間を計算し、プロセッサユニット計算データ1301の伝送レイテンシパラメタにサービス時間を設定する。
以上示した、プロセッサユニット計算部(リアルタイム性評価モデル)1300を用いた、ネットワーク性能評価を行うシステムシミュレーション装置として、リアルタイム性能を評価するシステムシミュレーション装置の例を説明する
パケット抽出部位選択部103において、ネットワーク性能のリアルタイム性評価に必要なネットワークパケットから抽出する部位を選択する。例としてダイアログでは、”priority”と”Transaction”と”Size”を選択する。
パケット抽出部位選択部103において、ネットワーク性能のリアルタイム性評価に必要なネットワークパケットから抽出する部位を選択する。例としてダイアログでは、”priority”と”Transaction”と”Size”を選択する。
選択された情報はパケット抽出部設定入力部104に入力され、ネットワークパケット情報抽出部106とプロセッサユニット計算部(リアルタイム性評価モデル)1300が必要なパラメタに変換し、それぞれの部位に入力する。
例えば、ネットワークパケット情報抽出部106とプロセッサユニット計算部(リアルタイム性評価モデル)1300には、ネットワークパケットから抽出する部位”priority”と”Transaction”と”Size”が選択されたことを示す情報をパラメタとして入力する。
これにより、ネットワークパケット情報抽出部106は、ネットワークパケットから”priority”と”Transaction”と”Size”を抽出するモードとなる。
また、プロセッサユニット計算部(リアルタイム性評価モデル)1300内のプロセッサモジュールでは、ネットワークパケットから抽出する部位”priority”と”Transaction”と”Size”が選択されたことを示す情報から、プロセッサのリアルタイム性能のみの計算を行うモードとなる。
図13に示すのは、プロセッサモジュールの、リアルタイム性計算モデルの性能計算の計算内容を示す図である。
システムのリアルタイム性能を評価する場合、パケットがデータジェネレータで生成されてから、プロセッサモジュールで規定時間(デッドライン)までにサービスを受けるまでの時間を算出する。
すなわちプロセッサユニット計算部としては、機能として、ある優先度と処理内容とサイズを持ったパケットに対し、所定のデッドラインまでにサービスを与える、という処理を行えばよい。
この処理のためにはネットワークパケットの”priority”と”Transaction”と”Size”の情報があればよい。
リアルタイム性能を計算するプロセッサモデルでは、priority(優先度)毎に用意されたTransaction(処理)内容別の標準的なサービス時間を値として持っている。
また、プロセッサの処理速度にパケットのSize情報を乗算し、先ほどのサービス時間と加算し、最終的なネットワークパケットへのサービス時間を求める。
また、リアルタイム性のサービス時間にはジッタと呼ばれるある一定の揺れが存在する。これを求めるパラメタ(時間)を持っておき、この範囲の揺れをランダムに求め、サービス時間に加算する。
以上示した実施例のプロセッサモジュールでは、行っている計算はネットワークパケットの”priority”と”Transaction”と”Size”の情報を受け取り、あらかじめ決められたプロセッサモジュールのリアルタイム性能情報に従い、パケットにサービスをどれだけ与えるか、という計算を行っているのみである。
これら処理は図11に示すプロセッサモデルの処理を行う場合に発生するプロセッササイクルでのマルチレート計算が発生せず、高速処理が可能である。
例えば、ネットワークイベント1回に対し、せいぜい、本実施例でのプロセッサモジュールの計算は、4サイクル程度の計算で済むと考えられる。
これは、従来のマルチレート計算での計算サイクルに比べ、2桁程度高速な処理が可能としている。
以上から、実利用可能な計算時間内で、システムのリアルタイム性能を評価可能とした。
以上から、実利用可能な計算時間内で、システムのリアルタイム性能を評価可能とした。
本発明に係るシステムシミュレーション装置の実施の形態について、システムシミュレーションにより評価したい内容を選択させるシステムシミュレーション装置の例を説明する。
本実施例は、パケットの抽出する情報を選択させるのではなく、システムシミュレーションにより評価したい内容を選択させるシステムシミュレーション装置の例を説明する。
本実施例によるシステムシミュレーション装置は、システム構成モデル定義部101、シミュレーションパラメタ入力部102、システム評価内容選択部、システム評価内容設定入力部、ネットワークシミュレーション部105、ネットワークパケット情報抽出部106、プロセッサユニット計算部107、性能表示部108からなる装置である。
図1のシステムシミュレーション装置100のうち、パケット抽出部位選択部103、パケット抽出設定入力部104を、システム評価内容選択部、システム評価内容設定入力部に変更したものである。その他の構成は、既に説明した図1に示された同一の符号を付された構成と、同一の機能を有するので、説明を省略する。
図14は、システム評価内容選択部のGUIダイアログの例である。
システム評価内容選択部1400において、システムシミュレーション装置で行いたい評価内容を選択する。
例として図14では”ネットワーク性能、バッファ使用量評価”、”ネットワーク性能、バッファ使用量評価(双方向パケット処理)”、”リアルタイム性能評価”の何れか、もしくはそれらの組合せで選択する。
選択された情報は、システム評価内容設定入力部に入力され、ネットワークパケット情報抽出部106とプロセッサユニット計算部107が必要なパラメタに自動的に変換し、それぞれの部位に入力する。
たとえば、システム評価内容選択部1400において”ネットワーク性能、バッファ使用量評価”が選択された場合、ネッワークパケット情報抽出部106にはネットワークパケットから抽出する部位”Transaction Type”と”Transaction”を選択する事を示す情報を、パラメタとして入力する。
また、プロセッサユニット計算部107には、プロセッサ共有バス確率計算モデルを用いるよう示す情報を、パラメタとして入力する。
これにより、ネットワークパケット情報抽出部106は、ネットワークパケットから”Transaction Type”と”Transaction”を抽出するモードとなる
また、プロセッサユニット計算部107内のプロセッサモジュールでは、プロセッサ共有バス確率計算モデルを用いるモードとなり、プロセッサのバスI/Oのみの性能計算を行うモードとなる。
また、プロセッサユニット計算部107内のプロセッサモジュールでは、プロセッサ共有バス確率計算モデルを用いるモードとなり、プロセッサのバスI/Oのみの性能計算を行うモードとなる。
以上本実施例によるシステムシミュレーション装置により、任意のシステム評価内容を選択する事で、システムシミュレーション装置が自動でネットワークパケットの情報抽出選択とプロセッサユニット計算部のパラメタ設定を完了し、システムシミュレーション評価の高速処理を実現、実用的な計算時間内でのシステムシミュレーション評価を可能とする。
本発明に係るシステムシミュレーション装置の実施の形態について、プロセッサユニット計算部にて計算したい内容を選択するシステムシミュレーション装置の例を説明する。
図15は、本実施例のシステムシミュレーション装置の構成図の例である。
図15は、本実施例のシステムシミュレーション装置の構成図の例である。
本実施例は、パケットの抽出する情報を選択させるのではなく、プロセッサユニット計算部にて計算したい内容を選択させるシステムシミュレーション装置の例を説明する。
本実施例によるシステムシミュレーション装置1500は、システム構成モデル定義部101、シミュレーションパラメタ入力部102、プロセッサユニット計算部 演算内容選択部1501、プロセッサユニット計算部 演算内容設定入力部1502、ネットワークシミュレーション部105、ネットワークパケット情報抽出部106、プロセッサユニット計算部107、性能表示部108からなる装置である。
図1のシステムシミュレーション装置100のうち、パケット抽出部位選択部103、パケット抽出設定入力部104を、プロセッサユニット計算部 演算内容選択部1501、プロセッサユニット計算部 演算内容設定入力部1502に変更したものである。その他の構成は、既に説明した図1に示された同一の符号を付された構成と、同一の機能を有するので、説明を省略する。
図16は、プロセッサユニット計算部 演算内容選択部1501のGUIダイアログの例である。
プロセッサユニット計算部 演算内容選択部1501において、プロセッサユニット計算部107で行いたい演算内容を選択する。
例として図16では”共有バス負荷計算”、”双方向ネットワーク処理”、”リアルタイム処理評価”の何れか、もしくはそれらの組合せで選択する。
選択された情報は、プロセッサユニット計算部 演算内容設定入力部1502に入力され、ネットワークパケット情報抽出部106とプロセッサユニット計算部107が必要なパラメタに自動的に変換し、それぞれの部位に入力する。
たとえば、プロセッサユニット計算部 演算内容設選択部1501において”共有バス負荷計算”が選択された場合、ネッワークパケット情報抽出部106にはネットワークパケットから抽出する部位”Transaction Type”と”Transaction”を選択する事を示す情報を、パラメタとして入力する。
また、プロセッサユニット計算部107には、プロセッサ共有バス確率計算モデルを用いるよう示す情報を、パラメタとして入力する。
これにより、ネットワークパケット情報抽出部106は、ネットワークパケットから”Transaction Type”と”Transaction”を抽出するモードとなる。
また、プロセッサユニット計算部107内のプロセッサモジュールでは、プロセッサ共有バス確率計算モデルを用いるモードとなり、プロセッサのバスI/Oのみの性能計算を行うモードとなる。
以上示した本実施例のシステムシミュレーション装置により、任意のプロセッサユニット計算部での演算内容を選択する事で、システムシミュレーション装置が自動でネットワークパケットの情報抽出選択とプロセッサユニットの高速処理を実現し、実用的な計算時間内でのシステムシミュレーション評価を可能とする。
本発明に係るシステムシミュレーション装置の実施の形態について、システムシミュレーション装置におけるプロセッサユニット計算部へのネットワークパケットの入力を単一方向ではなく、ネットワークシミュレータ部とプロセッサユニット計算部の間で双方向処理に対応する構成のシステムシミュレーション装置の例を説明する。
図17は、本実施例におけるシステムシミュレーション装置1600を示す構成図の例である。
図17は、本実施例におけるシステムシミュレーション装置1600を示す構成図の例である。
本実施例によるシステムシミュレーション装置1600は、システム構成モデル定義部101、シミュレーションパラメタ入力部102、パケット抽出部位選択部103、パケット抽出設定入力部104、ネットワークシミュレーション部105、ネットワークパケット情報抽出部106、プロセッサユニット計算部107、性能表示部108、パケットデータ蓄積部1609、バッファ1610、パケットデータ応答部1611からなる装置である。
図1のシステムシミュレーション装置100に、パケットデータ蓄積部1609、バッファ1610、パケットデータ応答部1611を追加したものである。その他の構成は、既に説明した図1に示された同一の符号を付された構成と、同一の機能を有するので、説明を省略する。
本実施例は、プロセッサユニット計算部107による処理結果をネットワークシミュレーション部105で再利用する際の実施例である。
ネットワークシミュレーション部105から宛先IDやペイロードを含むネットワークパケットをパケットデータ蓄積部1609を通じてプロセッサユニット計算部107とバッファ1610に送信する。
プロセッサユニット計算部107の計算結果を、バッファ1610から取り出したネットワークパケットに付加し、ネットワークシミュレーション部105に応答パケットとして送信する。
本実施例によるシステムシミュレーション装置1600は、たとえば、分散コンピューティングのシステムをシミュレーションするのに用いられる。
複数のプロセッサユニットを分散し、相互にネットワークで接続する分散コンピューティングのシステムにおいては、プロセッサユニット計算部に処理データを送り計算処理したのち、処理結果をネットワークシミュレーション部に送り、ネットワークシミュレーション部にて再利用する双方向処理を行う。
本実施例によらない従来例では、数百倍のマルチレート計算が必要であり、実計算機の計算量は発散し、実用的な計算時間内で収まらない場合が存在したのに対し、本実施例によるシステムシミュレーション装置1600では、実計算機の計算量の削減効果が得られ、実計算機の計算量は発散せず、実用的な計算時間内で収まる。
パケットデータ蓄積部1609とバッファ1610、パケットデータ応答部1611は、ネットワークパケット情報抽出部106にて失われるネットワークパケット情報を保持し再利用する目的のため、必須である。
本実施例では、ネットワークパケット情報抽出部106においてネットワークパケットから抽出した情報を、プロセッサユニット計算部107が計算に用いる。
プロセッサユニット計算部107での計算は、マルチレート計算が不要となり、ネットワークイベントのイベント処理に比べ数倍程度の実計算機の計算サイクルで実現可能となる。
プロセッサユニット計算部107での計算は、ネットワークパケット情報抽出部106においてネットワークパケットから抽出した情報を用い、ネットワークパケット情報抽出部106において抽出する情報以外は失われてしまうため、そのままでは、プロセッサユニット計算部107での計算結果をネットワークシミュレーション部105にて再利用する双方向処理は不可能である。
このため、パケットデータ蓄積部1609は、ネットワークシミュレーション部105から宛先IDやペイロードを含むネットワークパケットを、プロセッサユニット計算部107とバッファ1610に送信する。
バッファ1610は、プロセッサユニット計算部107で処理が行われているネットワークパケットデータを蓄積し保持する。
パケットデータ応答部1611は、プロセッサユニット計算部107の計算結果を、バッファ1610から取り出したネットワークパケットに付加し、ネットワークシミュレーション部105に応答パケットとして送信する。
以上により、プロセッサユニット計算部107による処理結果をネットワークシミュレーション部105で再利用する双方向処理を可能にする。
本発明に係るシステムシミュレーション装置の実施の形態について、プロセッサユニット計算部を単一ではなく、複数個用いた構成のシステムシミュレーション装置の例を説明する。
図18は、本実施例におけるシステムシミュレーション装置1700を示す構成図の例である。
図18は、本実施例におけるシステムシミュレーション装置1700を示す構成図の例である。
本実施例によるシステムシミュレーション装置1700は、システム構成モデル定義部101、シミュレーションパラメタ入力部102、パケット抽出部位選択部103、パケット抽出設定入力部104、ネットワークシミュレーション部105、第1ネットワークパケット情報抽出部1706、第2ネットワークパケット情報抽出部1707、第nネットワークパケット情報抽出部1708、第1プロセッサユニット計算部1709、第2プロセッサユニット計算部1710、第nプロセッサユニット計算部1711、性能表示部108からなる装置である。
図1のシステムシミュレーション装置100のうち、ネットワークパケット情報抽出部106を、第1ネットワークパケット情報抽出部1706、第2ネットワークパケット情報抽出部1707、第nネットワークパケット情報抽出部1708に、プロセッサユニット計算部107を、第1プロセッサユニット計算部1709、第2プロセッサユニット計算部1710、第nプロセッサユニット計算部1711に変更したものである。その他の構成は、既に説明した図1に示された同一の符号を付された構成と、同一の機能を有するので、説明を省略する。
プロセッサユニット計算部での大規模なプロセッサユニットを含む構成は、各種制約のため、単一のプロセッサユニットで構成できない場合が存在する。
これに対し、第1ネットワークパケット情報抽出部1706、第2ネットワークパケット情報抽出部1707、第nネットワークパケット情報抽出部1708、第1プロセッサユニット計算部1709、第2プロセッサユニット計算部1710、第nプロセッサユニット計算部1711を構成する事でこれら制約を解決する。
本実施例では、システムシミュレーション装置として、プロセッサユニット計算部のハードウェア分割を行うシステムシミュレーション装置の例を説明する。
図19は、本実施例のシステムシミュレーション装置の構成図の例である。 本実施例によるシステムシミュレーション装置1900は、システム構成モデル定義部101、シミュレーションパラメタ入力部102、パケット抽出部位選択部103、パケット抽出設定入力部104、ネットワークシミュレーション部105、ネットワークパケット情報抽出部106、プロセッサユニット計算ハードウェア部1907、性能表示部108からなる装置である。
図19は、本実施例のシステムシミュレーション装置の構成図の例である。 本実施例によるシステムシミュレーション装置1900は、システム構成モデル定義部101、シミュレーションパラメタ入力部102、パケット抽出部位選択部103、パケット抽出設定入力部104、ネットワークシミュレーション部105、ネットワークパケット情報抽出部106、プロセッサユニット計算ハードウェア部1907、性能表示部108からなる装置である。
図1のシステムシミュレーション装置100のうち、プロセッサユニット計算部107をプロセッサユニット計算ハードウェア部1907に変更したものである。その他の構成は、既に説明した図1に示された同一の符号を付された構成と、同一の機能を有するので、説明を省略する。
本実施例は、システムシミュレーション装置において、ネットワークパケットから抽出する部位を選択する選択部103と、設定に応じてネットワークパケットから情報を抽出する抽出部106とを具備し、プロセッサユニット計算部をハードウェアで構成する事とした。
図20は、本実施例によるプロセッサユニット計算ハードウェアへのパケット抽出データ入力時間を説明する図の例である。
例として、1000プロセッサモジュールに対するバスI/O情報の入力時間を示す。
例として、1000プロセッサモジュールに対するバスI/O情報の入力時間を示す。
図21は、従来例によるプロセッサユニット計算部へのパケット入力時間を説明する図の例である。
本実施例では、パケット抽出部位選択部103、パケット抽出設定入力部104、ネットワークパケット情報抽出部106により1ネットワークパケット入力にかかる時間が1/5まで減少している。
つまり、従来例では10000サイクル程度かかっていたネットワーク情報伝送時間が、本実施例によるシステムシミュレーション装置では1/5の2000サイクル程度まで減少する。
さらに、システムのシミュレーション評価は、100万パケット程度を評価に用いる。
すなわち、前述の伝送時間がさらに100万回超積算する事となるため、従来例に対し得られるプロセッサユニット計算ハードウェアへの通信量の削減効果が得られる。
すなわち、前述の伝送時間がさらに100万回超積算する事となるため、従来例に対し得られるプロセッサユニット計算ハードウェアへの通信量の削減効果が得られる。
以上から、ネットワークシミュレーション部105とプロセッサユニット計算部間インタフェース速度向上と、これによるプロセッサユニット計算部のハードウェアアクセラレート分割を実現し、システムシミュレーション装置の速度向上を達成する。
以上から本実施例は、ネットワークシミュレーション部105とプロセッサユニット計算部ハードウェア間インタフェース速度向上によるプロセッサユニット計算部のハードウェア分割を可能とした。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
100 システムシミュレーション装置
101、501 システム構成モデル定義部
102、502 シミュレーションパラメタ入力部
103 パケット抽出部位選択部
104 パケット抽出設定入力部
105、505 ネットワークシミュレーション部
106 ネットワークパケット情報抽出部
107、507 プロセッサユニット計算部
108、508 性能表示部
200 システム構成モデル定義部のGUI(グラフィカルユーザインタフェース)
201 データジェネレータモジュール
202 伝送路モジュール
203 スイッチモジュール
205 プロセッサモジュール
300 パケット抽出部位選択部103のGUIダイアログ
401、402、403、404、405、406、410、411、420、421、430、440、441、442、443、444 システムシミュレーション装置の処理を説明する個別フロー
500 従来のシステムシミュレーション装置
601、602、603、604、610、611、621、630、640、641、642、643、644 従来のシステムシミュレーション装置の処理を説明する個別フロー
801 ネットワークパケット入力インタフェース
802 パケットフィールド選択部
803 プロセッサユニット計算部情報生成部
901 ネットワークパケット
1100 プロセッサモデル
1101 ネットワークインタフェース
1102 メモリ
1103 プロセッサ共有バス
1104 CPU core
1200 プロセッサユニット計算部(プロセッサ共有バス確率計算モデル)
1201 プロセッサユニット計算データ
1202 バスビジー状態
1203 バス有効/無効切り替え部
1204 サービス時間計算部(プロセッサ共有バス確率計算モデル)
1205 バス利用可能率
1300 プロセッサユニット計算部(リアルタイム性計算モデル)
1301 プロセッサユニット計算データ
1302 バスビジー状態
1303 標準サービス時間付与部
1304 標準サービス時間記憶部
1305 パケットサイズサービス時間計算部
1306 サービスジッタ記憶部
1307 サービス時間計算部(リアルタイム性評価モデル)
1400 システム評価内容選択部のGUIダイアログの例
1500 実施例5に係るシステムシミュレーション装置
1501 プロセッサユニット計算部 演算内容選択部
1502 プロセッサユニット計算部 演算内容設定入力部
1501 プロセッサユニット計算部 演算内容選択部のGUIダイアログの例
1600 実施例6に係るシステムシミュレーション装置
1609 パケットデータ蓄積部
1610 バッファ
1611 パケットデータ応答部
1700 実施例7に係るシステムシミュレーション装置
1706 第1ネットワークパケット情報抽出部
1707 第2ネットワークパケット情報抽出部
1708 第nネットワークパケット情報抽出部
1709 第1プロセッサユニット計算部
1710 第2プロセッサユニット計算部
1711 第nプロセッサユニット計算部
1900 実施例8に係るシステムシミュレーション装置
1907 プロセッサユニット計算ハードウェア部
101、501 システム構成モデル定義部
102、502 シミュレーションパラメタ入力部
103 パケット抽出部位選択部
104 パケット抽出設定入力部
105、505 ネットワークシミュレーション部
106 ネットワークパケット情報抽出部
107、507 プロセッサユニット計算部
108、508 性能表示部
200 システム構成モデル定義部のGUI(グラフィカルユーザインタフェース)
201 データジェネレータモジュール
202 伝送路モジュール
203 スイッチモジュール
205 プロセッサモジュール
300 パケット抽出部位選択部103のGUIダイアログ
401、402、403、404、405、406、410、411、420、421、430、440、441、442、443、444 システムシミュレーション装置の処理を説明する個別フロー
500 従来のシステムシミュレーション装置
601、602、603、604、610、611、621、630、640、641、642、643、644 従来のシステムシミュレーション装置の処理を説明する個別フロー
801 ネットワークパケット入力インタフェース
802 パケットフィールド選択部
803 プロセッサユニット計算部情報生成部
901 ネットワークパケット
1100 プロセッサモデル
1101 ネットワークインタフェース
1102 メモリ
1103 プロセッサ共有バス
1104 CPU core
1200 プロセッサユニット計算部(プロセッサ共有バス確率計算モデル)
1201 プロセッサユニット計算データ
1202 バスビジー状態
1203 バス有効/無効切り替え部
1204 サービス時間計算部(プロセッサ共有バス確率計算モデル)
1205 バス利用可能率
1300 プロセッサユニット計算部(リアルタイム性計算モデル)
1301 プロセッサユニット計算データ
1302 バスビジー状態
1303 標準サービス時間付与部
1304 標準サービス時間記憶部
1305 パケットサイズサービス時間計算部
1306 サービスジッタ記憶部
1307 サービス時間計算部(リアルタイム性評価モデル)
1400 システム評価内容選択部のGUIダイアログの例
1500 実施例5に係るシステムシミュレーション装置
1501 プロセッサユニット計算部 演算内容選択部
1502 プロセッサユニット計算部 演算内容設定入力部
1501 プロセッサユニット計算部 演算内容選択部のGUIダイアログの例
1600 実施例6に係るシステムシミュレーション装置
1609 パケットデータ蓄積部
1610 バッファ
1611 パケットデータ応答部
1700 実施例7に係るシステムシミュレーション装置
1706 第1ネットワークパケット情報抽出部
1707 第2ネットワークパケット情報抽出部
1708 第nネットワークパケット情報抽出部
1709 第1プロセッサユニット計算部
1710 第2プロセッサユニット計算部
1711 第nプロセッサユニット計算部
1900 実施例8に係るシステムシミュレーション装置
1907 プロセッサユニット計算ハードウェア部
Claims (9)
- シミュレーションを行うシステムの構成を定義するシステム構成モデル定義部と、
前記システム構成モデル定義部で定義されたシステムを構築するネットワークシミュレーション部と、
前記ネットワークシミュレーション部で構築されたシステムのシミュレーション計算を行うプロセッサユニット計算部と、
システムシミュレーション計算結果を表示する性能表示部と、
を有するシステムシミュレーション装置であって、、
前記定義されたシステム構成モデルを、前記ネットワークシミュレーション部の構成情報に変換して、該構成情報を前記ネットワークシミュレーション部に入力するとともに、前記プロセッサユニット計算部の構成情報に変換して、該構成情報を前記プロセッサユニット計算部に入力するシミュレーションパラメタ入力部と、
ネットワークパケットから特定の情報を抽出し、前記プロセッサユニット計算部に入力するネットワークパケット情報抽出部と、
前記ネットワークパケット情報抽出部でネットワークパケットから抽出する部位の選択を行うパケット抽出部位選択部と、
前記パケット抽出部位選択部で選択された情報を前記ネットワークパケット情報抽出部と前記プロセッサユニット計算部に入力するパケット抽出設定入力部と、を有し、
前記パケット抽出部位選択部で選択された情報を用いて前記ネットワークパケット情報抽出部によりネットワークパケットから選択された情報を抽出し、前記プロセッサユニット計算部で抽出された当該情報を用いてシミュレーション計算を行うことを特徴とするシステムシミュレーション装置。 - 請求項1に記載のシステムシミュレーション装置であって、
前記プロセッサユニット計算部として、プロセッサユニット計算データ、バスビジー状態、バス有効/無効切り替え部、サービス時間計算部(プロセッサ共有バス確率計算モデル)、バス利用可能率、からなるプロセッサユニット計算部(プロセッサ共有バス確率計算モデル)を有することを特徴とするシステムシミュレーション装置。 - 請求項1に記載のシステムシミュレーション装置であって、
前記プロセッサユニット計算部として、プロセッサユニット計算データ、バスビジー状態、標準サービス時間付与部、標準サービス時間記憶部、パケットサイズサービス時間計算部、サービスジッタ記憶部、サービス時間計算部(リアルタイム性評価モデル)、からなる、プロセッサユニット計算部(リアルタイム性評価モデル)を有することを特徴とするシステムシミュレーション装置。 - 請求項1に記載のシステムシミュレーション装置であって、
前記パケット抽出部位選択部としてシステム評価内容選択部を有し、
前記パケット抽出設定入力部としてシステム評価内容設定入力部を有し、
任意のシステム評価内容を選択する事で、システムシミュレーション装置が自動でネットワークパケットの情報抽出選択とプロセッサユニット計算部のパラメタ設定を完了することを特徴とするシステムシミュレーション装置。 - 請求項1に記載のシステムシミュレーション装置であって、
前記パケット抽出部位選択部として、プロセッサユニット計算部で行いたい演算内容を選択するプロセッサユニット計算部 演算内容選択部を有し、
前記パケット抽出設定入力部として、ネットワークパケット情報抽出部とプロセッサユニット計算部が必要なパラメタに自動的に変換し、それぞれの部位に入力するプロセッサユニット計算部 演算内容設定入力部を有し、
任意のプロセッサユニット計算部での演算内容を選択する事で、
システムシミュレーション装置が自動でネットワークパケットの情報抽出選択とプロセッサユニット計算部のパラメタ設定を完了することを特徴とするシステムシミュレーション装置。 - 請求項1に記載のシステムシミュレーション装置であって、
前記システムシミュレーション装置にパケットデータ蓄積部、バッファ、パケットデータ応答部を有し、
プロセッサユニット計算部による処理結果をネットワークシミュレーション部で再利用する双方向処理を行うことを特徴とするシステムシミュレーション装置。 - 請求項1に記載のシステムシミュレーション装置であって、
前記プロセッサユニット計算部として第1プロセッサユニット計算部、第2プロセッサユニット計算部、第nプロセッサユニット計算部を有することを特徴とするシステムシミュレーション装置。 - 請求項1に記載のシステムシミュレーション装置であって、
前記プロセッサユニット計算部としてプロセッサユニット計算ハードウェアを有することを特徴とするシステムシミュレーション装置。 - 請求項1に記載のシステムシミュレーション装置であって、
ユーザ設定入力画面を有し、該ユーザ設定入力画面でシステム構成モデル定義の設定及びパケット抽出部位選択の設定入力することができることを特徴とするシステムシミュレーション装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012013677A JP2013152653A (ja) | 2012-01-26 | 2012-01-26 | システムシミュレーション装置 |
PCT/JP2012/081018 WO2013111451A1 (ja) | 2012-01-26 | 2012-11-30 | システムシミュレーション装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012013677A JP2013152653A (ja) | 2012-01-26 | 2012-01-26 | システムシミュレーション装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013152653A true JP2013152653A (ja) | 2013-08-08 |
Family
ID=48873192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012013677A Pending JP2013152653A (ja) | 2012-01-26 | 2012-01-26 | システムシミュレーション装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2013152653A (ja) |
WO (1) | WO2013111451A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015233283A (ja) * | 2014-06-10 | 2015-12-24 | ブル エスエーエスBull Sas | 相互接続ネットワーク・シミュレータおよび相互接続ネットワークをシミュレーションする方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0535534A (ja) * | 1991-07-31 | 1993-02-12 | Mitsubishi Electric Corp | シミユレーシヨンシステム |
JPH07281925A (ja) * | 1994-04-06 | 1995-10-27 | Fujitsu Ltd | マルチプロセッサシミュレーション装置 |
-
2012
- 2012-01-26 JP JP2012013677A patent/JP2013152653A/ja active Pending
- 2012-11-30 WO PCT/JP2012/081018 patent/WO2013111451A1/ja active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015233283A (ja) * | 2014-06-10 | 2015-12-24 | ブル エスエーエスBull Sas | 相互接続ネットワーク・シミュレータおよび相互接続ネットワークをシミュレーションする方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2013111451A1 (ja) | 2013-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102209875B1 (ko) | 최소 스토리지를 활용한 플렉시블 링크 폭들을 갖는 라우터에서 크레딧 흐름 제어 방식 | |
KR101467932B1 (ko) | 상호접속부에서 멀티-쓰레드 오더링된 큐들에 대한 공유 저장기 | |
Sriram | SPECI, a simulation tool exploring cloud-scale data centres | |
US8229723B2 (en) | Performance software instrumentation and analysis for electronic design automation | |
US8458334B2 (en) | Optimized capacity planning | |
Castiglione et al. | Modeling performances of concurrent big data applications | |
Mubarak et al. | A case study in using massively parallel simulation for extreme-scale torus network codesign | |
Wang et al. | Towards synthesizing realistic workload traces for studying the hadoop ecosystem | |
Mandal et al. | Analytical performance models for NoCs with multiple priority traffic classes | |
CN103858117A (zh) | 访问控制装置、中继装置、访问控制方法、计算机程序 | |
US8468006B2 (en) | Method of combined simulation of the software and hardware parts of a computer system, and associated system | |
Silva et al. | An investigation of latency prediction for NoC-based communication architectures using machine learning techniques | |
WO2012026582A1 (ja) | シミュレーション装置、分散計算機システム、シミュレーション方法およびプログラム | |
Nam et al. | Asiist: Application specific i/o integration support tool for real-time bus architecture designs | |
WO2013111451A1 (ja) | システムシミュレーション装置 | |
Indrusiak et al. | Fast simulation of networks-on-chip with priority-preemptive arbitration | |
US7925490B2 (en) | Method of transactional simulation of a generic communication node model, and the corresponding computer program product and storage means | |
Bytyn et al. | Dataflow aware mapping of convolutional neural networks onto many-core platforms with network-on-chip interconnect | |
Harbin et al. | Comparative performance evaluation of latency and link dynamic power consumption modelling algorithms in wormhole switching networks on chip | |
Altevogt et al. | Cloud modeling and simulation | |
Manavar et al. | Experience with PCIe streaming on FPGA for high throughput ML inferencing | |
Andreozzi et al. | A MILP approach to DRAM access worst-case analysis | |
Schuermans et al. | Network on Chip Experiments | |
Hui et al. | Modelling the protocol stack in NCS with deterministic and stochastic petri net | |
Joo et al. | Efficient hierarchical bus-matrix architecture exploration of processor pool-based MPSoC |