JP5649613B2 - クリティカルパスに基づく解析のための性能モニタリングアーキテクチャ強化の方法、装置、マイクロプロセッサ、及び、システム - Google Patents
クリティカルパスに基づく解析のための性能モニタリングアーキテクチャ強化の方法、装置、マイクロプロセッサ、及び、システム Download PDFInfo
- Publication number
- JP5649613B2 JP5649613B2 JP2012107848A JP2012107848A JP5649613B2 JP 5649613 B2 JP5649613 B2 JP 5649613B2 JP 2012107848 A JP2012107848 A JP 2012107848A JP 2012107848 A JP2012107848 A JP 2012107848A JP 5649613 B2 JP5649613 B2 JP 5649613B2
- Authority
- JP
- Japan
- Prior art keywords
- software program
- microprocessor
- execution
- event
- retirement
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3409—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 for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F11/348—Circuit details, i.e. tracer hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3409—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 for performance assessment
- G06F11/3428—Benchmarking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3447—Performance evaluation by modeling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/3457—Performance evaluation by simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/86—Event-based monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring specific for caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
Description
Claims (16)
- マイクロプロセッサが第1ソフトウェアプログラムを実行することと、
前記マイクロプロセッサが、複数のオペレーションの複数のリタイアメントプッシュアウトの測定を実行して、前記第1ソフトウェアプログラムの実行に関連するクリティカルパスのイベントコストを決定することと、
前記マイクロプロセッサが、前記第1ソフトウェアプログラムの実行に関連する前記クリティカルパスの前記イベントコストに基づいて前記マイクロプロセッサのマイクロアーキテクチャフィーチャを動的にチューニングすることと、
前記マイクロプロセッサが、前記第1ソフトウェアプログラムに関連する前記マイクロアーキテクチャフィーチャのチューニングを表す第1設定を記憶領域にストアすることと、
前記マイクロプロセッサが、複数のオペレーションの複数のリタイアメントプッシュアウトの測定を実行して、第2ソフトウェアプログラムの実行に関連するクリティカルパスのイベントコストを決定することと、
前記マイクロプロセッサが、前記第2ソフトウェアプログラムの実行に関連するクリティカルパスのイベントコストに基づいて前記マイクロアーキテクチャフィーチャをチューニングすることと、
前記マイクロプロセッサが、前記記憶領域にストアされた第1設定に基づいて、前記第1ソフトウェアプログラムのその後の実行のときに前記マイクロアーキテクチャフィーチャをチューニングすることと、
を備え、
前記マイクロアーキテクチャフィーチャをチューニングすることは、前記マイクロプロセッサのマイクロアーキテクチャフィーチャのサイズを変更すること、および前記マイクロアーキテクチャフィーチャを無効にすることの少なくとも一つを含み、
前記複数のオペレーションの複数のリタイアメントプッシュアウトを測定することは、複数のオペレーションのシーケンシャルペアのリタイアメントにおける遅延を測定することを含む、
方法。 - マイクロプロセッサが第1ソフトウェアプログラムを実行することと、
前記マイクロプロセッサが、複数のオペレーションの複数のリタイアメントプッシュアウトの測定を実行して、前記第1ソフトウェアプログラムの実行に関連するクリティカルパスのイベントコストを決定することと、
前記マイクロプロセッサが、前記第1ソフトウェアプログラムの実行に関連する前記クリティカルパスの前記イベントコストに基づいて前記マイクロプロセッサのマイクロアーキテクチャフィーチャを動的にチューニングすることと、
前記マイクロプロセッサが、前記第1ソフトウェアプログラムに関連する前記マイクロアーキテクチャフィーチャのチューニングを表す第1設定を記憶領域にストアすることと、
前記マイクロプロセッサが、複数のオペレーションの複数のリタイアメントプッシュアウトの測定を実行して、第2ソフトウェアプログラムの実行に関連するクリティカルパスのイベントコストを決定することと、
前記マイクロプロセッサが、前記第2ソフトウェアプログラムの実行に関連するクリティカルパスのイベントコストに基づいて前記マイクロアーキテクチャフィーチャをチューニングすることと、
前記マイクロプロセッサが、前記記憶領域にストアされた第1設定に基づいて、前記第1ソフトウェアプログラムのその後の実行のときに前記マイクロアーキテクチャフィーチャをチューニングすることと、
を備え、
前記マイクロアーキテクチャフィーチャをチューニングすることは、前記マイクロプロセッサのマイクロアーキテクチャフィーチャのサイズを変更すること、および前記マイクロアーキテクチャフィーチャを無効にすることの少なくとも一つを含み、
前記複数のオペレーションの複数のリタイアメントプッシュアウトを測定することは、所定イベントを有していたオペレーションに対するリタイアメント遅延を測定することを含む、
方法。 - 前記マイクロプロセッサはアウトオブオーダパラレル実行可能な、請求項1または2に記載の方法。
- 前記マイクロアーキテクチャフィーチャをチューニングすることは、命令キャッシュ、データキャッシュ、分岐ターゲットアレイ、仮想メモリテーブル、およびレジスタファイルからなるグループから選択されるマイクロアーキテクチャフィーチャのサイズを変更することを含む、請求項1から3のいずれか一項に記載の方法。
- 前記マイクロアーキテクチャフィーチャをチューニングすることは、キャッシュ、変換テーブル、ルックアサイドバッファ、分岐予測ユニット、ハードウェアプリフェッチャ、および実行ユニットからなるグループから選択されるマイクロアーキテクチャフィーチャを無効にすることを含む、請求項1から3のいずれか一項に記載の方法。
- 前記第1および第2ソフトウェアプログラムの各々は、ゲストアプリケーション、オペレーティングシステム、オペレーティングシステムアプリケーション、ベンチマークアプリケーション、ドライバ、および組み込みアプリケーションからなるグループから選択される、請求項1から5のいずれか一項に記載の方法。
- デュレーションカウントを実行することは、前記マイクロプロセッサ内の状態マシンがアクティブである複数のサイクルのカウンティングを含み、前記状態マシンは、ページウォークハンドラ、ロック状態マシン、および未決の複数のキャッシュミスのバスキューからなるグループから選択される、請求項1から6のいずれか一項に記載の方法。
- 前記イベントは、低レベルキャッシュミス、セカンダリキャッシュミス、高レベルキャッシュミス、キャッシュアクセス、キャッシュスヌープ、分岐予測ミス、メモリからのフェッチ、リタイアメントにおけるロック、ハードウェアプリフェッチ、ロード、ストア、ライトバック、命令デコード、アドレス変換、変換バッファへのアクセス、整数演算実行、浮動小数点演算実行、レジスタのリネーミング、命令のスケジューリング、レジスタリード、レジスタライトからなるグループから選択される、請求項2に記載の方法。
- 第1ソフトウェアプログラムを実行する実行ユニットと、
複数のオペレーションの複数のリタイアメントプッシュアウトの測定を実行して、前記第1ソフトウェアプログラムの実行に関連するクリティカルパスのイベントコストを決定する寄与モジュールと、
前記第1ソフトウェアプログラムの実行に関連する前記クリティカルパスの前記イベントコストに基づいてマイクロプロセッサのマイクロアーキテクチャフィーチャを動的にチューニングするチューニングモジュールと、
前記第1ソフトウェアプログラムに関連する前記マイクロアーキテクチャフィーチャのチューニングを表す第1設定をストアする記憶領域と、
を備え、
前記実行ユニットは、第2ソフトウェアプログラムを更に実行し、
前記寄与モジュールは、複数のオペレーションの複数のリタイアメントプッシュアウトの測定を実行して、第2ソフトウェアプログラムの実行に関連するクリティカルパスのイベントコストを更に決定し、
前記チューニングモジュールは、前記第2ソフトウェアプログラムの実行に関連するクリティカルパスのイベントコストに基づいて前記マイクロアーキテクチャフィーチャを更にチューニングし、
前記チューニングモジュールは、前記記憶領域にストアされた第1設定に基づいて、前記第1ソフトウェアプログラムのその後の実行のときに前記マイクロアーキテクチャフィーチャをチューニングし、
前記マイクロアーキテクチャフィーチャをチューニングすることは、前記マイクロプロセッサのマイクロアーキテクチャフィーチャのサイズを変更すること、および前記マイクロアーキテクチャフィーチャを無効にすることの少なくとも一つを含み、
前記複数のオペレーションの複数のリタイアメントプッシュアウトを測定することは、複数のオペレーションのシーケンシャルペアのリタイアメントにおける遅延を測定することを含む、
マイクロプロセッサ。 - 第1ソフトウェアプログラムを実行する実行ユニットと、
複数のオペレーションの複数のリタイアメントプッシュアウトの測定を実行して、前記第1ソフトウェアプログラムの実行に関連するクリティカルパスのイベントコストを決定する寄与モジュールと、
前記第1ソフトウェアプログラムの実行に関連する前記クリティカルパスの前記イベントコストに基づいてマイクロプロセッサのマイクロアーキテクチャフィーチャを動的にチューニングするチューニングモジュールと、
前記第1ソフトウェアプログラムに関連する前記マイクロアーキテクチャフィーチャのチューニングを表す第1設定をストアする記憶領域と、
を備え、
前記実行ユニットは、第2ソフトウェアプログラムを更に実行し、
前記寄与モジュールは、複数のオペレーションの複数のリタイアメントプッシュアウトの測定を実行して、第2ソフトウェアプログラムの実行に関連するクリティカルパスのイベントコストを更に決定し、
前記チューニングモジュールは、前記第2ソフトウェアプログラムの実行に関連するクリティカルパスのイベントコストに基づいて前記マイクロアーキテクチャフィーチャを更にチューニングし、
前記チューニングモジュールは、前記記憶領域にストアされた第1設定に基づいて、前記第1ソフトウェアプログラムのその後の実行のときに前記マイクロアーキテクチャフィーチャをチューニングし、
前記マイクロアーキテクチャフィーチャをチューニングすることは、前記マイクロプロセッサのマイクロアーキテクチャフィーチャのサイズを変更すること、および前記マイクロアーキテクチャフィーチャを無効にすることの少なくとも一つを含み、
前記複数のオペレーションの複数のリタイアメントプッシュアウトを測定することは、所定イベントを有していたオペレーションに対するリタイアメント遅延を測定することを含む、
マイクロプロセッサ。 - 記憶領域に接続されたコントローラハブと、
前記コントローラハブに接続され、ソフトウェアプログラムの実行中に前記記憶領域をアクセスするマイクロプロセッサであって、前記ソフトウェアプログラムの実行中のインスタンス当たりのイベント寄与を決定し、前記インスタンス当たりのイベント寄与に基づいてアーキテクチャ設定の値を第1レジスタに格納してマイクロプロセッサのマイクロアーキテクチャフィーチャのハードウェアをチューニングし、前記アーキテクチャ設定を前記記憶領域にストアし、および、前記記憶領域にストアされたアーキテクチャ設定に基づいて前記ソフトウェアプログラムのその後の実行のときに前記アーキテクチャ設定をチューニングするモジュールを含むマイクロプロセッサと
を備え、
前記ソフトウェアプログラムの実行中のインスタンス当たりのイベント寄与を決定することは、
複数の所定イベント発生に対する複数のリタイアメントプッシュアウトを測定することと、
前記複数のリタイアメントプッシュアウトおよび前記複数の所定イベントの発生数に基づいて前記複数の所定イベントに対する前記インスタンス当たりのイベント寄与を導出することと
を含み、
前記複数の所定イベント発生に対する複数のリタイアメントプッシュアウトを測定することは、複数のオペレーションのシーケンシャルペアのリタイアメントにおける遅延を測定することを含む、
システム。 - 記憶領域に接続されたコントローラハブと、
前記コントローラハブに接続され、ソフトウェアプログラムの実行中に前記記憶領域をアクセスするマイクロプロセッサであって、前記ソフトウェアプログラムの実行中のインスタンス当たりのイベント寄与を決定し、前記インスタンス当たりのイベント寄与に基づいてアーキテクチャ設定の値を第1レジスタに格納してマイクロプロセッサのマイクロアーキテクチャフィーチャのハードウェアをチューニングし、前記アーキテクチャ設定を前記記憶領域にストアし、および、前記記憶領域にストアされたアーキテクチャ設定に基づいて前記ソフトウェアプログラムのその後の実行のときに前記アーキテクチャ設定をチューニングするモジュールを含むマイクロプロセッサと
を備え、
前記ソフトウェアプログラムの実行中のインスタンス当たりのイベント寄与を決定することは、
複数の所定イベント発生に対する複数のリタイアメントプッシュアウトを測定することと、
前記複数のリタイアメントプッシュアウトおよび前記複数の所定イベントの発生数に基づいて前記複数の所定イベントに対する前記インスタンス当たりのイベント寄与を導出することと
を含み、
前記複数の所定イベント発生に対する複数のリタイアメントプッシュアウトを測定することは、所定イベントを有していたオペレーションに対するリタイアメント遅延を測定することを含む、
システム。 - 前記マイクロプロセッサはアウトオブオーダパラレル実行可能な、請求項11または12に記載のシステム。
- 前記アーキテクチャ設定は前記マイクロプロセッサ内のレジスタにストアされる、請求項11から13のいずれか一項に記載のシステム。
- 記憶領域に接続されたコントローラハブと、
前記コントローラハブに接続され、ソフトウェアプログラムの実行中に前記記憶領域をアクセスするマイクロプロセッサであって、前記ソフトウェアプログラムの実行中のインスタンス当たりのイベント寄与を決定し、前記インスタンス当たりのイベント寄与に基づいてアーキテクチャ設定の値を第1レジスタに格納してマイクロプロセッサのマイクロアーキテクチャフィーチャのハードウェアをチューニングし、前記アーキテクチャ設定を前記記憶領域にストアし、および、前記ストアされたアーキテクチャ設定に基づいて前記ソフトウェアプログラムのその後の実行のときに前記アーキテクチャ設定をチューニングするモジュールを含むマイクロプロセッサと
を備え、
前記ソフトウェアプログラムの実行中のインスタンス当たりのイベント寄与を決定することは、
前記ソフトウェアが実行されるたびごとに、所定イベントの発生回数が変化し、かつ、前記マイクロプロセッサ内のクリティカルパスの性能がモニタリングされるように前記ソフトウェアプログラムを複数回実行することと、
前記クリティカルパスの性能の変化と、前記所定イベントの発生回数の変化との比較に基づいて前記所定イベントのインスタンス当たりのイベント寄与を導出することと、
複数の所定イベント発生に対する複数のリタイアメントプッシュアウトを測定することと、
を含み、
前記複数の所定イベント発生に対する複数のリタイアメントプッシュアウトを測定することは、複数のオペレーションのシーケンシャルペアのリタイアメントにおける遅延を測定することを含む、
システム。 - 記憶領域に接続されたコントローラハブと、
前記コントローラハブに接続され、ソフトウェアプログラムの実行中に前記記憶領域をアクセスするマイクロプロセッサであって、前記ソフトウェアプログラムの実行中のインスタンス当たりのイベント寄与を決定し、前記インスタンス当たりのイベント寄与に基づいてアーキテクチャ設定の値を第1レジスタに格納してマイクロプロセッサのマイクロアーキテクチャフィーチャのハードウェアをチューニングし、前記アーキテクチャ設定を前記記憶領域にストアし、および、前記ストアされたアーキテクチャ設定に基づいて前記ソフトウェアプログラムのその後の実行のときに前記アーキテクチャ設定をチューニングするモジュールを含むマイクロプロセッサと
を備え、
前記ソフトウェアプログラムの実行中のインスタンス当たりのイベント寄与を決定することは、
前記ソフトウェアが実行されるたびごとに、所定イベントの発生回数が変化し、かつ、前記マイクロプロセッサ内のクリティカルパスの性能がモニタリングされるように前記ソフトウェアプログラムを複数回実行することと、
前記クリティカルパスの性能の変化と、前記所定イベントの発生回数の変化との比較に基づいて前記所定イベントのインスタンス当たりのイベント寄与を導出することと、
複数の所定イベント発生に対する複数のリタイアメントプッシュアウトを測定することと、
を含み、
前記複数の所定イベント発生に対する複数のリタイアメントプッシュアウトを測定することは、所定イベントを有していたオペレーションに対するリタイアメント遅延を測定することを含む、
システム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/143,425 | 2005-06-01 | ||
US11/143,425 US20050273310A1 (en) | 2004-06-03 | 2005-06-01 | Enhancements to performance monitoring architecture for critical path-based analysis |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008514892A Division JP2008542925A (ja) | 2005-06-01 | 2006-06-01 | クリティカルパスに基づく解析のための性能モニタリングアーキテクチャ強化 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012178173A JP2012178173A (ja) | 2012-09-13 |
JP5649613B2 true JP5649613B2 (ja) | 2015-01-07 |
Family
ID=37482342
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008514892A Abandoned JP2008542925A (ja) | 2005-06-01 | 2006-06-01 | クリティカルパスに基づく解析のための性能モニタリングアーキテクチャ強化 |
JP2012107848A Expired - Fee Related JP5649613B2 (ja) | 2005-06-01 | 2012-05-09 | クリティカルパスに基づく解析のための性能モニタリングアーキテクチャ強化の方法、装置、マイクロプロセッサ、及び、システム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008514892A Abandoned JP2008542925A (ja) | 2005-06-01 | 2006-06-01 | クリティカルパスに基づく解析のための性能モニタリングアーキテクチャ強化 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20050273310A1 (ja) |
JP (2) | JP2008542925A (ja) |
CN (3) | CN105138446A (ja) |
BR (1) | BRPI0611318A2 (ja) |
DE (1) | DE112006001408T5 (ja) |
WO (1) | WO2006130825A2 (ja) |
Families Citing this family (42)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9304773B2 (en) * | 2006-03-21 | 2016-04-05 | Freescale Semiconductor, Inc. | Data processor having dynamic control of instruction prefetch buffer depth and method therefor |
US7502775B2 (en) * | 2006-03-31 | 2009-03-10 | International Business Machines Corporation | Providing cost model data for tuning of query cache memory in databases |
US7962314B2 (en) * | 2007-12-18 | 2011-06-14 | Global Foundries Inc. | Mechanism for profiling program software running on a processor |
GB2461902B (en) * | 2008-07-16 | 2012-07-11 | Advanced Risc Mach Ltd | A Method and apparatus for tuning a processor to improve its performance |
US20110153529A1 (en) * | 2009-12-23 | 2011-06-23 | Bracy Anne W | Method and apparatus to efficiently generate a processor architecture model |
US20120227045A1 (en) * | 2009-12-26 | 2012-09-06 | Knauth Laura A | Method, apparatus, and system for speculative execution event counter checkpointing and restoring |
US8924692B2 (en) | 2009-12-26 | 2014-12-30 | Intel Corporation | Event counter checkpointing and restoring |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
KR101744150B1 (ko) * | 2010-12-08 | 2017-06-21 | 삼성전자 주식회사 | 멀티프로세서 시스템의 지연관리 장치 및 방법 |
CN102567220A (zh) * | 2010-12-10 | 2012-07-11 | 中兴通讯股份有限公司 | Cache存取的控制方法及装置 |
WO2013018184A1 (ja) | 2011-07-29 | 2013-02-07 | 富士通株式会社 | 割当方法、およびマルチコアプロセッサシステム |
WO2013147865A1 (en) | 2012-03-30 | 2013-10-03 | Intel Corporation | A mechanism for saving and retrieving micro-architecture context |
US9563563B2 (en) * | 2012-11-30 | 2017-02-07 | International Business Machines Corporation | Multi-stage translation of prefetch requests |
CN103714006B (zh) * | 2014-01-07 | 2017-05-24 | 浪潮(北京)电子信息产业有限公司 | 一种Gromacs软件的性能测试方法 |
US9519481B2 (en) | 2014-06-27 | 2016-12-13 | International Business Machines Corporation | Branch synthetic generation across multiple microarchitecture generations |
US9652237B2 (en) | 2014-12-23 | 2017-05-16 | Intel Corporation | Stateless capture of data linear addresses during precise event based sampling |
JP6471615B2 (ja) * | 2015-06-02 | 2019-02-20 | 富士通株式会社 | 性能情報生成プログラム、性能情報生成方法及び情報処理装置 |
US9916161B2 (en) | 2015-06-25 | 2018-03-13 | Intel Corporation | Instruction and logic for tracking fetch performance bottlenecks |
US9965375B2 (en) | 2016-06-28 | 2018-05-08 | Intel Corporation | Virtualizing precise event based sampling |
US10140056B2 (en) * | 2016-09-27 | 2018-11-27 | Intel Corporation | Systems and methods for differentiating function performance by input parameters |
US10756816B1 (en) | 2016-10-04 | 2020-08-25 | Pure Storage, Inc. | Optimized fibre channel and non-volatile memory express access |
US11947814B2 (en) | 2017-06-11 | 2024-04-02 | Pure Storage, Inc. | Optimizing resiliency group formation stability |
US10860475B1 (en) | 2017-11-17 | 2020-12-08 | Pure Storage, Inc. | Hybrid flash translation layer |
US10891071B2 (en) | 2018-05-15 | 2021-01-12 | Nxp Usa, Inc. | Hardware, software and algorithm to precisely predict performance of SoC when a processor and other masters access single-port memory simultaneously |
US11500570B2 (en) | 2018-09-06 | 2022-11-15 | Pure Storage, Inc. | Efficient relocation of data utilizing different programming modes |
US11520514B2 (en) | 2018-09-06 | 2022-12-06 | Pure Storage, Inc. | Optimized relocation of data based on data characteristics |
US11734480B2 (en) | 2018-12-18 | 2023-08-22 | Microsoft Technology Licensing, Llc | Performance modeling and analysis of microprocessors using dependency graphs |
CN109960584A (zh) * | 2019-01-30 | 2019-07-02 | 努比亚技术有限公司 | Cpu调频控制方法、终端及计算机可读存储介质 |
US11714572B2 (en) | 2019-06-19 | 2023-08-01 | Pure Storage, Inc. | Optimized data resiliency in a modular storage system |
US11003454B2 (en) * | 2019-07-17 | 2021-05-11 | Arm Limited | Apparatus and method for speculative execution of instructions |
US10915421B1 (en) | 2019-09-19 | 2021-02-09 | Intel Corporation | Technology for dynamically tuning processor features |
CN111177663B (zh) * | 2019-12-20 | 2023-03-14 | 青岛海尔科技有限公司 | 编译器的代码混淆改进方法及装置、存储介质、电子装置 |
US11507297B2 (en) | 2020-04-15 | 2022-11-22 | Pure Storage, Inc. | Efficient management of optimal read levels for flash storage systems |
US11416338B2 (en) | 2020-04-24 | 2022-08-16 | Pure Storage, Inc. | Resiliency scheme to enhance storage performance |
US11474986B2 (en) | 2020-04-24 | 2022-10-18 | Pure Storage, Inc. | Utilizing machine learning to streamline telemetry processing of storage media |
US11768763B2 (en) | 2020-07-08 | 2023-09-26 | Pure Storage, Inc. | Flash secure erase |
US11681448B2 (en) | 2020-09-08 | 2023-06-20 | Pure Storage, Inc. | Multiple device IDs in a multi-fabric module storage system |
US11513974B2 (en) | 2020-09-08 | 2022-11-29 | Pure Storage, Inc. | Using nonce to control erasure of data blocks of a multi-controller storage system |
US20220100626A1 (en) * | 2020-09-26 | 2022-03-31 | Intel Corporation | Monitoring performance cost of events |
US11487455B2 (en) | 2020-12-17 | 2022-11-01 | Pure Storage, Inc. | Dynamic block allocation to optimize storage system performance |
US11630593B2 (en) | 2021-03-12 | 2023-04-18 | Pure Storage, Inc. | Inline flash memory qualification in a storage system |
US11832410B2 (en) | 2021-09-14 | 2023-11-28 | Pure Storage, Inc. | Mechanical energy absorbing bracket apparatus |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
JPH1055296A (ja) * | 1996-08-08 | 1998-02-24 | Mitsubishi Electric Corp | データベースシステムの自動最適化装置及び自動最適化方法 |
US5886537A (en) * | 1997-05-05 | 1999-03-23 | Macias; Nicholas J. | Self-reconfigurable parallel processor made from regularly-connected self-dual code/data processing cells |
JP3357577B2 (ja) * | 1997-07-24 | 2002-12-16 | 富士通株式会社 | 故障シミュレーション方法および装置並びに故障シミュレーションプログラムを格納した記憶媒体 |
US6018759A (en) * | 1997-12-22 | 2000-01-25 | International Business Machines Corporation | Thread switch tuning tool for optimal performance in a computer processor |
US6205537B1 (en) * | 1998-07-16 | 2001-03-20 | University Of Rochester | Mechanism for dynamically adapting the complexity of a microprocessor |
US20040153635A1 (en) * | 2002-12-30 | 2004-08-05 | Kaushik Shivnandan D. | Privileged-based qualification of branch trace store data |
US7487502B2 (en) * | 2003-02-19 | 2009-02-03 | Intel Corporation | Programmable event driven yield mechanism which may activate other threads |
-
2005
- 2005-06-01 US US11/143,425 patent/US20050273310A1/en not_active Abandoned
-
2006
- 2006-06-01 BR BRPI0611318-4A patent/BRPI0611318A2/pt not_active IP Right Cessation
- 2006-06-01 CN CN201510567973.8A patent/CN105138446A/zh active Pending
- 2006-06-01 CN CN201010553898.7A patent/CN101976218B/zh not_active Expired - Fee Related
- 2006-06-01 JP JP2008514892A patent/JP2008542925A/ja not_active Abandoned
- 2006-06-01 CN CNA2006800190599A patent/CN101427223A/zh active Pending
- 2006-06-01 DE DE112006001408T patent/DE112006001408T5/de not_active Ceased
- 2006-06-01 WO PCT/US2006/021434 patent/WO2006130825A2/en active Application Filing
-
2012
- 2012-05-09 JP JP2012107848A patent/JP5649613B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
DE112006001408T5 (de) | 2008-04-17 |
JP2012178173A (ja) | 2012-09-13 |
CN101427223A (zh) | 2009-05-06 |
BRPI0611318A2 (pt) | 2010-08-31 |
CN105138446A (zh) | 2015-12-09 |
WO2006130825A3 (en) | 2008-03-13 |
JP2008542925A (ja) | 2008-11-27 |
WO2006130825A2 (en) | 2006-12-07 |
CN101976218B (zh) | 2015-04-22 |
CN101976218A (zh) | 2011-02-16 |
US20050273310A1 (en) | 2005-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5649613B2 (ja) | クリティカルパスに基づく解析のための性能モニタリングアーキテクチャ強化の方法、装置、マイクロプロセッサ、及び、システム | |
US6000044A (en) | Apparatus for randomly sampling instructions in a processor pipeline | |
US6092180A (en) | Method for measuring latencies by randomly selected sampling of the instructions while the instruction are executed | |
US5923872A (en) | Apparatus for sampling instruction operand or result values in a processor pipeline | |
US5809450A (en) | Method for estimating statistics of properties of instructions processed by a processor pipeline | |
JP4467094B2 (ja) | プロセッサパイプラインにおいて多数の潜在的に同時の命令をサンプリングする装置 | |
US6070009A (en) | Method for estimating execution rates of program execution paths | |
US5964867A (en) | Method for inserting memory prefetch operations based on measured latencies in a program optimizer | |
US6195748B1 (en) | Apparatus for sampling instruction execution information in a processor pipeline | |
US6549930B1 (en) | Method for scheduling threads in a multithreaded processor | |
US5691920A (en) | Method and system for performance monitoring of dispatch unit efficiency in a processing system | |
JP4294778B2 (ja) | プロセッサパイプラインにより処理される相互作用の特性の統計値を推定する方法 | |
US6708296B1 (en) | Method and system for selecting and distinguishing an event sequence using an effective address in a processing system | |
US5797019A (en) | Method and system for performance monitoring time lengths of disabled interrupts in a processing system | |
US5752062A (en) | Method and system for performance monitoring through monitoring an order of processor events during execution in a processing system | |
US6237073B1 (en) | Method for providing virtual memory to physical memory page mapping in a computer operating system that randomly samples state information | |
US5751945A (en) | Method and system for performance monitoring stalls to identify pipeline bottlenecks and stalls in a processing system | |
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 | |
WO2011025720A1 (en) | Optimized thread scheduling via hardware performance monitoring | |
US6148396A (en) | Apparatus for sampling path history in a processor pipeline | |
US6175814B1 (en) | Apparatus for determining the instantaneous average number of instructions processed | |
US5729726A (en) | Method and system for performance monitoring efficiency of branch unit operation in a processing system | |
US5748855A (en) | Method and system for performance monitoring of misaligned memory accesses in a processing system | |
Becker et al. | Measuring software performance on linux | |
Mericas | Performance monitoring on the POWER5 microprocessor |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130806 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140401 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140630 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140703 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140731 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140805 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140901 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140904 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140922 |
|
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: 20141014 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141111 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5649613 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |