JP2010079508A - プロファイリング方法およびプロファイリングプログラム - Google Patents
プロファイリング方法およびプロファイリングプログラム Download PDFInfo
- Publication number
- JP2010079508A JP2010079508A JP2008245787A JP2008245787A JP2010079508A JP 2010079508 A JP2010079508 A JP 2010079508A JP 2008245787 A JP2008245787 A JP 2008245787A JP 2008245787 A JP2008245787 A JP 2008245787A JP 2010079508 A JP2010079508 A JP 2010079508A
- Authority
- JP
- Japan
- Prior art keywords
- profiling
- program
- profile acquisition
- executed
- target
- 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
-
- 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/865—Monitoring of software
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
【解決手段】コンピュータシステムは、プロファイリング対象プログラム1、OS2およびプロセッサ3を備えている。プロファイリング対象のアプリケーションプログラム11と、サンプリング情報を収集するプロファイル取得関数ライブラリ12とを同一プロセスで起動する。プロセッサ3の内蔵タイマ15から割り込みが発生するたびに、OS2に予め組み込まれたプロファイル取得ドライバ13により、プログラムカウンタ16の値やハードウェアカウンタ17の値を収集する。仮想記憶システム上で複数のプロセスが実行される場合には、割り込みの発生時にプロファイリング対象プロセスが実行されているときにサンプリング情報を収集する。
【選択図】図1
Description
図1は、実施の形態にかかるプロファイリング方法を適用したコンピュータシステムの構成を示す説明図である。図1に示すように、このコンピュータシステムは、プロファイリング対象プログラム1、OS2およびプロセッサ3を備えている。OS環境下で、プロファイリング対象のアプリケーションプログラムと、これに対してサンプリング情報を収集するプロファイル用のプログラムとを同一プロセスで起動する。予め、OS2にプロファイル取得ドライバ13を組み込んでおき、プロセッサ3の内蔵タイマ15から割り込みが発生するたびに、プロファイル取得ドライバ13によりプロセッサ3のプログラムカウンタ16の値やハードウェアカウンタ17の値を収集する。仮想記憶システム上で複数のプロセスが実行される場合には、割り込み発生時に実行しているプロセスがプロファイリング対象プロセスであるときにのみサンプリング情報を収集する。
プロファイリング対象プログラム1は、実行形式のプログラムであり、プロファイリング対象のアプリケーションプログラム11にプロファイル取得関数ライブラリ12が結合されている。アプリケーションプログラム11には、プロファイル取得関数の呼び出し命令が埋め込まれている。プロファイル取得関数の呼び出し命令は、例えばプロファイルの測定開始を指示する「Call start()」や測定終了を指示する「Call stop()」などである。プロファイル取得関数ライブラリ12は、プロファイル情報の取得に必要な機能を提供する種々のプロファイル取得関数をまとめたものである。プロファイル取得関数は、プロファイルを取得するための命令群であり、例えばプロファイルの測定を開始する「start」や測定を終了する「stop」などである。プロファイル取得関数は、対応するプロファイル取得関数の呼び出し命令により呼び出される。
図2は、実施の形態にかかるプロファイリング方法の処理手順を示す説明図である。図2に示すように、プロファイリング対象のアプリケーションプログラムに対してプロファイリング処理を行うにあたって、まず、アプリケーションのソースプログラムにプロファイル取得関数の呼び出し命令を追加し、プロファイル取得関数の呼び出し命令が埋め込まれたソースコードを作成する(ステップS1)。次いで、作成されたソースコードを翻訳してオブジェクトプログラムを作成する(ステップS2)。次いで、作成されたオブジェクトプログラムにプロファイル取得関数ライブラリを結合(リンク)して、プロファイリング対象プログラムを作成する(ステップS3)。一方、プロファイル取得ドライバを作成し、ターゲットシステムのOSにプロファイル取得ドライバを組み込む(ステップS4)。プロファイル取得ドライバを、ターゲットシステムを作成する際にターゲットシステムに組み込んでもよいし、プロファイリング処理を実行する際に例えば「insmod」コマンドを使用してターゲットシステムに組み込んでもよい。
2 OS
3 プロセッサ
12 プロファイル取得関数ライブラリ
13 プロファイル取得ドライバ
15 内蔵タイマ
17 ハードウェアカウンタ
Claims (9)
- アプリケーションのソースプログラムにプロファイル取得関数の呼び出し命令を追加したソースコードを生成する第1ステップと、
前記ソースコードにプロファイル取得関数ライブラリを結合して実行形式のプロファイリング対象プログラムを生成する第2ステップと、
ターゲットシステムのオペレーティングシステム環境下で前記プロファイリング対象プログラムを実行し、前記プロファイル取得関数の呼び出し命令の実行によって前記プロファイル取得関数ライブラリ経由でプロファイル取得ドライバを呼び出し、割り込みの発生に基づいて前記プロファイル取得ドライバにより前記プロファイリング対象プログラムの実行状況に関するサンプリング情報を収集する第3ステップと、
をコンピュータに実行させることを特徴とするプロファイリング方法。 - 前記第3ステップの前に、前記ターゲットシステムに前記プロファイル取得ドライバを組み込むことを特徴とする請求項1に記載のプロファイリング方法。
- 前記第3ステップでは、仮想記憶システム上で複数のプロセスが実行される場合、前記割り込みの発生時にプロファイリング対象プロセスが実行されているときに前記サンプリング情報を収集することを特徴とする請求項1または2に記載のプロファイリング方法。
- 前記第3ステップでは、仮想記憶システム上で複数のプロセスが実行され、かつ共用ライブラリが実行される場合、前記割り込みの発生時にプロファイリング対象プロセスが実行されているときに共用ライブラリの実行状況に関する前記サンプリング情報を収集することを特徴とする請求項1または2に記載のプロファイリング方法。
- 前記第3ステップでは、前記プロファイル取得関数により指定されたプロファイリング対象範囲で、前記ターゲットシステムのプロセッサの内蔵タイマに基づいて、前記オペレーティングシステムのシステムタイマの単位時間よりも短い時間で前記割り込みを発生し、前記割り込みによって前記サンプリング情報を収集することを特徴とする請求項1〜4のいずれか一つに記載のプロファイリング方法。
- プロファイル取得関数の呼び出し命令が埋め込まれ、かつプロファイル取得関数ライブラリが結合された実行形式のプロファイリング対象プログラムを、ターゲットシステムのオペレーティングシステム環境下で実行する第1ステップと、
前記プロファイル取得関数の呼び出し命令の実行によって前記プロファイル取得関数ライブラリ経由でプロファイル取得ドライバを呼び出す第2ステップと、
割り込みの発生に基づいて前記プロファイル取得ドライバを介して前記プロファイリング対象プログラムの実行状況に関するサンプリング情報を収集する第3ステップと、
をコンピュータに実行させることを特徴とするプロファイリングプログラム。 - 前記第3ステップでは、仮想記憶システム上で複数のプロセスが実行される場合、前記割り込みの発生時にプロファイリング対象プロセスが実行されているときに前記サンプリング情報を収集することを特徴とする請求項6に記載のプロファイリングプログラム。
- 前記第3ステップでは、仮想記憶システム上で複数のプロセスが実行され、かつ共用ライブラリが実行される場合、前記割り込みの発生時にプロファイリング対象プロセスが実行されているときに共用ライブラリの実行状況に関する前記サンプリング情報を収集することを特徴とする請求項6に記載のプロファイリングプログラム。
- 前記第3ステップでは、前記プロファイル取得関数により指定されたプロファイリング対象範囲で、前記ターゲットシステムのプロセッサの内蔵タイマに基づいて、前記オペレーティングシステムのシステムタイマの単位時間よりも短い時間で前記割り込みを発生し、前記割り込みによって前記サンプリング情報を収集することを特徴とする請求項6〜8のいずれか一つに記載のプロファイリングプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008245787A JP5386905B2 (ja) | 2008-09-25 | 2008-09-25 | プロファイリング方法およびプロファイリングプログラム |
US12/542,325 US8549505B2 (en) | 2008-09-25 | 2009-08-17 | Profiling method, system, and recording medium having a profiling program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008245787A JP5386905B2 (ja) | 2008-09-25 | 2008-09-25 | プロファイリング方法およびプロファイリングプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010079508A true JP2010079508A (ja) | 2010-04-08 |
JP5386905B2 JP5386905B2 (ja) | 2014-01-15 |
Family
ID=42038918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008245787A Expired - Fee Related JP5386905B2 (ja) | 2008-09-25 | 2008-09-25 | プロファイリング方法およびプロファイリングプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8549505B2 (ja) |
JP (1) | JP5386905B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722432A (zh) * | 2011-03-29 | 2012-10-10 | 国际商业机器公司 | 追踪内存访问的方法和装置 |
KR101569142B1 (ko) * | 2014-11-18 | 2015-11-13 | 성균관대학교산학협력단 | 프로그램의 최적화 실행을 위한 장치 및 방법 |
KR20160066291A (ko) * | 2014-12-02 | 2016-06-10 | 한국전자통신연구원 | 프로세스 행위 프로파일 생성 장치 및 방법 |
JP2016224814A (ja) * | 2015-06-02 | 2016-12-28 | 富士通株式会社 | 性能情報生成プログラム、性能情報生成方法及び情報処理装置 |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4681491B2 (ja) * | 2006-03-31 | 2011-05-11 | 富士通株式会社 | プロファイリングプログラムおよびプロファイリング方法 |
US8726258B2 (en) * | 2011-04-14 | 2014-05-13 | Phoenix Technologies Ltd. | Supporting multiple hardware components in UEFI |
US9880916B2 (en) * | 2012-09-25 | 2018-01-30 | International Business Machines Corporation | Management of system events using one or more event attributes |
US8954546B2 (en) * | 2013-01-25 | 2015-02-10 | Concurix Corporation | Tracing with a workload distributor |
US9323863B2 (en) | 2013-02-01 | 2016-04-26 | Microsoft Technology Licensing, Llc | Highlighting of time series data on force directed graph |
US9256969B2 (en) | 2013-02-01 | 2016-02-09 | Microsoft Technology Licensing, Llc | Transformation function insertion for dynamically displayed tracer data |
US20130283281A1 (en) | 2013-02-12 | 2013-10-24 | Concurix Corporation | Deploying Trace Objectives using Cost Analyses |
US8997063B2 (en) | 2013-02-12 | 2015-03-31 | Concurix Corporation | Periodicity optimization in an automated tracing system |
US8843901B2 (en) | 2013-02-12 | 2014-09-23 | Concurix Corporation | Cost analysis for selecting trace objectives |
US9021447B2 (en) | 2013-02-12 | 2015-04-28 | Concurix Corporation | Application tracing by distributed objectives |
US8924941B2 (en) | 2013-02-12 | 2014-12-30 | Concurix Corporation | Optimization analysis using similar frequencies |
US20130227529A1 (en) | 2013-03-15 | 2013-08-29 | Concurix Corporation | Runtime Memory Settings Derived from Trace Data |
US9575874B2 (en) | 2013-04-20 | 2017-02-21 | Microsoft Technology Licensing, Llc | Error list and bug report analysis for configuring an application tracer |
US8990777B2 (en) | 2013-05-21 | 2015-03-24 | Concurix Corporation | Interactive graph for navigating and monitoring execution of application code |
US9734040B2 (en) | 2013-05-21 | 2017-08-15 | Microsoft Technology Licensing, Llc | Animated highlights in a graph representing an application |
US9280841B2 (en) | 2013-07-24 | 2016-03-08 | Microsoft Technology Licensing, Llc | Event chain visualization of performance data |
US9292415B2 (en) | 2013-09-04 | 2016-03-22 | Microsoft Technology Licensing, Llc | Module specific tracing in a shared module environment |
EP3069267A4 (en) | 2013-11-13 | 2017-09-27 | Microsoft Technology Licensing, LLC | Software component recommendation based on multiple trace runs |
CN105765528B (zh) | 2013-11-13 | 2019-09-24 | 微软技术许可有限责任公司 | 具有可配置原点定义的应用执行路径跟踪的方法、系统和介质 |
US9342283B2 (en) * | 2014-02-12 | 2016-05-17 | Facebook, Inc. | Profiling binary code based on density |
JP6693308B2 (ja) * | 2016-07-05 | 2020-05-13 | 富士通株式会社 | 負荷推定プログラム、負荷推定方法及び負荷推定装置 |
US10809985B2 (en) | 2017-03-09 | 2020-10-20 | Microsoft Technology Licensing, Llc | Instrumenting program code |
US10853041B2 (en) * | 2017-03-09 | 2020-12-01 | Microsoft Technology Licensing, Llc | Extensible instrumentation |
CN111881210B (zh) * | 2020-06-29 | 2022-08-26 | 平安国际智慧城市科技股份有限公司 | 数据同步方法、装置、内网服务器及介质 |
CN114020607B (zh) * | 2021-10-26 | 2024-02-13 | 苏州浪潮智能科技有限公司 | Bmc调试方法、装置及计算机设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08147199A (ja) * | 1994-11-18 | 1996-06-07 | Fujitsu Ltd | プロセス実行情報採取装置 |
JP2007233855A (ja) * | 2006-03-02 | 2007-09-13 | Fujitsu Ltd | 性能チューニング方法及び装置、プログラム及び記憶媒体 |
JP2007272692A (ja) * | 2006-03-31 | 2007-10-18 | Fujitsu Ltd | プロファイリングプログラムおよびプロファイリング方法 |
JP2008210011A (ja) * | 2007-02-23 | 2008-09-11 | Fujitsu Ltd | プロファイリング装置およびプロファイリングプログラム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6026234A (en) * | 1997-03-19 | 2000-02-15 | International Business Machines Corporation | Method and apparatus for profiling indirect procedure calls in a computer program |
US6202205B1 (en) * | 1998-07-21 | 2001-03-13 | Hewlett-Packard Company | System and method for profile-based, on-the-fly optimization of library code |
US7194732B2 (en) * | 2003-06-26 | 2007-03-20 | Hewlett-Packard Development Company, L.P. | System and method for facilitating profiling an application |
US8214806B2 (en) * | 2007-05-09 | 2012-07-03 | International Business Machines Corporation | Iterative, non-uniform profiling method for automatically refining performance bottleneck regions in scientific code |
-
2008
- 2008-09-25 JP JP2008245787A patent/JP5386905B2/ja not_active Expired - Fee Related
-
2009
- 2009-08-17 US US12/542,325 patent/US8549505B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08147199A (ja) * | 1994-11-18 | 1996-06-07 | Fujitsu Ltd | プロセス実行情報採取装置 |
JP2007233855A (ja) * | 2006-03-02 | 2007-09-13 | Fujitsu Ltd | 性能チューニング方法及び装置、プログラム及び記憶媒体 |
JP2007272692A (ja) * | 2006-03-31 | 2007-10-18 | Fujitsu Ltd | プロファイリングプログラムおよびプロファイリング方法 |
JP2008210011A (ja) * | 2007-02-23 | 2008-09-11 | Fujitsu Ltd | プロファイリング装置およびプロファイリングプログラム |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102722432A (zh) * | 2011-03-29 | 2012-10-10 | 国际商业机器公司 | 追踪内存访问的方法和装置 |
KR101569142B1 (ko) * | 2014-11-18 | 2015-11-13 | 성균관대학교산학협력단 | 프로그램의 최적화 실행을 위한 장치 및 방법 |
KR20160066291A (ko) * | 2014-12-02 | 2016-06-10 | 한국전자통신연구원 | 프로세스 행위 프로파일 생성 장치 및 방법 |
KR102128047B1 (ko) | 2014-12-02 | 2020-06-29 | 한국전자통신연구원 | 프로세스 행위 프로파일 생성 장치 및 방법 |
JP2016224814A (ja) * | 2015-06-02 | 2016-12-28 | 富士通株式会社 | 性能情報生成プログラム、性能情報生成方法及び情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
JP5386905B2 (ja) | 2014-01-15 |
US20100077388A1 (en) | 2010-03-25 |
US8549505B2 (en) | 2013-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5386905B2 (ja) | プロファイリング方法およびプロファイリングプログラム | |
EP1702269B1 (en) | Dynamic performance monitoring-based approach to memory management | |
Ottoni et al. | Optimizing function placement for large-scale data-center applications | |
US8490061B2 (en) | Profiling application performance according to data structure | |
US7661035B2 (en) | Method and system for instruction tracing with enhanced interrupt avoidance | |
US8191049B2 (en) | Method and apparatus for maintaining performance monitoring structures in a page table for use in monitoring performance of a computer program | |
JP2749528B2 (ja) | エラー解析用のトレーサシステム | |
CA2672337C (en) | Compiler instrumentation infrastructure to facilitate multiple pass and multiple purpose dynamic analysis | |
US8196116B2 (en) | Tracing objects in object-oriented programming model | |
JP5326374B2 (ja) | プロセッサ、性能プロファイリング装置、性能プロファイリングプログラムおよび性能プロファイリング方法 | |
JP2013033412A (ja) | メモリ管理方法、プログラム及びシステム | |
JP2015519646A (ja) | マルチテナント型アプリケーション・ドメイン及びメモリの管理を伴う修正されたjvm | |
Zheng et al. | Accurate profiling in the presence of dynamic compilation | |
JP5719278B2 (ja) | 情報処理装置、プロファイル対象決定プログラム及び方法 | |
US9959191B2 (en) | Dynamic library profiling method and dynamic library profiling system | |
Itzkowitz et al. | Hpc profiling with the sun studio™ performance tools | |
US20080040407A1 (en) | Identification of a cause of an allocation failure in a java virtual machine | |
Szegedi et al. | Dynamic slicing of Java bytecode programs | |
EP3635561B1 (en) | Asynchronous operation query | |
US8261245B2 (en) | Method and system for associating profiler data with a reference clock | |
Bergel et al. | Visualizing dynamic metrics with profiling blueprints | |
JP5525658B2 (ja) | 計算機、リソース使用量計算方法及びリソース使用量計算プログラム | |
JP2009064125A (ja) | サーバ装置、そのプログラム | |
JP2008123438A (ja) | コンピュータシステム、プログラム情報収集方法、およびコンピュータプログラム | |
JP2009223841A (ja) | 命令ログ取得プログラム及び仮想計算機システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110502 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121017 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20121106 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121227 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130521 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130816 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20130826 |
|
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: 20130910 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130923 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5386905 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |