JPH07182209A - オペレーティング・システム・ベースのプログラムの性能モニタ方法およびシステム - Google Patents
オペレーティング・システム・ベースのプログラムの性能モニタ方法およびシステムInfo
- Publication number
- JPH07182209A JPH07182209A JP6268813A JP26881394A JPH07182209A JP H07182209 A JPH07182209 A JP H07182209A JP 6268813 A JP6268813 A JP 6268813A JP 26881394 A JP26881394 A JP 26881394A JP H07182209 A JPH07182209 A JP H07182209A
- Authority
- JP
- Japan
- Prior art keywords
- program
- code
- processor
- operating system
- kernel
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3466—Performance evaluation by tracing or monitoring
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)
- Stored Programmes (AREA)
Abstract
能およびユーザ・レベル・プログラムの性能をモニタで
きるようにする。 【構成】 オペレーティング・システムは、プログラム
の性能をモニタするために、そのカーネル内にファシリ
ティを備えている。このファシリティは、カーネルのよ
うなオペレーティング・システムの部分だけでなく、ユ
ーザ・レベル・プログラムもモニタする。ファシリティ
は、システムのユーザに便利な性能基準を提供するため
に、命令および関数コールのカウントの双方またはいず
れか一方を行う。このカウント値は、ユーザ・レベル・
モニタ・プログラムに送られる。カーネルにファシリテ
ィを含めることにより、性能のモニタの速度を向上させ
ることができ、オペレーティング・システムをファシリ
ティによって直接モニタすることもできる。
Description
に関し、具体的には、データ処理システム上で実行され
るプログラムの性能(パフォーマンス)をモニタ(モニ
タリング)する方法およびシステムに関する。
ラムの性能(パフォーマンス)をモニタするための様々
な統計的手法が、これまでに開発されてきている。最も
著名な手法の一つとして、プログラムの各関数の実行時
間をモニタするものがある。このアプローチによると、
多くの場合に、関数の処理時間の計測に使用されるクロ
ックの周期が大きすぎるために、処理時間が各関数にど
のように分配されているかの正確な状況を把握できない
点に難点がある。プログラムの性能をモニタするもう一
つの統計的手法として、命令をカウントするものがあ
る。命令をカウントする手法は、一般に、アプリケーシ
ョン・プログラムのようなユーザ・レベルのプログラム
(システム・レベルのプログラムに対するものとして)
の性能をモニタするのに限定されている。
手法を、オペレーティング・システムのカーネルの性能
をモニタするのに適用することはできなかった。このよ
うな制限により、プログラマが、プログラムの性能を向
上させるために統計的手法を利用できないことが多かっ
た。
サ、ならびにオペレーティング・システムおよびユーザ
・レベルのモニタリング・プログラムを記憶するための
記憶機構を備えているデータ処理システムにおいて、こ
の発明による方法が実行される。プロセッサは、ユーザ
・レベルおよびシステム・レベルの命令を実行する。デ
ータ処理システムは、分散システムであってもよい。
グラムの性能をモニタするために、オペレーティング・
システムのカーネルに備えられる。例えば、このファシ
リティは、プロセッサによって実行される命令をカウン
トするものであってもよいし、コードの一部がプログラ
ムの実行中に呼び出された回数をカウントするものであ
ってもよい。また、ファシリティは、各関数で実行され
る命令数を示す関数によって分類された多くの個別のカ
ウントを提供するものであってもよい。プログラムのコ
ードの一部が、プロセッサによって実行される。このと
き、オペレーティング・システムのカーネルにあるファ
シリティは、システムの性能をモニタするために使用さ
れる。
ファシリティによってカウントされる値を決定する。カ
ウントは、ユーザ・レベル・モニタリング・プログラム
に報告される。例えば、ファシリティは、プログラムの
コードの一部を実行したときの命令数をカウントするも
のであってもよいし、プログラムのコードの一部が呼び
出される回数をカウントするものであってもよい。ま
た、ファシリティは、第1の関数がプログラムの実行中
に呼び出されるときに、関数において実行される命令を
備えた関数によって分類された個別のカウントを提供す
るものであってもよい。
ムであってよいし、オペレーティング・システムのカー
ネルの一部であってもよい。
性能をモニタ(モニタリング)するファシリティを、オ
ペレーティング・システムのカーネルに備えている。こ
のファシリティは、多くのオプションをユーザに提供す
る。第1に、このファシリティにより、ユーザは、ある
関数が呼び出されるごとに、その関数によって実行され
る命令数をカウントすることができる。第2に、このフ
ァシリティにより、ユーザは、ある特定の関数への呼び
出し回数および頻度を、その関数において実行される命
令をカウントすることなく、カウントすることができ
る。第3に、このファシリティにより、ユーザは、初期
関数の呼び出しの結果、呼び出される各関数において実
行される命令数をカウントすることができる。このファ
シリティは、オペレーティング・システムのカーネルに
設けられるので、アプリケーション・プログラムのよう
なユーザ・レベル・プログラムの性能をモニタすること
に使用できるだけでなく、カーネルの性能およびオペレ
ーティング・システムの他の部分の性能をモニタするこ
とに使用することもできる。ファシリティをオペレーテ
ィング・システムのカーネルに設けることにより、モニ
タの速度を向上させることもでき、モニタの対象となる
プログラムに変更を加えることなく、性能のモニタを行
う簡単なアプローチを提供することができる。
ステム10において実現することができる。この発明を、
単一のプロセッサ・システムにおいて実行できることも
理解できるであろう。この分散システム10は、ネットワ
ーク14を介して通信を行う多くのコンピュータ・システ
ム12を含んでいる。各コンピュータ・システム12は、実
行しているプログラムのトレースを同時に行うことがで
きる。ネットワーク14は、ローカル・エリア・ネットワ
ーク(LAN)やワイド・エリア・ネットワークを含む
多くの異なるタイプのネットワークのいずれであっても
よい。この技術分野の専門家ならば、分散システム10
が、図1に示すものとは異なる個数のコンピュータ・シ
ステムを含むこともできることを容易に理解するであろ
う。この分散システムにおいては、4台のコンピュータ
・システムが示されているにすぎない。
に含まれる構成要素を詳細に示すブロック図である。各
コンピュータ・システムが、このシステム構成を有する
必要は必ずしもなく、ここでは、このシステム構成が、
単に示されているにすぎない。コンピュータ・システム
12は、中央処理装置(CPU)13およびメモリ16を備え
ている。CPU13は、複数のレジスタ17を備えている。
レジスタ17には、FLAGレジスタおよびSS(Stack
Segment :スタック・セグメント)レジスタが含まれて
いる。これらのレジスタについては、後に詳述する。メ
モリ16は、ワシントンのレドモンドにあるマイクロソフ
ト社(Microsoft Corporation )により販売されてい
る、マイクロソフトNTオペレーティング・システムの
ような分散オペレーティング・システム28のコピーを保
持している。この実施例においては、各コンピュータ・
システム12が、オペレーティング・システムのコピーを
保持し、実行する。オペレーティング・システム28は、
カーネル30を含んでいる。カーネル30には、性能をモニ
タすることをサポートするコード部32がある。コード部
32については、後に詳述する。メモリ16には、CPU13
によって実行される少なくとも一つのアプリケーション
・プログラム26も記憶されている。しかし、このアプリ
ケーション・プログラム26は、メモリ16に記憶されてい
る必要は必ずしもない。
の周辺装置を備えている。これらの周辺装置には、補助
記憶装置(例えば、磁気ディスク・ドライブ)18、キー
ボード20、ビデオ・ディスプレイ22およびマウス24が含
まれる。
図である。APIは、ブレークポイント・ファシリティ
34を含んでいる。このブレークポイント・ファシリティ
34は、CPU13で実行されるプログラム内のブレークポ
イントの生成をサポートする。また、コード部32は、シ
ングル・ステップの割込みを制御するシングル・ステッ
プ割込ハンドラ36を含んでいる。ブレークポイント・フ
ァシリティ34およびシングル・ステップ割込ハンドラ36
によって提供される機能を説明するために、まず、ブレ
ークポイントとは何か、シングル・ステップ割込みとは
何かを知ることが有益である。
ムを1ステップごとに処理(シングル・ステッピング)
するときに使用される割込みをである。シングル・ステ
ッピングは、CPU13の一つの処理モードであり、管理
プログラムの制御の下、一時に一つの命令を実行するモ
ードである。シングル・ステッピングにより、デバッガ
または性能モニタは、プログラムをゆっくりと実行する
ことができ、プログラムの実行を注意深くモニタするこ
とができる。ここでは、シングル・ステップ割込ハンド
ラ36は、モニタされているプログラムが一時に一つの命
令を実行する管理プログラムである。一般に、一つの命
令が実行されると、単一のステップ割込みが発生し、プ
ロセッサの制御が管理プログラムに切り換えられる。80
X86 (80186 、80286 等)マイクロプロセッサのような
多くのマイクロプロセッサは、マイクロプロセッサをシ
ングル・ステッピング・モードに切り換える便利な機構
を備えている。80X86 マイクロプロセッサには、シング
ル・ステップ・トラップ・フラグが、FLAGレジスタ
(図2)に備えられている。このシングル・ステップ・
トラップ・フラグの値が1の場合には、マイクロプロセ
ッサは、シングル・ステップ・モードを実行し、一方、
シングル・ステップ・トラップ・フラグの値が0の場合
には、マイクロプロセッサは、シングル・ステップ・モ
ードを実行しない。
な実行をブレークするために使用され、プログラムのデ
バッグおよびプログラムの性能のモニタに有効なブレー
クポイント割込みである。シングル・ステップ・モード
においては、プログラムがゆっくりと実行されるので、
プログラムを全て実行することは難しい。多くの場合
に、プログラムの大部分は既にデバッグまたはチューン
されており、わずかな部分にのみ、詳細な試験が必要と
される。ブレークポイント割込みは、このような状況に
おいて特に適している。ブレークポイント割込みは、プ
ログラム中に特別のオペコード(演算コード:opcode)
を挿入することにより、発生する。このオペコードは、
実行時に、ブレークポイント割込みを発生させる。ブレ
ークポイント割込みが発生すると、制御は、ブレークポ
イント・ファシリティ34に渡される。ブレークポイント
・ファシリティ34は、さらに必要となる処理を行うこと
もある。この実施例におけるブレークポイントおよびシ
ングル・ステップ割込みの機能については、以下に述べ
る図4および図5の説明において詳述する。
シングル・ステップ・ハンドラ36に加えて、コード部32
は、文脈スイッチに関係したコード38を含んでいる。こ
のコード38は、文脈スイッチ用のフックを備え、文脈ス
イッチを検査して、新しい文脈をシングル・ステップと
すべきかどうかを決定するハンドラを含んでいる。新し
い文脈がシングル・ステップとされるならば、このハン
ドラは、シングル・ステッピングを確実に発生させる。
る。上述したように、この実施例では、ユーザは、関数
において実行される命令数、関数がプログラム内で呼び
出される回数および初期関数を呼び出した結果として呼
び出される各関数用に実行される命令数をモニタするこ
とができる。これらの各カウントは、個別のカウンタに
記憶され、そのカウンタの値が、コード部32のデータ・
エリアのカウンタ値40として保持される。
たはプログラムの一部の性能をモニタするために実行さ
れる処理の流れを示すフローチャートである。まず、ユ
ーザは、性能基準(性能メトリック)を選択する(ステ
ップ42)。続いて、ダイアログ・ボックスのメニューの
ようなユーザ・インタフェースが、ユーザが使用してい
るコンピュータ・システム12(図1)のビデオ・ディス
プレイ22(図2)に表示される。ユーザは、このユーザ
・インタフェースを使用することにより、所望の性能基
準を選択することができる。上述したように、この実施
例において求められる多くの異なる性能基準がある。ま
た、ユーザは、プログラム中のどの関数をモニタするか
を選択する(ステップ44)。性能基準が選択され、モニ
タされる関数が選択されると、ブレークポイント割込み
を生成するオペコードがモニタされる関数のそれぞれに
挿入され、プログラムまたはプログラムの一部が実行さ
れる(ステップ46)。適切なカウンタ値40が、プログラ
ムの実行に伴い計算される。プログラムの実行に伴い、
カウンタ値40は、ビデオ・ディスプレイ22に表示される
(ステップ48)。プログラムまたはプログラムの一部の
実行が終了すると、ユーザは、プログラムを適切にチュ
ーニング(チューン)するための指標となる性能データ
を検討することができる(ステップ50)。性能データを
どのようにプログラムのチューニングに使用するかは、
収集されたデータのタイプに依存する。この技術の専門
家には、プログラムを適切にチューニングするための性
能基準データを使用方法が分かるであろう。
ントの挿入およびプログラムの実行(すなわち、図4の
ステップ46)の詳細を示すフローチャートである。上述
したように、ブレークポイントのオペコードが、モニタ
される各関数の最初の命令として置かれる(ステップ5
2)。続いて、システムは、関数の実行を開始する(ス
テップ54)。ブレーク・ポイントは、関数の最初の命令
として置かれているので、カーネルは、ブレークポイン
トを発見し(ステップ56)、ユーザがその関数用に要求
した性能基準がどれかを決定する(ステップ58)。要求
された性能基準が関数の呼び出し回数のカウントだけな
らば、その関数の呼び出し回数を示すために、カウンタ
値40(図3)のうちの、その関数の呼び出し回数をカウ
ントするカウンタの値がインクリメントされる(ステッ
プ60)。このカウンタがインクリメントされると、その
関数は、再スタートし、フルスピードで実行を再開す
る。
て説明する前に、ユーザが、実行される命令数をモニタ
したいときに、「スレッド」および「スタック」を紹介
しておくことが有益である。一つのスレッドは、他のス
レッドと独立に、かつ、同時に実行できる仕事の単位で
ある。オペレーティング・システム28は、マルチスレッ
ド・システムである。この技術分野の専門家ならば、必
ずしもマルチスレッド・システムで実行される必要がな
いことを理解するであろう。また、シングル・プロセス
およびマルチプロセシング・システムで実行することも
できる。マルチスレッド・オペレーティング・システム
は、複数のスレッドを同時に実行することができる。ス
タックとは、後入れ先出し(ラスト・イン・ファースト
・アウト(Last-In-First-Out :LIFO))のデータ構造
を持つものであり、スレッド用のデータおよびレジスタ
情報を記憶するために使用される。各スレッドは、その
スレッド専用のスタック・セグメント(Stack Segment
:SS)部を有する。SSレジスタ(図2)は、実行
されているプログラムのスレッドのスタックを記憶する
メモリのセグメントをポイントする。各スレッドは、そ
のスタック(すなわち、そのスレッド専用のスタック・
セグメント部)の先頭をポイントする、そのスレッドに
関連したスタック・ポインタ(Stack Pointer :SP)
の値を有する。この技術分野の専門家ならば、スタック
を使用しない環境においても、この発明を実行できるこ
とを理解するであろう。
ザが、関数の呼び出し回数のカウントではなく、実行さ
れる命令数のカウントを望んでいると判定されると、現
在実行中のスレッドのスタック・ポインタがメモリ16に
記憶される(ステップ64)。FLAGレジスタ(図2)
のシングル・ステップ・トラップ・フラグは、CPU13
がシングル・ステッピング・モードになるようにセット
される(ステップ66)。シングル・ステッピング・モー
ドでは、命令が実行されるごとに、現在実行されている
関数の命令数を追跡するカウンタ値が、インクリメント
される(ステップ68)。これらの命令は、スレッドがモ
ニタされている関数を抜け出すか、スレッドが終了する
まで、カウントされる。スレッドがそれ自身をスケジュ
ールしないと、カウントしている命令は中断されるかも
知れないが、スレッドが再びスケジュールされた後は、
命令のカウントが再開される。
明したが、この技術分野の専門家ならば、特許請求の範
囲において定められるこの発明から逸脱することなく、
様々な変更や具体化を行うことができる。
テムの構成を示すブロック図である。
細に示すブロック図である。
ある。
の性能のモニタおよびプログラムをチューニングの処理
の流れを、ユーザの操作に基づいて示すフローチャート
である。
われるときに、ブレークポイントがどのように挿入され
るか、およびプログラムがどのように実行されるかを詳
細に示すフローチャートである。
Claims (28)
- 【請求項1】 命令を実行するときにシステム・レベル
またはユーザ・レベルで実行するプロセッサと、カーネ
ルを含むオペレーティング・システムを記憶するための
記憶機構とを備えたデータ処理システムにおける方法で
あって、 前記プロセッサによって実行される命令をカウントする
ための、前記オペレーティング・システムのカーネルの
ファシリティ、および前記ファシリティによってカウン
トされる命令をモニタするためのユーザ・レベル・モニ
タリング・プログラムを提供し、 前記プロセッサ上でコードの一部を実行し、 前記オペレーティング・システムのカーネルの前記ファ
シリティを使用して、前記プロセッサ上で前記コードの
一部を実行するときに実行される命令数をカウントし、
ならびに前記ユーザ・レベル・モニタリング・プログラ
ムに、実行された命令数のカウントを報告するステッ
プ、 を含む方法。 - 【請求項2】 前記プロセッサ上で実行されるコードの
一部が、オペレーティング・システムのカーネルの一部
である、請求項1に記載の方法。 - 【請求項3】 前記プロセッサ上で実行されるコードの
一部が、ユーザ・レベル・プログラムの一部である、請
求項1に記載の方法。 - 【請求項4】 前記プログラム上で実行されるコードの
一部が、オペレーティング・システムのカーネルの部分
でない、請求項1に記載の方法。 - 【請求項5】 前記プロセッサ上で前記コードの一部を
実行するときに実行される命令数のカウントを前記記憶
機構に記憶するステップ、含む請求項1に記載の方法。 - 【請求項6】 前記コードの一部が関数であり、前記コ
ードの一部を前記プロセッサ上で実行するステップが、
前記関数を前記プロセッサ上で実行するステップを含む
ものである、請求項1に記載の方法。 - 【請求項7】 前記プロセッサ上で実行されるコードの
一部をチューニングし、前記コードの一部を前記プロセ
ッサ上で実行するときに実行される命令数を減少させる
ステップ、 を含む請求項1に記載の方法。 - 【請求項8】 前記データ処理システムが、第2のプロ
セッサを含む分散システムであり、 第2のコードの一部を前記第2のプロセッサ上で実行
し、 前記オペレーティング・システムのカーネルのファシリ
ティを使用して、前記第2のプロセッサ上で前記第2の
コードの一部を実行するときに実行される命令数をカウ
ントし、および前記第2のコードの一部を実行するとき
に実行される命令の前記カウントを、前記ユーザ・レベ
ル・モニタリング・プログラムに報告するステップ、 を含む請求項1に記載の方法。 - 【請求項9】 前記第2のプロセッサ上で前記第2のコ
ードの一部を実行するときに実行される命令数の前記カ
ウントを、前記記憶機構に記憶するステップ、 を含む請求項8に記載の方法。 - 【請求項10】 命令を実行するときにシステム・レベ
ルまたはユーザ・レベルで実行するプロセッサ、および
カーネルを含むオペレーティング・システムを記憶する
ための記憶機構を備えたデータ処理システムにおいて、 プログラムの実行中にコードの一部が呼び出された回数
をカウントするための、前記オペレーティング・システ
ムのカーネルのファシリティ、および前記ファシリティ
によってカウントされる命令をモニタするためのユーザ
・レベル・モニタリング・プログラムを提供し、 第1のコードの一部を含むプログラムの少なくとも一部
を前記プロセッサ上で実行し、 前記オペレーティング・システムのカーネルの前記ファ
シリティを使用して、前記第1のコードの一部が、前記
プロセッサ上で前記プログラムの一部の実行中に呼び出
される回数をカウントし、ならびに前記ユーザ・レベル
・モニタリング・プログラムに前記カウントを報告する
ステップ、 を含む方法。 - 【請求項11】 前記プログラムが、前記オペレーティ
ング・システムのカーネルの一部である、 請求項10に記載の方法。 - 【請求項12】 前記プログラムがユーザ・レベル・プ
ログラムである、請求項10に記載の方法。 - 【請求項13】 前記プログラムが、前記オペレーティ
ング・システムのカーネルの一部でない、 請求項10に記載の方法。 - 【請求項14】 前記第1のコードの一部が前記プログ
ラムの一部の実行中に呼び出される回数のカウントを、
前記記憶機構に記憶するステップ、 を含む請求項10に記載の方法。 - 【請求項15】 前記第1のコードの一部が、関数であ
り、 前記オペレーティング・システムのカーネルの前記ファ
シリティを使用して、前記第1のコードの一部が前記プ
ロセッサ上での前記プログラムの一部の実行中に呼び出
される回数をカウントする前記ステップが、前記オペレ
ーティング・システムのカーネルの前記ファシリティを
使用して、前記関数が前記プログラムの一部の実行中に
呼び出される回数をカウントするステップを含むもので
ある、 請求項10に記載の方法。 - 【請求項16】 前記第1のコードの一部が、前記プロ
グラムの一部の実行中に呼び出される回数のカウントを
使用して、前記プログラムの性能のチューニングを指標
するステップ、 を含む請求項10に記載の方法。 - 【請求項17】 前記プログラムが、第2のコードの一
部を含み、 前記オペレーティング・システムのカーネルの前記ファ
シリティを使用して、前記第2のコードの一部が、前記
プロセッサ上での前記プログラムの一部の実行中に呼び
出される回数をカウントし、および前記第2のコードの
一部が呼び出された回数のカウントを、前記ユーザ・レ
ベル・モニタリング・プログラムに報告するステップ、 を含む請求項10に記載の方法。 - 【請求項18】 前記第2のコードの一部が前記プロセ
ッサ上での前記プログラムの一部の実行中に呼び出され
る回数のカウントを、前記記憶機構に記憶するステッ
プ、 を含む請求項17に記載の方法。 - 【請求項19】 前記データ処理システムが、第2のプ
ロセッサを含む分散システムであり、 コードの一部を含む第2のプログラムの少なくとも一部
を、前記プロセッサ上で実行し、 前記オペレーティング・システムのカーネルの前記ファ
シリティを使用して、前記第2のプログラムの前記コー
ドの一部が前記第2のプログラムの一部の実行中に呼び
出される回数をカウントし、および前記第2のプログラ
ムの前記コードの一部が呼び出された回数のカウント
を、前記ユーザ・レベル・モニタリング・プログラムに
報告するステップ、 を含む請求項10に記載の方法。 - 【請求項20】 前記第2のプログラムの前記コードの
一部が前記第2のプログラムの一部の実行中に呼び出さ
れる回数のカウントを、前記記憶機構に記憶するステッ
プ、 を含む請求項19に記載の方法。 - 【請求項21】 命令を実行するためのシステム・レベ
ルまたはユーザ・レベルで実行可能なプロセッサ、およ
びカーネルを有するオペレーティング・システムを記憶
するための記憶機構を備えたデータ処理システムにおい
て、 前記プロセッサによって実行される命令をカウントする
ためのファシリティを、前記オペレーティング・システ
ムのカーネルに提供し、 前記プログラムの他の関数を呼び出す第1の関数を前記
プロセッサ上で実行し、 前記オペレーティング・システムのカーネルの前記ファ
シリティを使用して、前記第1の関数が前記プログラム
の実行中に呼び出されたときに、前記第1の関数および
前記他の関数で実行される命令の関数によって分類され
る個別のカウントを求め、ならびに前記ユーザ・レベル
・モニタリング・プログラムに前記カウントを報告する
ステップ、 を含む方法。 - 【請求項22】 前記プログラムが、前記オペレーティ
ング・システムのカーネルの一部である、 請求項21に記載の方法。 - 【請求項23】 前記プログラムがユーザ・レベル・プ
ログラムである、 請求項21に記載の方法。 - 【請求項24】 前記プログラムが、前記オペレーティ
ング・システムのカーネルの一部でない、 請求項21に記載の方法。 - 【請求項25】 前記個別のカウントを前記記憶機構に
記憶するステップを含む、 請求項21に記載の方法。 - 【請求項26】 前記プログラムの性能のチューニング
を指標する前記個別のカウントを使用して、前記プログ
ラムの性能をチューニングするステップ、 を含む請求項21に記載の方法。 - 【請求項27】 命令からなるモニタの対象プログラム
の性能を測定するシステムであって、 ユーザ・レベル・モニタリング・プログラム、および実
行される命令をカウントするファシリティを含むカーネ
ルを備えたオペレーティング・システムを記憶するため
の記憶機構、ならびに(i) 前記モニタの対象プログラム
と前記ユーザ・レベル・モニタリング・プログラムを実
行するためのプログラム実行ユニット、(ii)前記ファシ
リティを呼び出して、前記モニタの対象プログラムの少
なくとも一部によって実行される命令数をカウントする
ファシリティ・インボーカ、および(iii) 前記ファシリ
ティによって収集されたカウントを、前記ユーザ・レベ
ル・モニタリング・プログラムに報告するカウント・レ
ポータを備えたプロセッサ、を含むシステム。 - 【請求項28】 関数を含み、命令からなるモニタ対象
のプログラムの性能を測定するシステムであって、ユー
ザ・レベル・モニタリング・プログラム、および関数が
呼び出される回数をカウントするファシリティを含むカ
ーネルを備えたオペレーティング・システムを記憶する
ための記憶機構、ならびに(i) 前記モニタの対象プログ
ラムと前記ユーザ・レベル・モニタリング・プログラム
を実行するためのプログラム実行ユニット、(ii)前記フ
ァシリティを呼び出して、前記モニタの対象プログラム
の実行中に、前記モニタの対象プログラム内の前記関数
が呼び出される回数をカウントするファシリティ・イン
ボーカ、および(iii) 前記カウントを、前記ユーザ・レ
ベル・モニタリング・プログラムに報告するカウント・
レポータを備えたプロセッサ、を含むシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/147,645 US5485574A (en) | 1993-11-04 | 1993-11-04 | Operating system based performance monitoring of programs |
| US08/147645 | 1993-11-04 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH07182209A true JPH07182209A (ja) | 1995-07-21 |
| JP4034363B2 JP4034363B2 (ja) | 2008-01-16 |
Family
ID=22522352
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP26881394A Expired - Lifetime JP4034363B2 (ja) | 1993-11-04 | 1994-11-01 | オペレーティング・システム・ベースのプログラムの性能モニタ方法およびシステム |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US5485574A (ja) |
| EP (1) | EP0652518B1 (ja) |
| JP (1) | JP4034363B2 (ja) |
| CA (1) | CA2134060C (ja) |
| DE (1) | DE69422476T2 (ja) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2001026005A1 (en) * | 1999-10-06 | 2001-04-12 | Accenture Llp | Method for determining total cost of ownership |
| US7020621B1 (en) | 1999-10-06 | 2006-03-28 | Accenture Llp | Method for determining total cost of ownership |
| JP2007249844A (ja) * | 2006-03-17 | 2007-09-27 | Fujitsu Ltd | 性能チューニングプログラム、該プログラムを記録した記録媒体、性能チューニング装置、および性能チューニング方法 |
| JP2008276683A (ja) * | 2007-05-07 | 2008-11-13 | Nec Electronics Corp | 試験装置 |
| JP2010211731A (ja) * | 2009-03-12 | 2010-09-24 | Fujitsu Ltd | 並列処理支援プログラム、並列処理支援装置および並列処理支援方法 |
Families Citing this family (97)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6263488B1 (en) * | 1993-12-03 | 2001-07-17 | International Business Machines Corporation | System and method for enabling software monitoring in a computer system |
| JP3366475B2 (ja) * | 1994-04-12 | 2003-01-14 | 三菱電機株式会社 | データ処理速度の評価方法 |
| US6026236A (en) * | 1995-03-08 | 2000-02-15 | International Business Machines Corporation | System and method for enabling software monitoring in a computer system |
| CA2195402A1 (en) * | 1995-05-19 | 1996-11-21 | At&T Ipm Corp. | Method for monitoring a digital multiprocessor |
| US5875294A (en) | 1995-06-30 | 1999-02-23 | International Business Machines Corporation | Method and system for halting processor execution in response to an enumerated occurrence of a selected combination of internal states |
| US5949971A (en) * | 1995-10-02 | 1999-09-07 | International Business Machines Corporation | Method and system for performance monitoring through identification of frequency and length of time of execution of serialization instructions in a processing system |
| US5748855A (en) * | 1995-10-02 | 1998-05-05 | Iinternational Business Machines Corporation | Method and system for performance monitoring of misaligned memory accesses in a processing system |
| US5729726A (en) * | 1995-10-02 | 1998-03-17 | International Business Machines Corporation | Method and system for performance monitoring efficiency of branch unit operation in a processing system |
| US5691920A (en) * | 1995-10-02 | 1997-11-25 | International Business Machines Corporation | Method and system for performance monitoring of dispatch unit efficiency in a processing system |
| US5887167A (en) * | 1995-11-03 | 1999-03-23 | Apple Computer, Inc. | Synchronization mechanism for providing multiple readers and writers access to performance information of an extensible computer system |
| US5920719A (en) * | 1995-11-06 | 1999-07-06 | Apple Computer, Inc. | Extensible performance statistics and tracing registration architecture |
| US5999972A (en) | 1996-07-01 | 1999-12-07 | Sun Microsystems, Inc. | System, method and article of manufacture for a distributed computer system framework |
| US6272555B1 (en) | 1996-07-01 | 2001-08-07 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework system |
| US6266709B1 (en) | 1996-07-01 | 2001-07-24 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server failure reporting process |
| US6304893B1 (en) | 1996-07-01 | 2001-10-16 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system |
| US6424991B1 (en) | 1996-07-01 | 2002-07-23 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server communication framework |
| US6038590A (en) | 1996-07-01 | 2000-03-14 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system |
| US5987245A (en) | 1996-07-01 | 1999-11-16 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework |
| US6434598B1 (en) | 1996-07-01 | 2002-08-13 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system |
| US5848246A (en) | 1996-07-01 | 1998-12-08 | Sun Microsystems, Inc. | Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system |
| US5799143A (en) * | 1996-08-26 | 1998-08-25 | Motorola, Inc. | Multiple context software analysis |
| US5878208A (en) * | 1996-11-25 | 1999-03-02 | International Business Machines Corporation | Method and system for instruction trace reconstruction utilizing limited output pins and bus monitoring |
| US5884080A (en) * | 1996-11-26 | 1999-03-16 | International Business Machines Corporation | System and method for instruction burst performance profiling for single-processor and multi-processor systems |
| US5970439A (en) * | 1997-03-13 | 1999-10-19 | International Business Machines Corporation | Performance monitoring in a data processing system |
| US5872976A (en) * | 1997-04-01 | 1999-02-16 | Landmark Systems Corporation | Client-based system for monitoring the performance of application programs |
| US5944841A (en) * | 1997-04-15 | 1999-08-31 | Advanced Micro Devices, Inc. | Microprocessor with built-in instruction tracing capability |
| US7076784B1 (en) | 1997-10-28 | 2006-07-11 | Microsoft Corporation | Software component execution management using context objects for tracking externally-defined intrinsic properties of executing software components within an execution environment |
| US6134594A (en) | 1997-10-28 | 2000-10-17 | Microsoft Corporation | Multi-user, multiple tier distributed application architecture with single-user access control of middle tier objects |
| US6092180A (en) * | 1997-11-26 | 2000-07-18 | Digital Equipment Corporation | Method for measuring latencies by randomly selected sampling of the instructions while the instruction are executed |
| US6163840A (en) * | 1997-11-26 | 2000-12-19 | Compaq Computer Corporation | Method and apparatus for sampling multiple potentially concurrent instructions in a processor pipeline |
| US6119075A (en) * | 1997-11-26 | 2000-09-12 | Digital Equipment Corporation | Method for estimating statistics of properties of interactions processed by a processor pipeline |
| US6070009A (en) * | 1997-11-26 | 2000-05-30 | Digital Equipment Corporation | Method for estimating execution rates of program execution paths |
| US5923872A (en) * | 1997-11-26 | 1999-07-13 | Digital Equipment Corporation | Apparatus for sampling instruction operand or result values in a processor pipeline |
| US6195748B1 (en) | 1997-11-26 | 2001-02-27 | Compaq Computer Corporation | Apparatus for sampling instruction execution information in a processor pipeline |
| US6442585B1 (en) | 1997-11-26 | 2002-08-27 | Compaq Computer Corporation | Method for scheduling contexts based on statistics of memory system interactions in a computer system |
| US6549930B1 (en) | 1997-11-26 | 2003-04-15 | Compaq Computer Corporation | Method for scheduling threads in a multithreaded processor |
| US6148396A (en) * | 1997-11-26 | 2000-11-14 | Compaq Computer Corporation | Apparatus for sampling path history in a processor pipeline |
| US5809450A (en) * | 1997-11-26 | 1998-09-15 | Digital Equipment Corporation | Method for estimating statistics of properties of instructions processed by a processor pipeline |
| US6237059B1 (en) | 1997-11-26 | 2001-05-22 | Compaq Computer Corporation | Method for estimating statistics of properties of memory system interactions among contexts in a computer system |
| US6332178B1 (en) | 1997-11-26 | 2001-12-18 | Compaq Computer Corporation | Method for estimating statistics of properties of memory system transactions |
| US6000044A (en) * | 1997-11-26 | 1999-12-07 | Digital Equipment Corporation | Apparatus for randomly sampling instructions in a processor pipeline |
| US5964867A (en) * | 1997-11-26 | 1999-10-12 | Digital Equipment Corporation | Method for inserting memory prefetch operations based on measured latencies in a program optimizer |
| US6374367B1 (en) | 1997-11-26 | 2002-04-16 | Compaq Computer Corporation | Apparatus and method for monitoring a computer system to guide optimization |
| US6047390A (en) * | 1997-12-22 | 2000-04-04 | Motorola, Inc. | Multiple context software analysis |
| US6199199B1 (en) * | 1998-09-16 | 2001-03-06 | International Business Machines Corporation | Presentation of visual program performance data |
| US20020059544A1 (en) * | 1999-02-04 | 2002-05-16 | Boucher Michael L. | Methods and systems for determining and displaying activities of concurrent processes |
| US6434714B1 (en) * | 1999-02-04 | 2002-08-13 | Sun Microsystems, Inc. | Methods, systems, and articles of manufacture for analyzing performance of application programs |
| GB2348718A (en) * | 1999-04-07 | 2000-10-11 | Ibm | Data processing system having a centralised trace facility with dynamic tracing |
| US6961749B1 (en) | 1999-08-25 | 2005-11-01 | Network Appliance, Inc. | Scalable file server with highly available pairs |
| US6557167B1 (en) * | 1999-09-03 | 2003-04-29 | International Business Machines Corporation | Apparatus and method for analyzing performance of a computer program |
| US6748555B1 (en) * | 1999-09-09 | 2004-06-08 | Microsoft Corporation | Object-based software management |
| US6961930B1 (en) | 1999-09-22 | 2005-11-01 | Hewlett-Packard Development Company, L.P. | Efficient, transparent and flexible latency sampling |
| US6542985B1 (en) * | 1999-09-23 | 2003-04-01 | Unisys Corporation | Event counter |
| US6675374B2 (en) | 1999-10-12 | 2004-01-06 | Hewlett-Packard Development Company, L.P. | Insertion of prefetch instructions into computer program code |
| ES2288467T3 (es) * | 1999-10-26 | 2008-01-16 | Iontas Limited | Supervision de la utilizacion de ordenadores. |
| US6883120B1 (en) * | 1999-12-03 | 2005-04-19 | Network Appliance, Inc. | Computer assisted automatic error detection and diagnosis of file servers |
| US6658557B1 (en) | 2000-05-25 | 2003-12-02 | Advanced Micro Devices, Inc. | Synthesizing the instruction stream executed by a microprocessor from its branch trace data |
| US6658652B1 (en) | 2000-06-08 | 2003-12-02 | International Business Machines Corporation | Method and system for shadow heap memory leak detection and other heap analysis in an object-oriented environment during real-time trace processing |
| US6792392B1 (en) * | 2000-06-30 | 2004-09-14 | Intel Corporation | Method and apparatus for configuring and collecting performance counter data |
| US6904594B1 (en) | 2000-07-06 | 2005-06-07 | International Business Machines Corporation | Method and system for apportioning changes in metric variables in an symmetric multiprocessor (SMP) environment |
| US6735758B1 (en) | 2000-07-06 | 2004-05-11 | International Business Machines Corporation | Method and system for SMP profiling using synchronized or nonsynchronized metric variables with support across multiple systems |
| US7389497B1 (en) * | 2000-07-06 | 2008-06-17 | International Business Machines Corporation | Method and system for tracing profiling information using per thread metric variables with reused kernel threads |
| US6658654B1 (en) | 2000-07-06 | 2003-12-02 | International Business Machines Corporation | Method and system for low-overhead measurement of per-thread performance information in a multithreaded environment |
| US6662359B1 (en) | 2000-07-20 | 2003-12-09 | International Business Machines Corporation | System and method for injecting hooks into Java classes to handle exception and finalization processing |
| US6742178B1 (en) | 2000-07-20 | 2004-05-25 | International Business Machines Corporation | System and method for instrumenting application class files with correlation information to the instrumentation |
| US6957208B1 (en) | 2000-10-31 | 2005-10-18 | Sun Microsystems, Inc. | Method, apparatus, and article of manufacture for performance analysis using semantic knowledge |
| US7120879B2 (en) * | 2001-04-20 | 2006-10-10 | Peter Pius Gutberlet | Hierarchical presentation techniques for a design tool |
| US7509485B2 (en) * | 2002-09-04 | 2009-03-24 | Chou Hui-Ling | Method for loading a program module in an operating system |
| US7353501B2 (en) * | 2002-11-18 | 2008-04-01 | Microsoft Corporation | Generic wrapper scheme |
| US7849465B2 (en) | 2003-02-19 | 2010-12-07 | Intel Corporation | Programmable event driven yield mechanism which may activate service threads |
| US7487502B2 (en) * | 2003-02-19 | 2009-02-03 | Intel Corporation | Programmable event driven yield mechanism which may activate other threads |
| US7900092B2 (en) * | 2003-07-11 | 2011-03-01 | Computer Associates Think, Inc. | Kernel-level method of flagging problems in applications |
| US20050193375A1 (en) * | 2004-02-27 | 2005-09-01 | Larson Matthew D. | Software monitoring system for the polling of processes to determine the presently executing function |
| US7822662B2 (en) * | 2004-03-29 | 2010-10-26 | Microsoft Corporation | Key performance indicator system and method |
| US20060025984A1 (en) * | 2004-08-02 | 2006-02-02 | Microsoft Corporation | Automatic validation and calibration of transaction-based performance models |
| US20060048011A1 (en) * | 2004-08-26 | 2006-03-02 | International Business Machines Corporation | Performance profiling of microprocessor systems using debug hardware and performance monitor |
| US7383470B2 (en) * | 2004-09-30 | 2008-06-03 | Microsoft Corporation | Method, system, and apparatus for identifying unresponsive portions of a computer program |
| US20060070077A1 (en) * | 2004-09-30 | 2006-03-30 | Microsoft Corporation | Providing custom product support for a software program |
| US8161461B2 (en) * | 2005-03-24 | 2012-04-17 | Hewlett-Packard Development Company, L.P. | Systems and methods for evaluating code usage |
| US20060224925A1 (en) * | 2005-04-05 | 2006-10-05 | International Business Machines Corporation | Method and system for analyzing an application |
| US20070074224A1 (en) * | 2005-09-28 | 2007-03-29 | Mediatek Inc. | Kernel based profiling systems and methods |
| US20070079177A1 (en) * | 2005-09-30 | 2007-04-05 | Charles Spirakis | Process monitoring and diagnosis apparatus, systems, and methods |
| US7552396B1 (en) * | 2008-04-04 | 2009-06-23 | International Business Machines Corporation | Associating screen position with audio location to detect changes to the performance of an application |
| US8713535B2 (en) * | 2008-06-30 | 2014-04-29 | Microsoft Corporation | Reliable and accurate usage detection of a software application |
| CN101650787A (zh) * | 2008-08-13 | 2010-02-17 | 鸿富锦精密工业(深圳)有限公司 | 仿生老化系统及其老化方法 |
| US8140832B2 (en) * | 2009-01-23 | 2012-03-20 | International Business Machines Corporation | Single step mode in a software pipeline within a highly threaded network on a chip microprocessor |
| US8572357B2 (en) | 2009-09-29 | 2013-10-29 | International Business Machines Corporation | Monitoring events and incrementing counters associated therewith absent taking an interrupt |
| JP2011100388A (ja) * | 2009-11-09 | 2011-05-19 | Fujitsu Ltd | トレース情報収集装置,トレース情報処理装置,およびトレース情報収集方法 |
| US8571834B2 (en) | 2010-01-08 | 2013-10-29 | International Business Machines Corporation | Opcode counting for performance measurement |
| US9665461B2 (en) * | 2009-12-04 | 2017-05-30 | Red Hat, Inc. | Obtaining application performance data for different performance events via a unified channel |
| US8286192B2 (en) * | 2009-12-04 | 2012-10-09 | Red Hat, Inc. | Kernel subsystem for handling performance counters and events |
| US8935703B2 (en) * | 2009-12-11 | 2015-01-13 | Red Hat, Inc. | Performance counter inheritance |
| US8954996B2 (en) * | 2009-12-11 | 2015-02-10 | Red Hat, Inc. | Profiling the system providing performance statistics in real time |
| US8171340B2 (en) * | 2009-12-11 | 2012-05-01 | Red Hat, Inc. | Software performance counters |
| US9389936B2 (en) | 2011-09-23 | 2016-07-12 | Microsoft Technology Licensing, Llc. | Monitoring the responsiveness of a user interface |
| US8538792B1 (en) | 2012-04-26 | 2013-09-17 | Jpmorgan Chase Bank, N.A. | Method and system for determining total cost of ownership |
| CN109144844B (zh) | 2017-06-27 | 2023-01-31 | 阿里巴巴集团控股有限公司 | 追踪方法、装置、设备和机器可读介质 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5103394A (en) * | 1984-04-30 | 1992-04-07 | Hewlett-Packard Company | Software performance analyzer |
| US4845615A (en) * | 1984-04-30 | 1989-07-04 | Hewlett-Packard Company | Software performance analyzer |
| US5047919A (en) * | 1986-04-03 | 1991-09-10 | Harris Corporation | Method and apparatus for monitoring software execution in a parallel multiprocessor computer system |
| GB2197506A (en) * | 1986-10-27 | 1988-05-18 | Burr Brown Ltd | Providing and handling break points in a software monitor |
| JP2777496B2 (ja) * | 1991-02-28 | 1998-07-16 | インターナショナル・ビジネス・マシーンズ・コーポレイション | コンピュータシステムにおいてマルチプロセスをプロファイリングする際の使用方法 |
| GB2258063B (en) * | 1991-07-26 | 1995-07-05 | Research Machines Plc | Monitoring execution of a computer program to provide profile analysis |
-
1993
- 1993-11-04 US US08/147,645 patent/US5485574A/en not_active Expired - Lifetime
-
1994
- 1994-10-21 CA CA002134060A patent/CA2134060C/en not_active Expired - Fee Related
- 1994-11-01 JP JP26881394A patent/JP4034363B2/ja not_active Expired - Lifetime
- 1994-11-03 DE DE69422476T patent/DE69422476T2/de not_active Expired - Lifetime
- 1994-11-03 EP EP94117366A patent/EP0652518B1/en not_active Expired - Lifetime
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2001026005A1 (en) * | 1999-10-06 | 2001-04-12 | Accenture Llp | Method for determining total cost of ownership |
| US7020621B1 (en) | 1999-10-06 | 2006-03-28 | Accenture Llp | Method for determining total cost of ownership |
| JP2007249844A (ja) * | 2006-03-17 | 2007-09-27 | Fujitsu Ltd | 性能チューニングプログラム、該プログラムを記録した記録媒体、性能チューニング装置、および性能チューニング方法 |
| US8762975B2 (en) | 2006-03-17 | 2014-06-24 | Fujitsu Semiconductor Limited | Performance tuning apparatus, performance tuning method, and computer product |
| JP2008276683A (ja) * | 2007-05-07 | 2008-11-13 | Nec Electronics Corp | 試験装置 |
| JP2010211731A (ja) * | 2009-03-12 | 2010-09-24 | Fujitsu Ltd | 並列処理支援プログラム、並列処理支援装置および並列処理支援方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0652518A1 (en) | 1995-05-10 |
| DE69422476T2 (de) | 2000-05-31 |
| JP4034363B2 (ja) | 2008-01-16 |
| US5485574A (en) | 1996-01-16 |
| EP0652518B1 (en) | 2000-01-05 |
| DE69422476D1 (de) | 2000-02-10 |
| CA2134060A1 (en) | 1995-05-05 |
| CA2134060C (en) | 2001-01-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4034363B2 (ja) | オペレーティング・システム・ベースのプログラムの性能モニタ方法およびシステム | |
| US6253338B1 (en) | System for tracing hardware counters utilizing programmed performance monitor to generate trace interrupt after each branch instruction or at the end of each code basic block | |
| US6223338B1 (en) | Method and system for software instruction level tracing in a data processing system | |
| US6446029B1 (en) | Method and system for providing temporal threshold support during performance monitoring of a pipelined processor | |
| US6961930B1 (en) | Efficient, transparent and flexible latency sampling | |
| US6785893B2 (en) | Operating system event tracker having separate storage for interrupt and non-interrupt events and flushing the third memory when timeout and memory full occur | |
| US6708326B1 (en) | Method, system and program product comprising breakpoint handling mechanism for debugging and/or monitoring a computer instruction sequence | |
| US5872909A (en) | Logic analyzer for software | |
| US6079032A (en) | Performance analysis of computer systems | |
| US5752062A (en) | Method and system for performance monitoring through monitoring an order of processor events during execution in a processing system | |
| US5797019A (en) | Method and system for performance monitoring time lengths of disabled interrupts in a processing system | |
| US5691920A (en) | Method and system for performance monitoring of dispatch unit efficiency in a processing system | |
| US5751945A (en) | Method and system for performance monitoring stalls to identify pipeline bottlenecks and stalls in a processing system | |
| US20030037089A1 (en) | Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor | |
| US5920689A (en) | System and method for low overhead, high precision performance measurements using state transitions | |
| US5799143A (en) | Multiple context software analysis | |
| JPH0588948A (ja) | サンプリング性能分析方法及び装置 | |
| US5949971A (en) | Method and system for performance monitoring through identification of frequency and length of time of execution of serialization instructions in a processing system | |
| US7506207B2 (en) | Method and system using hardware assistance for continuance of trap mode during or after interruption sequences | |
| US9361205B2 (en) | Code coverage framework | |
| US5748855A (en) | Method and system for performance monitoring of misaligned memory accesses in a processing system | |
| Endo et al. | Improving interactive performance using TIPME | |
| EP2630577B1 (en) | Exception control in a multiprocessor system | |
| JP2005215816A (ja) | ハードウェアモニタを用いた性能プロファイリング方法 | |
| US20080010555A1 (en) | Method and Apparatus for Measuring the Cost of a Pipeline Event and for Displaying Images Which Permit the Visualization orf Said Cost |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040616 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040702 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041004 |
|
| RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041004 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050426 |
|
| RD13 | Notification of appointment of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7433 Effective date: 20050726 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20050726 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050824 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20051024 |
|
| A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20051118 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070910 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20071025 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101102 Year of fee payment: 3 |
|
| 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: 20111102 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121102 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121102 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131102 Year of fee payment: 6 |
|
| EXPY | Cancellation because of completion of term |