JP4599902B2 - ハードウェアモニタを用いた性能解析方法 - Google Patents

ハードウェアモニタを用いた性能解析方法 Download PDF

Info

Publication number
JP4599902B2
JP4599902B2 JP2004180434A JP2004180434A JP4599902B2 JP 4599902 B2 JP4599902 B2 JP 4599902B2 JP 2004180434 A JP2004180434 A JP 2004180434A JP 2004180434 A JP2004180434 A JP 2004180434A JP 4599902 B2 JP4599902 B2 JP 4599902B2
Authority
JP
Japan
Prior art keywords
processing
information
performance
cpu
performance analysis
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
Application number
JP2004180434A
Other languages
English (en)
Other versions
JP2006004211A (ja
Inventor
一樹 本間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2004180434A priority Critical patent/JP4599902B2/ja
Priority to US11/037,226 priority patent/US7315795B2/en
Publication of JP2006004211A publication Critical patent/JP2006004211A/ja
Application granted granted Critical
Publication of JP4599902B2 publication Critical patent/JP4599902B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/87Monitoring of transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、情報処理装置およびソフトウェアの性能解析に関し、特に処理単位当りの性能を計測し比較する性能解析方法、この方法を実現するための装置およびこの方法実施するためのプログラムに関するものである。
情報処理装置およびソフトウェアの処理性能を向上させるには、現状の処理性能を測定・解析して、処理性能向上の阻害要因を特定する事が重要である。この処理性能を測る指標としては、ある処理単位当りに情報処理装置内で実行される命令数を示す「ダイナミックステップ数」、またはある処理単位当りに情報処理装置が処理に必要とする時間を示す「単位処理時間」がある。
処理プログラムのダイナミックステップ数あるいは単位処理時間を求める場合、人手によってアセンブリ言語のソースステートメント数を数え、さらに処理プログラムが実行される際の実行順序を推定してダイナミックステップ数を算出し、さらに処理プログラムが実行されるCPUの処理性能から単位処理時間を算出する、という方法が考えられる。
また、特許文献1に示される様に、処理プログラムのソースコードを改変し処理プログラム内の各マクロの実行回数を測定すると言う方法がある。これは、各マクロ毎のダイナミックステップ数、単位処理時間は上述の人手による手法により予め推定しておき、該方法で測定されたマクロ実行回数結果と組み合わせて算出する、と言う方法である。
特開平6-266585号公報
しかし上述した様に、これらの方法では、以下の課題がある。
(1)性能評価対象となる処理プログラムのソースコードが手元に無い場合、アセンブリ言語のソースステートメント数を数える事が出来ない、
(2)何らかの理由により、例えば既に顧客先にて該処理プログラムが実行中であり処理プログラムを入れ替える事が出来ない為、該処理プログラムのソースコードあるいは処理プログラム自身を改変できない場合、マクロの実行回数を測定出来ない、
(3)マクロの実行回数に応じてダイナミックステップ数、単位処理時間を算出する方法の為、予め各マクロ毎のソースステートメント数を算出しておく必要がある、といったものである。
本発明では、性能評価対象となる情報処理装置または処理プログラムにおいて、より容易に(例えば、処理プログラムのソースステートメント数を数える事無く、さらに処理プログラムの改変を行う事無く)ダイナミックステップ数あるいは単位処理時間等の性能解析情報を算出する技術を提供する、ことを目的とする。
前述の目的を実現するために、本発明では、処理装置(以下、CPU)に組み込まれている「ハードウェアモニタ」と呼ばれるCPU性能プロファイリングのための論理を利用して、性能解析情報を算出するものである。
より具体的には、「ハードウエアモニタ」機能と、該ハードウェアモニタを用いて採取可能なCPU性能情報及び該情報を採取するCPU性能情報採取プログラムと、処理プログラムによって採取可能な処理性能情報と、CPU性能情報と処理性能情報からダイナミックステップ数あるいは単位処理時間等の性能解析情報を算出する算出処理と、を用いる。
本発明によれば、より容易に性能解析を実行することが可能になる。
図1に発明の実施形態の例を示す。
100は情報処理装置を、110は100で実行される処理プログラムを、120は情報処理装置に搭載されるCPUを、それぞれ示している。110および120は共に100において1つあっても複数あっても良い。
また120にはハードウェアモニタ(121)と呼ばれるCPU性能プロファイリングのための専用論理が設置されている。121は例えば特開平8-30494号公報に示される様な、CPUでの処理を邪魔すること無くCPU性能情報を採取するCPU性能プロファイリング機能を提供するもので、例えばCPU性能情報として実行命令数あるいは処理における消費サイクル数等を採取する機能を有する。
さらに121を用いてCPU性能情報を採取するCPU性能情報採取プログラム(130)が100で実行される。130は121に対してCPU性能情報採取についての制御を行う。130は110とは独立したプログラムであっても、また110と統合されたプログラムであっても良い。
一方、110はその実行に関する処理性能情報を採取する機能を有する。これは例えば110内に設置される処理投入キュー(111)を各処理が通過する際に採取される仕組みになっている。
さらに130によって採取されたCPU性能情報を格納する140、110によって採取された処理性能情報を格納する141がそれぞれ設置される。140、141は互いに独立した格納先であっても、統合された格納先であっても良い。また140、141は100内に搭載されていても、100の外に設置されていても良い。
また140、141に格納されたCPU性能情報および処理性能情報を用いて性能解析情報を算出する算出処理(142)を有する。142は100で実行されても、100とは異なる情報処理装置で実行されても良い。また142は110あるいは130と統合されていても良い。
さらに、142によって求められた性能解析情報を格納する143を有する。143は100内に搭載されていても、100の外に設置されていても良い。
そして143に格納された性能解析情報を表示する表示処理(144)を有する。144は100で実行されても、100とは異なる情報処理装置で実行されても良い。また144は110、130あるいは142と統合されていても良い。
次に、本実施形態での性能解析情報取得方法の例について述べる。
110での処理は各々処理単位ごとに区切られて、外部からの処理要求として投入され、処理が完了した後に処理応答として外部に返信される。
110に対する処理要求(180)は、処理単位毎に例えば111に一旦保持され、順番待ちをした後に処理のCPU投入要求(181)として120に投入され、処理が完了した後に処理応答(182)として返される。
上述で各単位毎の処理が120で実行される一方で、130は121に対して測定すべきCPU性能情報・測定開始・測定終了を制御することで、CPU性能情報を採取する。
具体的には130は121に対してCPU性能情報採取要求(183)を通じて、目的とするCPU性能情報、例えば実行命令数、消費サイクル数、キャッシュヒット回数等を、ある時刻(T0)からある時刻(T1)まで測定するように通知する。
121は130からの要求(183)に応じてCPU性能情報を採取し、CPU性能情報採取応答(184)を通じて測定結果を130に返信する。
こうして採取されたCPU性能情報はCPU性能情報保存(185)を通じて130から140に保存される。
図2に、140に保存されるCPU性能情報の形式の1例を示す。
200はCPU性能情報を保存しておくテーブルを示しており、テーブルにはその項目として例えば、対応する時刻(210)、実行命令数(211)、消費サイクル数(212)、キャッシュヒット回数(213)等が含まれている。
各項目は対応する時刻毎にCPU性能情報が記録されており、例えば210の時刻T0の欄では、期間T0〜T1の間に120が実行した実行命令数i0が211に、120が実行した命令を処理するのに掛かった消費サイクル数C0が212に、120にて発生したキャッシュヒット回数H0が213に、それぞれ記録されている。
上述のCPU性能情報は各時刻毎に同様に記録されており、各欄は130が新たなCPU性能情報を採取する毎に200に付け加えられて行く。
上述のCPU性能情報を130が採取する一方で、処理性能情報が採取される。
処理性能情報は例えば、111を通過する処理単位の数を数えることにより実現される。あるいは、120に投入された181の数、110を通過した182の数を数えること等を用いても良い。
なお、ここでは100上で実行される110によって処理性能情報を採取する場合を実施例にしているが、例えば110とは別のプログラムが180、181または182の数を数える等の方法により、処理性能情報を採取しても良い。
上述の方法により採取された処理性能情報は処理性能情報保存(186)を通じて141に保存される。
図3に、141に保存される処理性能情報の形式の1例を示す。
300は処理性能情報を保存しておくテーブルを示しており、テーブルにはその項目として例えば、対応する時刻(310)、処理実行数(311)等が含まれている。
各項目は対応する時刻毎に処理性能情報が記録されており、例えば310の時刻T0の欄では、期間T0〜T1の間に110が実行した処理実行数J0が311に、それぞれ記録されている。
上述の処理性能情報は各時刻毎に同様に記録されており、各欄は例えば110が新たな処理性能情報を採取する毎に300に付け加えられて行く。
この様にして得られた140および141の情報を元に、142がダイナミックステップ数あるいは単位処理時間等の性能解析情報を算出する。
具体的には、142は目的とする性能解析情報を算出するのに必要なCPU性能情報および処理性能情報を190あるいは191を通じて読出す。読出す情報は該性能解析情報を計算するのに必要な物のみで良いため、140および141の情報全てを用いる必要は無い。
また、本実施例では採取されたCPU性能情報あるいは処理性能情報が、140あるいは141にそれぞれ一旦保存される場合を想定しているが、140あるいは141の様な保存先を省略して、直接CPU性能情報あるいは処理性能情報を142が130あるいは110から読出しても良い。
142は上述の読出し情報を元に性能解析情報を例えば後述の計算方法により算出し、192を通じて143に保存する。
図4に143に保存される性能解析情報の形式の1例を示す。
400は性能解析情報を保存しておくテーブルを示しており、テーブルにはその項目として例えば、対応する時刻(410)、ダイナミックステップ数(411)、単位処理時間(412)、MIPS数(413)、CPU利用率(414)、処理スループット(415)等が含まれている。
各項目は対応する時刻毎に性能解析情報が記録されており、例えば410の時刻T0の欄では、期間T0〜T1の間でのダイナミックステップ数D0が411に、単位処理時間E0が412に、120が単位時間当りに実行できる命令数を表すMIPS数M0が413に、単位時間当りにどのぐらいの割合で120を利用しているかを表すCPU利用率B0が414に、単位時間当りにどのぐらいの処理を実行することができるかを表す処理スループットP0が415に、それぞれ記録されている。
上述の性能解析情報は各時刻毎に同様に記録されており、各欄は142が新たな性能解析情報を算出する毎に400に付け加えられて行く。
それぞれの項目についての計算方法は例えば以下の様になる。
期間T0〜T1の間でのダイナミックステップ数D0は、例えば同一期間に採取されたCPU性能情報である実行命令数i0が200中の211から、また同一期間に採取された処理性能情報である処理実行数J0が300中の311から、それぞれ読み出され、「D0 = i0 / J0」として計算される。計算結果は400中の411の対応する欄に保存される。
同様に期間T0〜T1の間での単位処理時間E0は、例えば同一期間に採取されたCPU性能情報である消費サイクル数C0が200中の212から、また同一期間に採取された処理性能情報である処理実行数J0が300中の311から、それぞれ読み出され、「E0 = C0 / J0」として計算される。この計算方法ではE0は120でのCPUサイクル数として算出されるが、代わりにこの値を120のクロック周波数を用いて求めた実時間で表しても良い。
同様に期間T0〜T1の間でのMIPS数M0は、例えば同一期間に採取されたCPU性能情報である実行命令数i0が200中の211から、また消費サイクル数C0が200中の212から、それぞれ読み出され、さらに別途求められる120のクロック周波数Fを用いて、「M0 = i0 * F / C0」として算出される。ここで単位をM(メガ)に合わせるために、さらにM0を1000000で除算した値を用いても良い。
同様に期間T0〜T1の間でのCPU利用率B0は、例えば同一期間に採取された消費サイクル数C0が200中の212から読み出され、さらに別途求められる120のクロック周波数Fを用いて、「B0 = C0 / F / (T1 - T0)」として算出される。ここでB0をパーセンテージに直すためにさらに100で乗算して値を用いても良い。
同様に期間T0〜T1の間での処理スループットP0は、例えば同一期間に採取された処理性能情報である処理実行数J0が300中の311から読み出され、「P0 = J0 / (T1 - T0)」として算出される。
図5に143に保存される性能解析情報の別の形式の1例を示す。
500は性能解析情報を保存しておくテーブルを示しており、テーブルにはその項目として例えば、対応する期間(510)、ダイナミックステップ数(511)、単位処理時間(512)、MIPS数(513)、CPU利用率(514)、処理スループット(515)等が含まれている。
各項目は対応する期間の性能解析情報が記録されており、例えば510の期間T0〜Tn(但しnは自然数。以降も同様)の欄では、期間T0〜Tnの間での平均ダイナミックステップ数Daが511に、平均単位処理時間Eaが512に、平均MIPS数Maが513に、平均CPU利用率Baが514に、平均処理スループットPaが515に、それぞれ記録されている。
上述の性能解析情報は各期間毎に同様に記録されており、各欄は142が新たな性能解析情報を算出する毎に500に付け加えられて行く。
それぞれの項目についての計算方法は例えば以下の様になる。
期間T0〜Tnの間での平均ダイナミックステップ数Daは、例えば同一期間に採取されたCPU性能情報である実行命令数i0〜in-1が200中の211から、また同一期間に採取された処理性能情報である処理実行数J0〜Jn-1が300中の311から、それぞれ読み出され、「Da = (i0〜in-1)の総和 / (J0〜Jn-1)の総和」として計算される。計算結果は400中の411の対応する欄に保存される。
同様に期間T0〜Tnの間での平均単位処理時間Eaは、例えば同一期間に採取されたCPU性能情報である消費サイクル数C0〜Cn-1が200中の212から、また同一期間に採取された処理性能情報である処理実行数J0〜Jn-1が300中の311から、それぞれ読み出され、「Ea = (C0〜Cn-1)の総和 / (J0〜Jn-1)の総和」として計算される。この計算方法ではEaは120でのCPUサイクル数として算出されるが、代わりにこの値を120のクロック周波数を用いて求めた実時間で表しても良い。
同様に期間T0〜Tnの間での平均MIPS数Maは、例えば同一期間に採取されたCPU性能情報である実行命令数i0〜in-1が200中の211から、また消費サイクル数C0〜Cn-1が200中の212から、それぞれ読み出され、さらに別途求められる120のクロック周波数Fを用いて、「Ma = (i0〜in-1)の総和 * F / (C0〜Cn-1)の総和」として算出される。ここで単位をM(メガ)に合わせるために、さらにMaを1000000で除算した値を用いても良い。
同様に期間T0〜Tnの間での平均CPU利用率Baは、例えば同一期間に採取された消費サイクル数C0〜Cn-1が200中の212から読み出され、さらに別途求められる120のクロック周波数Fを用いて、「Ba = (C0〜Cn-1)の総和 / F / (Tn - T0)」として算出される。ここでBaをパーセンテージに直すためにさらに100で乗算して値を用いても良い。
同様に期間T0〜Tnの間での処理スループットPaは、例えば同一期間に採取された処理性能情報である処理実行数J0〜Jn-1が300中の311から読み出され、「Pa = (J0〜Jn-1)の総和 / (Tn - T0)」として算出される。
上述の方法によって143に保存された性能解析情報は、144によって表示を行うことが出来る。
具体的には、144は143より193を通じて表示に必要な性能解析情報を読出し、目的とする形式に配置・整形して表示する。なお143に保存されている全ての情報を表示しなくても良い。
表示の形式は、例えば図4の様に時刻毎の性能解析情報を各項目ごとに時系列で表形式に表示する、あるいは例えば図5の様にある期間の性能解析結果を各項目の平均値毎に表形式で表示する、と言うものがある。
あるいは別の表示形式として、例えば図6に示すように性能解析情報の中のある時刻のものを表示する、というものが考えられる。
あるいは別の表示形式として、例えば図7に示すように各時刻毎の性能解析情報を各項目毎に、時刻を横軸に、解析値を縦軸にプロットしたグラフ形式で表示する、というものが考えられる。
以上説明した様に本実施例によれば、マクロ毎の実行回数を記録する必要が無い、さらに処理プログラムのソースステートメント数を数える必要が無いため、マクロ実行回数記録のための処理プログラムの変更を行うこと無く、かつ処理プログラムのソースステートメントを見ること無しに、ダイナミックステップ数あるいは単位処理時間等の性能解析情報を正確に採取する方法を提供することが可能となる。
なお、本実施例では性能解析情報としてダイナミックステップ数あるいは単位処理時間を例に説明しているが、121および130にて採取するCPU性能解析情報を変更することで、例えば100および120上の記憶装置の性能指標である単位処理当りのキャッシュミス発生率、あるいは120上の浮動少数点演算装置の性能指標である単位処理当りのFLOPS値、等の本実施例とは別の性能解析情報を得ることが可能であることは自明である。
また、本実施例では性能解析情報の算出にCPU性能情報および処理性能情報の双方を用いる場合を例に説明しているが、例えばMIPS数あるいはCPU利用率等の処理性能情報に依存しない性能解析情報のみを算出する場合には、CPU性能情報のみを採取することで目的とする性能解析情報を得ることが可能であることは自明である。
従来の方法では、情報処理装置で実行される処理プログラムが変更される度に、処理プログラム毎にアセンブリ言語のソースステートメント数を数える、あるいは処理プログラム毎にソースコードを改変し処理プログラム内の各マクロの実行回数を測定する必要があったのに対して、本発明の方法では、CPUに組み込まれている「ハードウェアモニタ」と呼ばれるCPU性能プロファイリングのための論理と、該ハードウェアモニタを用いて採取可能なCPU性能情報及び該情報を採取するCPU性能情報採取プログラムとを用いて、ダイナミックステップ数あるいは単位処理時間等の性能解析情報を採取するため、
情報処理装置で実行される処理プログラムを任意に置き換える事が可能である点、
MIPS数あるいはCPU利用率等の従来技術では採取出来なかった性能解析情報を採取することが可能である点、に本発明の効果がある。
本実施例では処理プログラムのダイナミックステップ数および単位処理時間を算出することを例に説明しているが、一方でMIPS数、CPU利用率、処理スループット等が採取可能であることから、情報処理装置、処理プログラムまたはCPUの性能監視手段として利用することが考えられる。
あるいは本実施例により採取可能な性能解析情報を元に、情報処理装置、処理プログラムまたはCPUの性能指標として利用することが考えられる。
あるいは本実施例により採取可能な性能解析情報を元に、情報処理装置またはCPUの最大処理性能を予測あるいは算出することで、情報処理装置の最適な規模を算出する手段、あるいは情報処理装置における最適なCPU台数を予測・算出する手段として利用することが考えられる。
あるいは本実施例により採取可能な性能解析情報を元に、異なる情報処理装置あるいはCPU毎に該性能解析情報を求めておき、これらを比較することで、処理プログラムを異なる情報処理装置あるいはCPUで実行させる場合の処理性能を予測・算出する手段として利用することが考えられる。
本発明の実施例の性能解析方法により、処理プログラム及び情報処理装置の性能解析を実施する方法の構成を示す図である。 図1の性能解析方法において、CPU性能情報採取プログラムによって採取されるCPU性能情報の形式の1例を示す図である。 図1の性能解析方法において、処理プログラムによって採取される処理性能情報の形式の1例を示す図である。 図1の性能解析方法において、算出処理によって求められる性能解析情報の形式およびその表示形式の1例を示す図である。 図1の性能解析方法において、算出処理によって求められる性能解析情報の形式およびその表示形式の別の1例を示す図である。 図1の性能解析方法において、算出処理によって求められる性能解析情報の表示形式の別の1例を示す図である。 図1の性能解析方法において、表示処理によってグラフ化された性能解析情報の形式の1例を示す図である。
符号の説明
100:情報処理装置
110:処理プログラム
111:処理投入キュー
120:CPU
121:ハードウェアモニタ
130:CPU性能情報採取プログラム
140:CPU性能情報
141:処理性能情報
142:性能解析情報の算出処理
143:性能解析情報
144:性能解析情報の表示処理
180:処理プログラムに対する処理要求
181:処理のCPU投入要求
182:処理応答
183:CPU性能情報採取要求
184:CPU性能情報採取応答
185:CPU性能情報保存
186:処理性能情報保存
190:算出処理にて用いられるCPU性能情報読出し
191:算出処理にて用いられる処理性能情報読出し
192:性能解析情報保存
193:表示処理に用いられる性能解析情報読出し
200:CPU性能情報テーブル
210:CPU性能情報採取時刻
211:実行命令数保存領域
212:消費サイクル数保存領域
213:キャッシュヒット回数保存領域
300:処理性能情報テーブル
310:処理性能情報採取時刻
311:処理実行数保存領域
400:性能解析情報テーブル
410:性能解析情報対応時刻
411:ダイナミックステップ数保存領域
412:単位処理時間保存領域
413:MIPS数保存領域
414:CPU利用率保存領域
415:処理スループット保存領域
500:性能解析情報テーブル
510:性能解析情報対応期間
511:ダイナミックステップ数保存領域
512:単位処理時間保存領域
513:MIPS数保存領域
514:CPU利用率保存領域
515:処理スループット保存領域
600:性能解析情報テーブル
610:性能解析情報対応時刻
611:ダイナミックステップ数表示領域
612:単位処理時間表示領域
613:MIPS数表示領域
614:CPU利用率表示領域
615:処理スループット表示領域
710:ダイナミックステップ数グラフ
711:単位処理時間グラフ
712:CPU利用率グラフ

Claims (1)

  1. 情報処理装置および処理プログラムの性能解析に関し、前記情報処理装置の外部から投入される処理要求であって、各々処理単位ごとに区切られた処理要求のそれぞれに対応する処理単位当りの性能を計測し比較する性能解析方法おいて、
    情報処理装置内の中央処理装置に組み込まれているハードウェアモニタであるCPU性能プロファイリングのための論理を用いて時刻毎の実行命令数を含むCPU性能情報を採取し、
    前記情報処理装置で実行される処理プログラムにおける前記時刻毎の処理実行数を示す処理性能情報を採取し、
    該CPU性能情報に含まれる各時刻毎の命令実行数を該処理性能情報に含まれる各時刻毎の処理実行数で割ることでダイナミックステップ数の平均値を算出することを特徴とする処理プログラムの性能解析方法。
JP2004180434A 2004-06-18 2004-06-18 ハードウェアモニタを用いた性能解析方法 Expired - Fee Related JP4599902B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004180434A JP4599902B2 (ja) 2004-06-18 2004-06-18 ハードウェアモニタを用いた性能解析方法
US11/037,226 US7315795B2 (en) 2004-06-18 2005-01-19 Performance analyzing method using hardware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004180434A JP4599902B2 (ja) 2004-06-18 2004-06-18 ハードウェアモニタを用いた性能解析方法

Publications (2)

Publication Number Publication Date
JP2006004211A JP2006004211A (ja) 2006-01-05
JP4599902B2 true JP4599902B2 (ja) 2010-12-15

Family

ID=35481728

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004180434A Expired - Fee Related JP4599902B2 (ja) 2004-06-18 2004-06-18 ハードウェアモニタを用いた性能解析方法

Country Status (2)

Country Link
US (1) US7315795B2 (ja)
JP (1) JP4599902B2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050125784A1 (en) * 2003-11-13 2005-06-09 Rhode Island Board Of Governors For Higher Education Hardware environment for low-overhead profiling
JP4169157B2 (ja) * 2004-10-04 2008-10-22 インターナショナル・ビジネス・マシーンズ・コーポレーション 管理サーバ、これを用いたシステムおよびプログラム
US7861068B2 (en) * 2006-03-07 2010-12-28 Intel Corporation Method and apparatus for using dynamic workload characteristics to control CPU frequency and voltage scaling
US8739143B2 (en) * 2007-01-31 2014-05-27 Hewlett-Packard Development Company, L.P. Profiling metrics for computer programs
JP4983801B2 (ja) * 2006-09-28 2012-07-25 富士通株式会社 プログラム性能解析装置
JP4378386B2 (ja) * 2007-02-26 2009-12-02 富士通株式会社 キャッシュウェイ縮退監視装置、キャッシュウェイ縮退監視方法およびキャッシュウェイ縮退監視プログラム
JP5010314B2 (ja) * 2007-03-16 2012-08-29 日本電気株式会社 情報処理装置、情報処理方法、及びプログラム
JP2008234191A (ja) * 2007-03-19 2008-10-02 Toshiba Corp ハードウエアモニタ管理装置及びハードウエアモニタ機能の実行方法
US9342432B2 (en) 2011-04-04 2016-05-17 International Business Machines Corporation Hardware performance-monitoring facility usage after context swaps
US8868886B2 (en) * 2011-04-04 2014-10-21 International Business Machines Corporation Task switch immunized performance monitoring
US20130055033A1 (en) 2011-08-22 2013-02-28 International Business Machines Corporation Hardware-assisted program trace collection with selectable call-signature capture
US9552202B2 (en) * 2011-12-08 2017-01-24 International Business Machines Corporation Automated and heuristically managed solution to quantify CPU and path length cost of instructions added, changed or removed by a service team
US9087041B2 (en) * 2012-07-24 2015-07-21 Michael Weir Enterprise test system platform and associated method for interoperable test data management, test development, test libraries and test workflow management and automation
US9588570B2 (en) * 2013-04-30 2017-03-07 Samsung Electronics Co., Ltd. Apparatus and method for adjusting bandwidth
KR102157326B1 (ko) * 2013-04-30 2020-09-17 삼성전자 주식회사 컴퓨팅 장치, 컴퓨팅 장치의 메모리 대역폭 조정 방법 및 메모리 대역폭 조정기
US9606870B1 (en) 2014-03-31 2017-03-28 EMC IP Holding Company LLC Data reduction techniques in a flash-based key/value cluster storage
US10152527B1 (en) 2015-12-28 2018-12-11 EMC IP Holding Company LLC Increment resynchronization in hash-based replication
US10310951B1 (en) 2016-03-22 2019-06-04 EMC IP Holding Company LLC Storage system asynchronous data replication cycle trigger with empty cycle detection
US10324635B1 (en) 2016-03-22 2019-06-18 EMC IP Holding Company LLC Adaptive compression for data replication in a storage system
US10095428B1 (en) 2016-03-30 2018-10-09 EMC IP Holding Company LLC Live migration of a tree of replicas in a storage system
US9959073B1 (en) 2016-03-30 2018-05-01 EMC IP Holding Company LLC Detection of host connectivity for data migration in a storage system
US10565058B1 (en) 2016-03-30 2020-02-18 EMC IP Holding Company LLC Adaptive hash-based data replication in a storage system
US9959063B1 (en) 2016-03-30 2018-05-01 EMC IP Holding Company LLC Parallel migration of multiple consistency groups in a storage system
US10013200B1 (en) 2016-06-29 2018-07-03 EMC IP Holding Company LLC Early compression prediction in a storage system with granular block sizes
US10048874B1 (en) 2016-06-29 2018-08-14 EMC IP Holding Company LLC Flow control with a dynamic window in a storage system with latency guarantees
US10083067B1 (en) 2016-06-29 2018-09-25 EMC IP Holding Company LLC Thread management in a storage system
US10152232B1 (en) * 2016-06-29 2018-12-11 EMC IP Holding Company LLC Low-impact application-level performance monitoring with minimal and automatically upgradable instrumentation in a storage system
US9983937B1 (en) 2016-06-29 2018-05-29 EMC IP Holding Company LLC Smooth restart of storage clusters in a storage system
US20180032418A1 (en) * 2016-08-01 2018-02-01 Futurewei Technologies, Inc. Application-Specific, Performance-Aware Energy Optimization

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001273174A (ja) * 2000-03-23 2001-10-05 Ntt Comware Corp プログラムステップ数測定装置及び方法、ソフトウェア性能評価方法
JP2004078338A (ja) * 2002-08-12 2004-03-11 Fujitsu Ltd コンピュータ性能評価方法及び装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5506955A (en) * 1992-10-23 1996-04-09 International Business Machines Corporation System and method for monitoring and optimizing performance in a data processing system
JPH06266585A (ja) * 1993-03-12 1994-09-22 Hitachi Ltd オンラインプログラムの性能データ取得方式
US5539907A (en) * 1994-03-01 1996-07-23 Digital Equipment Corporation System for monitoring computer system performance
JPH07271572A (ja) * 1994-03-30 1995-10-20 Hitachi Software Eng Co Ltd 動的ステップ数計算式の生成方法
JPH07334394A (ja) * 1994-06-07 1995-12-22 Hitachi Ltd 並列実行部分の動的ステップ数出力方式
EP0689141A3 (en) 1994-06-20 1997-10-15 At & T Corp Disruption-based hardware support for system performance profiling
US5896538A (en) * 1996-11-26 1999-04-20 International Business Machines Corporation System and method for multi-phased performance profiling of single-processor and multi-processor systems
US5970439A (en) * 1997-03-13 1999-10-19 International Business Machines Corporation Performance monitoring in a data processing system
US6374367B1 (en) * 1997-11-26 2002-04-16 Compaq Computer Corporation Apparatus and method for monitoring a computer system to guide optimization
US6405327B1 (en) * 1998-08-19 2002-06-11 Unisys Corporation Apparatus for and method of automatic monitoring of computer performance
US6711137B1 (en) * 1999-03-12 2004-03-23 International Business Machines Corporation System and method for analyzing and tuning a communications network
US20050027858A1 (en) * 2003-07-16 2005-02-03 Premitech A/S System and method for measuring and monitoring performance in a computer network
US8015148B2 (en) * 2004-06-30 2011-09-06 International Business Machines Corporation Selective profiler for use with transaction processing applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001273174A (ja) * 2000-03-23 2001-10-05 Ntt Comware Corp プログラムステップ数測定装置及び方法、ソフトウェア性能評価方法
JP2004078338A (ja) * 2002-08-12 2004-03-11 Fujitsu Ltd コンピュータ性能評価方法及び装置

Also Published As

Publication number Publication date
US7315795B2 (en) 2008-01-01
JP2006004211A (ja) 2006-01-05
US20050283339A1 (en) 2005-12-22

Similar Documents

Publication Publication Date Title
JP4599902B2 (ja) ハードウェアモニタを用いた性能解析方法
JP5119994B2 (ja) 性能モニタリングプログラム、性能モニタリング方法、性能モニタリング装置
CN1795438B (zh) 用于跨距剖析软件应用的方法和设备
JP5547718B2 (ja) 電源マネージャ及び電源管理方法
JP2017167930A (ja) 情報処理装置、電力測定方法及び電力測定プログラム
JP2018139093A (ja) 情報処理装置、情報処理方法及びプログラム
Dey et al. Emprof: Memory profiling via em-emanation in iot and hand-held devices
JPWO2014050254A1 (ja) ボトルネック検出装置、方法及びプログラム
JP5029245B2 (ja) プロファイリング方法及びプログラム
JP2014029612A (ja) データ管理装置及びプログラム
Lu et al. Apac: An accurate and adaptive prefetch framework with concurrent memory access analysis
US10114725B2 (en) Information processing apparatus, method, and computer readable medium
Hart et al. Predicting memcached throughput using simulation and modeling.
JP5969907B2 (ja) 運転効率推定装置およびプログラム
JP5521687B2 (ja) 分析装置、分析方法および分析プログラム
Wei et al. FPowerTool: A function-level power profiling tool
JP2010122176A (ja) 消費電力管理システム、消費電力管理方法、消費電力管理装置、消費電力管理プログラム
Lee et al. In-N-Out: reproducing out-of-order superscalar processor behavior from reduced in-order traces
CN111158974B (zh) 一种面向云服务器的硬件感知cpu能耗测算方法
JP5136553B2 (ja) 演算処理装置及び演算処理装置の制御方法
CN112579555A (zh) 一种在微体系结构层面表征区块链系统的方法和装置
Salverda et al. Accurate critical path prediction via random trace construction
JP2010009175A (ja) プログラム性能見積もり装置
JP2016151842A (ja) プログラム実行解析方法、情報処理装置及びプログラム実行解析プログラム
JP2004259146A (ja) 閾値自動設定方法及びシステム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060424

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090617

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090623

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090812

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091222

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100601

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100723

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: 20100831

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: 20100913

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131008

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees