JP2006524375A - ソフトウェアアプリケーションのストライドプロファイリング方法および装置 - Google Patents
ソフトウェアアプリケーションのストライドプロファイリング方法および装置 Download PDFInfo
- Publication number
- JP2006524375A JP2006524375A JP2006501313A JP2006501313A JP2006524375A JP 2006524375 A JP2006524375 A JP 2006524375A JP 2006501313 A JP2006501313 A JP 2006501313A JP 2006501313 A JP2006501313 A JP 2006501313A JP 2006524375 A JP2006524375 A JP 2006524375A
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- stride
- instruction address
- instruction
- 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
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
- G06F8/4441—Reducing the execution time required by the program code
- G06F8/4442—Reducing the number of cache misses; Data prefetching
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Debugging And Monitoring (AREA)
- Devices For Executing Special Programs (AREA)
- Advance Control (AREA)
- Stored Programmes (AREA)
Abstract
【解決手段】システムの一例では、データキャッシュミスなど何らかのイベントにより起きたメモリアクセス命令に関連する命令アドレスとデータアドレスとを報告するためにハードウェアパフォーマンスカウンタを使用する。同じ命令アドレスが2つ以上のデータアドレスに関連するとき、2つのデータアドレス間の差が報告される。同じ命令に対しそれら2つ以上のデータアドレス差が記録されると、システムは、2つ以上の差の最大公約数となる命令に関連するストライドを決定する。このストライドは、データキャッシュプリフェッチを最適化するため、コンパイラによって使用されることもできる。さらに、検査位相とスキッピング位相とを繰り返すことにより、データキャッシュミスのアドレスを監視することに伴うオーバーヘッドも減らすことができる。データキャッシュミスは、スキッピング位相の間より検査位相の間で多く見つかる。
Description
Claims (29)
- ソフトウェアアプリケーションのストライドプロファイリング方法であって、
第1の命令アドレスと第1のデータアドレスと示すデータをハードウェアパフォーマンスカウンタから受信するステップと、
第2の命令アドレスと第2のデータアドレスと示すデータを前記ハードウェアパフォーマンスカウンタから受信するステップと、
前記第1の命令アドレスが前記第2の命令アドレスと等しい場合、前記第2のデータアドレスから前記第1のデータアドレスを引くことにより、第1のストライド積を決定するステップと、
前記第1のストライド積に基づき、ストライドを決定するステップと、
を含む方法。 - 前記方法は、
前記第1のストライド積に基づき、ストライドを決定する方法が、該ストライドは前記第1のストライド積に等しいことを決定するステップを含むことを特徴とする、請求項1に記載の方法。 - 前記方法は、
第3の命令アドレスと第3のデータアドレスと示すデータをハードウェアパフォーマンスカウンタから受信するステップと、
前記第2の命令アドレスが前記第3の命令アドレスと等しい場合、前記第3のデータアドレスから前記第2のデータアドレスを引くことにより、前記第2のストライド積を決定するステップと、
をさらに含むことを特徴とする、請求項1に記載の方法。 - 前記方法は、
前記第1のストライド積に基づき、前記ストライドを決定するステップが、前記第1のストライド積と前記第2のストライド積との最大公約数を決定するステップを含むことを特徴とする、
請求項3に記載の方法。 - 前記方法は、
前記第1の命令アドレスと第1のデータアドレスとを示すデータをハードウェアパフォーマンスカウンタから受信するステップが、前記第1の命令アドレスと前記第1のデータアドレスとを第1の複数の連続データキャッシュミスを示す第1のデータセット部分として受信するステップを含むことを特徴とする、請求項3に記載の方法。 - 前記方法は、
前記第1の複数の連続データキャッシュミスを示す前記第1のデータセットを受信するステップと、
第2の複数の連続データキャッシュミスを示す第2のデータセットを受信するステップと、を含み、
前記第1のデータセットを受信するステップと、前記第2のデータセットを受信するステップとは、連続データキャッシュミスを示すデータが受信されない予め決められた期間だけ間隔が空いていることを特徴とする、請求項5に記載の方法。 - 前記方法は、
前記ハードウェアパフォーマンスカウンタから、第3の命令アドレスと第3のデータアドレスとを示すデータを受信するステップと、
前記ハードウェアパフォーマンスカウンタから、第4の命令アドレスと第4のデータアドレスとを示すデータを受信するステップと、
前記第1の命令アドレスが前記第3の命令アドレスおよび前記第4の命令アドレスと等しい場合、前記第4のデータアドレスから前記第3のデータアドレスを引くことにより、第2のストライド積を決定するステップと、
をさらに含む方法ことを特徴とする、請求項1に記載の方法。 - 前記方法は、
前記第1のストライド積に基づき前記ストライドを決定するステップが、前記第1のストライド積と前記第2のストライド積との最大公約数を決定するステップを含むことを特徴とする、請求項7に記載の方法。 - 前記方法は、
前記第1の命令アドレスと第1のデータアドレスとを示すデータをハードウェアパフォーマンスカウンタから受信するステップが、前記第1の命令アドレスと前記第1のデータアドレスとを複数の連続データキャッシュミスを示す第1のデータセット部分として受信するステップを含むことを特徴とする、請求項1に記載の方法。 - 前記方法は、
前記ハードウェアパフォーマンスカウンタを一連の周期的バーストでサンプリングするステップをさらに含むことを特徴とする、
請求項1に記載の方法。 - ソフトウェアアプリケーションをプロファイリングするための装置であって、
前記ソフトウェアアプリケーションと、プロファイリングツールとを実行するプロセッサと、
前記プロセッサに有効に結合され、第1の命令アドレスと、該第1の命令アドレスに関連する第1のデータアドレスと、第2の命令アドレスと、該第2の命令アドレスに関連する第2のデータアドレスとを示すデータを前記プロファイリングツールに提供するハードウェアパフォーマンスカウンタと、を含み、
前記プロファイリングツールは、前記第1の命令アドレスが前記第2の命令アドレスと等しい場合、前記第1のデータアドレスと前記第2のデータアドレスとの間の差に基づき、ストライドを決定することを特徴とする装置。 - 前記装置は、
前記ハードウェアパフォーマンスカウンタにより前記プロファイリングツールに提供されたデータが、第3の命令アドレスと、該第3の命令アドレスに関連する第3のデータアドレスとをさらに含み、
前記第1の命令アドレスが前記第2の命令アドレスと等しい場合、前記プロファイリングツールは、前記第2のデータアドレスから前記第1のデータアドレスを引くことにより、第1のストライド積を決定し、
前記第2の命令アドレスが前記第3の命令アドレスと等しい場合、前記プロファイリングツールは、前記第3のデータアドレスから前記第2のデータアドレスを引くことにより、第2のストライド積を決定し、
前記プロファイリングツールは、前記第1のストライド積と前記第2のストライド積とに基づき、前記ストライドを決定することを特徴とする、請求項11に記載の装置。 - 前記装置は、
前記第1のストライド積と前記第2のストライド積との最大公約数を決定することにより、前記プロファイリングツールは、前記ストライドを決定することを特徴とする、請求項12に記載の装置。 - 前記装置は、
前記ソフトウェアアプリケーションを実行する間に第1のデータキャッシュミスが発生した場合、前記ハードウェアパフォーマンスカウンタが、前記第1の命令アドレスと前記第1のデータアドレスとを示すデータを前記プロファイリングツールに提供することを特徴とする、請求項11に記載の装置。 - 前記装置は、
前記ソフトウェアアプリケーションを実行する間に第2のデータキャッシュミスが発生した場合、前記ハードウェアパフォーマンスカウンタが、前記第2の命令アドレスと前記第2のデータアドレスとを示すデータを前記プロファイリングツールに提供することを特徴とする、請求項14に記載の装置。 - 前記装置は、
前記第1のデータキャッシュミスと、前記第2のデータキャッシュミスとが、前記第1の命令アドレスに関連する連続データキャッシュミスであることを特徴とする、請求項15に記載の装置。 - 前記装置は、
前記プロファイリングツールが、前記ハードウェアパフォーマンスカウンタを一連の周期的バーストでサンプリングすることを特徴とする、請求項11に記載の装置。 - ソフトウェアアプリケーションをプロファイリングするための装置であって、
ハードウェアパフォーマンスカウンタと、
前記ハードウェアパフォーマンスカウンタに有効に結合されたストライド決定モジュールと、
前記位相マネージャに有効に結合された最大公約数モジュールと、
を含むことを特徴とする装置。 - 前記装置は、
前記ハードウェアパフォーマンスカウンタが、データキャッシュミスに関連する命令アドレスと、データキャッシュミスに関連するデータアドレスとを示すデータをキャプチャするよう構成されていることを特徴とする、請求項18に記載の装置。 - 前記装置は、
第1の命令アドレスが第2の命令アドレスと等しい場合、前記ストライド決定モジュールは、第2のデータアドレスから第1のデータドレスを引くよう構成されていることを特徴とする、請求項18に記載の装置。 - 前記装置は、
前記ストライド決定モジュールに有効に結合された位相マネージャをさらに含むことを特徴とする、請求項18に記載の装置。 - 前記装置は、
前記位相マネージャが第1のスキッピング位相から検査位相への第1の遷移を生じさせるよう構成されていることを特徴とする、請求項21に記載の装置。 - 前記装置は、
前記位相マネージャが前記検査位相から第2のスキッピング位相への第2の遷移を生じさせるよう構成されていることを特徴とする、請求項22に記載の装置。 - 前記装置は、
前記最大公約数モジュールが、第1のストライド積と第2のストライド積との最大公約数を決定するよう構成されていることを特徴とする、請求項18に記載の装置。 - 機械可読媒体であって、
ハードウェアパフォーマンスカウンタからのキャッシュミスデータに基づき、ストライドプロファイルデータを生成するステップと、
前記ストライドプロファイルデータに基づき、プログラムをコンパイルするステップと、
をマシンに実行させるよう構成されていることを特徴とする、機械可読媒体。 - 前記機械可読媒体は、
前記ハードウェアパフォーマンスカウンタから、第1の命令アドレスと、該第1の命令アドレスに関連する第1のデータアドレスと、第2の命令アドレスと、該第2の命令アドレスに関連する第2のデータアドレスとを示す第1のデータを受信するステップと、
前記第1の命令アドレスが前記第2の命令アドレスと等しい場合、前記第2のデータアドレスから前記第1のデータアドレスを引くことにより、第1のストライド積を決定するステップと、
をマシンに実行させるようさらに構成されていることを特徴とする、請求項25に記載の機械可読媒体。 - 前記機械可読媒体は、
前記ハードウェアパフォーマンスカウンタから、第3の命令アドレスと、該第3の命令アドレスに関連する第3のデータアドレスとを示す第2のデータを受信するステップと、
前記第2の命令アドレスが前記第3の命令アドレスと等しい場合、前記第3のデータアドレスから前記第2のデータアドレスを引くことにより、第2のストライド積を決定するステップと、
をマシンに実行させるよう、さらに構成されていることを特徴とする、請求項26に記載の機械可読媒体。 - 前記機械可読媒体は、
前記第1のストライド積と前記第2のストライド積との最大公約数を決定することにより、ストライドを決定するステップをマシンに実行させるようさらに構成されていることを特徴とする、請求項27に記載の機械可読媒体。 - 前記機械可読媒体は、
前記ハードウェアパフォーマンスカウンタを一連の周期的バーストでサンプリングするステップをマシンに実行させるよう、さらに構成されていることを特徴とする、請求項25に記載の機械可読媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/446,004 US7181723B2 (en) | 2003-05-27 | 2003-05-27 | Methods and apparatus for stride profiling a software application |
PCT/US2004/014845 WO2004107177A2 (en) | 2003-05-27 | 2004-05-12 | Methods and apparatus for stride profiling a software application |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006524375A true JP2006524375A (ja) | 2006-10-26 |
JP4361084B2 JP4361084B2 (ja) | 2009-11-11 |
Family
ID=33450967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006501313A Expired - Fee Related JP4361084B2 (ja) | 2003-05-27 | 2004-05-12 | ソフトウェアアプリケーションのストライドプロファイリング方法および装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US7181723B2 (ja) |
EP (1) | EP1627311B1 (ja) |
JP (1) | JP4361084B2 (ja) |
CN (2) | CN102681947B (ja) |
AT (1) | ATE368891T1 (ja) |
DE (1) | DE602004007913T2 (ja) |
WO (1) | WO2004107177A2 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2008093399A1 (ja) * | 2007-01-30 | 2010-05-20 | 富士通株式会社 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
EP2230602A1 (en) | 2009-03-18 | 2010-09-22 | Fujitsu Limited | Processing apparatus and method for acquiring log information |
US9971695B2 (en) | 2014-10-03 | 2018-05-15 | Fujitsu Limited | Apparatus and method for consolidating memory access prediction information to prefetch cache memory data |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050071821A1 (en) * | 2003-09-30 | 2005-03-31 | International Business Machines Corporation | Method and apparatus to autonomically select instructions for selective counting |
US7395527B2 (en) * | 2003-09-30 | 2008-07-01 | International Business Machines Corporation | Method and apparatus for counting instruction execution and data accesses |
US7937691B2 (en) | 2003-09-30 | 2011-05-03 | International Business Machines Corporation | Method and apparatus for counting execution of specific instructions and accesses to specific data locations |
US7373637B2 (en) | 2003-09-30 | 2008-05-13 | International Business Machines Corporation | Method and apparatus for counting instruction and memory location ranges |
US8381037B2 (en) * | 2003-10-09 | 2013-02-19 | International Business Machines Corporation | Method and system for autonomic execution path selection in an application |
US7421681B2 (en) * | 2003-10-09 | 2008-09-02 | International Business Machines Corporation | Method and system for autonomic monitoring of semaphore operation in an application |
US7257657B2 (en) * | 2003-11-06 | 2007-08-14 | International Business Machines Corporation | Method and apparatus for counting instruction execution and data accesses for specific types of instructions |
US7496908B2 (en) * | 2004-01-14 | 2009-02-24 | International Business Machines Corporation | Method and apparatus for optimizing code execution using annotated trace information having performance indicator and counter information |
US7290255B2 (en) * | 2004-01-14 | 2007-10-30 | International Business Machines Corporation | Autonomic method and apparatus for local program code reorganization using branch count per instruction hardware |
US7895382B2 (en) | 2004-01-14 | 2011-02-22 | International Business Machines Corporation | Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs |
US7392370B2 (en) * | 2004-01-14 | 2008-06-24 | International Business Machines Corporation | Method and apparatus for autonomically initiating measurement of secondary metrics based on hardware counter values for primary metrics |
US7526757B2 (en) * | 2004-01-14 | 2009-04-28 | International Business Machines Corporation | Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program |
US7293164B2 (en) * | 2004-01-14 | 2007-11-06 | International Business Machines Corporation | Autonomic method and apparatus for counting branch instructions to generate branch statistics meant to improve branch predictions |
US7415705B2 (en) * | 2004-01-14 | 2008-08-19 | International Business Machines Corporation | Autonomic method and apparatus for hardware assist for patching code |
US7421684B2 (en) | 2004-03-22 | 2008-09-02 | International Business Machines Corporation | Method and apparatus for autonomic test case feedback using hardware assistance for data coverage |
US7526616B2 (en) * | 2004-03-22 | 2009-04-28 | International Business Machines Corporation | Method and apparatus for prefetching data from a data structure |
US7296130B2 (en) * | 2004-03-22 | 2007-11-13 | International Business Machines Corporation | Method and apparatus for providing hardware assistance for data access coverage on dynamically allocated data |
US8135915B2 (en) | 2004-03-22 | 2012-03-13 | International Business Machines Corporation | Method and apparatus for hardware assistance for prefetching a pointer to a data structure identified by a prefetch indicator |
US7480899B2 (en) | 2004-03-22 | 2009-01-20 | International Business Machines Corporation | Method and apparatus for autonomic test case feedback using hardware assistance for code coverage |
US7299319B2 (en) * | 2004-03-22 | 2007-11-20 | International Business Machines Corporation | Method and apparatus for providing hardware assistance for code coverage |
US7421540B2 (en) * | 2005-05-03 | 2008-09-02 | International Business Machines Corporation | Method, apparatus, and program to efficiently calculate cache prefetching patterns for loops |
US20070006167A1 (en) * | 2005-05-31 | 2007-01-04 | Chi-Keung Luk | Optimizing binary-level instrumentation via instruction scheduling |
US20070130114A1 (en) * | 2005-06-20 | 2007-06-07 | Xiao-Feng Li | Methods and apparatus to optimize processing throughput of data structures in programs |
US8037465B2 (en) * | 2005-09-30 | 2011-10-11 | Intel Corporation | Thread-data affinity optimization using compiler |
US8176475B2 (en) | 2006-10-31 | 2012-05-08 | Oracle America, Inc. | Method and apparatus for identifying instructions associated with execution events in a data space profiler |
US8621468B2 (en) * | 2007-04-26 | 2013-12-31 | Microsoft Corporation | Multi core optimizations on a binary using static and run time analysis |
US9104794B2 (en) * | 2008-07-15 | 2015-08-11 | Microsoft Technology Licensing, Llc | Automatic incremental application dependency discovery through code instrumentation |
US8051332B2 (en) * | 2008-07-15 | 2011-11-01 | Avicode Inc. | Exposing application performance counters for .NET applications through code instrumentation |
CN102567206B (zh) * | 2012-01-06 | 2014-10-29 | 华中科技大学 | 一种剖析cuda程序行为的方法 |
US10019341B2 (en) * | 2014-09-25 | 2018-07-10 | Intel Corporation | Using hardware performance counters to detect stale memory objects |
US20180173631A1 (en) * | 2016-12-21 | 2018-06-21 | Qualcomm Incorporated | Prefetch mechanisms with non-equal magnitude stride |
CN107329908A (zh) * | 2017-07-07 | 2017-11-07 | 联想(北京)有限公司 | 一种数据处理方法和电子设备 |
CN107601411A (zh) * | 2017-10-11 | 2018-01-19 | 荆门市双创专利技术服务有限公司 | 一种带有理瓶机玻璃胶生产装置 |
US10649688B1 (en) * | 2018-11-01 | 2020-05-12 | Intel Corporation | Precise longitudinal monitoring of memory operations |
US11288046B2 (en) * | 2019-10-30 | 2022-03-29 | International Business Machines Corporation | Methods and systems for program optimization utilizing intelligent space exploration |
US11115494B1 (en) * | 2020-02-26 | 2021-09-07 | International Business Machines Corporation | Profile clustering for homogenous instance analysis |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US126591A (en) * | 1872-05-07 | Improvement in hair-restoratives | ||
GB2247546B (en) * | 1990-08-31 | 1995-03-01 | Sun Microsystems Inc | Method and apparatus for predictive caching |
US5396604A (en) * | 1991-07-12 | 1995-03-07 | Hewlett-Packard Company | System and method for reducing the penalty associated with data cache misses |
US5444850A (en) * | 1993-08-04 | 1995-08-22 | Trend Micro Devices Incorporated | Method and apparatus for controlling network and workstation access prior to workstation boot |
US5778436A (en) * | 1995-03-06 | 1998-07-07 | Duke University | Predictive caching system and method based on memory access which previously followed a cache miss |
US5694568A (en) * | 1995-07-27 | 1997-12-02 | Board Of Trustees Of The University Of Illinois | Prefetch system applicable to complex memory access schemes |
US5857097A (en) * | 1997-03-10 | 1999-01-05 | Digital Equipment Corporation | Method for identifying reasons for dynamic stall cycles during the execution of a program |
US6098154A (en) * | 1997-06-25 | 2000-08-01 | Sun Microsystems, Inc. | Apparatus and method for generating a stride used to derive a prefetch address |
US6076151A (en) * | 1997-10-10 | 2000-06-13 | Advanced Micro Devices, Inc. | Dynamic memory allocation suitable for stride-based prefetching |
US6047363A (en) * | 1997-10-14 | 2000-04-04 | Advanced Micro Devices, Inc. | Prefetching data using profile of cache misses from earlier code executions |
US6047359A (en) * | 1997-11-04 | 2000-04-04 | The United States Of America As Represented By The Secretary Of The Navy | Predictive read cache memories for reducing primary cache miss latency in embedded microprocessor systems |
US6134643A (en) * | 1997-11-26 | 2000-10-17 | Intel Corporation | Method and apparatus for cache line prediction and prefetching using a prefetch controller and buffer and access history |
US6560706B1 (en) * | 1998-01-26 | 2003-05-06 | Intel Corporation | Interface for ensuring system boot image integrity and authenticity |
US6430680B1 (en) * | 1998-03-31 | 2002-08-06 | International Business Machines Corporation | Processor and method of prefetching data based upon a detected stride |
US6134710A (en) * | 1998-06-26 | 2000-10-17 | International Business Machines Corp. | Adaptive method and system to minimize the effect of long cache misses |
US6463535B1 (en) * | 1998-10-05 | 2002-10-08 | Intel Corporation | System and method for verifying the integrity and authorization of software before execution in a local platform |
WO2000048061A1 (en) | 1999-02-15 | 2000-08-17 | Hewlett-Packard Company | Protection of the configuration of modules in computing apparatus |
US6571318B1 (en) * | 2001-03-02 | 2003-05-27 | Advanced Micro Devices, Inc. | Stride based prefetcher with confidence counter and dynamic prefetch-ahead mechanism |
US7103529B2 (en) * | 2001-09-27 | 2006-09-05 | Intel Corporation | Method for providing system integrity and legacy environment emulation |
US7093124B2 (en) * | 2001-10-30 | 2006-08-15 | Intel Corporation | Mechanism to improve authentication for remote management of a computer system |
US20030126591A1 (en) * | 2001-12-21 | 2003-07-03 | Youfeng Wu | Stride-profile guided prefetching for irregular code |
US20030145314A1 (en) * | 2002-01-31 | 2003-07-31 | Khoa Nguyen | Method of efficient dynamic data cache prefetch insertion |
US20030204840A1 (en) * | 2002-04-30 | 2003-10-30 | Youfeng Wu | Apparatus and method for one-pass profiling to concurrently generate a frequency profile and a stride profile to enable data prefetching in irregular programs |
US7155575B2 (en) * | 2002-12-18 | 2006-12-26 | Intel Corporation | Adaptive prefetch for irregular access patterns |
-
2003
- 2003-05-27 US US10/446,004 patent/US7181723B2/en not_active Expired - Fee Related
-
2004
- 2004-05-12 EP EP04751989A patent/EP1627311B1/en not_active Expired - Lifetime
- 2004-05-12 JP JP2006501313A patent/JP4361084B2/ja not_active Expired - Fee Related
- 2004-05-12 CN CN201210021110.7A patent/CN102681947B/zh not_active Expired - Fee Related
- 2004-05-12 CN CN2004800147829A patent/CN1795438B/zh not_active Expired - Fee Related
- 2004-05-12 DE DE602004007913T patent/DE602004007913T2/de not_active Expired - Lifetime
- 2004-05-12 AT AT04751989T patent/ATE368891T1/de not_active IP Right Cessation
- 2004-05-12 WO PCT/US2004/014845 patent/WO2004107177A2/en active IP Right Grant
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPWO2008093399A1 (ja) * | 2007-01-30 | 2010-05-20 | 富士通株式会社 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
JP4491500B2 (ja) * | 2007-01-30 | 2010-06-30 | 富士通株式会社 | 演算処理装置、情報処理装置及び演算処理装置の制御方法 |
US8671246B2 (en) | 2007-01-30 | 2014-03-11 | Fujitsu Limited | Information processing system and information processing method |
EP2230602A1 (en) | 2009-03-18 | 2010-09-22 | Fujitsu Limited | Processing apparatus and method for acquiring log information |
US8731688B2 (en) | 2009-03-18 | 2014-05-20 | Fujitsu Limited | Processing apparatus and method for acquiring log information |
US9971695B2 (en) | 2014-10-03 | 2018-05-15 | Fujitsu Limited | Apparatus and method for consolidating memory access prediction information to prefetch cache memory data |
Also Published As
Publication number | Publication date |
---|---|
JP4361084B2 (ja) | 2009-11-11 |
WO2004107177A2 (en) | 2004-12-09 |
US20040243981A1 (en) | 2004-12-02 |
US7181723B2 (en) | 2007-02-20 |
ATE368891T1 (de) | 2007-08-15 |
EP1627311B1 (en) | 2007-08-01 |
DE602004007913T2 (de) | 2008-04-30 |
DE602004007913D1 (de) | 2007-09-13 |
CN1795438A (zh) | 2006-06-28 |
CN102681947B (zh) | 2015-12-16 |
EP1627311A2 (en) | 2006-02-22 |
CN1795438B (zh) | 2012-03-21 |
WO2004107177A3 (en) | 2005-07-28 |
CN102681947A (zh) | 2012-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4361084B2 (ja) | ソフトウェアアプリケーションのストライドプロファイリング方法および装置 | |
US7496908B2 (en) | Method and apparatus for optimizing code execution using annotated trace information having performance indicator and counter information | |
US8191049B2 (en) | Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program | |
US7114036B2 (en) | Method and apparatus for autonomically moving cache entries to dedicated storage when false cache line sharing is detected | |
US7574587B2 (en) | Method and apparatus for autonomically initiating measurement of secondary metrics based on hardware counter values for primary metrics | |
US7373637B2 (en) | Method and apparatus for counting instruction and memory location ranges | |
US8689190B2 (en) | Counting instruction execution and data accesses | |
US7181599B2 (en) | Method and apparatus for autonomic detection of cache “chase tail” conditions and storage of instructions/data in “chase tail” data structure | |
US20050154839A1 (en) | Method and apparatus for identifying false cache line sharing | |
US20050155022A1 (en) | Method and apparatus for counting instruction execution and data accesses to identify hot spots | |
KR20000005678A (ko) | 롱캐시적중실패의영향을최소화하는적응형방법및시스템 | |
US20050155018A1 (en) | Method and apparatus for generating interrupts based on arithmetic combinations of performance counter values | |
US7937691B2 (en) | Method and apparatus for counting execution of specific instructions and accesses to specific data locations | |
US20050071821A1 (en) | Method and apparatus to autonomically select instructions for selective counting | |
US20050071516A1 (en) | Method and apparatus to autonomically profile applications | |
US20140245274A1 (en) | Determining a method to inline using an actual footprint calculation | |
US20050071611A1 (en) | Method and apparatus for counting data accesses and instruction executions that exceed a threshold | |
US20050071816A1 (en) | Method and apparatus to autonomically count instruction execution for applications | |
US20050071608A1 (en) | Method and apparatus for selectively counting instructions and data accesses | |
Ibrahim et al. | Characterizing the relation between Apex-Map synthetic probes and reuse distance distributions | |
US20050071612A1 (en) | Method and apparatus for generating interrupts upon execution of marked instructions and upon access to marked memory locations | |
US20050071610A1 (en) | Method and apparatus for debug support for individual instructions and memory locations | |
US20050086455A1 (en) | Method and apparatus for generating interrupts for specific types of instructions | |
US20050071609A1 (en) | Method and apparatus to autonomically take an exception on specified instructions | |
Vestberg | Low-Overhead Memory Access Sampler: An Efficient Method for Data-Locality Profiling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090304 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090310 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090603 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090616 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090702 |
|
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: 20090721 |
|
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: 20090811 |
|
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: 20120821 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |