JP2007293424A - パフォーマンスモニタ装置、データ収集方法及びそのプログラム - Google Patents
パフォーマンスモニタ装置、データ収集方法及びそのプログラム Download PDFInfo
- Publication number
- JP2007293424A JP2007293424A JP2006117862A JP2006117862A JP2007293424A JP 2007293424 A JP2007293424 A JP 2007293424A JP 2006117862 A JP2006117862 A JP 2006117862A JP 2006117862 A JP2006117862 A JP 2006117862A JP 2007293424 A JP2007293424 A JP 2007293424A
- Authority
- JP
- Japan
- Prior art keywords
- address
- counter
- program
- address area
- execution frequency
- 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
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)
Abstract
【解決手段】プログラムが格納されている記憶部上のアドレスを示すアドレス情報とプログラムを実行することにより発生するイベントの発生を示すイベント発生情報とをそれぞれ時系列に入力する入力手段15と、入力されたアドレス情報の属するアドレス領域を決定するアドレスマスク手段31と、アドレス領域毎のプログラムの実行頻度をカウントする実行頻度カウント手段と、実行頻度のカウント結果を保持する実行頻度保持テーブルと、実行頻度が上位所定順位までのアドレス領域に対応するイベント発生情報をカウントするイベント発生情報カウント手段35と、イベント発生情報のカウント結果を保持する保持手段36と、所定の期間毎にプログラムの実行頻度が最も高かったアドレス領域に対応するイベント発生情報のカウント結果を記憶する記憶手段40とを備える。
【選択図】図3
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 true JP2007293424A (ja) | 2007-11-08 |
JP4284332B2 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) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009129301A (ja) * | 2007-11-27 | 2009-06-11 | Nec Electronics Corp | 自己診断回路及び自己診断方法 |
JP2010020767A (ja) * | 2008-07-09 | 2010-01-28 | Arm Ltd | データ処理装置の監視およびその監視データの集計 |
JP2010102525A (ja) * | 2008-10-24 | 2010-05-06 | Internatl Business Mach Corp <Ibm> | 頻繁に発生するイベントを推定する方法 |
JP2010244393A (ja) * | 2009-04-08 | 2010-10-28 | Renesas Electronics Corp | パフォーマンス評価装置、及びパフォーマンス評価方法 |
JP2014106679A (ja) * | 2012-11-27 | 2014-06-09 | Fujitsu Ltd | サンプリングプログラム、サンプリング方法及び情報処理装置 |
Families Citing this family (20)
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 |
JP5213539B2 (ja) * | 2008-06-19 | 2013-06-19 | キヤノン株式会社 | 画像処理装置及び画像処理装置のメモリ管理方法 |
US8055809B2 (en) * | 2008-12-24 | 2011-11-08 | International Business Machines Corporation | System and method for distributing signal with efficiency over microprocessor |
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 |
US8499197B2 (en) * | 2010-11-15 | 2013-07-30 | Microsoft Corporation | Description language for identifying performance issues in event traces |
US8850172B2 (en) | 2010-11-15 | 2014-09-30 | Microsoft Corporation | Analyzing performance of computing devices in usage scenarios |
US9195524B1 (en) * | 2010-12-20 | 2015-11-24 | Marvell International Ltd. | Hardware support for performance analysis |
CN104272269A (zh) * | 2012-10-02 | 2015-01-07 | 松下知识产权经营株式会社 | 监视装置及监视方法 |
JP6060276B2 (ja) * | 2012-12-21 | 2017-01-11 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 監視レコード管理方法及びデバイス |
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
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009129301A (ja) * | 2007-11-27 | 2009-06-11 | Nec Electronics Corp | 自己診断回路及び自己診断方法 |
JP2010020767A (ja) * | 2008-07-09 | 2010-01-28 | Arm Ltd | データ処理装置の監視およびその監視データの集計 |
US9858169B2 (en) | 2008-07-09 | 2018-01-02 | Arm Limited | Monitoring a data processing apparatus and summarising the monitoring data |
JP2010102525A (ja) * | 2008-10-24 | 2010-05-06 | Internatl Business Mach Corp <Ibm> | 頻繁に発生するイベントを推定する方法 |
JP2010244393A (ja) * | 2009-04-08 | 2010-10-28 | Renesas Electronics Corp | パフォーマンス評価装置、及びパフォーマンス評価方法 |
JP2014106679A (ja) * | 2012-11-27 | 2014-06-09 | Fujitsu Ltd | サンプリングプログラム、サンプリング方法及び情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
US20080040634A1 (en) | 2008-02-14 |
EP1847931A3 (en) | 2009-06-10 |
CN101059772A (zh) | 2007-10-24 |
JP4284332B2 (ja) | 2009-06-24 |
US7571076B2 (en) | 2009-08-04 |
EP1847931A2 (en) | 2007-10-24 |
CN100527093C (zh) | 2009-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4284332B2 (ja) | パフォーマンスモニタ装置、データ収集方法及びそのプログラム | |
JP4371452B2 (ja) | コンピュータメモリシステムにおいて空間的及び時間的サンプリングを行う装置 | |
US7143396B2 (en) | System and method for measuring code segment performance | |
JP5648584B2 (ja) | ソフトウェアアプリケーションのプロファイリング方法及び装置 | |
US6237059B1 (en) | Method for estimating statistics of properties of memory system interactions among contexts in a computer system | |
JPH11272519A (ja) | 最適化を誘導するようにコンピュ―タシステムを監視するための方法及び装置 | |
US20090282294A1 (en) | Debugging System and Method | |
US7454666B1 (en) | Real-time address trace generation | |
JPH11316711A (ja) | メモリシステムトランザクションの特性の統計値を推定する方法 | |
US7096390B2 (en) | Sampling mechanism including instruction filtering | |
KR102161192B1 (ko) | 코어 트레이스로부터 데이터 마이닝을 하기 위한 방법 및 장치 | |
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 | |
JP5521687B2 (ja) | 分析装置、分析方法および分析プログラム | |
Mannarswamy et al. | Variable granularity access tracking scheme for improving the performance of software transactional memory | |
Lemieux | Hardware performance monitoring in multiprocessors. | |
Krishnamurthy et al. | Evaluating dusty caches on general workloads | |
John et al. | Exact cache characterization by experimental parameter extraction | |
Chen et al. | Cost-driven hybrid configuration prefetching for partial reconfigurable coprocessor | |
Abbas et al. | Approximate data dependence graph generation using adaptive sampling | |
Venkataramani et al. | Coherence miss classification for performance debugging in multi-core processors | |
Luo | Optimizing parallel programs using composable locality models | |
WO2013145298A1 (ja) | 情報処理装置、及びプログラム解析情報収集方法 | |
Pai et al. | An operational performance model of breadth-first search |
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 |