JPH09198282A - コンピュータ性能評価システム及び評価方法 - Google Patents

コンピュータ性能評価システム及び評価方法

Info

Publication number
JPH09198282A
JPH09198282A JP8007808A JP780896A JPH09198282A JP H09198282 A JPH09198282 A JP H09198282A JP 8007808 A JP8007808 A JP 8007808A JP 780896 A JP780896 A JP 780896A JP H09198282 A JPH09198282 A JP H09198282A
Authority
JP
Japan
Prior art keywords
user
performance evaluation
creation request
development
simulated
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
Application number
JP8007808A
Other languages
English (en)
Inventor
Migudoru Maikeru
ミグドル マイケル
Masao Arakawa
雅夫 荒川
Masaru Hashimoto
勝 橋本
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.)
Panasonic Electric Works Co Ltd
Original Assignee
Matsushita Electric Works 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 Matsushita Electric Works Ltd filed Critical Matsushita Electric Works Ltd
Priority to JP8007808A priority Critical patent/JPH09198282A/ja
Publication of JPH09198282A publication Critical patent/JPH09198282A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】システム開発の初期段階からシステムの性能を
評価し、開発段階が進むにつれて、性能評価の精度を次
第に高くできるような評価手段を提供する。 【解決手段】ユーザーが指定するタイミングとパラメー
タを入力する手段と、入力された条件でプロセス生成の
スケジュールを立てる手段と、このスケジュールに従っ
てシミュレートされたCPU負荷に相当する実際の命令
を生成する手段と、この命令の実行時間を評価する手段
を有する性能評価システムを用意し、これを未完成の構
成要素の代替要素として全体のシステムを構成し、開発
の初期段階から開発終了時のシステムの性能を予測す
る。シミュレートされた未完成の構成要素は、開発段階
が進むにつれて、完成した構成要素で置き換えて、性能
評価の精度を高くする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はCPU負荷をシミュ
レートすることによりコンピュータの性能を評価するシ
ステム及びその評価方法に関するものである。
【0002】
【従来の技術】システムの性能を測定する従来の技術と
して、メーカーの提供するベンチマークテスト、特
別に設計されたシミュレーションを用いる方法、又は、
各システム構成要素を別々に評価する方法があった。
以下、各々について説明する。
【0003】ベンチマークは、通常、特定のシステム
コンフィグレーションにだけ提供され、このコンフィグ
レーションのわずかな変化も、性能の劇的な変化を引き
起こすことがある。さらに、ベンチマークは普通は非常
に特別なアプリケーションのみ(例えば、プログラムを
コンパイルするとか、浮動小数点演算を行うなど)にお
けるシステムの性能を測定しており、特定のシステムの
性能を予測する用途に一般的に適しているという訳では
ない。
【0004】システムの性能をシミュレートするプロ
グラムを作成するのは、通常は、時間的及び/又はコス
ト的に好ましくない。そうしたプログラムは実際のシス
テムで動くか否か分からないし、性能を予測するときに
現実の構成要素とシミュレートされた構成要素を関連付
ける自然な環境を提供できない。
【0005】各システム構成要素を別々に評価する方
法は、かなり単純である。しかしながら、例えば、一般
に全ての構成要素は共有されたCPUにアクセスされる
ために、コンピュータの資源割り当てのような構成要素
相互間の問題を無視している。
【0006】
【発明が解決しようとする課題】本発明のシステムは、
最終的なシステムに少しでも近似させるために、実際に
存在する構成要素とシミュレートされた構成要素の両方
を使うことにより、上記の課題を解決しようとするもの
である。
【0007】
【課題を解決するための手段】本発明によれば、システ
ムの個々の構成要素は、非常に単純な固有モデル又はユ
ーザーがプログラムできる複雑なモデルによって、シミ
ュレートされる。システム開発の進行に伴い、実際に使
用する構成要素がシステムに加えられるにつれて、それ
らに対応しているシミュレートされた構成要素は除去す
ることができ、これによって、性能測定の正確さを増し
ている。
【0008】図1は本発明のコンピュータ性能評価シス
テムに用いるプロセスエンジンを通るデータの流れを示
している。最初に、ユーザーによる入力ファイルは、入
力パーサー(つまり、文法解析部)によって加工処理さ
れる。ファイルの中の各々のプロセス生成要求に対し
て、プロセス生成要求リスト(PCRL)に記入がなさ
れる。このリストは、プログラムの始めから終わりまで
一定のままである。次に、リストの各記載に対して次回
の起動時間が計算される。次に、プロセスエンジンは最
も早いプロセス生成要求の時間が来るのを待って、その
プロセス生成要求のIDをプロセス生成部に渡す。次
に、スケジューラーはそのプロセス生成要求に対する次
の時間を計算して、プロセス生成要求リストの情報を更
新する。
【0009】プロセス生成部は要求リストの情報から新
しいコマンドラインを取り出して、プロセスを生成し
て、それを「実行中のプロセスリスト」(RPL)に加
える。プロセスが完了すると、結果モニターが非同期に
呼び出される。モニターがRPLの記載を適切に削除し
て、経過した実行時間を計算し、必要に応じて何らかの
累積的な統計値を計算する。
【0010】任意の時間におけるシステムの性能は、4
つの変数、すなわち、外部で生成されたプロセス、プロ
セスエンジンにより生成されたプロセス、(ネットワー
クトラフィックのような)外部条件、及び、(メモリ容
量のような)システムコンフィグレーションの関数とみ
なされ得る。プロセスエンジンの出力を無視して、外部
で生成されたプロセスのスループットを調べることによ
って、あるいは、生成されたプロセスのスループットを
示すエンジンの出力を調べることによって、あるいは、
両方を調べることによって、性能を評価することができ
る。
【0011】
【発明の実施の形態】本発明のシステムは、3つの構成
要素(A)〜(C)から成り立つ。システムの心臓部
は、ユーザーの記述に従うプロセスを生み出すエンジン
である。2番目の構成要素はこのエンジンの拡張部分で
あり、前記生み出されたプロセスのタイミング及びパラ
メータを他のプロセスが支配できるようにすることによ
り、より詳細なシミュレーションモデルを記述するため
の方法をユーザーに提供するものである。最後に、第3
の構成要素は、システムの性能を評価したり予測するた
めに、このエンジンと実際の構成要素を結び付けるため
に使用される方法である。
【0012】(A)プロセスエンジン プロセスエンジンは、4つのモジュールから成り立つ。
最初に、入力処理モジュールは、コマンドライン入力を
解読して、プロセススケジュールのリストを生成する。
スケジューラーは、ユーザーの記述からプロセスを起動
する時間を決定する。プロセスを起動する時間になる
と、プロセス生成部は、そのプロセスのためのパラメー
タを生成して、そのプロセスを起動する。最後に、結果
監視モジュールは、各々のプロセスが完了するのに要す
る時間を監視し、各要求に対する統計データを編集す
る。
【0013】(A1)パラメータパーサー パラメータパーサーは、コマンドラインパラメータとし
て記述されたASCIIファイルを、内部のプロセス生
成要求リスト(PCRL)に変換する。各々のプロセス
生成要求は、各要求と関連させて、プロセス生成間の時
間を計算するための乱数関数を有しており、また、プロ
セスが生成されるたびに変数パラメータを計算するため
に別の乱数関数を有しており、さらに、コマンドの文字
列を有している。コマンドの文字列は、実行されるべき
コマンド名と、コマンドラインパラメータと、含まれる
べき変数パラメータの位置(図1の%Xの部分)を明ら
かにするものである。
【0014】(A2)スケジューラー スケジューラーは、ユーザーが指定した時間に従って確
実にプロセスが生成されるように保証するものである。
これを行うために、スケジューラーは、次のプロセスを
生成する時間表を各プロセス生成要求に対して1つ保持
する。プロセス生成要求によりプロセスが生成されるた
びに、そのプロセス生成要求の時間表の記載は、(その
プロセス生成要求のスケジュール関数による)新しい乱
数により更新される。そして、新しいプロセスを生成す
る時間になるまで、スケジューラーは休止する。このと
き、スケジューラーは、どのプロセス生成要求が生成さ
れたプロセスを有するべきかをプロセス生成部に通知す
る。
【0015】(A3)プロセス生成部 プロセス生成部は、OSによって実行されるべき実際の
命令を生成して、そして、その命令を実行するためにO
Sを呼び出す。最初に、プロセス生成要求の変数パラメ
ータ関数に従って、ランダムなパラメータのための新し
い値が生成される。次に、新しいランダムな値は、ユー
ザーによって記述された命令文字列の中の実行時に指定
された位置に挿入される。それから、プロセス起動部
は、新しいプロセスを起動し、そして実行中プロセスリ
スト(RPL)に追記する。実行中プロセスリスト(R
PL)の記載は、プロセス生成要求のID、そのプロセ
スが起動された時間、乱数パラメータ、及びOSから返
されたプロセスIDナンバーから成り立つ。
【0016】(A4)結果監視部 起動されたプロセスの1つが完了したと、OSから親プ
ログラムに通知されると、結果監視部は呼び出される。
このとき、実行中プロセスリスト(RPL)におけるそ
のプロセスの記載はリストから抹消され、そのプロセス
の実行時間が計算されて、起動時間及び使用された乱数
パラメータと共に結果リストに蓄えられる。プログラム
終了時に出力されるのは、このリストである。
【0017】(B)拡張プログラム 拡張プログラムによって、基本的なプロセスエンジンの
ものに比べて、より複雑なスケジューリング関数と変数
パラメータ関数をユーザーが指定することを可能とす
る。これはユーザーが作成したプログラムに計算させ
て、ランダム関数からの値をプロセスエンジンに送るた
めのプロセス間通信(IPC)を使うことによって行わ
れる。このプロセス間通信(IPC)は、(UNIXの
事実上の標準である)BSDプロセス間通信機能によっ
て実行され得る。拡張プログラムは、このハンドラに送
られるメッセージのための単純なプロトコルと、入って
くるメッセージを扱うプロセスエンジンのための非同期
のメッセージハンドラだけから成り立つ。
【0018】(B1)プロトコル プロセスエンジンに送られるメッセージは、次のプロト
コルに準拠する。プロトコルに従っていないメッセージ
は無視される。また、メッセージの受領は保証されてい
ない。メッセージは、6バイトから成り立つ。最初の2
バイトは、「プロセス起動」又は「変数パラメータのセ
ット」のいずれかの命令コードである。次の2バイト
は、要求IDである。このIDは、プロセスエンジンに
どの要求を起動すべきか、又はどの要求の変数パラメー
タを変化させるべきかを知らせる。最後に、終わりの2
バイトは、「変数パラメータのセット」の命令の場合に
のみ定義され、変数パラメータの新しい値を示す。
【0019】(B2)メッセージハンドラ メッセージハンドラは、入ってくるメッセージに非同期
で応答する。「プロセス起動」の命令が受けられると、
上述のように、プロセス生成部は、メッセージに含まれ
たIDを使って、新しいプロセスを起動する。「変数パ
ラメータのセット」の命令が受けられると、最後の2バ
イトの値はストアされて、新しい値が必要になるまで使
われる。
【0020】(C)システム性能の評価方法 開発プロジェクト完了までの開発の早い段階からシステ
ムの性能を見積もり、評価するために、上述のプロセス
エンジンをどのように使用するかを、以下に説明する。
ここで、「システム」とは、コンピュータとソフトウェ
アとハードウェアの集合である。構成要素は、コンピュ
ータの全体であるかも知れないし、インターフェイスボ
ードのようなハードウェアのより小さい断片、OSレベ
ルのソフトウェア(ドライバーのようなもの)、あるい
は、データベースのクライエントプログラムのような、
より高水準のソフトウェアであるかも知れない。
【0021】この方法では、現在のところ利用できな
い、どんなシステム構成要素も、まだ購入されていない
ものや、あるいはまだ開発されていないものも、ユーザ
ーが記述し、プロセスエンジンによって実行される「仮
想クライエント」によってシミュレートされる。クライ
エントがシステムの或る部分にダウンロードをかけてい
る間は、ユーザーによって選択された時間とパラメータ
の変化をプロセスエンジンが処理する。この「ダウンロ
ード」は、CPUトラフィックであるかも知れないし、
ネットワークトラフィック、あるいは、何か他の資源の
占有であるかも知れない。クライエントは、生成時に渡
されたパラメータと比例している仕事量を行うべきであ
り、これにより、プロセスエンジンが単一のジョブによ
って行われる仕事量を変えることができる。さらに、
「仮想サーバー」が必要とされる場合もある。これら
は、クライエント(仮想か現実)がサーバープログラム
に実際にデータを渡す必要があるとき、使われる。
【0022】
【発明の効果】請求項1のコンピュータ性能評価システ
ムは、ユーザーが所望するプロセスの起動タイミングと
該プロセスに付随するパラメータを変化させるための情
報を含む入力情報を解釈する入力処理部と、ユーザーの
指定に沿うようにプロセス生成のスケジュールを立てる
プロセススケジューラーと、シミュレートされたCPU
負荷条件を生成するように、実際に実行される命令を生
成するプロセス生成部とを備えるものであるから、ユー
ザーの指定するタイミングでCPUに対する所定の負荷
を生じるプロセスを任意にシミュレートすることがで
き、未完成のシステム構成要素を既に完成しているもの
として他のシステム構成要素と共にCPUの負荷とし
て、システムの性能を評価することができる。
【0023】請求項2の発明によれば、請求項1のタイ
ミングとパラメータ変化の設定可能範囲を広げるための
プロセス間通信を行う非同期のメッセージサーバーを備
えるものであるから、シミュレートされた構成要素の仕
様をユーザーが細かく記述することが可能となる。
【0024】請求項3の発明によれば、システム開発の
各段階で完成したシステム構成要素を前記シミュレート
された構成要素と順次段階的に置き換えることにより、
開発終了時のシステムの性能を開発初期から予測するこ
とができ、また、シミュレートされた構成要素を完成し
たシステム構成要素に置き換えて行くにつれて、徐々に
性能評価の精度を高くすることができる。
【図面の簡単な説明】
【図1】本発明のプロセスエンジンを通るデータの流れ
のブロック図を示す。
【符号の説明】
PCRL プロセス生成要求リスト RPL 実行中プロセスリスト

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 ユーザーが所望するプロセスの起動タ
    イミングと該プロセスに付随するパラメータを変化させ
    るための情報を含む入力情報を解釈する入力処理部と、 ユーザーの指定に沿うようにプロセス生成のスケジュー
    ルを立てるプロセススケジューラーと、 シミュレートされたCPU負荷条件を生成するように、
    実際に実行される命令を生成するプロセス生成部とを備
    えるコンピュータ性能評価システム。
  2. 【請求項2】 請求項1のタイミングとパラメータ変
    化の設定可能範囲を広げるためのプロセス間通信を行う
    非同期のメッセージサーバーを更に備えることを特徴と
    するコンピュータ性能評価システム。
  3. 【請求項3】 CPUと、マルチタスクOSと、周辺
    装置と、未完成のシステム構成要素をシミュレートする
    ための請求項1又は2の性能評価システムを含み、シス
    テム開発の各段階で完成したシステム構成要素を前記シ
    ミュレートされた構成要素と順次段階的に置き換えるこ
    とにより、開発終了時のシステムの性能を開発初期から
    予測することを特徴とするコンピュータ性能評価方法。
JP8007808A 1996-01-19 1996-01-19 コンピュータ性能評価システム及び評価方法 Pending JPH09198282A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8007808A JPH09198282A (ja) 1996-01-19 1996-01-19 コンピュータ性能評価システム及び評価方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8007808A JPH09198282A (ja) 1996-01-19 1996-01-19 コンピュータ性能評価システム及び評価方法

Publications (1)

Publication Number Publication Date
JPH09198282A true JPH09198282A (ja) 1997-07-31

Family

ID=11675920

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8007808A Pending JPH09198282A (ja) 1996-01-19 1996-01-19 コンピュータ性能評価システム及び評価方法

Country Status (1)

Country Link
JP (1) JPH09198282A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217531A (ja) * 2008-03-11 2009-09-24 Fujitsu Ltd 仮想ソフトウェア生成装置
WO2014054233A1 (ja) * 2012-10-02 2014-04-10 日本電気株式会社 情報システムの性能評価装置、方法およびプログラム
WO2019092849A1 (ja) * 2017-11-10 2019-05-16 三菱電機株式会社 シミュレーション装置、シミュレーション方法およびシミュレーションプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009217531A (ja) * 2008-03-11 2009-09-24 Fujitsu Ltd 仮想ソフトウェア生成装置
WO2014054233A1 (ja) * 2012-10-02 2014-04-10 日本電気株式会社 情報システムの性能評価装置、方法およびプログラム
JPWO2014054233A1 (ja) * 2012-10-02 2016-08-25 日本電気株式会社 情報システムの性能評価装置、方法およびプログラム
WO2019092849A1 (ja) * 2017-11-10 2019-05-16 三菱電機株式会社 シミュレーション装置、シミュレーション方法およびシミュレーションプログラム
AU2017438670A1 (en) * 2017-11-10 2020-05-07 Mitsubishi Electric Corporation Simulation device, simulation method, and simulation program
AU2017438670B2 (en) * 2017-11-10 2020-07-23 Mitsubishi Electric Corporation Simulation device, simulation method, and simulation program

Similar Documents

Publication Publication Date Title
Liu et al. PERTS: A prototyping environment for real-time systems
WO2006112986A2 (en) Systems and methods for device simulation
JP4452710B2 (ja) シーケンシャル・オブジェクト指向システムシミュレーションをシーケンス制御する方法
Raghavan et al. Model based estimation and verification of mobile device performance
CN113657069B (zh) 片上系统soc仿真验证方法、装置、验证服务器及存储介质
Low et al. Survey of languages and runtime libraries for parallel discrete-event simulation
EP0453160A2 (en) A method and apparatus for analyzing the flow of data through a complex information exchange system
US8543369B2 (en) Method and data processing system for simulating an embedded system
Posadas et al. POSIX modeling in SystemC
Kettler et al. A modeling methodology for real-time/multimedia operating systems
JPH09198282A (ja) コンピュータ性能評価システム及び評価方法
Williamson Discrete event simulation in the Mobius modeling framework
JP2861962B2 (ja) コンピュータプログラムのシミュレーション装置および方法
Golatowski et al. Framework for validation, test and analysis of real-time scheduling algorithms and scheduler implementations
Mazzi et al. Benchmarking and comparison of two open-source RTOSs for embedded systems based on ARM Cortex-M4 MCU
JPH0659939A (ja) 並列計算機のシミュレーション方法
Pouzet et al. Parallel application design: The simulation approach with HASTE
Gregorek et al. A transaction-level framework for design-space exploration of hardware-enhanced operating systems
Kiskis et al. A synthetic workload for a distributed real-time system
JPH06274363A (ja) 制御用計算機システムの性能評価方法
Adams et al. The structure and uses of the Edinburgh Remote Terminal emulator
Meijer Real-time robot software framework on Raspberry PI using Xenomai and ROS2
KR100303188B1 (ko) 컴퓨터프로그램분석방법및장치
Singh Evaluation of Embedded System Behaviour Using Full-System Software
Wheatley et al. Configuration and performance evaluation of a real-time robot control system: the skeleton approach