(57)【要約】【課題】一定の時間毎に消費電力量をサンプリングする場合と比べて、より正確に消費電力量をサンプリングすることで、プログラムの消費電力のホットスポットの正確な特定を可能とすること。【解決手段】イベント特定部６１が、消費電力モデルと割込みを発生させるイベントの数を入力し、割込みを発生させるイベントを特定する。そして、サンプリング間隔特定部６２が、イベント特定部６１により特定されたイベントのサンプリング間隔を、消費電力量のサンプリング間隔と消費電力モデルに基づいて特定する。【選択図】図２
2017167930.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵで発生するイベントに基づく消費電力モデルを用いて、消費電力量のサンプリングに使用するイベントを特定する特定部と、
前記特定部により特定されたイベントのサンプリング間隔を消費電力量のサンプリング間隔である電力量サンプリング間隔と前記消費電力モデルとに基づいて算出する算出部と
を有することを特徴とする情報処理装置。
【請求項２】
前記算出部により算出されたサンプリング間隔を前記特定部により特定されたイベントとともに前記ＣＰＵに設定する設定部と、
前記設定部により設定されたイベント及びサンプリング間隔に基づいて割込みが発生するとプログラム情報及び消費電力量を採取してサンプルデータとして保存する割込み処理部とをさらに有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記特定部は、前記消費電力モデルの係数が大きなイベントから順に所定の個数のイベントを特定することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記消費電力モデルに含まれる複数のイベントのうち係数が最も大きな１つだけを前記特定部が特定する場合、前記算出部は、前記特定部により特定されたイベントの係数を大きくした値に基づいて該イベントのサンプリング間隔を算出することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項５】
前記算出部は、前記電力量サンプリング間隔をプログラムの総消費電力量と採取するサンプル数とに基づいて算出することを特徴とする請求項１〜４のいずれか１つに記載の情報処理装置。
【請求項６】
コンピュータが、
ＣＰＵで発生するイベントに基づく消費電力モデルを用いて、消費電力量のサンプリングに使用するイベントを特定し、
特定したイベントのサンプリング間隔を消費電力量のサンプリング間隔である電力量サンプリング間隔と前記消費電力モデルとに基づいて算出する
処理を実行することを特徴とする電力測定方法。
【請求項７】
コンピュータに、
ＣＰＵで発生するイベントに基づく消費電力モデルを用いて、消費電力量のサンプリングに使用するイベントを特定し、
特定したイベントのサンプリング間隔を消費電力量のサンプリング間隔である電力量サンプリング間隔と前記消費電力モデルとに基づいて算出する
処理を実行させることを特徴とする電力測定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、電力測定方法及び電力測定プログラムに関する。
【背景技術】
【０００２】
近年、ＩＣＴ（Information  and  Communication  Technology）システムの消費電力が増加しており、消費電力を抑えることが重要となっている。例えば、スーパーコンピュータでは、消費電力が１０ＭＷを超えている。また、電力効率が良いスーパーコンピュータでは７．０３２ＧＦｌｏｐｓ（ギガフロップス）／Ｗ（ワット）が実現されているが、１ＥＦｌｏｐｓ（エクサフロップス）を実現するためには消費電力は１０18／（７．０３２×１０9）＝１４２ＭＷとなる。このような大きな消費電力のスーパーコンピュータは、実現不可能である。
【０００３】
そこで、省電力化の観点からプログラムを最適化するために、プログラムの消費電力のホットスポットを特定する技術が開発されている。ホットスポットを特定することができれば、ホットスポットをチューニングすることにより、プログラムの消費電力を低減することができる。例えば、一定の時間毎に消費電力量をサンプリングし、同様の時間毎にサンプリングした動作プログラムの情報を用いて、ホットスポットを特定する技術がある。
【０００４】
なお、電力特性改善のために、プロセッサと、プログラム実行中にプロセッサによって使用される電力を測定する電力測定装置と、プログラムに関連する電力プロファイルを記憶するメモリを備え、電力プロファイルが電力測定装置により決定されるシステムがある。
【０００５】
また、ソフトウェア動作ログと消費電力ログとの時刻の対応関係を決定し、決定された時刻の対応関係に基づき、ソフトウェア動作ログと消費電力ログとを共通の時刻情報に対応付けて出力することで、消費電力の分析を行えるようにする技術がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２４９９６１号公報
【特許文献２】特開２０１５−１７５６３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、一定の時間毎に消費電力量をサンプリングする従来技術には、消費電力量を正確に計測することができないという問題がある。図６は、従来の消費電力量計測の問題を説明するための図である。図６は、一定時間毎の割込みにより消費電力量を取得し、割込み時に実行されていた関数の情報に基づいて関数毎の消費電力量を算出する場合を示す。図６の横軸は時間を示し、縦軸を電力量を示す。電力量の単位はＪ（ジュール）である。
【０００８】
また、図６では、関数Ａによる消費電力量を模様付きで示し、関数Ｂによる消費電力量を模様なしで示す。図６に示すように、関数Ａによる消費電力量及び関数Ｂによる消費電力量はともに１２Ｊである。しかし、一定時間毎の割込みにより消費電力量をサンプリングすると、最初のサンプリングで７Ｊの消費電力量を取得すると、最初のサンプリング時には関数Ａが実行されているため、関数Ａの消費電力量が７Ｊとなる。
【０００９】
そして、２回目のサンプリングで８Ｊの消費電力量を取得すると、２回目のサンプリング時には関数Ａが実行されているため、関数Ａの消費電力量が７Ｊ＋８Ｊ＝１５Ｊとなる。そして、３回目のサンプリングで６Ｊの消費電力量を取得すると、３回目のサンプリング時には関数Ｂが実行されているため、関数Ｂの消費電力量が６Ｊとなる。そして、４回目のサンプリングで３Ｊの消費電力量を取得すると、４回目のサンプリング時には関数Ａが実行されているため、関数Ａの消費電力量が１５Ｊ＋３Ｊ＝１８Ｊとなる。
【００１０】
すなわち、関数Ａによる消費電力量及び関数Ｂによる消費電力量はともに１２Ｊであるにもかかわらず、４回のサンプリングから得られる消費電力量は、関数Ａが１８Ｊ、関数Ｂが６Ｊとなり、正確な消費電力量が得られない。
【００１１】
本発明は、１つの側面では、より正確に消費電力量を計測することを目的とする。
【課題を解決するための手段】
【００１２】
１つの態様では、情報処理装置は、特定部と算出部とを有する。特定部は、ＣＰＵで発生するイベントに基づく消費電力モデルを用いて、消費電力量のサンプリングに使用するイベントを特定する。算出部は、特定部により特定されたイベントのサンプリング間隔を消費電力量のサンプリング間隔である電力量サンプリング間隔と消費電力モデルとに基づいて算出する。
【発明の効果】
【００１３】
１つの側面では、より正確に消費電力量を計測することができる。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施例に係る情報処理装置による消費電力量のサンプリングを説明するための図である。
【図２】図２は、実施例に係る情報処理装置の構成を示す図である。
【図３】図３は、プロセッサの構成の一例を示す図である。
【図４】図４は、電力測定部による処理のフローを示すフローチャートである。
【図５】図５は、イベント及びサンプリング間隔を決定する処理のフローを示すフローチャートである。
【図６】図６は、従来の消費電力量計測の問題を説明するための図である。
【発明を実施するための形態】
【００１５】
以下に、本願の開示する情報処理装置、電力測定方法及び電力測定プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例】
【００１６】
まず、実施例に係る情報処理装置による消費電力量のサンプリングについて説明する。図１は、実施例に係る情報処理装置による消費電力量のサンプリングを説明するための図である。図１では、図６と同様に、関数Ａによる消費電力量及び関数Ｂによる消費電力量はともに１２Ｊである。
【００１７】
図１に示すように、６Ｊという一定の消費電力量毎にサンプリングを行うと、最初のサンプリング時には関数Ａが実行されているため、関数Ａの消費電力量が６Ｊとなる。
【００１８】
そして、２回目のサンプリング時には関数Ｂが実行されているため、関数Ｂの消費電力量が６Ｊとなる。そして、３回目のサンプリング時には関数Ｂが実行されているため、関数Ｂの消費電力量が６Ｊ＋６Ｊ＝１２Ｊとなる。そして、４回目のサンプリング時には関数Ａが実行されているため、関数Ａの消費電力量が６Ｊ＋６Ｊ＝１２Ｊとなる。
【００１９】
このように、実施例に係る情報処理装置は、一定の消費電力量毎のサンプリングすなわち消費電力量ベースサンプリングを行うことで、一定時間毎のサンプリングすなわちタイムベースサンプリングを行う場合と比較して、各関数の消費電力量をより正確に測定できる。ただし、一定の消費電力量毎に割込みを発生してサンプリングを行うことはできない。そこで、実施例に係る情報処理装置は、できるだけ一定の消費電力量毎にサンプリングを行うようにする。
【００２０】
次に、実施例に係る情報処理装置の構成について説明する。図２は、実施例に係る情報処理装置の構成を示す図である。図２に示すように、情報処理装置１は、ハードウェアとしてＣＰＵ（Central  Processing  Unit）２と、メモリ３と、ＨＤＤ（Hard  Disk  Drive）４とを有し、ソフトウェアで実現される電力測定部５を有する。
【００２１】
ＣＰＵ２は、メモリ３からプログラムを読み出して実行する中央処理装置である。メモリ３は、プログラムやプログラムの実行途中結果などを記憶するＲＡＭ（Random  Access  Memory）である。ＨＤＤ４は、プログラムやデータを格納するディスク装置である。
【００２２】
ＣＰＵ２は、イベント計数部２１と、電力取得部２２とを有する。イベント計数部２１は、ＣＰＵ２で発生するイベントの種別が設定されるイベント設定レジスタと、イベントの発生回数をカウントするためのカウンタレジスタとを有する。ここで、イベントには、例えば、Ｌ（Level）３キャッシュのキャッシュミス、Ｌ２キャッシュに対するアクセスのプリフェッチがある。イベント計数部２１は、イベント設定レジスタとカウンタレジスタの組を複数個有する。
【００２３】
イベント設定レジスタでは割込みを発生させるか否かが指定可能となっており、割込み発生が指定されたイベントがカウンタレジスタに設定された回数分発生すると、イベント計数部２１はＣＰＵ２に割込みを発生する。イベント計数部２１は、例えばｘ−８６アーキテクチャでは、ＰＭＣ（Performance  Monitoring  Counter）である。
【００２４】
電力取得部２２は、プロセッサ、プロセッサに含まれるコア全体、及び、ＤＲＡＭについて消費電力量等の情報を取得する。図３は、プロセッサの構成の一例を示す図である。プロセッサ２３は、コア部として４つのコア２３ａを有し、非コア部としてＬ３キャッシュ２３ｂ、メモリコントローラ２３ｃを有する。
【００２５】
コア２３ａは、演算を行う演算処理装置である。Ｌ３キャッシュ２３ｂは、ＤＲＡＭ３ａに記憶されたデータの一部を記憶するキャッシュメモリである。メモリコントローラ２３ｃは、ＤＲＡＭ３ａへのアクセスを制御する。ＤＲＡＭ３ａは、図２に示したメモリ３に対応する。プロセッサ２３は、図２に示したＣＰＵ２に含まれる。
【００２６】
電力取得部２２は、コア全体の消費電力量は取得できるが、コア毎の消費電力量を取得することはできない。また、電力取得部２２は、消費電力量毎に割込みを発生することはできない。電力取得部２２は、例えばインテル（登録商標）のＲＡＰＬ（Running  Average  Power  Limit）である。
【００２７】
図２に戻って、電力測定部５は、イベント計数部２１及び電力取得部２２を用いて、できるだけ一定の消費電力量毎にデータをサンプリングする。情報処理装置１は一定の消費電力量毎に割込みを発生する機能がないため、電力測定部５は、消費電力に関係するイベントを特定し、特定したイベントを用いて割込みを発生させることにより、できるだけ一定の消費電力量毎にデータをサンプリングする。電力測定部５は、測定制御部５１とカーネル部５２とを有する。
【００２８】
測定制御部５１は、イベント及びイベントのサンプリング間隔によりデータのサンプリングを制御する。測定制御部５１は、イベント決定部５１ａと測定部５１ｂとを有する。イベント決定部５１ａは、消費電力モデル、消費電力量のサンプリング間隔、及び、割込みを発生させるイベントの数を入力し、消費電力のサンプリングに用いるイベントに関する処理を行う。
【００２９】
消費電力モデルは、ＣＰＵ２で発生するイベントに基づいてプロセッサ２３の消費電力を算出するためのモデルである。例えば、消費電力モデルとして、
消費電力［Ｗ］＝１３．０６＋
７．１３６×Ｃ＋
１．１５７×１０-8×Ｌ２＿ＴＲＡＮＳ．ＡＬＬ＿ＰＦ＋
３．８４１×１０-8×ＬＯＮＧＥＳＴ＿ＬＡＴ＿ＣＡＣＨＥ．ＭＩＳＳ
がある。
【００３０】
ここで、Ｃは、ＣＰＵ２がアクティブに動作した割合であり、コア性能情報から算出される。Ｌ２＿ＴＲＡＮＳ．ＡＬＬ＿ＰＦは、Ｌ２キャッシュに対するアクセスのプリフェッチ数であり、Ｌ２キャッシュに対するアクセスのプリフェッチは、イベント設定レジスタに設定可能なイベントである。ＬＯＮＧＥＳＴ＿ＬＡＴ＿ＣＡＣＨＥ．ＭＩＳＳは、Ｌ３キャッシュ２３ｂのキャッシュミス数であり、Ｌ３キャッシュ２３ｂのキャッシュミスは、イベント設定レジスタに設定可能なイベントである。
【００３１】
消費電力量のサンプリング間隔は、次のサンプリングまでの消費電力量である。割込みを発生させるイベントの数は、消費電力モデルに含まれるイベントのうち、割込み発生に用いられるイベントの数である。
【００３２】
イベント決定部５１ａは、イベント特定部６１と、サンプリング間隔特定部６２と、設定部６３とを有する。イベント特定部６１は、消費電力モデルと割込みを発生させるイベントの数を入力し、割込みを発生させるイベントを特定する。イベント特定部６１は、例えば、割込みを発生させるイベントの数が１である場合には、消費電力モデルの係数が最も大きいイベントを、割込みを発生させるイベントとして特定する。
【００３３】
消費電力モデルを
消費電力＝０．００３×Ｌ３キャッシュミス数＋０．００１×Ｌ２キャッシュアクセス数      ・・・（１）
とすると、割込みを発生させるイベントの数が１である場合には、Ｌ３キャッシュミスが割込みを発生させるイベントとして特定される。
【００３４】
また、イベント特定部６１は、例えば、割込みを発生させるイベントの数が複数である場合には、消費電力モデルの係数が大きいイベントから指定個数だけ選択し、割込みを発生させるイベントとして特定する。消費電力モデルが上記式（１）であり、割込みを発生させるイベントの数が２である場合には、Ｌ３キャッシュミスとＬ２キャッシュアクセスが割込みを発生させるイベントとして特定される。ただし、他の係数と比較して値が著しく小さいイベントは、指定個数以内でも選択されない。
【００３５】
イベント特定部６１は、例えば、複数の消費電力モデルを表示装置に表示し、ユーザにマウスで選択させることにより消費電力モデルを入力する。イベント特定部６１は、例えば、割込みを発生させるイベントの数をユーザにキーボードから入力させる。
【００３６】
サンプリング間隔特定部６２は、イベント特定部６１により特定されたイベントのサンプリング間隔を、消費電力量のサンプリング間隔と消費電力モデルのイベントの係数に基づいて特定する。具体的には、サンプリング間隔特定部６２は、各イベントの係数の逆数を消費電力のサンプリング間隔に掛けて、各イベントのサンプリング間隔を算出する。すなわち、イベントのサンプリング間隔＝消費電力量のサンプリング間隔／イベントの係数である。
【００３７】
例えば、消費電力量のサンプリング間隔が６Ｊであり、消費電力モデルが上記式（１）である場合には、Ｌ３キャッシュミスのサンプリング間隔＝６／０．００３＝２０００回である。また、Ｌ２キャッシュアクセスのサンプリング間隔＝６／０．００１＝６０００回である。
【００３８】
なお、サンプリング間隔特定部６２は、割込みを発生させるイベントの数が１である場合には他のイベントで消費する分を考慮しないことになるので、イベントの係数に一定の値αを加えて、サンプリング間隔を狭めてもよい。例えば、Ｌ３キャッシュミス数だけをイベントとし、α＝０．００１とする場合には、サンプリング間隔＝６／（０．００３＋０．００１）＝１５００回としてもよい。
【００３９】
また、サンプリング間隔特定部６２は、消費電力量のサンプリング間隔をユーザにキーボードから入力させる。あるいは、サンプリング間隔特定部６２は、測定対象プログラムの総消費電力量と採取したいサンプル数をユーザにキーボードから入力させ、消費電力量のサンプリング間隔を総消費電力量／サンプル数として算出する。例えば、総消費電力量が１２０００Ｊであり、サンプル数が２０００個である場合には、消費電力量のサンプリング間隔＝１２０００Ｊ／２０００＝６Ｊである。
【００４０】
設定部６３は、イベント決定部５１ａにより特定されたイベント及びサンプリング間隔を、カーネル部５２に指示して、イベント計数部２１に設定させる。
【００４１】
測定部５１ｂは、設定部６３により設定されたイベント及びサンプリング間隔を用いて消費電力の測定を開始するようにカーネル部５２に指示する。また、測定部５１ｂは、測定時間を指定することにより測定の終了をカーネル部５２に指示する。
【００４２】
カーネル部５２は、ＯＳ（オペレーティングシステム）のカーネル機能により実現される。カーネル部５２は、割込み処理部５２ａとデータ記憶部５２ｂとを有する。
【００４３】
割込み処理部５２ａは、イベント計数部２１からの割込みにより起動され、性能データを採取する。性能データには、プロセスを識別するプロセスＩＤ、命令アドレス等のプログラム情報、電力取得部２２が取得した消費電力量、割込みを発生したイベントの種類を示すイベント値が含まれる。割込み処理部５２ａは、採取した性能データをサンプルデータとしてデータ記憶部５２ｂに保存する。
【００４４】
データ記憶部５２ｂは、割込み処理部５２ａが採取した性能データを記憶する。データ記憶部５２ｂが記憶する性能データは、測定終了後にＨＤＤ４に書き出される。ＨＤＤ４に書き出された性能データは、別途解析され、消費電力のホットスポットの特定等が行われる。
【００４５】
なお、電力測定部５は、ＨＤＤ４に格納された電力測定プログラムが、ＨＤＤ４からメモリ３に読み出されてＣＰＵ２により実行されることによって実現される。また、電力測定プログラムは、例えば、ＤＶＤから読出されて情報処理装置１にインストールされる。あるいは、電力測定プログラムは、ＬＡＮ（Local  Area  Network）を介して接続された他の情報処理装置のデータベースなどに記憶され、これらのデータベースから読み出されて情報処理装置１にインストールされる。
【００４６】
次に、電力測定部５による処理のフローについて説明する。図４は、電力測定部５による処理のフローを示すフローチャートである。図４に示すように、電力測定部５は、割込みを発生させるイベント及びサンプリング間隔を決定し（ステップＳ１）、決定したイベント及びサンプリング間隔をイベント計数部２１に設定する（ステップＳ２）。なお、ステップＳ１及びステップＳ２の処理は測定制御部５１により行われる。
【００４７】
その後、測定対象プログラムが実行され、測定が開始されると、割込み処理部５２ａが、イベント計数部２１からの割込みをキャッチし（ステップＳ３）、プログラム情報、消費電力量、イベント値を採取する（ステップＳ４）。そして、割込み処理部５２ａは、採取したデータを１つのサンプルデータとしてデータ記憶部５２ｂに保存し（ステップＳ５）、割込みを発生したイベントに対応するカウンタレジスタに初期値すなわちサンプリング間隔を設定する（ステップＳ６）。
【００４８】
そして、割込み処理部５２ａは、測定時間が終了したか否かを判定し（ステップＳ７）、測定時間が終了していない場合には、ステップＳ３に戻り、測定時間が終了した場合には、測定処理を終了する。
【００４９】
このように、測定制御部５１が割込みを発生させるイベント及びサンプリング間隔を決定し、測定制御部５１が決定したイベント及びサンプリング間隔を用いて割込み処理部５２ａが性能データを採取する。したがって、電力測定部５は、消費電力に関係するイベントを用いたイベントベースサンプリングを行うことができ、消費電力量ベースサンプリングに近いサンプリングを行うことができる。
【００５０】
次に、イベント及びサンプリング間隔を決定する処理のフローについて説明する。図５は、イベント及びサンプリング間隔を決定する処理のフローを示すフローチャートである。なお、イベント及びサンプリング間隔を決定する処理は、図４に示したステップＳ１の処理に対応する。
【００５１】
図５に示すように、イベント決定部５１ａは、サンプリング間隔としての消費電力量が入力されたか否かを判定する（ステップＳ１１）。そして、消費電力量が入力された場合には、イベント決定部５１ａは、ステップＳ１３に進む。
【００５２】
一方、消費電力量が入力されていない場合には、イベント決定部５１ａは、総消費電力量とサンプル数の入力を受け付け、サンプリング間隔としての消費電力量ＰをＰ＝総消費電力／サンプル数により計算する（ステップＳ１２）。
【００５３】
そして、イベント決定部５１ａは、ｉに１を初期設定し（ステップＳ１３）、消費電力モデルの係数Ｃiがｉ番目に大きいイベントＥiを割込み発生イベントとして特定する（ステップＳ１４）。そして、イベント決定部５１ａは、イベントＥiのサンプリング間隔ＲiをＲi＝Ｐ／Ｃiにより計算する（ステップＳ１５）。
【００５４】
そして、イベント決定部５１ａは、割込みを発生させるイベントの数とｉが等しいか否かを判定し（ステップＳ１６）、等しくない場合には、ｉに１を追加し（ステップＳ１７）、ステップＳ１４に戻り、等しい場合には、処理を終了する。なお、「＝＝」は、等しいを表す。
【００５５】
上述してきたように、実施例では、イベント特定部６１が、消費電力モデルと割込みを発生させるイベントの数を入力し、割込みを発生させるイベントを特定する。そして、サンプリング間隔特定部６２が、イベント特定部６１により特定されたイベントのサンプリング間隔を、消費電力量のサンプリング間隔と消費電力モデルに基づいて特定する。したがって、電力測定部５は、消費電力に関係するイベントを用いたイベントベースサンプリングにより性能データをサンプリングすることができ、タイムベースサンプリングと比較して、より正確に消費電力量を測定することができる。
【００５６】
また、実施例では、設定部６３が、特定されたイベントとサンプリング間隔をイベント計数部２１に設定するようにカーネル部５２に指示する。そして、測定対象プログラムが実行されると、イベント計数部２１がイベントを計数し、割込みを発生する。そして、割込み処理部５２ａが、性能データを採取してデータ記憶部５２ｂに格納する。したがって、電力測定部５は、イベント特定部６１により特定されたイベント及びサンプリング間隔特定部６２により特定されたサンプリング間隔で性能データをサンプリングすることができる。
【００５７】
また、実施例では、イベント特定部６１は、割込みを発生させるイベントの数が複数である場合には、消費電力モデルの係数が大きいイベントから指定個数だけ選択し、割込みを発生させるイベントとして特定する。したがって、消費電力に与える影響が大きいイベントに基づいて割込みを発生することができ、消費電力量ベースサンプリングに近いイベントベースサンプリングで性能データをサンプリングすることができる。
【００５８】
また、実施例では、サンプリング間隔特定部６２は、割込みを発生させるイベントの数が１である場合には、イベントの係数に一定の値αを加えて、サンプリング間隔を狭める。したがって、電力測定部５は、他のイベントによる消費分を考慮して性能データをサンプリングすることができる。
【００５９】
また、実施例では、サンプリング間隔特定部６２は、測定対象プログラムの総消費電力量と採取したいサンプル数に基づいて消費電力量のサンプリング間隔を算出する。したがって、ユーザは、消費電力量のサンプリング間隔の代わりに測定対象プログラムの総消費電力量と採取したいサンプル数を指定することができる。
【００６０】
なお、実施例では、測定制御部５１がカーネル部５２と同じ情報処理装置にある場合について説明したが、本発明はこれに限定されるものではなく、測定制御部５１が別の情報処理装置にある場合にも同様に適用することができる。
【符号の説明】
【００６１】
１    情報処理装置
２    ＣＰＵ
３    メモリ
３ａ    ＤＲＡＭ
４    ＨＤＤ
５    電力測定部
２１    イベント計数部
２２    電力取得部
２３    プロセッサ
２３ａ    コア
２３ｂ    Ｌ３キャッシュ
２３ｃ    メモリコントローラ
５１    測定制御部
５１ａ    イベント決定部
５１ｂ    測定部
５２    カーネル部
５２ａ    割込み処理部
５２ｂ    データ記憶部
６１    イベント特定部
６２    サンプリング間隔特定部
６３    設定部
【図１】
2017167930.tif 000003
【図２】
2017167930.tif 000004
【図３】
2017167930.tif 000005
【図４】
2017167930.tif 000006
【図５】
2017167930.tif 000007
【図６】
2017167930.tif 000008