JP4284332B2 - パフォーマンスモニタ装置、データ収集方法及びそのプログラム - Google Patents
パフォーマンスモニタ装置、データ収集方法及びそのプログラム Download PDFInfo
- Publication number
- JP4284332B2 JP4284332B2 JP2006117862A JP2006117862A JP4284332B2 JP 4284332 B2 JP4284332 B2 JP 4284332B2 JP 2006117862 A JP2006117862 A JP 2006117862A JP 2006117862 A JP2006117862 A JP 2006117862A JP 4284332 B2 JP4284332 B2 JP 4284332B2
- Authority
- JP
- Japan
- Prior art keywords
- address
- counter
- input
- information
- area
- 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/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/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
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)
Description
図1に示すように、本発明の第1の実施の形態に係るパフォーマンスモニタ装置20を有するプロセッサ10においては、バス11、プロセッサコア12、2次キャッシュ13等において性能測定用のイベントI1〜I5等が用意されており、イベントセレクタ14によってこれらのイベントI1〜I5等の中から、予め決められたイベントを選択する。
(第2の実施の形態)
上述の第1の実施の形態においては、アドレスマスク31におけるアドレスマスク値を固定とする場合について述べたが、本発明はこれに限られるものではなく、動的に変化させるようにしてもよい。
上述の第1の実施の形態においては、アドレスカウンタ装置32に共通のアドレスマスク31を用いる場合について述べたが、本発明はこれに限られるものではなく、アドレスカウンタ装置32のエントリ毎にアドレスマスク31を用意するようにしてもよい。
上述の第1の実施の形態においては、アドレスカウンタ装置32に共通のアドレスマスク31を用いる場合について述べたが、本発明はこれに限られるものではなく、アドレスカウンタ装置32のエントリ毎にアドレスマスク31を用意するようにしてもよい。
上述のパフォーマンスカウンタ装置30においては、上位n番目のアドレス領域におけるプログラムの実行頻度よりも新しく入力されたアドレス領域におけるプログラムの実行頻度が大きくなった場合、n番目のアドレス領域が使用していたカウンタデータアレイ36のエントリを開放し、新たにn番目となったアドレス領域のパフォーマンスカウンタとして使用することになる。この場合のエントリ内カウンタ(レジスタ)の初期化方法として、上述の実施の形態においては、全領域カウンタ37のカウンタ値(各イベントEVT1〜EVT3毎のカウンタ値)に、新たにn番目となったアドレス領域の実行割合を乗じた値を初期値としてカウンタデータアレイ36のパフォーマンスカウンタ値を初期化する場合について述べたが、本発明はこれに限られるものではなく、全てのアドレス領域に対するパフォーマンスカウンタ値を保持しているレジスタ(全領域カウンタ37)の値から、カウンタデータアレイ36の全てのエントリのパフォーマンスカウンタ値を引いた値を初期値として、新たなにn番目となったアドレス領域の初期値としてもよく、さらには、予め決められた値(例えばオール0)を初期値としてもよい。
11 バス
12 プロセッサコア
13 キャッシュ
14 イベントセレクタ
15 イベントバス
20 パフォーマンスモニタ装置
22 インターバルタイマ
24 制御部
30 パフォーマンスカウンタ装置
31 アドレスマスク
32 アドレスカウンタ装置
33 アドレスカウンタ管理装置
34 パフォーマンスカウンタ値保持部
35 演算装置
36 カウンタデータアレイ
37 全領域カウンタ
38 カウンタデータアレイ管理装置
40 トレースバッファ
Claims (11)
- プログラムが格納されている記憶部上の実行した命令のアドレスを示すアドレス情報と前記プログラムを実行することにより発生するイベントの発生を示すイベント発生情報とをそれぞれプロセッサの動作サイクル毎に時系列に入力する入力手段と、
前記入力されたアドレス情報の属するアドレス領域を決定するアドレスマスク手段と、
前記アドレス情報及び前記イベント発生情報を入力する度に、前記入力したアドレス情報が属する前記アドレス領域毎の頻度カウンタを更新することにより、前記アドレス領域毎の前記プログラムの実行頻度をカウントする実行頻度カウント手段と、
前記実行頻度のカウント結果を保持する実行頻度保持テーブルと、
前記アドレス情報及び前記イベント発生情報を入力する度に、前記入力したアドレス情報に対応する前記実行頻度が上位所定順位までの場合に、前記入力したアドレス情報に対応する前記イベント発生情報をカウントするイベント発生情報カウント手段と、
前記イベント発生情報のカウント結果を保持する保持手段と、
所定の期間毎にカウントされた前記プログラムの実行頻度が最も高かったアドレス領域に対応する、前記所定の期間毎にカウントされた前記イベント発生情報のカウント結果を含む情報を、前記所定の期間毎に記憶する記憶手段と
を備えることを特徴とするパフォーマンスモニタ装置。 - 前記記憶手段は、
前記所定の期間毎にカウントされた前記プログラムの実行頻度が上位所定順位までの前記アドレス領域に対応する、前記所定の期間毎にカウントされた前記イベント発生情報のカウント結果を含む前記情報を前記所定の期間毎に記憶することを特徴とする請求項1に記載のパフォーマンスモニタ装置。 - 前記記憶手段は、
複数の前記アドレス情報のそれぞれが属する複数の前記アドレス領域のうち、前記所定の期間毎にカウントされた前記プログラムの実行頻度が最も高かった前記アドレス領域とは異なる前記プログラムの実行頻度が所定数以上の前記アドレス領域に対応する前記イベント発生情報のカウント結果を更に前記所定の期間毎に記憶することを特徴とする請求項1に記載のパフォーマンスモニタ装置。 - 前記入力手段を介して入力される前記イベント発生情報を前記アドレス領域に関わらず順次カウントする全領域カウント手段を備え、
前記記憶手段は、前記所定の時間毎に前記プログラムの実行頻度が最も高かった該実行頻度が所定の頻度未満であった場合に、前記最も実行頻度が高かったアドレス領域に対応する前記イベント発生情報のカウント結果に代えて、前記全領域カウント手段のカウント結果を記憶することを特徴とする請求項1に記載のパフォーマンスモニタ装置。 - 前記入力手段を介して入力される前記イベント発生情報を前記アドレス領域に関わらず順次カウントする全領域カウント手段を備え、
前記記憶手段は、前記所定の期間毎の前記プログラムの実行頻度が上位所定順位までの前記アドレス領域に対応する前記イベント発生情報のカウント結果の合計が所定値未満であった場合に、前記プログラムの実行頻度が最も高かったアドレス領域に対応する前記イベント発生情報のカウント結果に代えて、前記全領域カウント手段のカウント結果を記憶することを特徴とする請求項1に記載のパフォーマンスモニタ装置。 - 前記入力手段を介して入力される前記イベント発生情報を前記アドレス領域に関わらず順次カウントする全領域カウント手段と、
前記アドレスマスク手段によって決定されたアドレス領域に対応する前記イベント発生情報のカウント結果が前記保持手段に保持されてなく、かつ、前記アドレスマスク手段によって決定されたアドレス領域におけるプログラムの実行頻度が、前記保持手段に前記イベント発生情報のカウント結果が保持されている他のアドレス領域の各実行頻度のうち、最も小さい実行頻度よりも高くなった場合に、前記他のアドレス領域に対応する前記イベント発生情報のカウント結果を、前記全領域カウント手段のカウント結果に基づいて初期化すると共に、該カウント結果を格納した前記保持手段を前記アドレスマスク手段によって決定された前記アドレス領域に対応付ける制御手段と
備えることを特徴とする請求項1に記載のパフォーマンスモニタ装置。 - 前記制御部は、
前記全領域カウント手段のカウント結果に対して、前記アドレスマスク手段によって決定された前記アドレス領域の実行頻度の、前記保持手段に保持されている他のアドレス領域の全ての実行頻度の合計値に対する割合を乗じた値を初期値として前記初期化を行うことを特徴とする請求項6に記載のパフォーマンスモニタ装置。 - 前記制御部は、
前記全領域カウント手段のカウント結果と、前記保持手段に保持されている全てのカウント結果の合計値との差分を初期値として前記初期化を行うことを特徴とする請求項6に記載のパフォーマンスモニタ装置。 - 前記制御部は、
予め決められている値を初期値として前記初期化を行うことを特徴とする請求項6に記載のパフォーマンスモニタ装置。 - プログラムが格納されている記憶部上の実行した命令のアドレスを示すアドレス情報と前記プログラムを実行することにより発生するイベントの発生を示すイベント発生情報とをそれぞれプロセッサの動作サイクル毎に時系列に入力する入力ステップと、
前記入力されたアドレス情報の属するアドレス領域を決定するアドレス領域決定ステップと、
前記アドレス情報及び前記イベント発生情報を入力する度に、前記入力したアドレス情報が属する前記アドレス領域毎の頻度カウンタを更新することにより、前記アドレス領域毎の前記プログラムの実行頻度をカウントする実行頻度カウントステップと、
前記アドレス情報及び前記イベント発生情報を入力する度に、前記入力したアドレス情報に対応する前記実行頻度が上位所定順位までの場合に、前記入力したアドレス情報に対応する前記イベント発生情報をカウントするイベント発生情報カウントステップと、
所定の期間毎にカウントされたプログラムの実行頻度が最も高かったアドレス領域に対応する、前記所定の期間毎にカウントされた前記イベント発生情報の前記カウント結果を含む情報を、前記所定の期間毎に記憶する記憶ステップと
を備えることを特徴とするデータ収集方法。 - プログラムが格納されている記憶部上の実行した命令のアドレスを示すアドレス情報と前記プログラムを実行することにより発生するイベントの発生を示すイベント発生情報とをそれぞれプロセッサの動作サイクル毎に時系列に入力する入力ステップと、
前記入力されたアドレス情報の属するアドレス領域を決定するアドレス領域決定ステップと、
前記アドレス情報及び前記イベント発生情報を入力する度に、前記入力したアドレス情報が属する前記アドレス領域毎の頻度カウンタを更新することにより、前記アドレス領域毎の前記プログラムの実行頻度をカウントする実行頻度カウントステップと、
前記アドレス情報及び前記イベント発生情報を入力する度に、前記入力したアドレス情報に対応する前記実行頻度が上位所定順位までの場合に、前記入力したアドレス情報に対応する前記イベント発生情報をカウントするイベント発生情報カウントステップと、
所定の期間毎にカウントされたプログラムの実行頻度が最も高かったアドレス領域に対応する、前記所定の期間毎にカウントされた前記イベント発生情報の前記カウント結果を含む情報を、前記所定の期間毎に記憶する記憶ステップと
をコンピュータに実行させるためのプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006117862A JP4284332B2 (ja) | 2006-04-21 | 2006-04-21 | パフォーマンスモニタ装置、データ収集方法及びそのプログラム |
US11/733,379 US7571076B2 (en) | 2006-04-21 | 2007-04-10 | Performance monitor device, data collecting method and program for the same |
EP07251553A EP1847931A3 (en) | 2006-04-21 | 2007-04-11 | Performance monitor device, data collecting method and program for the same |
CNB200710100866XA CN100527093C (zh) | 2006-04-21 | 2007-04-20 | 性能监测设备和数据收集方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006117862A JP4284332B2 (ja) | 2006-04-21 | 2006-04-21 | パフォーマンスモニタ装置、データ収集方法及びそのプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007293424A JP2007293424A (ja) | 2007-11-08 |
JP4284332B2 true JP4284332B2 (ja) | 2009-06-24 |
Family
ID=38353116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006117862A Expired - Fee Related JP4284332B2 (ja) | 2006-04-21 | 2006-04-21 | パフォーマンスモニタ装置、データ収集方法及びそのプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US7571076B2 (ja) |
EP (1) | EP1847931A3 (ja) |
JP (1) | JP4284332B2 (ja) |
CN (1) | CN100527093C (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090052608A1 (en) * | 2007-08-21 | 2009-02-26 | International Business Machines Corporation | Method for dynamically adjusting hardware event counting time-slice windows |
US7698598B1 (en) * | 2007-04-24 | 2010-04-13 | Netapp, Inc. | Automatic generation of core files and automatic generation of support information with generation of core files |
US8230433B2 (en) * | 2007-06-26 | 2012-07-24 | International Business Machines Corporation | Shared performance monitor in a multiprocessor system |
US7895421B2 (en) * | 2007-07-12 | 2011-02-22 | Globalfoundries Inc. | Mechanism for using performance counters to identify reasons and delay times for instructions that are stalled during retirement |
JP2009129301A (ja) * | 2007-11-27 | 2009-06-11 | Nec Electronics Corp | 自己診断回路及び自己診断方法 |
JP5213539B2 (ja) * | 2008-06-19 | 2013-06-19 | キヤノン株式会社 | 画像処理装置及び画像処理装置のメモリ管理方法 |
GB2461716A (en) * | 2008-07-09 | 2010-01-13 | Advanced Risc Mach Ltd | Monitoring circuitry for monitoring accesses to addressable locations in data processing apparatus that occur between the start and end events. |
JP5278901B2 (ja) * | 2008-10-24 | 2013-09-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 頻繁に発生するイベントを推定する方法 |
US8055809B2 (en) * | 2008-12-24 | 2011-11-08 | International Business Machines Corporation | System and method for distributing signal with efficiency over microprocessor |
JP2010244393A (ja) * | 2009-04-08 | 2010-10-28 | Renesas Electronics Corp | パフォーマンス評価装置、及びパフォーマンス評価方法 |
JP2011100388A (ja) * | 2009-11-09 | 2011-05-19 | Fujitsu Ltd | トレース情報収集装置,トレース情報処理装置,およびトレース情報収集方法 |
US9129056B2 (en) * | 2009-12-04 | 2015-09-08 | Sap Se | Tracing values of method parameters |
US10169187B2 (en) | 2010-08-18 | 2019-01-01 | International Business Machines Corporation | Processor core having a saturating event counter for making performance measurements |
US8850172B2 (en) | 2010-11-15 | 2014-09-30 | Microsoft Corporation | Analyzing performance of computing devices in usage scenarios |
US8499197B2 (en) * | 2010-11-15 | 2013-07-30 | Microsoft Corporation | Description language for identifying performance issues in event traces |
US9195524B1 (en) * | 2010-12-20 | 2015-11-24 | Marvell International Ltd. | Hardware support for performance analysis |
US20150113338A1 (en) * | 2012-10-02 | 2015-04-23 | Panasonic Intellectual Property Management Co., Ltd. | Monitoring device and monitoring method |
JP5974856B2 (ja) * | 2012-11-27 | 2016-08-23 | 富士通株式会社 | サンプリングプログラム、サンプリング方法及び情報処理装置 |
EP2811410B1 (en) * | 2012-12-21 | 2018-05-30 | Huawei Technologies Co., Ltd. | Monitoring record management method and device |
US20140372691A1 (en) * | 2013-06-13 | 2014-12-18 | Hewlett-Packard Development Company, L. P. | Counter policy implementation |
GB2541223B (en) * | 2015-08-12 | 2021-08-11 | Siemens Ind Software Inc | Profiling transactions on an integrated circuit chip |
JP6648546B2 (ja) * | 2016-02-09 | 2020-02-14 | 富士通株式会社 | 情報処理装置、性能データ収集プログラムおよび性能データ収集方法 |
KR102440948B1 (ko) | 2016-02-11 | 2022-09-05 | 삼성전자주식회사 | 반도체 장치 및 반도체 장치의 동작 방법 |
CN107328968B (zh) * | 2017-06-27 | 2020-04-21 | 威胜集团有限公司 | 用于电能表的冻结和事件记录数据存储方法 |
WO2020061765A1 (zh) * | 2018-09-25 | 2020-04-02 | 华为技术有限公司 | 一种处理器性能的监测方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6026139A (en) * | 1998-06-16 | 2000-02-15 | Intel Corporation | Method and apparatus for generating a frequency distribution representation using integrated counter-based instrumentation |
US6145123A (en) * | 1998-07-01 | 2000-11-07 | Advanced Micro Devices, Inc. | Trace on/off with breakpoint register |
US6918065B1 (en) * | 1999-10-01 | 2005-07-12 | Hitachi, Ltd. | Method for compressing and decompressing trace information |
JP2001134471A (ja) | 1999-11-09 | 2001-05-18 | Toshiba Corp | デバッグ装置及びデバッグ方法 |
JP3292189B2 (ja) * | 1999-11-17 | 2002-06-17 | 日本電気株式会社 | プロセッサ性能データ収集装置及び該装置を利用した最適化方法 |
US7395527B2 (en) * | 2003-09-30 | 2008-07-01 | International Business Machines Corporation | Method and apparatus for counting instruction execution and data accesses |
-
2006
- 2006-04-21 JP JP2006117862A patent/JP4284332B2/ja not_active Expired - Fee Related
-
2007
- 2007-04-10 US US11/733,379 patent/US7571076B2/en not_active Expired - Fee Related
- 2007-04-11 EP EP07251553A patent/EP1847931A3/en not_active Withdrawn
- 2007-04-20 CN CNB200710100866XA patent/CN100527093C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1847931A2 (en) | 2007-10-24 |
CN100527093C (zh) | 2009-08-12 |
US7571076B2 (en) | 2009-08-04 |
JP2007293424A (ja) | 2007-11-08 |
EP1847931A3 (en) | 2009-06-10 |
US20080040634A1 (en) | 2008-02-14 |
CN101059772A (zh) | 2007-10-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4284332B2 (ja) | パフォーマンスモニタ装置、データ収集方法及びそのプログラム | |
JP4371452B2 (ja) | コンピュータメモリシステムにおいて空間的及び時間的サンプリングを行う装置 | |
US6374367B1 (en) | Apparatus and method for monitoring a computer system to guide optimization | |
US7143396B2 (en) | System and method for measuring code segment performance | |
US8789028B2 (en) | Memory access monitoring | |
US7853929B2 (en) | Dynamically profiling consumption of CPU time in Java methods with respect to method line numbers while executing in a Java virtual machine | |
JPH11353231A (ja) | コンピュ―タシステムにおけるコンテクスト間のメモリシステム相互作用の特性の統計値を推定する方法 | |
JPH11316711A (ja) | メモリシステムトランザクションの特性の統計値を推定する方法 | |
US7096390B2 (en) | Sampling mechanism including instruction filtering | |
Wang et al. | Featherlight reuse-distance measurement | |
Maeda et al. | Fast and accurate exploration of multi-level caches using hierarchical reuse distance | |
Huang et al. | Performance modeling for optimal data placement on GPU with heterogeneous memory systems | |
Chafi et al. | TAPE: A transactional application profiling environment | |
Venkataramani et al. | Deft: Design space exploration for on-the-fly detection of coherence misses | |
Venkatesh et al. | Scheduling hpc workflows with intel optane persistent memory | |
JP5521687B2 (ja) | 分析装置、分析方法および分析プログラム | |
Vijayakumar et al. | Predicting jvm parameters for performance tuning using different regression algorithms | |
Li et al. | LPW: an efficient data-aware cache replacement strategy for Apache Spark | |
Mannarswamy et al. | Variable granularity access tracking scheme for improving the performance of software transactional memory | |
Krishnamurthy et al. | Evaluating dusty caches on general workloads | |
Chen et al. | Cost-driven hybrid configuration prefetching for partial reconfigurable coprocessor | |
John et al. | Exact cache characterization by experimental parameter extraction | |
Ismail et al. | Efficient nursery sizing for managed languages on multi-core processors with shared caches | |
Gould | Advanced Lease Caching | |
Abbas et al. | Approximate data dependence graph generation using adaptive sampling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080326 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080729 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080924 |
|
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: 20090303 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090323 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120327 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |