JPH11296409A - 性能シミュレーション方法 - Google Patents

性能シミュレーション方法

Info

Publication number
JPH11296409A
JPH11296409A JP10097637A JP9763798A JPH11296409A JP H11296409 A JPH11296409 A JP H11296409A JP 10097637 A JP10097637 A JP 10097637A JP 9763798 A JP9763798 A JP 9763798A JP H11296409 A JPH11296409 A JP H11296409A
Authority
JP
Japan
Prior art keywords
performance
simulation
shared resource
simulator
performance simulation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP10097637A
Other languages
English (en)
Other versions
JP3746371B2 (ja
Inventor
Yasunari Yoshino
泰成 芳野
Isao Watanabe
勲 渡辺
Yoshiko Tamaoki
由子 玉置
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP09763798A priority Critical patent/JP3746371B2/ja
Priority to US09/288,029 priority patent/US6507809B1/en
Publication of JPH11296409A publication Critical patent/JPH11296409A/ja
Application granted granted Critical
Publication of JP3746371B2 publication Critical patent/JP3746371B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3457Performance evaluation by simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 大規模装置に対してこれを分割した部分装置
毎に性能シミュレーションを並列に実行し、共有資源が
存在する場合でもシミュレーションの整合性を維持しな
がら、高速に性能シミュレーションを実行する。 【解決手段】 性能シミュレータ302、303は、性
能シミュレーション対象装置を分割した部分装置のそれ
ぞれのシミュレーションを実行する。全体制御部301
は、性能シミュレータ302、303をΔTサイクル毎
に交互に実行させる機能を持つ。性能シミュレータ30
2は、ΔTサイクル分の性能シミュレーションの実行を
すると、共有資源管理部400に格納した共有資源デー
タを性能シミュレータ303に送信する。次に、性能シ
ミュレータ303が、ΔTサイクル分の性能シミュレー
ションを実行し、共有資源データを性能シミュレータ3
02に送信する。また、さらに多数の性能シミュレータ
を設け、共有資源を持たない部分装置を担当する性能シ
ミュレータを同時に並列に実行させることにより、高速
性が達成される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、論理装置の性能シ
ミュレーション方法に関し、特に、マルチプロセッサシ
ステム等に多数のシミュレーション手段を構成し、これ
により、論理装置の性能シミュレーションを高速に行う
ことを可能にした性能シミュレーション方法に関する。
【0002】
【従来の技術】近年、スーパーコンピュータやメインフ
レーム等の情報処理装置における高性能化が要求されて
いる。このような情報処理装置には、実機が試作される
前に性能の解析を行うことが必要である。一般に、情報
処理装置の性能は、CPU内のパイプライン構造、キャ
ッシュ等のメモリ構造、I/O構造を含んだハードウェ
アアーキテクチャと、その上で実行されるソフトウェア
を生成するコンパイラの性能等とにより決定される。こ
れらの性能を実機試作前に解析し、情報処理装置やコン
パイラの開発に活かすことが、情報処理装置の高性能確
保のために、ますます重要になってきている。
【0003】前述したような情報処理装置の性能解析を
実施する手段として、性能シミュレーション技術があ
る。性能シミュレーションとは、対象となる情報処理装
置のハードウェアアーキテクチャのモデルをソフトウェ
アにより構築し、与えられたソフトウェアプログラムに
対するハードウェア動作をそのモデル上で模擬し、その
プログラムの実行に要する時間(一般に、サイクル数)
や、キャッシュのヒット率、メモリのロードレイテンシ
等を計測するものである。
【0004】使用者は、この性能シミュレーションによ
り、対象の情報処理装置の事前性能解析を実施し、情報
処理装置の試作前にハードウェアの性能不良を摘出する
ことが可能となる。また、性能シミュレーションによ
り、対象処理装置用のコンパイラやOSの性能評価を行
うことが可能となり、これらのソフトウェアの性能向上
にも利用することができる。
【0005】性能シミュレーションにおけるシミュレー
ションの実行は、対象装置の同期クロックサイクルを基
本として進行され、対象装置の性能は、1マシンサイク
ル毎に評価する方法、あるいは、発生するハードウェア
イベントのレイテンシに基づき評価する方法等により評
価されるが、いずれにせよシミュレーション実行の時間
単位は、マシンサイクルであるのが主流である。
【0006】前述のような性能シミュレーション技術に
関する従来技術として、例えば、特開平8−18009
4号公報等に記載された技術が知られている。この従来
技術による方法は、モデル上で実行されるアプリケーシ
ョンのシステムコールの解析やアドレスジェネレータを
包含し、CPUやメモリのタイミングをシミュレートす
るという方法である。また、他の従来技術として、例え
ば、特願平9−145965号等に記載された技術が知
られている。この従来技術による方法は、通常のアプリ
ケーションプログラムに対し、不当な分岐予測により実
行される命令を考慮し、CPUの動的分岐予測機構の方
式性能を測定する方法である。
【0007】
【発明が解決しようとする課題】前述したような従来技
術による性能シミュレーション技術は、取り扱うことの
できる情報処理装置の規模に限界があり、近年の情報処
理装置のように、大規模化により論理モデルが大きくな
った情報処理装置を取り扱うことが困難になり、また、
取り扱うことが可能であっても、シミュレーション時間
が増加してしまうという問題点を有している。
【0008】このような問題点に対して、対象情報処理
装置を複数の部分に分割し、それぞれの部分を別々の性
能シミュレータに担当させ、これらをマルチプロセッサ
システムによる計算機上で実行させ、シミュレーション
の高速化を実現するアプローチが考えられる。この場
合、各部分を担当する性能シミュレータを別々のプロセ
ッサに割り付ければ、シミュレーション処理の高速化が
期待できる。そして、前述したように、性能シミュレー
ションは、基本的にマシンサイクルを単位に進行するた
め、マルチプロセッサシステム上で並列にシミュレーシ
ョン実行させる場合も、厳密にはサイクル単位でお互い
に同期を取りながら、全体のシミュレーションを進行さ
せる必要がある。しかし、この方法は、同期のためのプ
ロセス間の通信が毎サイクルに発生し、同期のためのオ
ーバーヘッドが大きくなると言う問題点を有している。
【0009】これに対して、各シミュレータ間の同期を
1サイクル毎ではなく、複数サイクル(以下、ΔTサイ
クルと呼ぶ)毎に同期を取ることにより、オーバーヘッ
ドを少なくするという方法が考えれている。しかし、各
シミュレータが担当する対象論理に共通資源がある場
合、基本的には個別にシミュレーションすることができ
ず、このようなΔTサイクル毎の同期方式は、正確なシ
ミュレーションを行うことができないという不具合が生
じる。
【0010】図9は本発明及び従来技術による性能シミ
ュレーション方法が対象とする情報処理装置の構成例を
示すブロック図、図10は独立な性能シミュレータでそ
の動作を模擬する場合のシミュレーションの実行を説明
する図であり、以下、図9、図10を参照して、従来技
術によるΔTサイクル毎の同期方式による性能シミュレ
ーションの問題点を説明する。図9において、100は
情報処理装置、101、102は部分装置、103は双
方向バスである。
【0011】性能シミュレーションの対象となる情報処
理装置100は、図9に示すように、部分装置101と
部分装置102とを双方向バス103で接続して構成さ
れており、各部分装置101、102が、各部分装置で
共有している資源である双方向バス103を介して相互
にデータの送受信を実行しながら協調して処理動作を実
行する。情報処理装置100は、例えば、複数のノード
装置またはプロセッサにより構成される並列処理装置で
あり、分割された部分装置101、102は1つ1つの
ノード装置またはプロセッサである。このような性能シ
ミュレーションの対象に対して、部分装置101、10
2をそれぞれ、独立な性能シミュレータでその動作を模
擬する場合のシミュレーションの実行の状況を図10を
参照して説明する。
【0012】図10に示す例において、図示しない性能
シミュレータ201が部分装置101と双方向バス10
3とを、図示しない性能シミュレータ202が部分装置
102をそれぞれ担当してシミュレーションを実行する
ものとする。そして、各性能シミュレータ201、20
2が、前述したように、ΔTサイクル毎に同期を取りな
がらシミュレーションを進行させるものとする。
【0013】前述の場合、部分装置102のみに対する
性能シミュレータ202は、あるシミュレーション期間
における次の同期ポイントまでの途中で、双方向バス1
03の占有状況を知ることができない。すなわち、性能
シミュレータ202は、例えば、図中のタイミングAに
おいて、双方向バス103にデータを出力しようとして
も、実際には部分装置101が占有している可能性があ
り、性能シミュレータ202が担当する部分装置102
が占有可能か否かを判断することができない。
【0014】前述したように、ΔTサイクル毎の同期方
式による従来技術は、平行して実行されるシミュレータ
の対象装置間に、バスのような共通資源がある場合、正
確なシミュレーションを行うことができないという問題
点を有している。
【0015】本発明の目的は、前述したΔTサイクル毎
の同期方式による性能シミュレーションの従来技術の問
題点を解決し、大規模な装置を部分装置に分割して性能
シミュレーションを行う場合に、部分装置間に共有資源
が存在する場合でも、ΔTサイクル毎の同期により全体
のシミュレーションを実行することができ、同期による
オーバーヘッドを低減することが可能な性能シミュレー
ション方法を提供することにある。
【0016】また、本発明の目的は、共有資源を持たな
い部分装置を担当する性能シミュレータを、同時に並列
に動作させることを可能にし、特に、複数の性能シミュ
レータをマルチプロセッサ構成の計算機上に実現した場
合にも、大規模装置を対象とした性能シミュレーション
を高速に実行することを可能とした性能シミュレーショ
ン方法を提供することにある。
【0017】
【課題を解決するための手段】本発明によれば前記目的
は、情報処理装置上で実行される処理をシミュレーショ
ンすることにより、前記情報処理装置の実行性能を測定
する性能シミュレーション方法において、性能シミュレ
ーションを独立に実行する複数の性能シミュレーション
手段と、前記性能シミュレーション手段によるシミュレ
ーションを複数サイクル毎に同期を取って実行させる同
期手段とを有し、前記情報処理装置を複数の部分装置に
分割し、前記分割された複数の部分装置のそれぞれに前
記複数の性能シミュレーション手段のそれぞれを割り当
てて、複数サイクル毎に同期を取りながら前記複数の性
能シミュレーション手段のそれぞれが順次シミュレーシ
ョンを実行することにより前記情報処理装置全体のシミ
ュレーションを実行することにより達成される。
【0018】また、前記目的は、前記分割された部分装
置間に存在する共有資源の占有状況を管理する手段と、
前記共有資源の占有状況を前記性能シミュレーション手
段の間で通信する通信手段とを有し、前記同期手段が、
前記性能シミュレーション手段によるシミュレーション
を順次実行させ、前記通信手段が、前記複数サイクルの
同期タイミングで、前記性能シミュレーション手段間で
前記占有状況を通信することにより達成される。
【0019】さらに、前記目的は、前記部分装置間に共
有資源が存在しない部分装置に対する性能シミュレーシ
ョン手段に、並列にシミュレーションを実行させること
により達成される。
【0020】本発明は、前述の構成を備えることによ
り、複数シミュレーション手段による共有資源の占有の
衝突を回避することが可能となり、共有資源を有する複
数の部分装置に対するシミュレーションをΔTサイクル
の同期で実行することができる。また、本発明は、対象
情報処理装置全体を複数の部分装置に分割し、お互いに
共通資源を持たない部分を担当するシミュレーション手
段を同時に並列に動作させることにより、並列にシミュ
レーションを実行することができ、高速に性能シミュレ
ーションを実行することが可能となる。
【0021】
【発明の実施の形態】以下、本発明による性能シミュレ
ーション方法の実施形態を図面により詳細に説明する。
【0022】図1は本発明の第1の実施形態によるシミ
ュレーション方法を実行する性能シミュレーションシス
テムの構成を示すブロック図、図2は共有資源占有デー
タの例を説明する図、図3は性能シミュレーションの動
作を説明する図、図4は共有資源占有データの影響を説
明する図である。図1において、301は全体制御部、
302、303は性能シミュレータ、304、305は
性能シミュレーション部、306、307は共有資源デ
ータ送受信部、400は共有資源管理部である。
【0023】図1に示す性能シミュレーションシステム
は、性能シミュレーションの対象としている処理装置と
して図9により説明した構成を持つものとしている。図
1に示す性能シミュレーションシステムは、全体の動作
を制御する全体制御部301と、性能シミュレータ30
2と、性能シミュレータ303とにより構成される。こ
れらの2つのシミュレータ302、303は、例えば、
図9により説明した情報処理装置の性能シミュレーショ
ンを行う場合、それぞれ、部分装置101、102に対
する性能シミュレーションを実行する。性能シミュレー
タ302、303は、その内部にそれぞれ性能シミュレ
ーション部304、305を内蔵し、担当する部分装置
の性能シミュレーションを実行する機能を持つ。
【0024】なお、性能シミュレーション部は既存の技
術であり、性能シミュレーションに必要なテストプログ
ラムデータ、ハードウェアモデル構造情報、ハードウェ
アタイミング情報等の入力データ、及び、性能シミュレ
ーション結果等の出力データについては省略している。
【0025】全体制御部301は、性能シミュレータ3
02、303をΔTサイクル毎に交互に実行させる機能
を持つ。図示例の場合、例えば、全体制御部301は、
まず、性能シミュレータ302にΔTサイクル分の性能
シミュレーションを実行するように指示する。次に、性
能シミュレータ302のΔTサイクル分の実行が終了す
るのを待ってから、性能シミュレータ303にΔTサイ
クル分の性能シミュレーションを実行するように指示す
る。この動作を繰り返すことにより、ΔTサイクル毎に
性能シミュレータ302、303を交互に実行させる。
【0026】性能シミュレータ302は、性能シミュレ
ーション部304の他に、共有資源管理部400と共有
資源データ送受信部306とを内蔵している。共有資源
管理部400は、例えば、図9に示した例で言えば、部
分装置が共有している双方向バス等の共有資源の占有状
況データを保持している。共有資源データ送受信部30
6は、共有資源管理部400が保持している共有資源の
占有状況データを他の性能シミュレータ303に送信し
たり、また、性能シミュレータ303からの共有資源占
有状況データを受信し、共有資源管理部400に通知す
る機能を持つ。
【0027】一方、性能シミュレータ303は、性能シ
ミュレーション部305と共有資源データ送受信部30
7とを内蔵している。共有資源データ送受信部307
は、性能シミュレータ302からの共有資源の占有状況
データを受け取り、性能シミュレーション部305に渡
すと共に、性能シミュレーション部305の実行の結果
である共有資源の占有状況データを性能シミュレータ3
02に送信する機能を持つ。
【0028】本発明による性能シミュレーションを実行
する性能シミュレーションシステムは、まず、全体制御
部301の指示により、性能シミュレータ302が、Δ
Tサイクル分の性能シミュレーションを実行する。この
とき、性能シミュレーション部304は、担当の部分装
置及び共有資源をも含めて、性能シミュレーションを実
行し、その結果、共有資源の占有状況を共有資源管理部
400内に格納する。このとき、性能シミュレータ30
3は、まだ実行されていないので、共有資源において占
有の衝突が発生することはない。
【0029】性能シミュレータ302によるΔTサイク
ルの性能シミュレーションが終了すると、共有資源デー
タ送受信部306が、共有資源の占有状況データを性能
シミュレータ303に送信すると共に、全体制御部30
1にΔTサイクルシミュレーションの実行終了を通知す
る。実行終了の通知を受けた全体制御部301は、次
に、性能シミュレータ303にΔTサイクルの性能シミ
ュレーション実行の指示を出す。
【0030】実行指示を受けた性能シミュレータ303
は、ΔTサイクル分の性能シミュレーションを実行す
る。このとき、実際に性能シミュレーションを実行する
性能シミュレーション部305は、先に性能シミュレー
タ302から受信した共有資源の占有状況データを参照
して、性能シミュレーションを実行する。例えば、ある
サイクルで共有資源を占有しようとしたとき、占有状況
データを参照し、もし性能シミュレータ302の実行の
結果、そのサイクルでその共有資源が占有されていた場
合、共有資源がビジーであると判断し、共有資源が占有
されていない時刻で占有を試みる。
【0031】性能シミュレータ303は、このようにし
てΔTサイクル分の性能シミュレーションを実行し、共
有資源への占有が発生した場合、その占有状況データを
共有資源データ送受信部307により、性能シミュレー
タ302に通知する。これと同時に、性能シミュレータ
303は、全体制御部301にΔTサイクルのシミュレ
ーションが終了したことを通知する。通知を受けた全体
制御部301は、次に性能シミュレータ302に実行開
始指示を送り、前述した処理を繰り返す。
【0032】前述したように性能シミュレーションシス
テムは、対象処理装置を部分装置に分割し、それぞれを
独立の性能シミュレータに担当させて、シミュレーショ
ンをΔTサイクル毎に交互に実行させ、かつ、共有資源
について、お互いの占有状況データを性能シミュレータ
間でやりとりしながら、性能シミュレーションを実行さ
せることにより、共有資源占有の衝突を回避し、整合性
のとれた性能シミュレーションの実行を可能とする。ま
た、このシステムは、ΔTサイクル毎の同期により、同
期に必要なオーバーヘッドを1サイクル毎の同期に比べ
て、低減することが可能となる。
【0033】次に、図2〜図4を参照して、本発明によ
るシミュレーション方法を実施する性能シミュレーショ
ンシステムの動作をさらに詳細に説明する。
【0034】図2に示す共有資源管理部400が保持す
る共有資源占有データの例は、図9に示す双方向バス1
03の共有資源占有データの例である。共有資源占有デ
ータは、共有資源の占有状況を格納したデータであり、
図示例の場合、共有資源である双方向バスの占有開始サ
イクル(時刻)、占有終了サイクル(時刻)、及び、占
有したバストランザクションの種類を保持している。図
1により説明した各性能シミュレータ302、303
は、性能シミュレーションを実行するに当たって、この
共有資源占有データを参照して、共有資源があるサイク
ルで使用可能か否かを判断すると共に、使用した場合、
その占有の情報を共有資源占有データとして格納する。
【0035】性能シミュレーションの動作を説明する図
3において、図3(a)は、実際の装置の動作の様子を
示しており、横軸方向は、実際の時間である。図に示す
ように部分装置101と部分装置102とは、同時に並
列に処理を実行している。すなわち、ΔTで区間に切っ
た場合、区間501と区間502とが同時に並列に処理
を実行しており、区間503と区間504とが同時に並
列に処理を実行している。
【0036】これに対して、性能シミュレーションシス
テムのシミュレーションの実行の様子が図3(b)に示
されている。図3(b)は、横軸方向は、シミュレーシ
ョンの実行時間である。まず、性能シミュレータ302
は、区間501に相当するΔTサイクル分の性能シミュ
レーションを実行し、このシミュレーションが終了した
ら、性能シミュレータ303に共有資源占有データ50
5を送信する。
【0037】次に、性能シミュレータ303は、受信し
た共有資源占有データ505を参照しながら、担当の部
分装置102の性能シミュレーションを区間502に相
当する区間のΔTサイクル分実行し、共有資源占有デー
タ506を性能シミュレータ302に送信する。続い
て、性能シミュレータ302は、区間503に相当する
ΔTサイクルの性能シミュレーションを実行し、以下、
前述した処理を繰り返していく。
【0038】前述したように、性能シミュレータ30
2、303に交互にシミュレーションを実行させ、か
つ、共有資源の占有情報を相互にやりとりさせることに
より、共有資源における占有の衝突を回避でき、整合性
のある性能シミュレーションの実行が可能となる。な
お、2つの性能シミュレータで先にシミュレーションを
実行する性能シミュレータは、共有資源の占有の優先度
を持つ方である。
【0039】前述のシミュレーション時における共有資
源の占有に関して、一部正確さに欠けるケースが存在す
る。これについて、図4を参照して説明する。図4は性
能シミュレーションシステムの動作の様子を示したもの
であり、横軸方向は、実際の論理装置の実行時間であ
る。また、縦軸方向は、性能シミュレーションの実行の
時間推移を示している。
【0040】図1に示す性能シミュレーションシステム
は、まず、性能シミュレータ302が区間601のシミ
ュレーションを実行する。ここで、あるタイミングで共
有資源の占有602が発生したとする。次に、性能シミ
ュレータ303が実際には区間601と同時に実行され
る区間603の性能シミュレーションを実行する。この
とき、性能シミュレータ302の共有資源の占有602
は、性能シミュレータ303における区間603のシミ
ュレーションにおいてもタイミングAで考慮することが
可能となる。さらに、この区間603のシミュレーショ
ンにおいて、共有資源の占有604がタイミングBで発
生したとする。この場合、性能シミュレータ302の区
間601のシミュレーションにおいて、共有資源の占有
604をタイミングBで評価することができず、次の同
期ポイントであるタイミングCでしか性能シミュレータ
302に反映することができない。
【0041】すなわち、本発明による性能シミュレーシ
ョン方法を実施する図1に示す性能シミュレーションシ
ステムは、厳密に言うと正確なシミュレーションを行う
ことができない。しかし、同期サイクルであるΔTの値
を、大きな値にしない限り、これによるシミュレーショ
ンの誤差は、性能シミュレーションにおいて無視するこ
とができる範囲であり、実用上問題は発生しない。
【0042】前述した本発明の第1の実施形態による性
能シミュレーション方法は、対象装置を2つの部分装置
に分割し、それぞれに割り当てた性能シミュレータによ
りシミュレーションを実行させているので、各性能シミ
ュレータが交互にシミュレーションを実行することにな
るが、本発明は、対象装置としての情報処理装置をさら
に多数の部分装置に分割し、各部分装置に性能シミュレ
ータを割り当てて性能シミュレーションを行わせるよう
にすることができる。この場合、複数の各性能シミュレ
ータを順次サイクリックに動作させるようにすればよ
い。
【0043】前述したように、本発明の第1の実施形態
による性能シミュレーション方法は、大規模の対象装置
を部分装置に分割し、それぞれを別々の性能シミュレー
タでシミュレーションを実行することにより、大規模装
置に対しても性能シミュレーションを行わせることが可
能である。また、本発明の第1の実施形態による性能シ
ミュレーション方法は、分割した部分装置間にバス等の
共有資源があった場合にも、シミュレーションを交互に
実行し、共有資源の占有データをやりとりすることによ
り、整合性のとれた性能シミュレーションを行わせるこ
とが可能である。
【0044】図5は本発明の第2の実施形態によるシミ
ュレーション方法を実行する性能シミュレーションシス
テムの構成を示すブロック図である。図5において、7
03、704は同期制御部であり、他の符号は図1の場
合と同一である。
【0045】図5に示す性能シミュレーションシステム
は、図1に示した性能シミュレーションシステムと同様
の機能を有するものであるが、図1における全体制御部
301の代わりに、性能シミュレータ302、303内
に同期制御部703、704を内蔵して構成されてい
る。
【0046】図5に示す性能シミュレーションシステム
は、性能シミュレータ302によるΔTサイクル分のシ
ミュレーションが終了すると、同期制御部703が性能
シミュレータ303に性能シミュレータ302によるシ
ミュレーションの実行終了を通知する。性能シミュレー
タ303の同期制御部704は、性能シミュレータ30
2からのΔTサイクルのシミュレーション実行の終了通
知を受けると、性能シミュレータ303による性能シミ
ュレーションを開始させる。同様に、性能シミュレータ
303は、ΔTサイクルのシミュレーションの実行が終
了すると、同期制御部704が性能シミュレータ302
にシミュレーションの終了を通知する。終了通知を受け
た性能シミュレータ302の同期制御部703は、次の
ΔTサイクルのシミュレーション実行を開始させる。前
述の処理を繰り返すことにより、全体の性能シミュレー
ションが進行する。前述において、共有資源データ送受
信部307及び共有資源管理部400の動作は、図1の
場合と同一である。
【0047】前述したように、図5に示す性能シミュレ
ーションシステムは、図1により説明したシステムとは
異なり、全体制御部なしでΔT同期によるシミュレーシ
ョンの実行が可能であるが、図1に示した例の場合と全
く同様な効果を奏することができる。
【0048】図6は本発明の第3の実施形態によるシミ
ュレーション方法を実行する性能シミュレーションシス
テムの構成を示すブロック図、図7は図6に示すシミュ
レーションシステムがシミュレーションの対象とする情
報処理装置の構成例を示すブロック図、図8は図6に示
すシミュレーションシステムによる性能シミュレーショ
ンの動作を説明する図である。図6、図7において、3
08〜310は共有資源データ送受信部、801〜80
5は性能シミュレータ、901〜904はプロセッサ、
905はシステムコントロール、906は主記憶であ
り、他の符号は図5の場合と同一である。
【0049】図6に示す性能シミュレーションシステム
は、性能シミュレータ801〜805により構成され
る。このうち、性能シミュレータ801〜804は、図
5に示した性能シミュレータ302と同様の構成を持
ち、また、性能シミュレータ805は、図5に示した性
能シミュレータ303と同様の構成を持つ。但し、この
性能シミュレータ805は、性能シミュレータ801〜
804の共有資源データ送受信部706との間で共有資
源データの送受信を行うため、共有資源データ送受信部
307の他に共有資源送受信部308〜310を備えて
おり、また、同期制御部704が、性能シミュレータ8
01〜804の同期制御部703に接続されている。
【0050】図6に示す性能シミュレーションシステム
は、図7に示すような構成をとる処理装置を対象として
性能シミュレーションを実行するシステムである。シミ
ュレーション対象となる処理装置は、プロセッサ901
〜904が、システムコントロール905に接続され、
さらに、システムコントロール905に主記憶906に
接続されて構成されている。そして、プロセッサ901
〜904とシステムコントロール905とを接続してい
るバスは、各プロセッサ毎に独立しているものとする。
この処理装置は、一般的なマルチプロセッサのアーキテ
クチャであるスイッチ型のSMP(Sysmetric MultiP
rocessor)である。
【0051】前述のような構成による処理装置のシミュ
レーションを行う図6に示す性能シミュレーションシス
テムは、性能シミュレータ801〜804が、プロセッ
サ901〜904の性能シミュレーションを実行し、性
能シミュレータ805が、システムコントロール905
と主記憶906との動作をシミュレーションする。
【0052】図7において、プロセッサ901〜904
は、それぞれ双方向バスでシステムコントロール905
と接続されており、両者の間には個々に共有資源が存在
する。一方、プロセッサ901〜904の相互間には、
共有資源が存在せず、これらのプロセッサは独立に動作
する。そのため、図6に示す性能シミュレーションシス
テムにおいて、性能シミュレータ801〜804と性能
シミュレータ805との間には、共有資源を管理するた
めの通信が発生するが、性能シミュレータ801〜80
4の相互間には、共有資源を管理するための通信が発生
することはない。そのため、性能シミュレータ801〜
804は、独立にしかも並列にプロセッサ901〜90
4の性能シミュレーションを実行することができる。
【0053】次に、図6に示す性能シミュレーションシ
ステムによるシミュレーションの実行を図8を参照して
説明する。図8において、横軸は、シミュレーションの
実行時間である。
【0054】図8に示すように、まず、性能シミュレー
タ801〜804が並列にそれぞれの担当のプロセッサ
に対する△Tサイクルの性能シミュレーション1001
〜1004を実行する。シミュレーションが終了する
と、各性能シミュレータ801〜804は、それぞれの
共有資源データ送受信部306が、共有資源占有データ
を性能シミュレータ805の共有資源データ送受信部3
07〜310に送信すると共に、各性能シミュレータの
同期制御部703が、性能シミュレータ805の同期制
御部704に△Tサイクルのシミュレーション実行の終
了を通知する。
【0055】性能シミュレータ805の同期制御部70
4は、全ての他の性能シミュレータからの△Tサイクル
のシミュレーション実行終了の通知を待ってから、自分
の担当する部分装置に対する性能シミュレーション10
05を実行させるる。性能シミュレータ805は、シミ
ュレーションが終了すると、図1、図5により説明した
例の場合と同様に、共有資源の占有データを、共有資源
データ送受信部307〜310を介して性能シミュレー
タ801〜804の共有資源データ送受信部306に送
信すると共に、同期制御部810がシミュレーション終
了の通知を性能シミュレータ801〜804の同期制御
部703に送信する。
【0056】性能シミュレータ801〜804は、性能
シミュレータ805からのシミュレーション終了の通知
を受けてから、次の△Tサイクルのシミュレーション1
006〜1009を実行する。前述の処理を繰り返すこ
とにより、全体の性能シミュレーションが進行する。
【0057】前述したように、図6に示す性能シミュレ
ーションシステムは、互いに共有資源を持たない独立な
部分装置を担当している性能シミュレータによるシミュ
レーションを同時に並列に実行させることにより、処理
の高速化を図ることができる。特に、図6に示すシステ
ムは、マルチプロセッサ構成の計算機上に、各性能シミ
ュレータのそれぞれを1つのプロセッサに割り付けて性
能シミュレーションを実行するようにすれば、並列実行
の効果により、全体のシミュレーション性能の向上を図
ることができる。
【0058】
【発明の効果】以上説明したように本発明によれば、大
規模装置を部分装置に分割し、それぞれを別の性能シミ
ュレータに割り付けることにより、大規模な装置のシミ
ュレーションを行うことができ、また、分割された部分
装置間に共有資源が存在する場合にも、1サイクル毎の
同期ではなく、△Tサイクル毎の同期で全体のシミュレ
ーションを実行することができ、同期によるオーバーヘ
ッドを低減することが可能となる。
【0059】さらに、本発明によれば、共有資源を持た
ない部分装置を担当する性能シミュレータを同時に並列
に実行させることにより、特に、マルチプロセッサ構成
の計算機上に性能シミュレーションシステムを構成した
場合、大規模装置を対象とした性能シミュレーションを
高速に実行することが可能となる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態によるシミュレーショ
ン方法を実行する性能シミュレーションシステムの構成
を示すブロック図である。
【図2】共有資源占有データの例を説明する図である。
【図3】性能シミュレーションの動作を説明する図であ
る。
【図4】共有資源占有データの影響を説明する図であ
る。
【図5】本発明の第2の実施形態によるシミュレーショ
ン方法を実行する性能シミュレーションシステムの構成
を示すブロック図である。
【図6】本発明の第3の実施形態によるシミュレーショ
ン方法を実行する性能シミュレーションシステムの構成
を示すブロック図である。
【図7】図6に示すシミュレーションシステムがシミュ
レーションの対象とする情報処理装置の構成例を示すブ
ロック図である。
【図8】図6に示すシミュレーションシステムによる性
能シミュレーションの動作を説明する図である。
【図9】本発明及び従来技術による性能シミュレーショ
ン方法が対象とする情報処理装置の構成例を示すブロッ
ク図である。
【図10】独立な性能シミュレータでその動作を模擬す
る場合のシミュレーションの実行を説明する図である。
【符号の説明】
100 情報処理装置 101、102 部分装置 103 双方向バス 301 全体制御部 302、303、801〜805 性能シミュレータ 304、305 性能シミュレーション部 306、307〜310 共有資源データ送受信部 400 共有資源管理部 703、704 同期制御部 901〜904 プロセッサ 905 システムコントロール 906 主記憶

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 情報処理装置上で実行される処理をシミ
    ュレーションすることにより、前記情報処理装置の実行
    性能を測定する性能シミュレーション方法において、性
    能シミュレーションを独立に実行する複数の性能シミュ
    レーション手段と、前記性能シミュレーション手段によ
    るシミュレーションを複数サイクル毎に同期を取って実
    行させる同期手段とを有し、前記情報処理装置を複数の
    部分装置に分割し、前記分割された複数の部分装置のそ
    れぞれに前記複数の性能シミュレーション手段のそれぞ
    れを割り当てて、複数サイクル毎に同期を取りながら前
    記複数の性能シミュレーション手段のそれぞれが順次シ
    ミュレーションを実行することにより前記情報処理装置
    全体のシミュレーションを実行することを特徴とする性
    能シミュレーション方法。
  2. 【請求項2】 前記分割された部分装置間に存在する共
    有資源の占有状況を管理する手段と、前記共有資源の占
    有状況を前記性能シミュレーション手段の間で通信する
    通信手段とを有し、前記同期手段が、前記性能シミュレ
    ーション手段によるシミュレーションを順次実行させ、
    前記通信手段が、前記複数サイクルの同期タイミング
    で、前記性能シミュレーション手段間で前記占有状況を
    通信することを特徴とする請求項1記載の性能シミュレ
    ーション方法。
  3. 【請求項3】 前記部分装置間に共有資源が存在しない
    部分装置に対する性能シミュレーション手段に並列にシ
    ミュレーションを実行させることを特徴とする請求項1
    または2記載の性能シミュレーション方法。
JP09763798A 1998-04-09 1998-04-09 性能シミュレーション方法 Expired - Fee Related JP3746371B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP09763798A JP3746371B2 (ja) 1998-04-09 1998-04-09 性能シミュレーション方法
US09/288,029 US6507809B1 (en) 1998-04-09 1999-04-08 Method and system for simulating performance of a computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP09763798A JP3746371B2 (ja) 1998-04-09 1998-04-09 性能シミュレーション方法

Publications (2)

Publication Number Publication Date
JPH11296409A true JPH11296409A (ja) 1999-10-29
JP3746371B2 JP3746371B2 (ja) 2006-02-15

Family

ID=14197662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP09763798A Expired - Fee Related JP3746371B2 (ja) 1998-04-09 1998-04-09 性能シミュレーション方法

Country Status (2)

Country Link
US (1) US6507809B1 (ja)
JP (1) JP3746371B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293759A (ja) * 2005-04-12 2006-10-26 Fujitsu Ltd マルチコアモデルシミュレータ
JP2007207158A (ja) * 2006-02-06 2007-08-16 Fujitsu Ltd サイクルシミュレーション方法、サイクルシミュレーションプログラム、該プログラムを記録した記録媒体、およびサイクルシミュレータ
JP2007536659A (ja) * 2004-05-07 2007-12-13 シーメンス アクチエンゲゼルシヤフト 自動化システムのシミュレーションのための方法及び装置
JP2016029554A (ja) * 2014-07-23 2016-03-03 富士通株式会社 計算装置、計算方法、および計算プログラム

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW451126B (en) * 1999-11-09 2001-08-21 Via Tech Inc Computer element integrated testing system with software simulation
US7149676B2 (en) * 2001-06-21 2006-12-12 Renesas Technology Corporation Variable accuracy modes in microprocessor simulation
US7464016B2 (en) * 2001-11-09 2008-12-09 Sun Microsystems, Inc. Hot plug and hot pull system simulation
US20030093253A1 (en) * 2001-11-09 2003-05-15 Freyensee James P. Grammar for message passing in a distributed simulation environment
US7529653B2 (en) * 2001-11-09 2009-05-05 Sun Microsystems, Inc. Message packet logging in a distributed simulation system
US7020722B2 (en) * 2001-11-09 2006-03-28 Sun Microsystems, Inc. Synchronization of distributed simulation nodes by keeping timestep schedulers in lockstep
US20030093256A1 (en) * 2001-11-09 2003-05-15 Carl Cavanagh Verification simulator agnosticity
US20030093254A1 (en) * 2001-11-09 2003-05-15 Frankel Carl B. Distributed simulation system which is agnostic to internal node configuration
US7231338B2 (en) * 2001-11-09 2007-06-12 Sun Microsystems, Inc. Distributed simulation system having phases of a timestep
US7152028B2 (en) * 2001-12-13 2006-12-19 Texas Instruments Incorporated Software development tool with embedded cache analysis
US20040054515A1 (en) * 2002-09-18 2004-03-18 Todi Rajat Kumar Methods and systems for modeling the performance of a processor
JP4426764B2 (ja) * 2003-01-21 2010-03-03 株式会社日立製作所 コンパイラテストプログラムの自動生成方法
JP4020849B2 (ja) * 2003-09-25 2007-12-12 松下電器産業株式会社 シミュレーション装置、シミュレーションプログラム、記録媒体及びシミュレーション方法
US8417499B2 (en) * 2004-03-31 2013-04-09 International Business Machines Corporation Enabling real-time testing of on-demand infrastructure to predict service level agreement compliance
US7302364B2 (en) * 2004-07-30 2007-11-27 The Boeing Company Methods and systems for advanced spaceport information management
US7424416B1 (en) 2004-11-09 2008-09-09 Sun Microsystems, Inc. Interfacing hardware emulation to distributed simulation environments
US7480609B1 (en) 2005-01-31 2009-01-20 Sun Microsystems, Inc. Applying distributed simulation techniques to hardware emulation
US8126696B1 (en) * 2008-10-15 2012-02-28 Hewlett-Packard Development Company, L.P. Modifying length of synchronization quanta of simulation time in which execution of nodes is simulated

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4901260A (en) * 1987-10-28 1990-02-13 American Telephone And Telegraph Company At&T Bell Laboratories Bounded lag distributed discrete event simulation method and apparatus
JPH03112324A (ja) * 1989-09-21 1991-05-13 Mitsubishi Electric Corp 分散型シミユレーシヨン装置
US6324495B1 (en) * 1992-01-21 2001-11-27 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Synchronous parallel system for emulation and discrete event simulation
US5701439A (en) * 1992-03-30 1997-12-23 Boeing North American, Inc. Combined discrete-event and continuous model simulation and analysis tool
NL9300036A (nl) * 1993-01-08 1994-08-01 Nederland Ptt Systeem voor het testen van de gebruiksregistratie-functie in een telecommunicatiesysteem.
JP2663893B2 (ja) 1994-12-27 1997-10-15 日本電気株式会社 アーキテクチャ・シミュレータ
US5715184A (en) * 1995-01-23 1998-02-03 Motorola, Inc. Method of parallel simulation of standard cells on a distributed computer system
US5826060A (en) * 1996-04-04 1998-10-20 Westinghouse Electric Corporation Stimulated simulator for a distributed process control system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007536659A (ja) * 2004-05-07 2007-12-13 シーメンス アクチエンゲゼルシヤフト 自動化システムのシミュレーションのための方法及び装置
JP2006293759A (ja) * 2005-04-12 2006-10-26 Fujitsu Ltd マルチコアモデルシミュレータ
US7873507B2 (en) 2005-04-12 2011-01-18 Fujitsu Limited Multi-core model simulator
JP2007207158A (ja) * 2006-02-06 2007-08-16 Fujitsu Ltd サイクルシミュレーション方法、サイクルシミュレーションプログラム、該プログラムを記録した記録媒体、およびサイクルシミュレータ
JP2016029554A (ja) * 2014-07-23 2016-03-03 富士通株式会社 計算装置、計算方法、および計算プログラム

Also Published As

Publication number Publication date
US6507809B1 (en) 2003-01-14
JP3746371B2 (ja) 2006-02-15

Similar Documents

Publication Publication Date Title
JP3746371B2 (ja) 性能シミュレーション方法
JP5651251B2 (ja) シミュレーション実行方法、プログラム及びシステム
US8990062B2 (en) Method and program for estimating operation of program
US11036546B1 (en) Multi-threaded shared memory functional simulation of dataflow graph
CN115146582A (zh) 仿真方法及仿真装置、电子设备和计算机可读存储介质
CN119182664B (zh) 分布式计算通信方法及装置、分布式计算方法及系统
JP2006518505A (ja) プロセッサネットワーク
CN101799767A (zh) 一种利用模拟器多种运行模式反复切换进行并行模拟的方法
JP2007094591A (ja) シミュレーション装置及びシミュレーション方法
George et al. An Integrated Simulation Environment for Parallel and Distributed System Prototying
US12073262B2 (en) Barrier synchronization between host and accelerator over network
US12039335B2 (en) Schedule instructions of a program of data flows for execution in tiles of a coarse grained reconfigurable array
KR20130011805A (ko) 시뮬레이션 장치 및 그의 시뮬레이션 방법
Chen et al. Reverse offload programming on heterogeneous systems
JPH05158902A (ja) マルチプロセッサシステムの試験方法及び装置
US10776139B2 (en) Simulation apparatus, simulation method, and computer readable medium
Mironescu et al. A simulation based analysis of an multi objective diffusive load balancing algorithm
JP2013171410A (ja) トレース結合装置及びプログラム
Kyriacou et al. Communication assist for data driven multithreading
JP2002251303A (ja) システムの評価装置および評価結果の表示装置
CN120597795A (zh) 面向NoC的仿真系统、仿真方法、计算机程序及物理主机
CN121935096A (zh) 多核多芯粒的验证方法、装置和电子设备
CN121984895A (en) Method, device, system, electronic equipment and storage medium for extracting routing path of network-on-chip
CN118378579A (zh) 一种集成电路的验证方法、装置、计算机设备及存储介质
Pohl et al. A Survey of Hardware Technologies for Mixed-Critical Integration Explored in the Project EMC2

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050418

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050510

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050708

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050809

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051011

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20051115

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051122

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091202

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101202

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111202

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees