JPH09198275A - コンピュータ性能向上推奨システム - Google Patents

コンピュータ性能向上推奨システム

Info

Publication number
JPH09198275A
JPH09198275A JP8008048A JP804896A JPH09198275A JP H09198275 A JPH09198275 A JP H09198275A JP 8008048 A JP8008048 A JP 8008048A JP 804896 A JP804896 A JP 804896A JP H09198275 A JPH09198275 A JP H09198275A
Authority
JP
Japan
Prior art keywords
computer
improvement
performance
tool
penalty
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
JP8008048A
Other languages
English (en)
Inventor
由美子 ▲樽▼澤
Yumiko Tarusawa
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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP8008048A priority Critical patent/JPH09198275A/ja
Publication of JPH09198275A publication Critical patent/JPH09198275A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 ハードウェアトレースを使用した命令単位で
のコンピュータの性能解析、性能予測を行うことによ
り、精度、信頼性を向上したコンピュータ性能向上推奨
システムを提供すること。 【解決手段】 ターゲット3の実行状態をハードウェア
レベルで逐次トレースするハードウェアトレーサ1と、
トレースの結果得られたトレースデータ14を解析し
て、ターゲット3の実行時におけるペナルティの分布す
なわち解析結果26を求めるペナルティ解析ツール22
と、解析結果26に基づいて、ターゲット3の動作時に
おける性能を向上するための改善策を選択し提案する改
善事項推奨ツール23とを備えた。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータの実
行状態をトレースすることによりその性能を評価すると
ともに性能向上のための改善策を提案するコンピュータ
性能向上推奨システムに関する。
【0002】
【従来の技術】コンピュータの性能は、CPUの性能の
みによらず、たとえば、キャッシュやその他のメモリ等
のハードウェア構成をどのようにするか、また、どのよ
うなソフトウェアをどのような形態で実行させるか等の
様々な環境条件の影響を受ける。このため、効率よく性
能を上げるためには、コンピュータのどの部分でどのよ
うなペナルティが生じているかを調査した上で対策を施
す必要がある。ところが、この対策を立てるには豊富な
知識と経験が必要なため、従来は熟練した専門家が行っ
ていた。
【0003】最近では、この専門家の負担を軽減するた
め、さほど知識がない人であってもコンピュータの性能
の向上を行えるように、性能を分析し性能改善策を提案
するシステムが開発され始めてきた。
【0004】たとえば、特開昭63−189960号公
報に開示されるシステム性能改善方式では、性能改善の
対象とする電子計算機システムの性能データを収集して
性能上の問題が発生していないかをシステム性能データ
監視手段により監視しておき、問題があった場合はそれ
を改善するための改善方策をシステム性能予測制御手段
により決定してシステムモデルテーブル更新手段により
新たなシステムモデルテーブルを作成し、その改善方策
における性能をシステム性能予測手段が算出してもしも
ある決められた目標値に達しない場合は別の改善方策を
決定して満足な性能値が得られるまでこれを繰り返して
いる。
【0005】また、特開平1−199239号公報に開
示される計算機システム用性能分析診断システムでは、
一定時間ごとに記録されるシステム稼働状況データから
知識入力手段が問題のある箇所を見つけ出し、外部記憶
手段に記憶された経験的規則群および宣言的規則群に基
づいた判断の連鎖、参照、更新を繰り返して計算機シス
テムの性能問題の解決方法を導き出している。
【0006】
【発明が解決しようとする課題】第1の問題点は、従来
の技術においては、コンピュータの稼働状況を得るデー
タとして、一定時間ごともしくはイベントごとにトレー
スを行っている点である。このため、この方法では、各
命令実行時におけるキャッシュの状態やその他ハード的
なステータスを知ることはできない。また、改善策が提
案されたときに性能値を算出する際、命令単位で動作を
シミュレートすることができないので正確な予測ができ
ない。さらに、従来のようなイベントトレースでは、ソ
フトウェアの処理が入るためにトレース時にアプリケー
ションの実時間での走行ができず、ソフトウェアの走行
に影響を与えないリアルタイムなトレースができない。
【0007】第2の問題点は、従来は、改善策を求める
際に、テーブルを参照して性能値を推測し、それが目的
の性能に足りない場合は別の改善策を選択し目的の性能
値になるまで繰り返していた点である。このようなテー
ブルのみによる性能値の推測はあくまでも経験的な数値
であり、実際に動作しているソフトウェアとハードウェ
アの組み合わせに適応しているとは限らない。このた
め、性能の予測に大きな誤差が生じてしまう。
【0008】本発明は上記の点にかんがみてなされたも
ので、ハードウェアトレースを使用した命令単位でのコ
ンピュータの性能解析、性能予測を行うことにより、精
度、信頼性を向上したコンピュータ性能向上推奨システ
ムを提供することを目的とする。
【0009】
【課題を解決するための手段】本発明は上記の目的を達
成するために、コンピュータの実行状態をトレースする
ことによりその性能を評価するとともに性能向上のため
の改善策を提案するコンピュータ性能向上推奨システム
において、前記コンピュータの実行状態をハードウェア
レベルで逐次トレースするハードウェアトレーサと、こ
のハードウェアトレーサによるトレースの結果得られた
トレースデータを解析して、前記コンピュータの実行時
におけるペナルティの分布すなわち解析結果を求めるペ
ナルティ解析ツールと、このペナルティ解析ツールによ
って求められた前記解析結果に基づいて、前記コンピュ
ータの動作時における性能を向上するための改善策を選
択し提案する改善事項推奨ツールとを備えた。
【0010】また、本発明は、前記改善事項推奨ツール
が、前記解析結果において最もペナルティの大きかった
順にハードウェア、ソフトウェア上の改善策を提案し、
該改善策を施した場合の前記コンピュータの性能値をシ
ミュレータによって算出して示すことにより、現状の問
題点、改善の可能性をオペレータが知ることができるよ
うにした。
【0011】
【作用】本発明では以上の構成によって、ハードウェア
トレーサがコンピュータ上で実行されるソフトウェアの
実行を各命令ごとにトレースする。その際、ソフトウェ
アの実行上何ら影響を与えない。
【0012】シミュレータはハードウェアトレーサから
のトレースデータを用いて、1命令ごとの命令フェッ
チ、データフェッチ、データ書込みを再現し、その場合
のキャッシュヒット状況など実際に起こり得る状況を完
全にシミュレートすることができる。
【0013】
【発明の実施の形態】以下本発明を図面に基づいて説明
する。
【0014】図1は、本発明によるコンピュータ性能向
上推奨システムの一実施の形態のブロック図である。
【0015】ターゲット3は性能評価の対象のコンピュ
ータである。プローブ12は、ターゲット3におけるソ
フトウェアプログラムの実行を信号の動きとしてとらえ
るために、ターゲット3に接続されるものであり、CP
U32や各種制御信号線33につながれ、それらにおけ
る信号の変化をハードウェアトレーサ1に伝える。
【0016】ハードウェアトレーサ1は、内部に大容量
メモリ13を有し、ターゲット3からプローブ12を介
して得られた信号を逐次このメモリ13に記憶してい
く。このようにしてメモリ13に記憶されたデータをト
レースデータ14と呼ぶ。
【0017】解析コンピュータ2はハードウェアトレー
サ1につながれ、トレースデータ14を用いて作業を行
う。解析コンピュータ2上ではペナルティ解析ツール2
2と改善事項推奨ツール23とが動作する。
【0018】ペナルティ解析ツール22はトレースデー
タ14を解析してターゲット3のどの部分でどのくらい
のペナルティが起こっているのか(ペナルティの分布)
を求め、解析結果26として改善事項推奨ツール23に
渡す。
【0019】改善事項推奨ツール23は改善事項推奨部
24とシミュレータ25とから成る。改善事項推奨部2
4はペナルティ解析ツール22で得られた解析結果26
により改善策を選択する。シミュレータ25は、改善事
項推奨部24の選択した改善策をターゲット3に対して
施した場合をシミュレーションして、ターゲット3の性
能を予測する。
【0020】次に、図1に示したコンピュータ性能向上
推奨システムの動作について説明する。
【0021】図2は、図1に示したコンピュータ性能向
上推奨システムの動作の流れを示すフローチャートであ
る。
【0022】まず、プローブ12をターゲット3に接続
する(F−1)。プローブ12はターゲット3のCPU
32や各種制御信号線33に接続され、ターゲット3内
の信号をハードウェアトレーサ1に送る。
【0023】ハードウェアトレーサ1は送られてきた信
号を絶えず認識しており、ターゲット3上で動作するア
プリケーション(性能評価を行いたいソフトウェア)の
走行などのトレースを開始したい時点で、解析コンピュ
ータ2からハードウェアトレーサ1に対してトレース開
始信号を送ると、ハードウェアトレーサ1はトレースを
開始する(F−2、F−3)。すなわち、ハードウェア
トレーサ1は、トレース開始信号を受けた後には、クロ
ックなどのトリガを契機としてプローブ12を介してタ
ーゲット3から送られてきた信号をトレースデータ14
として認識し、大容量メモリ13に格納していく。
【0024】ターゲット3上で動作するアプリケーショ
ンの走行の終了などのトレースを終了したい時点で、解
析コンピュータ2からハードウェアトレーサ1に対して
トレース終了信号を送ると(F−4)、ハードウェアト
レーサ1はトレースを終了しトレースデータ14が確定
する(F−5)。
【0025】解析コンピュータ2上のペナルティ解析ツ
ール22は、このトレースデータ14を用いてペナルテ
ィの分析を行う(F−6)。解析コンピュータ2にも大
容量メモリ13と同程度の容量のメモリを設け、このメ
モリにトレースデータ14を持って来て分析等を行うよ
うにしてもよい。
【0026】ペナルティ解析ツール22は、トレースデ
ータ14を用いて現在の走行状況におけるペナルティの
起こり具合を解析する。それはたとえば、メモリリード
待ちの割合がいくつぐらいであるとか、ライト、I/O
によるストールなど各種要因とそれぞれのペナルティの
量を解析する。そして、この結果得られた解析結果26
を改善事項推奨ツール23に渡す。
【0027】改善事項推奨ツール23の改善事項推奨部
24は、解析結果26に基づいて、どのペナルティが一
番大きく性能を落としているのかを知り、それに対する
改善策を選択する(F−7)。この選択には、各要因別
に改善策を示した知識テーブルを使用する。選択された
改善策により、ターゲット3の新たなハードウェア/ソ
フトウェア構成が決まる。
【0028】シミュレータ25は、改善事項推奨部24
で決定された新たなハードウェア/ソフトウェア構成に
ついてトレースデータ14を用いてシミュレーションを
行い、性能を予測する(F−8)。この結果、所望の性
能値に達しなかった場合には、さらに別の改善策を選択
してシミュレーションを繰り返す(F−9、F−7、F
−8)。シミュレーションの結果、所望の性能値に達し
た場合には、その場合の新たなハードウェア/ソフトウ
ェア構成と性能値とを結果27として出力する(F−
9、F−10)。
【0029】
【実施例】次に、本発明の一実施例について図1を参照
しながら説明する。
【0030】ターゲット3上で性能評価を行いたいアプ
リケーションが走行している。このターゲット3にプロ
ーブ12をつないでターゲット3のCPU32や各種制
御信号線33における信号を拾い出し、リアルタイムに
トレーサ1に送る。プローブ12はたとえばロジックア
ナライザに接続するようなプローブを1本1本つないで
もよいし、CPUとソケットとの間に入れるような専用
のものを作ってもよい。
【0031】ハードウェアトレーサ1は送られてきた信
号を絶えず認識しているが、開始信号を受け取るまでは
データ格納動作は行わない。アプリケーションの走行な
どトレースを開始したい時点でトレース開始信号をハー
ドウェアトレーサ1に送ると、ハードウェアトレーサ1
はトレースを開始する。クロックなどのトリガを契機と
してプローブ12から来る信号をトレースデータ14と
して確定して大容量メモリ13に格納していく。
【0032】本実施例では、図3に示したような種類の
信号を1回に格納するデータとして拾う。内容は、クロ
ックを入力して増やされていく絶対時間を知るためのタ
イムスタンプ、命令/データフェッチのアドレス、フェ
ッチされた命令/データの中身のコード、そしてリード
/ライト、I/Oアクセス、命令実行などを表す各種制
御信号である。
【0033】トレースを始めて目的のアプリケーション
の走行が終了したら、ハードウェアトレーサ1にトレー
ス終了信号を送る。この信号を受けるとトレースを終了
し、トレースデータ14が確定する。
【0034】トレースデータ14ができ上がったなら、
次に解析コンピュータ2上のペナルティ解析ツール22
がトレースデータ14を使用して解析を行う。ペナルテ
ィ解析ツール22は、トレースデータ14を用いて現在
の走行状況におけるペナルティの起こり具合を解析す
る。本実施例では、命令/データフェッチ時のキャッシ
ュのミス回数、ミスしたときの待ち時間、ライトによる
ストールの頻度と待ち時間、I/O待ちあわせ時間につ
いて調査するものとする。これらは上述したトレースデ
ータ14の内容の制御信号を見ていくことによってわか
る。たとえば命令フェッチの後キャッシュミスが起こっ
たとすると、メモリブロックリードの信号が出てしばら
くしてからキャッシュリフィルが終了して命令実行が起
こる。これらが制御信号の動きとして現れる。
【0035】そして、どのペナルティが大きかったかが
解析できたら、解析結果26として改善事項推奨ツール
23に渡す。たとえば、今回は、キャッシュのミス率が
非常に高かったため性能が出ていなかったとする。
【0036】改善事項推奨ツール23の改善事項推奨部
24は、解析結果26に基づいて、どのペナルティが一
番大きく性能を落としているのかを知り、それに対する
改善策を選択する。この選択には、各要因別に改善策を
示した知識テーブルを使用する。たとえば、今回の大き
なペナルティであったキャッシュに対しては、「キャッ
シュのサイズを大きくする」、「ソフトウェアの割り付
けを分散させる」という改善項目が登録してあったとす
る。ペナルティの大きさや改善の容易さなども考慮して
改善策を決定する。ここでは「キャッシュのサイズを大
きくする」という改善策を選択したとする。この改善策
により、キャッシュのサイズを大きくした新たなハード
ウェア構成が決まる。
【0037】シミュレータ25は、改善事項推奨部24
で決定された新たなハードウェア構成についてトレース
データ14を用いてシミュレーションを行い、性能を予
測する。今回のキャッシュについては命令とデータのフ
ェッチアドレスをたどっていくことによってキャッシュ
サイズが大きくなった場合のミス率をシミュレートして
出すことができる。その結果を使用して新しい構成での
性能値を算出する。
【0038】これで目標の性能値に達した場合には、
「改善策はキャッシュを○○メガ大きくしたことであ
り、その場合の性能値は○○である。」といった内容の
結果27を出力する。
【0039】一方、目標の性能値に達しなかった場合に
は、さらに別の改善策を選択してシミュレーションを繰
り返す。今回は、キャッシュのペナルティが他に比べて
非常に大きく、キャッシュ以外の部分を改善するよりあ
くまでキャッシュのペナルティを減らした方がよいとす
る。このような場合には、もう1つのキャッシュに関す
る改善策である「ソフトウェアの割り付けを分散させ
る」を選択して、この構成でシミュレーションを行って
性能値を算出する。
【0040】このように、改善策を変更したり複数の改
善策を組み合わせたりしてみて、目的の性能値に達した
ら、その場合の新しいハードウェア/ソフトウェア構成
と性能値とを結果27として出力する。
【0041】
【発明の効果】以上説明したように、本発明による第1
の効果は、ハードウェアトレーサを有したことによりソ
フトウェアの走行に影響を与えないリアルタイムなトレ
ースができることである。従来のように、イベントトレ
ースでは、ソフトウェアの処理が入るためにトレース時
にアプリケーションの実時間での走行ができなかった
が、本発明によれば、リアルタイムトレースによりソフ
トウェアの実際の走行時間や実際のハードウェアの状態
などを知ることができる。
【0042】また、本発明による第2の効果は、シミュ
レータを有し、イベントごとのトレースではなく各命令
レベルのトレース結果を使用することによって、従来不
可能であった詳細なシミュレーションができるようにな
ったことである。この詳細なシミュレーションによって
正確な性能予測ができるようになる。
【図面の簡単な説明】
【図1】本発明によるコンピュータ性能向上推奨システ
ムの一実施の形態のブロック図である。
【図2】図1に示したコンピュータ性能向上推奨システ
ムの動作の流れを示すフローチャートである。
【図3】トレースデータ14の内容の一例を示す図であ
る。
【符号の説明】
1 ハードウェアトレーサ 12 プローブ 13 大容量メモリ 14 トレースデータ 2 解析コンピュータ 22 ペナルティ解析ツール 23 改善事項推奨ツール 24 改善事項推奨部 25 シミュレータ 26 解析結果 27 結果 3 ターゲット 32 CPU 33 制御信号線

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータの実行状態をトレースする
    ことによりその性能を評価するとともに性能向上のため
    の改善策を提案するコンピュータ性能向上推奨システム
    において、 前記コンピュータの実行状態をハードウェアレベルで逐
    次トレースするハードウェアトレーサと、 該ハードウェアトレーサによるトレースの結果得られた
    トレースデータを解析して、前記コンピュータの実行時
    におけるペナルティの分布すなわち解析結果を求めるペ
    ナルティ解析ツールと、 該ペナルティ解析ツールによって求められた前記解析結
    果に基づいて、前記コンピュータの動作時における性能
    を向上するための改善策を選択し提案する改善事項推奨
    ツールとを備えたことを特徴とするコンピュータ性能向
    上推奨システム。
  2. 【請求項2】 前記改善事項推奨ツールが、前記解析結
    果において最もペナルティの大きかった順にハードウェ
    ア、ソフトウェア上の改善策を提案し、該改善策を施し
    た場合の前記コンピュータの性能値をシミュレータによ
    って算出して示すことにより、現状の問題点、改善の可
    能性をオペレータが知ることができるようにしたことを
    特徴とする請求項1に記載のコンピュータ性能向上推奨
    システム。
  3. 【請求項3】 前記シミュレータが、前記トレースデー
    タを用いて、前記改善策を施した場合の前記コンピュー
    タの性能値を算出することを特徴とする請求項2に記載
    のコンピュータ性能向上推奨システム。
  4. 【請求項4】 前記改善事項推奨ツールが、前記シミュ
    レータによって算出した性能値が所望の性能値に達して
    いない場合には別の改善策を提案し、最終的に前記所望
    の性能値に達した改善策を提案することを特徴とする請
    求項2または3に記載のコンピュータ性能向上推奨シス
    テム。
  5. 【請求項5】 コンピュータの実行状態をハードウェア
    レベルで逐次トレースするハードウェアトレーサを有
    し、 該ハードウェアトレーサによるトレース結果に基づいて
    前記コンピュータの性能評価を行うことを特徴とするコ
    ンピュータの性能評価システム。
JP8008048A 1996-01-22 1996-01-22 コンピュータ性能向上推奨システム Pending JPH09198275A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8008048A JPH09198275A (ja) 1996-01-22 1996-01-22 コンピュータ性能向上推奨システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8008048A JPH09198275A (ja) 1996-01-22 1996-01-22 コンピュータ性能向上推奨システム

Publications (1)

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

Family

ID=11682460

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8008048A Pending JPH09198275A (ja) 1996-01-22 1996-01-22 コンピュータ性能向上推奨システム

Country Status (1)

Country Link
JP (1) JPH09198275A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069473B2 (en) 2001-10-05 2006-06-27 Nec Corporation Computer recovery method and system for recovering automatically from fault, and fault monitoring apparatus and program used in computer system
JP2007206806A (ja) * 2006-01-31 2007-08-16 Matsushita Electric Ind Co Ltd キャッシュ観測装置、プロセッサの解析方法およびキャッシュメモリ
WO2009101900A1 (ja) * 2008-02-13 2009-08-20 Nec Corporation 性能最適化システム、方法及びプログラム
JP2012194646A (ja) * 2011-03-15 2012-10-11 Fujitsu Ltd シミュレーション装置及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069473B2 (en) 2001-10-05 2006-06-27 Nec Corporation Computer recovery method and system for recovering automatically from fault, and fault monitoring apparatus and program used in computer system
JP2007206806A (ja) * 2006-01-31 2007-08-16 Matsushita Electric Ind Co Ltd キャッシュ観測装置、プロセッサの解析方法およびキャッシュメモリ
US7698496B2 (en) 2006-01-31 2010-04-13 Panasonic Corporation Cache memory observation device and method of analyzing processor
WO2009101900A1 (ja) * 2008-02-13 2009-08-20 Nec Corporation 性能最適化システム、方法及びプログラム
US8738881B2 (en) 2008-02-13 2014-05-27 Nec Corporation Performance optimization system, method and program
JP2012194646A (ja) * 2011-03-15 2012-10-11 Fujitsu Ltd シミュレーション装置及びプログラム

Similar Documents

Publication Publication Date Title
JPH0833845B2 (ja) ソフトウエア動作解析装置
US20040148152A1 (en) System performance prediction mechanism and method based on software component performance measurements
US6820222B2 (en) Apparatus and method for processor power measurement in a digital signal processor using trace data and simulation techniques
EP2390790A1 (en) Profiling of software applications
EP3391224B1 (en) Method and apparatus for data mining from core traces
EP3835944B1 (en) Apparatus and method for source code optimisation
JP5308098B2 (ja) 情報処理装置試験プログラム及び方法
JP4842783B2 (ja) 情報処理装置及び情報処理方法及びプログラム
US6856951B2 (en) Repartitioning performance estimation in a hardware-software system
US9824169B2 (en) Regression signature for statistical functional coverage
US6691079B1 (en) Method and system for analyzing test coverage
Debbarma et al. Static and dynamic software metrics complexity analysis in regression testing
US20080010555A1 (en) Method and Apparatus for Measuring the Cost of a Pipeline Event and for Displaying Images Which Permit the Visualization orf Said Cost
US7110934B2 (en) Analysis of the performance of a portion of a data processing system
Todi Speclite: using representative samples to reduce spec cpu2000 workload
JPH09198275A (ja) コンピュータ性能向上推奨システム
US6643609B2 (en) Performance measurement for embedded systems
Uzelac et al. Using branch predictors and variable encoding for on-the-fly program tracing
Imtiaz et al. Automatic platform-independent monitoring and ranking of hardware resource utilization
US7617416B2 (en) System, method, and apparatus for firmware code-coverage in complex system on chip
JP4267304B2 (ja) ディスクアレイ制御装置
JP2907092B2 (ja) 性能評価シミュレーションモデリング方法および装置
US20240144104A1 (en) Workload performance prediction
CN117087686A (zh) 一种高级辅助驾驶系统监控方法、装置、车辆和存储介质
JPH11338744A (ja) ソフトウエア開発支援装置

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20010410