JP6142709B2 - 計測方法、計測プログラム、携帯情報端末、及びその制御方法 - Google Patents

計測方法、計測プログラム、携帯情報端末、及びその制御方法 Download PDF

Info

Publication number
JP6142709B2
JP6142709B2 JP2013153073A JP2013153073A JP6142709B2 JP 6142709 B2 JP6142709 B2 JP 6142709B2 JP 2013153073 A JP2013153073 A JP 2013153073A JP 2013153073 A JP2013153073 A JP 2013153073A JP 6142709 B2 JP6142709 B2 JP 6142709B2
Authority
JP
Japan
Prior art keywords
thread
cpu
measurement
cpu load
load
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.)
Active
Application number
JP2013153073A
Other languages
English (en)
Other versions
JP2015022729A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013153073A priority Critical patent/JP6142709B2/ja
Priority to US14/304,184 priority patent/US9513685B2/en
Publication of JP2015022729A publication Critical patent/JP2015022729A/ja
Application granted granted Critical
Publication of JP6142709B2 publication Critical patent/JP6142709B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3212Monitoring battery levels, e.g. power saving mode being initiated when battery voltage goes below a certain level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • 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
    • 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
    • G06F11/3419Recording 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 by assessing time
    • 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/865Monitoring of software
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本技術は、計測方法、計測プログラム、携帯情報端末、及びその制御方法に関する。
携帯情報端末の高性能化・多機能化に伴い、携帯情報端末の消費電力が増加する傾向にある。ところが、携帯情報端末に搭載されるバッテリから供給される電力には限界がある。このため、近年、携帯情報端末は、複数のコアを内蔵するマルチコアCPUを搭載して、CPU負荷を観測しながら稼働コアの個数を動的に増減(最適化)することで、ユーザの操作性能を確保しつつ、CPU全体の消費電力を削減している。
稼働コアの個数の制御技術として、スレッド毎にCPU負荷を算出し、CPU負荷がしきい値を超えるスレッドの個数に基づき、稼働コアの個数を決定するコア制御技術が提案されている。
特開2013−92874号公報
ところが、例えばスマートフォンなどの携帯情報端末では、例えば500〜1000個のスレッドが生成されることがある。このため、全スレッドのCPU負荷を算出すると、コア制御に必要な消費電力が大幅に増加する。しかし、消費電力を削減する為に計測対象のスレッドを減らすと、稼働コアの個数を最適化することができず、かえって消費電力を増加させることもある。
開示の技術によれば、CPU負荷の計測に必要な消費電力を削減することができる計測方法、計測プログラム、携帯情報端末を提供する。
開示の技術の一観点によれば、スレッド毎にCPUのCPU負荷を計測する計測方法に於いて、第1のスレッドの前記CPU負荷が第1のしきい値以上である場合、前記第1のスレッドの前記CPU負荷を第1の頻度で計測し、第2のスレッドの前記CPU負荷が前記第1のしきい値未満である場合、前記第2のスレッドを前記CPU負荷の計測対象から削除し、前記第2のスレッドを前記CPU負荷の前記計測対象から削除した後、前記第1のスレッド及び前記第2のスレッドの親プロセスの前記CPU負荷と、前記第1のスレッドの前記CPU負荷と、の差分に基づき、前記第2のスレッドの前記CPU負荷が第2のしきい値以上であるかどうかを判断し、前記第2のスレッドの前記CPU負荷が前記第2のしきい値以上であると判断された場合、前記第2のスレッドを前記CPU負荷の前記計測対象に追加する、計測方法が提供される。
開示の技術の一観点によれば、CPU負荷の計測に必要な消費電力を削減することができる。
一実施形態にかかる携帯情報端末のハードウェア構成の概略図である。 一実施形態にかかる携帯情報端末の機能ブロックの概略図である。 一実施形態にかかるアプリ/サービス動作情報の概略図である。 一実施形態にかかる計測プロセス/スレッド情報の概略図である。 一実施形態にかかるCPU制御情報の概略図である。 一実施形態にかかるプロセス/スレッド動作情報の概略図である。 一実施形態にかかるシステム状態情報の概略図である。 一実施形態にかかるCPUコア制御判定処理のフローチャートである。 一実施形態にかかるコア増加判定処理のフローチャートである。 一実施形態にかかるコア減少判定処理のフローチャートである。 一実施形態にかかるスレッド負荷計測処理のフローチャートである。 一実施形態にかかる計測対象スレッド更新処理のフローチャートである。 一実施形態にかかる計測対象スレッド更新処理の動作例の概略図である。 一実施形態にかかる計測対象スレッド更新処理の動作例の概略図である。 一実施形態にかかる計測対象スレッド更新処理の動作例の概略図である。 一実施形態にかかる計測対象スレッド更新処理の動作例の概略図である。
以下、図1〜図16を参照して、一実施形態にかかる携帯情報端末100を説明する。携帯情報端末100としては、例えばスマートフォン、タブレットPC(Personal Computer)、携帯電話等を使用しても良い。又、携帯情報端末100に搭載されるOS(Operating System)としては、Android(登録商標)を使用しても良い。Androidは、OSカーネルと、アプリケーションフレームワーク/ライブラリと、を含む。但し、本発明の態様は、これに限定されるものではなく、Android以外のOSを使用しても良い。
(携帯情報端末100のハードウェア構成)
図1は、一実施形態にかかる携帯情報端末100のハードウェア構成の概略図である。
図1に示すように、本実施形態にかかる携帯情報端末100は、CPU(Central Processing Unit)101、メインメモリ102、補助メモリ103、クロック供給回路104、電圧供給回路105、ディスプレイ106、タッチスクリーン107、をハードウェアモジュールとして備える。これらのハードウェアモジュールは、例えばバス108により相互接続されている。
CPU101は、クロック供給回路104から供給されるクロック信号及び電圧供給回路105から供給される電圧により動作して、携帯情報端末100の各種ハードウェアモジュールを制御する。CPU101は、所謂デュアルコアCPUであって、「コア0」1011及び「コア1」1012を有する。さらに、CPU101は、補助メモリ103に格納された各種プログラムを読み出して、メインメモリ102にロードするとともに、該メインメモリ102にロードされた各種プログラムを実行することで、各種機能を実現する。各種機能の詳細は、後述することとする。本実施形態では、CPU101として、デュアルコアCPUを使用しているが、所謂マルチコアCPUであれば、例えばクアッドコアCPUなど、任意の数のコアを有していても良い。
メインメモリ102は、CPU101により実行される各種プログラムを格納する。さらに、メインメモリ102は、CPU101のワークエリアとして使用され、CPU101による処理に必要な各種データを記憶する。メインメモリ102としては、例えばRAM(Random Access Memory)などを使用しても良い。
補助メモリ103は、携帯情報端末100を動作させる各種プログラムを格納している。各種プログラムとしては、例えば、携帯情報端末100が実行するアプリケーションプログラムやOS(Operating System)などがある。アプリケーションプログラムとしては、例えば、ディスプレイ106にコンテンツ(実行結果)が表示され、ユーザが画面操作できる「アプリ」や、ディスプレイ106にコンテンツが表示されることがなく、アプリの動作の為にバックグラウンドで動作する「サービス」などが格納されている。但し、複数のアプリが起動している場合、アプリは、ディスプレイ106の前面にコンテンツが表示され、実際にユーザが画面操作できるアプリ(フォアグラウンドアプリ)と、ディスプレイ106の前面にコンテンツが表示されていなく、実際にはユーザが画面操作できないアプリ(バックグラウンドアプリ)の何れかとなる。本実施形態にかかる制御プログラムも補助メモリ103に格納されている。補助メモリ103としては、例えば、ハードディスクやフラッシュメモリ等の不揮発メモリを使用しても良い。
ディスプレイ106は、CPU101により制御され、ユーザに画像情報を表示する。タッチスクリーン107は、ディスプレイ106に貼り付けられ、ユーザの指先やペン先などで接触された位置情報を入力する。
(携帯情報端末100の機能ブロック)
図2は、一実施形態にかかる携帯情報端末100の機能ブロックの概略図である。
図2に示すように、本実施形態にかかる携帯情報端末100は、アプリ実行管理部201、CPUコア制御判定部202、システム負荷計測部203、スレッド負荷計測部204、計測プロセス/スレッド更新部205、CPU周波数制御部206、CPU周波数/状態設定部207、プロセス/システム管理部208、CPU状態制御部209、タイマ部210、アプリ/サービス動作情報301、計測プロセス/スレッド情報302、CPU制御情報303、プロセス/スレッド動作情報304、システム状態情報305、を備える。
アプリ実行管理部201、CPUコア制御判定部202、システム負荷計測部203、スレッド負荷計測部204、計測プロセス/スレッド更新部205、CPU周波数制御部206、CPU周波数/状態設定部207、プロセス/システム管理部208、CPU状態制御部209、タイマ部210、アプリ/サービス動作情報301、計測プロセス/スレッド情報302、CPU制御情報303、プロセス/スレッド動作情報304、システム状態情報305は、何れもCPU101が、AndroidのOSカーネルもしくはフレームワーク(アプリケーションフレームワーク/ライブラリ)を実行することで実現される。
なお、アプリ/サービス動作情報301、計測プロセス/スレッド情報302、CPU制御情報303、プロセス/スレッド動作情報304、システム状態情報305は、何れも補助メモリ103に構築される。
アプリ実行管理部201は、アプリやサービスなどのプログラムの実行や停止を管理する。具体的には、アプリ実行管理部201は、アプリやサービスなどのアプリケーションプログラムの利用環境やプロセス状態に変化が生じた場合、後述するアプリ/サービス動作情報301の「種別」や「状態」を更新する。利用環境としては、フォアグラウンド及びバックグラウンドが定義される。例えば、アプリ実行管理部201は、フォアグラウンドでアプリケーションプログラムが動作を開始した場合、即ちフォアグラウンドでアプリケーションプログラムが起動もしくは再開された場合、アプリ/サービス動作情報301にアクセスして、「種別」を「フォアグラウンド」、「状態」を「実行中」、にそれぞれ更新する。
CPUコア制御判定部202は、定期的にシステムの動作状態を観測して、CPU101の稼働コアを増減するか否かを判断する。具体的には、CPUコア制御判定部202は、システム状態情報305に記録された、「run_queue_avg(スレッドの実行キュー長の平均値)」、CPU101の稼働コア数、CPU101の動作周波数と、スレッド負荷計測部204により取得された、CPU101により実行されているスレッドの並列度と、に基づき、CPU制御情報303の「cpu1/online」の設定内容を変更する。スレッドの並列度の詳細は、後述することとする。
システム負荷計測部203は、定期的にシステム状態情報305を参照して、システム全体の直近のCPU利用率を計測する。
スレッド負荷計測部204は、計測プロセス/スレッド情報302及びプロセス/スレッド動作情報304を参照して、プロセス毎のCPU利用時間と、スレッド毎のCPU利用時間と、を算出する。さらに、スレッド負荷計測部204は、スレッド毎のCPU利用時間に基づき、CPU101により実行されているスレッドの並列度を算出する。スレッドの並列度は、CPU利用時間が並列度しきい値以上のスレッドの個数である。CPU利用時間は、CPU負荷の一例である。
計測プロセス/スレッド更新部205は、計測プロセス/スレッド情報302に記録された、計測対象のプロセスのCPU利用時間と、計測対象のスレッドのCPU利用時間と、を使用して、計測対象のスレッドを更新する。さらに、計測プロセス/スレッド更新部205は、アプリ/サービス動作情報301に記録されたアプリケーションプログラムの種別の更新に基づき、計測対象のプロセスを更新しても良い。例えば、計測プロセス/スレッド更新部205は、種別がフォアグラウンドアプリであるプロセスと、該プロセスに関連するプロセスと、を計測対象としても良い。
CPU周波数制御部206は、定期的にシステム状態情報305を参照して、システム状態情報305の「CPU利用率」に基づき、CPU周波数/状態設定部207に、CPU101の稼働コアの動作周波数の変更指示を通知する。
CPU周波数/状態設定部207は、CPU状態制御部209からのON/OFF指示に基づき、CPU101の「コア1」1012のON/OFFを制御する。さらに、CPU周波数/状態設定部207は、CPU周波数制御部206からの動作周波数の変更指示に基づき、CPU101の稼働コアの動作周波数を制御する。
プロセス/システム管理部208は、CPU101により実行されるプロセスの動作状況を観測して、プロセス/スレッド動作情報304の「累積動作時間」を更新する。さらに、プロセス/システム管理部208は、システム全体の動作状況を観測して、システム状態情報305の「Online」、「Offline」、「run_queue_avg」、「CPU利用率」、「動作周波数」を更新する。
CPU状態制御部209は、CPU制御情報303の「cpu1/online」が変更されたタイミングで起動され、CPU周波数/状態設定部207に「コア1」1012のON/OFF指示を通知する。例えば、「コア1」1012がONであるときに、「cpu1/online」が「1」から「0」に変更された場合、CPU状態制御部209は、CPU周波数/状態設定部207に「コア1」1012のOFF指示を通知する。逆に、「コア1」1012がOFFであるときに、「cpu1/online」が「0」から「1」に変更された場合、CPU状態制御部209は、CPU周波数/状態設定部207に「コア1」1012のON指示を通知する。
タイマ部210は、例えば時計回路(図示しない)から取得した現在時刻を、例えばアプリ実行管理部201、CPUコア制御判定部202、システム負荷計測部203、スレッド負荷計測部204、計測プロセス/スレッド更新部205、CPU周波数制御部206、CPU周波数/状態設定部207、プロセス/システム管理部208、CPU状態制御部209に通知する。
(アプリ/サービス動作情報301)
図3は、一実施形態にかかるアプリ/サービス動作情報301の概略図である。
図3に示すように、アプリ/サービス動作情報301は、アプリケーションプログラム毎に、「プロセスID」、「プログラム名」、「種別」、「状態」を記憶する。アプリ/サービス動作情報301は、CPU101により実行される全アプリケーションプログラムのプロセスを記憶する。このため、アプリ/サービス動作情報301は、例えばアプリ(フォアグラウンドアプリ、バックグラウンドアプリ)及びサービスのプロセスも記憶する。「種別」としては、「フォアグラウンド」及び「バックグラウンド」が定義される。「状態」としては、「実行中」、「待機中」、「実行可能」、「停止中」、「ゾンビ」が定義される。アプリ/サービス動作情報301の「種別」及び「状態」は、アプリ実行管理部201により更新される。
(計測プロセス/スレッド情報302)
図4は、一実施形態にかかる計測プロセス/スレッド情報302の概略図である。
図4に示すように、計測プロセス/スレッド情報302は、計測プロセス/スレッドリスト302a、プロセス制御表302b、スレッド制御表302c、を含む。
計測プロセス/スレッドリスト302aは、図4(a)に示すように、計測対象のプロセスの識別情報(プロセスID)に、該プロセスを親プロセスとする計測対象のスレッドの識別情報(スレッドID)を紐付けている。本実施形態にかかる1行目のレコードでは、計測対象のプロセス「p0」に、計測対象のスレッド「t01」、「t03」が紐付けられている。
プロセス制御表302bは、図4(b)に示すように、計測対象のプロセスに、プロセスID、累積動作時間、CPU利用時間(delta_time)、を紐付けている。本実施形態にかかる1行目のレコードでは、プロセスID「p0」に、累積動作時間「4640」、CPU利用時間「8」が紐付けられている。
スレッド制御表302cは、図4(c)に示すように、計測対象のスレッドに、スレッドID、累積動作時間、CPU利用時間(delta_time)、を紐付けている。本実施形態にかかる1行目のレコードでは、スレッドID「t01」に、累積動作時間「750」、CPU利用時間「5」、が紐付けられている。
(CPU制御情報303)
図5は、一実施形態にかかるCPU制御情報303の概略図である。
図5に示すように、CPU制御情報303は、CPU101の「コア1」1012のON/OFFを決定する為の「cpu1/online」として、「0」もしくは「1」を記憶する。本実施形態では、「コア1」1012の「OFF指示」に「0」を割り当て、「コア1」1012の「ON指示」に「1」を割り当てる。このため、CPU制御情報303の「cpu1/online」に「0」が登録された場合、CPU状態制御部209は、「コア1」1012の「OFF指示」をCPU周波数/状態設定部207に通知する。CPU制御情報303の「cpu1/online」に「1」が登録された場合、CPU状態制御部209は、「コア1」1012の「ON指示」をCPU周波数/状態設定部207に通知する。
(プロセス/スレッド動作情報304)
図6は、一実施形態にかかるプロセス/スレッド動作情報304の概略図である。
図6に示すように、プロセス/スレッド動作情報304は、CPU101により実行されるプロセスに、該プロセスを親プロセスとするスレッドを紐付けている。さらに、プロセス/スレッド動作情報304は、それぞれのプロセス及びスレッド毎に累積動作時間を記録している。プロセス/スレッド動作情報304は、CPU101により実行される全プロセス及び全スレッドを記憶している。このため、プロセス/スレッド動作情報304は、本実施形態にかかる計測対象ではないプロセス、スレッド、及びそれぞれの累積動作時間も記憶している。
累積動作時間は、プロセスもしくはスレッドの起動時刻を始点とする、動作時間(ms)の累積値である。プロセス動作情報304は、プロセス/システム管理部208による観測毎に更新される。
(システム状態情報305)
図7は、一実施形態にかかるシステム状態情報305の概略図である。
図7に示すように、システム状態情報305は、「Online(オンラインCPUコア番号)」、「Offline(オフラインCPUコア番号)」、「run_queue_avg」、「CPU利用率(%)」、「動作周波数(MHz)」を記憶する。「Online」は、稼働中のCPUコア番号を記憶する。「Offline」は、非稼働のCPUコア番号を記憶する。従って、「コア0」1011及び「コア1」1012の双方が稼働している場合、「Online」に「0」及び「1」が記録され、「Offline」には何も記録されない。「コア0」1011だけが稼働している場合、「Online」に「0」が記録され、「Offline」に「1」が記録される。「run_queue_avg」は、CPU101による実行待ちのスレッドの個数の直近の平均値である。「CPU利用率」は、システム全体のCPU利用率、即ち単位時間あたりの全スレッドの実行時間の合計である。「動作周波数」は、CPU101の動作周波数である。システム状態情報305の「Online」、「Offline」、「run_queue_avg」、「CPU利用率」、「動作周波数」は、プロセス/システム管理部208により観測毎に更新される。
(CPUコア制御判定処理)
図8は、一実施形態にかかるCPUコア制御判定処理のフローチャートである。
図8に示すように、CPUコア制御判定部202は、先ず、CPU101の稼働コアの個数を増加するか否かを判定する為の「コア増加判定処理」を実行する(ステップS001)。「コア増加判定処理」の詳細は、後述することとする。
次に、CPUコア制御判定部202は、CPU101の稼働コアの個数を減少させるか否かを判定する為の「コア減少判定処理」を実行する(ステップS002)。「コア減少判定処理」の詳細は、後述することとする。
次に、CPUコア制御判定部202は、定期監視の為のタイマを設定して、スリープ状態に遷移する(ステップS003)。タイマの設定時間は、特に限定されるものではないが、本実施形態では、数10msとする。タイマの設定時間の満了後、CPUコア制御判定部202は、「CPUコア制御判定処理」のスタートから処理を実行する。
(コア増加判定処理)
図9は、一実施形態にかかるコア増加判定処理のフローチャートである。
ここでは、CPU101の「コア0」1011だけが稼動していることを前提とし、「コア1」1012の稼働を開始するか否かの判断プロセスを説明する。
図9に示すように、CPUコア制御判定部202は、システム状態情報305を参照して、スレッドの実行キュー長が、事前に決められたコア増加実行キュー長しきい値よりも大きく、かつ、スレッドの並列度が、事前に決められた並列度しきい値よりも大きいかどうかを判断する(ステップS011)。本実施形態では、コア増加実行キュー長しきい値を1.5とし、並列度しきい値を2とする。
ここで、スレッドの実行キュー長がコア増加実行キュー長しきい値よりも大きく、かつ、スレッドの並列度が並列度しきい値よりも大きいと判断されない場合(ステップS011のNo)、即ちスレッドの実行キュー長が1.5よりも大きく、かつ、スレッドの並列度が2よりも大きいと判断されない場合、CPUコア制御判定部202は、タイマ部210からの時刻情報に基づき、条件継続時間を初期化して(ステップS015)、即ち「0(sec)」に設定して、本実施形態にかかるコア増加判定処理を終了させる。
一方、スレッドの実行キュー長がコア増加実行キュー長しきい値よりも大きく、かつ、スレッドの並列度が並列度しきい値よりも大きいと判断された場合(ステップS011のYes)、即ちスレッドの実行キュー長が1.5よりも大きく、かつ、スレッドの並列度が2よりも大きい場合、CPUコア制御判定部202は、タイマ部210からの時刻情報に基づき、条件継続時間を更新する(ステップS012)。
次に、CPUコア制御判定部202は、条件継続時間が、事前に決められた継続時間しきい値よりも大きいか否かを判断する(ステップS013)。本実施形態では、継続時間しきい値を300(ms)とする。
ここで、条件継続時間が継続時間しきい値よりも大きいと判断されない場合(ステップS013のNo)、即ち条件継続時間が300(ms)以下であると判断された場合、CPUコア制御判定部202は、本実施形態にかかるコア増加判定処理を終了させる。
一方、条件継続時間が継続時間しきい値よりも大きいと判断された場合(ステップS013のYes)、即ち条件継続時間が300(ms)より大きいと判断された場合、CPUコア制御判定部202は、CPU101の「コア1」1012を稼働、即ちCPU101の稼働コアを増加させ(ステップS014)、本実施形態にかかるコア増加判定処理を終了させる。具体的には、CPUコア制御判定部202は、CPU制御情報303の「cpu1/online」を「1」に更新する。「cpu1/online」を「1」に更新すると、CPU状態制御部209からCPU周波数/状態設定部207に「コア1」1012のON指示が通知され、「コア0」1011及び「コア1」1012の双方が動作することとなる。
(コア減少判定処理)
図10は、一実施形態にかかるコア減少判定処理のフローチャートである。
ここでは、CPU101の「コア0」1011及び「コア1」1012の双方が稼動していることを前提とし、「コア1」1012の稼働を停止させるか否かの判断プロセスを説明する。
図10に示すように、CPUコア制御判定部202は、システム状態情報305を参照して、スレッドの実行キュー長が、事前に決められたコア減少実行キュー長しきい値よりも小さいか否かを判断する(ステップS021)。本実施形態では、コア減少実行キュー長しきい値を1.2とする。
ここで、スレッドの実行キュー長がコア減少実行キュー長しきい値よりも小さいと判断されない場合(ステップS021のNo)、即ちスレッドの実行キュー長が1.2以上であると判断された場合、CPUコア制御判定部202は、タイマ部210からの時刻情報に基づき、条件継続時間を初期化して(ステップS025)、即ち0(sec)に設定して、本実施形態にかかるコア減少判定処理を終了させる。
一方、スレッドの実行キュー長がコア減少実行キュー長しきい値よりも小さいと判断された場合(ステップS021のYes)、即ちスレッドの実行キュー長が1.2よりも小さいと判断された場合、CPUコア制御判定部202は、タイマ部210からの時刻情報に基づき、条件継続時間を更新する(ステップS022)。
次に、CPUコア制御判定部202は、条件継続時間が、事前に決められた継続時間しきい値よりも大きいか否かを判断する(ステップS023)。本実施形態では、継続時間しきい値を300(ms)とする。
ここで、条件継続時間が継続時間しきい値よりも大きいと判断されない場合(ステップS023のNo)、即ち条件継続時間が300(ms)以下であると判断された場合、CPUコア制御判定部202は、本実施形態にかかるコア減少判定処理を終了させる。
一方、条件継続時間が継続時間しきい値よりも大きいと判断された場合(ステップS023のYes)、即ち条件継続時間が300(ms)よりも大きいと判断された場合、CPUコア制御判定部202は、CPU101の「コア1」1012の稼働を停止、即ちCPU101の稼働コアを減少させる(ステップS024)。具体的には、CPUコア制御判定部202は、CPU制御情報303の「cpu1/online」を「0」に更新する。「cpu1/online」を「0」に更新すると、CPU状態制御部209からCPU周波数/状態設定部207に「コア1」1012のOFF指示が通知され、「コア1」1012の稼働が停止することとなる。
(スレッド負荷計測処理)
図11は、一実施形態にかかるスレッド負荷計測処理のフローチャートである。
図11に示すように、スレッド負荷計測部204は、計測プロセス/スレッド情報302の計測プロセス/スレッドリスト302aに未選択の計測対象のプロセスが存在するかどうかを判断する(ステップS031)。
ここで、未選択の計測対象のプロセスが存在すると判断されない場合(ステップS031のNo)、即ち計測プロセス/スレッドリスト302aに記録された計測対象のプロセス全てが既に選択されている場合、スレッド負荷計測部204は、計測プロセス/スレッド更新部205に計測対象スレッド更新処理の開始を指示する(ステップS036)。計測対象スレッド更新処理の詳細は、後述することとする。
次に、スレッド負荷計測部204は、定期監視のためのタイマを設定して、スリープ状態に遷移する(ステップS037)。タイマの設定時間は、特に限定されるものではないが、本実施形態では、数十msとする。タイマの設定時間の満了後、スレッド負荷計測部204は、スレッド負荷計測処理のスタートから処理を実行する。
一方、未選択の計測対象のプロセスが存在すると判断された場合(ステップS031のYes)、スレッド負荷計測部204は、計測プロセス/スレッドリスト302aから未選択の計測対象のプロセスを1つ選択する(ステップS032)。
次に、スレッド負荷計測部204は、計測プロセス/スレッド情報302のプロセス制御表302bを参照して、選択中の計測対象のプロセスの直近のCPU利用時間を算出する(ステップS033)。
具体的には、スレッド負荷計測部204は、先ず、プロセス制御表302bを参照して、選択中の計測対象のプロセスの累積動作時間、即ち前回の計測までの累積動作時間を取得する。さらに、スレッド負荷計測部204は、プロセス/スレッド動作情報304を参照して、選択中のプロセスの累積動作時間、即ち今回の計測までの累積動作時間を取得する。続いて、スレッド負荷計測部204は、プロセス制御表302bから取得された累積動作時間と、プロセス/スレッド動作情報304から取得された累積動作時間と、の差分を算出して、計測対象のプロセスの直近のCPU利用時間とする。
スレッド負荷計測部204は、プロセス/スレッド動作情報304から取得された累積動作時間を使用して、プロセス制御表302bに記録された計測対象のプロセスの累積動作時間を更新する。さらに、スレッド負荷計測部204は、計測対象のプロセスの直近のCPU利用時間を使用して、プロセス制御表302bに記録された計測対象のプロセスのCPU利用時間を更新する。
本実施形態では、CPU負荷として、計測対象のプロセスのCPU利用時間を使用しているが、本発明は、これに限定されるものではない。例えば、計測対象のプロセスの直近のCPU利用率を、CPU負荷としても良い。具体的には、プロセス制御表303bから取得された累積動作時間と、プロセス/スレッド動作情報304から取得された累積動作時間と、の差分を、前回の計測から今回の計測までの経過時間で除算して、計測対象のプロセスの直近のCPU利用率としても良い。
次に、スレッド負荷計測部204は、計測プロセス/スレッド情報302のスレッド制御表302cを参照して、選択中の計測対象のプロセスに紐付けられたスレッド全て、即ち計測対象のスレッド全ての直近のCPU利用時間を算出する(ステップS034)。
具体的には、スレッド負荷計測部204は、先ず、計測プロセス/スレッドリスト302aを参照して、選択中の計測対象のプロセスに紐付けられた計測対象のスレッドを特定する。続いて、スレッド負荷計測部204は、スレッド制御表302cを参照して、選択中の計測対象のプロセスに紐付けられた計測対象のスレッドの累積動作時間、即ち前回の計測までの累積動作時間を取得する。さらに、スレッド負荷計測部204は、プロセス/スレッド動作情報304を参照して、選択中の計測対象のプロセスに紐付けられた計測対象のスレッド全ての累積動作時間、即ち今回の計測までの累積動作時間を取得する。続いて、スレッド負荷計測部204は、スレッド制御表302cから取得された累積動作時間と、プロセス/スレッド動作情報304から取得された累積動作時間と、の差分を算出して、計測対象のスレッドの直近のCPU利用時間とする。
スレッド負荷計測部204は、プロセス/スレッド動作情報304から取得された累積動作時間を使用して、スレッド制御表302cに記録された計測対象のスレッドの累積動作時間を更新する。さらに、スレッド負荷計測部204は、計測対象のスレッドの直近のCPU利用時間を使用して、スレッド制御表302cに記録された計測対象のスレッドのCPU利用時間を更新する。
本実施形態では、CPU負荷として、計測対象のスレッドのCPU利用時間を使用しているが、本発明は、これに限定されるものではない。例えば、計測対象のスレッドの直近のCPU利用率を、CPU負荷としても良い。具体的には、スレッド制御表302cから取得された累積動作時間と、プロセス/スレッド動作情報304から取得された累積動作時間と、の差分を、前回の計測から今回の計測までの経過時間で除算して、計測対象のスレッドの直近のCPU利用率としても良い。
次に、スレッド負荷計測部204は、計測対象のスレッドのCPU利用時間と、事前に決められたCPU利用時間しきい値と、に基づき、CPU101により実行されているスレッドの並列度を算出する(ステップS035)。具体的には、スレッド負荷計測部204は、計測対象のスレッドのCPU利用時間がCPU利用時間しきい値よりも大きいスレッドの個数を算出する。
次に、スレッド負荷計測部204は、再度、計測プロセス/スレッドリスト302aに未選択の計測対象のプロセスが存在するかどうかを判断する(ステップS031)。
(計測対象スレッド更新処理)
図12は、一実施形態にかかる計測対象スレッド更新処理のフローチャートである。図13、図14、図15、図16は、一実施形態にかかる計測対象スレッド更新処理の動作例の概略図である。
図12に示すように、計測プロセス/スレッド更新部205は、計測対象のプロセスから生成されたスレッドのうち、計測対象外のスレッドの直近のCPU利用時間を算出する(ステップS041)。
具体的には、計測プロセス/スレッド更新部205は、先ず、計測プロセス/スレッド情報302のプロセス制御表302b及びスレッド制御表302cを参照して、計測対象のプロセスのCPU利用時間と、計測対象のスレッドのCPU利用時間と、を取得する。続いて、計測プロセス/スレッド更新部205は、計測対象のプロセス毎に、それぞれのプロセスを親プロセスとする計測対象のスレッド全てのCPU利用時間の総計を、計測対象のプロセスのCPU利用時間から差し引き、計測対象外のスレッド全ての直近のCPU利用時間の総計を算出する。続いて、計測プロセス/スレッド更新部205は、計測対象外のスレッド全ての直近のCPU利用時間の総計を、計測対象外のスレッドの個数で除算して、計測対象外のスレッドの直近のCPU利用時間、即ちCPU利用時間のスレッド平均値を算出する。
例えば、計測プロセス/スレッド更新部205は、図13(a)に示すように、プロセス「p2」を親プロセスとするスレッド「t20」、「t25」、「t26」のCPU利用時間「2」、「2」、「1」の総計「5(=2+2+1)」を、該プロセス「p2」のCPU利用時間「20」から差し引き、計測対象外のスレッド全ての直近のCPU利用時間の総計「15」を算出する。続いて、計測プロセス/スレッド更新部205は、計測対象外のスレッド全ての直近のCPU利用時間の総計「15」を、計測対象外のスレッドの個数「4」で除算して、計測対象外のスレッドの直近のCPU利用時間のスレッド平均値「3.75」を算出する。
次に、計測プロセス/スレッド更新部205は、計測対象外のスレッドのCPU利用時間が、事前に決められた計測対象しきい値(第1のしきい値)よりも大きいかどうかを判断する(ステップS042)。計測対象しきい値は、CPU101の各コアの処理能力に応じて決定しても良い。
ここで、計測対象外のスレッドのCPU利用時間が計測対象しきい値よりも大きいと判断された場合(ステップS042のYes)、計測プロセス/スレッド更新部205は、計測対象外のスレッド全てを計測対象に追加する(ステップS043)。具体的には、計測プロセス/スレッド更新部205は、計測対象外のスレッド全てのスレッドIDを、計測プロセス/スレッド情報302のスレッド制御表302cに追加する。さらに、計測プロセス/スレッド更新部205は、計測対象外のスレッド全てのスレッドIDを、計測プロセス/スレッド情報302の計測プロセス/スレッドリスト302aに追加する。
例えば、計測プロセス/スレッド更新部205は、図13(a)及び(b)に示すように、プロセス「p2」を親プロセスとする計測対象外のスレッド全て「t21」、「t22」、「t23」、「t24」を、スレッド制御表303cに追加する。さらに、計測プロセス/スレッド更新部205は、図14(a)及び(b)に示すように、計測対象外のスレッド全てのスレッド「t21」、「t22」、「t23」、「t24」を、計測プロセス/スレッドリスト302aに追加する。こうして、計測対象のプロセス「p2」から生成された全スレッドがCPU利用時間の計測対象となる。
次に、計測プロセス/スレッド更新部205は、計測対象のスレッドのCPU利用時間が、事前に決められた計測対象外しきい値(第1のしきい値)よりも小さいかどうかを判断する(ステップS044)。計測対象外のスレッドのCPU利用時間が計測対象しきい値よりも大きいと判断されない場合(ステップS042のNo)、即ち計測対象外のスレッドのCPU利用時間が計測対象しきい値よりも小さい場合も、計測プロセス/スレッド更新部205は、計測対象のスレッドのCPU利用時間が、事前に決められた計測対象外しきい値よりも小さいかどうかを判断する(ステップS044)。計測対象外しきい値は、CPU101の各コアの処理能力に応じて決定しても良い。
ここで、計測対象のスレッドのCPU利用時間が計測対象外しきい値よりも小さいと判断されない場合(ステップS044のNo)、計測プロセス/スレッド更新部205は、本実施形態にかかる計測対象スレッド更新処理を終了させる。
一方、計測対象のスレッドのCPU利用時間が計測対象外しきい値よりも小さいと判断された場合(ステップS044のYes)、計測プロセス/スレッド更新部205は、該スレッドを、即ちCPU利用時間が計測対象外しきい値よりも小さいと判断されたスレッドを、計測対象から除外する(ステップS045)。具体的には、計測プロセス/スレッド更新部205は、CPU利用時間が計測対象外しきい値よりも小さいと判断されたスレッドのレコード、即ちスレッドID、累積動作時間、CPU利用時間を、スレッド制御表302cから削除する。さらに、計測プロセス/スレッド更新部205は、CPU利用時間が計測対象外しきい値よりも小さいと判断されたスレッドのスレッドIDを、計測プロセス/スレッドリスト302aから削除する。
例えば、計測プロセス/スレッド更新部205は、図15(a)及び(b)に示すように、CPU利用時間が計測対象外しきい値よりも小さいと判断されたスレッド「t21」、「t22」、「t23」、「t25」、「t26」のレコードを、スレッド制御表302cから削除する。さらに、計測プロセス/スレッド更新部205は、図16(a)及び(b)に示すように、CPU利用時間が計測対象外しきい値よりも小さいと判断されたスレッド「t21」、「t22」、「t23」、「t25」、「t26」を、計測プロセス/スレッドリスト302aから削除する。こうして、計測対象のプロセス「p2」から生成されたスレッドのうち、直近のCPU利用時間が計測対象外しきい値よりも大きいスレッドのみがCPU利用時間の計測対象となる。
次に、計測プロセス/スレッド更新部205は、本実施形態にかかる計測対象スレッド更新処理を終了させる。
以上のように、CPU利用時間が計測対象しきい値(第1のしきい値)よりも大きいスレッドは、CPU利用時間の計測対象とされるが、CPU利用時間が計測対象外しきい値(第1のしきい値)よりも小さいスレッドは、CPU利用時間の計測対象から削除される。即ち、本実施形態にかかる計測プロセス/スレッド更新部205は、CPU利用時間が計測対象しきい値よりも大きいスレッドのCPU利用時間の計測頻度(第1の頻度)を、CPU利用時間が計測対象外しきい値よりも小さいスレッドのCPU利用時間の計測頻度(第2の頻度)よりも高める。
なお、本実施形態にかかる計測プロセス/スレッド更新部205は、計測対象外のスレッドの直近のCPU利用時間に基づき、該スレッドを計測対象に追加するかどうかを判断している。しかし、本発明は、これに限定されるものではない。例えば、計測プロセス/スレッド更新部205は、計測対象外のスレッドの直近のCPU利用時間の総計に基づき、計測対象外のスレッドを計測対象に追加するかどうかを判断しても良い。又、計測プロセス/スレッド更新部205は、計測対象外のスレッドの直近のCPU利用時間の、親プロセスのCPU利用時間に占める割合に基づき、計測対象外のスレッドを計測対象に追加するかどうかを判断しても良い。さらに、計測プロセス/スレッド更新部205は、計測対象からスレッドを削除してからの経過時間が所定時間に到達したかどうかに基づき、該スレッドを計測対象に追加するかどうか判断しても良い。
又、本実施形態にかかる計測プロセス/スレッド更新部205は、計測対象のスレッドの直近のCPU利用時間に基づき、該スレッドを計測対象から削除するかどうかを判断している。しかし、本発明は、これに限定されるものではない。例えば、計測プロセス/スレッド更新部205は、計測対象のスレッドの直近のCPU利用時間の、親プロセスのCPU利用時間に占める割合に基づき、該スレッドを計測対象から削除するかどうかを判断しても良い。又、計測対象のスレッドのCPU利用時間が計測対象外しきい値よりも小さい場合、計測プロセス/スレッド更新部205は、該スレッドのCPU利用時間の計測頻度を単に低下させても良い。さらに、計測対象のスレッドのCPU利用時間に基づき、計測頻度を決定しても良い。例えば、計測対象のスレッドのうち、第1のスレッドのCPU利用時間が第2のスレッドのCPU利用時間よりも小さい場合、第1のスレッドの計測頻度を、第2のスレッドの計測頻度よりも低くしても良い。即ち、CPU利用時間が小さいほど、CPU利用時間が計測対象に値するまでに時間がかかると考えられる為、計測頻度を低くするのである。
本実施形態によれば、CPU利用時間(CPU負荷)が計測対象外しきい値よりも小さいスレッドをCPU利用時間の計測対象から削除し、計測対象外のスレッドのCPU利用時間が計測対象しきい値を超えたときに、計測対象外のスレッド全てをCPU利用時間の計測対象に復帰させる。このため、スレッドの並列度への影響が小さい低負荷スレッドのCPU利用時間の計測を省略することができる。これにより、スレッド毎のCPU利用時間の計測コスト、例えばCPU利用時間の計測に必要な消費電力などを削減することができる。
なお、本実施形態にかかる計測プロセス/スレッド更新部205は、計測対象のスレッドのCPU利用時間の総計を、該スレッドの親プロセスのCPU利用時間から差し引くことで、計測対象外のスレッドのCPU利用時間の総計を算出している。しかし、本発明は、これに限定されるものではない。例えば、計測プロセス/スレッド更新部205は、CPU101により実行される計測対象のスレッド全てのCPU利用時間の総計を、システム全体のCPU利用時間から差し引くことで、計測対象外のスレッドのCPU利用時間の総計を算出しても良い。
本実施形態では、デュアルコアCPUを例示しているが、本発明は、これに限定されるものではなく、クアッドコアCPUをはじめとするマルチコアCPUに適用しても良い。
さらに、本実施形態では、携帯情報端末100として、例えばスマートフォンやタブレットPC等を想定しているが、本発明は、これに限定されるものではなく、例えばマルチコアCPUを搭載していれば、例えばデスクトップPCやサーバ装置にも本発明を適用することができる。
100:携帯情報端末
101:CPU
102:メインメモリ
103:補助メモリ
104:クロック供給回路
105:電圧供給回路
106:ディスプレイ
107:タッチスクリーン
108:バス
201:アプリ実行管理部
202:CPUコア制御判定部
203:システム負荷計測部
204:スレッド負荷計測部
205:計測プロセス/スレッド更新部
206:CPU周波数制御部
207:CPU周波数/状態設定部
208:プロセス/システム管理部
209:CPU状態制御部
210:タイマ部
301:アプリ/サービス動作情報
302:計測プロセス/スレッド情報
303:CPU制御情報
304:プロセス/スレッド動作情報
305:システム状態情報
1011:コア0
1012:コア1

Claims (6)

  1. スレッド毎にCPUのCPU負荷を計測する計測方法に於いて、
    第1のスレッドの前記CPU負荷が第1のしきい値以上である場合、前記第1のスレッドの前記CPU負荷を第1の頻度で計測し、
    第2のスレッドの前記CPU負荷が前記第1のしきい値未満である場合、前記第2のスレッドを前記CPU負荷の計測対象から削除し、
    前記第2のスレッドを前記CPU負荷の前記計測対象から削除した後、前記第1のスレッド及び前記第2のスレッドの親プロセスの前記CPU負荷と、前記第1のスレッドの前記CPU負荷と、の差分に基づき、前記第2のスレッドの前記CPU負荷が第2のしきい値以上であるかどうかを判断し、
    前記第2のスレッドの前記CPU負荷が前記第2のしきい値以上であると判断された場合、前記第2のスレッドを前記CPU負荷の前記計測対象に追加する、計測方法。
  2. 請求項1に記載の計測方法に於いて、
    前記CPUは複数のコアを含み、
    前記第1のしきい値は、前記CPUの前記複数のコアの処理能力に基づき、決定される、計測方法。
  3. スレッド毎にCPUのCPU負荷を計測する計測プログラムに於いて、
    前記計測プログラムは、前記CPUを含む携帯情報端末に、
    第1のスレッドの前記CPU負荷が第1のしきい値以上である場合、前記第1のスレッドの前記CPU負荷を第1の頻度で計測させ、
    第2のスレッドの前記CPU負荷が前記第1のしきい値未満である場合、前記第2のスレッドを前記CPU負荷の計測対象から削除させ、
    前記第2のスレッドを前記CPU負荷の前記計測対象から削除した後、前記第1のスレッド及び前記第2のスレッドの親プロセスの前記CPU負荷と、前記第1のスレッドの前記CPU負荷と、の差分に基づき、前記第2のスレッドの前記CPU負荷が第2のしきい値以上であるかどうかを判断させ、
    前記第2のスレッドの前記CPU負荷が前記第2のしきい値以上であると判断された場合、前記第2のスレッドを前記CPU負荷の前記計測対象に追加させる計測プログラム。
  4. スレッド毎にCPUのCPU負荷を計測する携帯情報端末に於いて、
    第1のスレッドの前記CPU負荷が第1のしきい値以上である場合、前記第1のスレッドの前記CPU負荷を第1の頻度で計測し、第2のスレッドの前記CPU負荷が前記第1のしきい値未満である場合、前記第2のスレッドを前記CPU負荷の計測対象から削除し、前記第2のスレッドを前記CPU負荷の前記計測対象から削除した後、前記第1のスレッド及び前記第2のスレッドの親プロセスの前記CPU負荷と、前記第1のスレッドの前記CPU負荷と、の差分に基づき、前記第2のスレッドの前記CPU負荷が第2のしきい値以上であるかどうかを判断し、前記第2のスレッドの前記CPU負荷が前記第2のしきい値以上であると判断された場合、前記第2のスレッドを前記CPU負荷の前記計測対象に追加するスレッド負荷計測部
    を備える携帯情報端末。
  5. スレッド毎に計測されるCPUのCPU負荷に基づき、前記CPUを制御する携帯情報端末の制御方法に於いて、
    第1のスレッドの前記CPU負荷が第1のしきい値以上である場合、前記第1のスレッドの前記CPU負荷を第1の頻度で計測し、第2のスレッドの前記CPU負荷が前記第1のしきい値未満である場合、前記第2のスレッドを前記CPU負荷の計測対象から削除し、前記第2のスレッドを前記CPU負荷の前記計測対象から削除した後、前記第1のスレッド及び前記第2のスレッドの親プロセスの前記CPU負荷と、前記第1のスレッドの前記CPU負荷と、の差分に基づき、前記第2のスレッドの前記CPU負荷が第2のしきい値以上であるかどうかを判断し、前記第2のスレッドの前記CPU負荷が前記第2のしきい値以上であると判断された場合、前記第2のスレッドを前記CPU負荷の前記計測対象に追加する、携帯情報端末の制御方法。
  6. 請求項5に記載の携帯情報端末の制御方法に於いて、
    前記CPUは複数のコアを含み、
    前記CPU負荷が第3のしきい値以上のスレッドの個数に基づき、前記CPUの前記複数のコアのうち稼働状態とする前記コアの個数を決定する、携帯情報端末の制御方法。
JP2013153073A 2013-07-23 2013-07-23 計測方法、計測プログラム、携帯情報端末、及びその制御方法 Active JP6142709B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013153073A JP6142709B2 (ja) 2013-07-23 2013-07-23 計測方法、計測プログラム、携帯情報端末、及びその制御方法
US14/304,184 US9513685B2 (en) 2013-07-23 2014-06-13 Measuring method of a processing load of a processor including a plurality of cores

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013153073A JP6142709B2 (ja) 2013-07-23 2013-07-23 計測方法、計測プログラム、携帯情報端末、及びその制御方法

Publications (2)

Publication Number Publication Date
JP2015022729A JP2015022729A (ja) 2015-02-02
JP6142709B2 true JP6142709B2 (ja) 2017-06-07

Family

ID=52391624

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013153073A Active JP6142709B2 (ja) 2013-07-23 2013-07-23 計測方法、計測プログラム、携帯情報端末、及びその制御方法

Country Status (2)

Country Link
US (1) US9513685B2 (ja)
JP (1) JP6142709B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108959020B (zh) * 2018-05-08 2021-01-12 华为技术有限公司 一种计算机cpu利用率的计算方法和装置
US11449424B2 (en) * 2020-10-26 2022-09-20 International Business Machines Corporation Server recovery from a change in storage control chip

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001325126A (ja) * 2000-05-15 2001-11-22 Matsushita Electric Ind Co Ltd コンピュータシステム監視方法及びコンピュータシステム監視装置
US7111179B1 (en) * 2001-10-11 2006-09-19 In-Hand Electronics, Inc. Method and apparatus for optimizing performance and battery life of electronic devices based on system and application parameters
US7657893B2 (en) * 2003-04-23 2010-02-02 International Business Machines Corporation Accounting method and logic for determining per-thread processor resource utilization in a simultaneous multi-threaded (SMT) processor
JP4516306B2 (ja) * 2003-11-28 2010-08-04 株式会社日立製作所 ストレージネットワークの性能情報を収集する方法
JP2006127302A (ja) 2004-10-29 2006-05-18 Internatl Business Mach Corp <Ibm> 情報処理装置、コンパイラ、及びコンパイラプログラム
JPWO2006100752A1 (ja) * 2005-03-22 2008-08-28 富士通株式会社 分散処理管理装置、分散処理管理方法、分散処理管理プログラム
US7490254B2 (en) * 2005-08-02 2009-02-10 Advanced Micro Devices, Inc. Increasing workload performance of one or more cores on multiple core processors
JP2008204350A (ja) 2007-02-22 2008-09-04 Renesas Technology Corp 電力消費見積もりシステムおよび電力消費見積もり方法
US8219993B2 (en) * 2008-02-27 2012-07-10 Oracle America, Inc. Frequency scaling of processing unit based on aggregate thread CPI metric
US8296773B2 (en) * 2008-06-30 2012-10-23 International Business Machines Corporation Systems and methods for thread assignment and core turn-off for integrated circuit energy efficiency and high-performance
US20120036398A1 (en) * 2010-04-22 2012-02-09 Freescale Semiconductor, Inc. Multiple core data processor with usage monitoring
CN102004543B (zh) * 2010-11-29 2013-08-07 华为技术有限公司 一种实现cpu节能的方法及装置
JP5786641B2 (ja) 2011-10-25 2015-09-30 富士通株式会社 携帯端末装置の制御方法、制御プログラム及び携帯端末装置
JP5915406B2 (ja) * 2012-06-22 2016-05-11 富士通株式会社 携帯端末装置の制御方法、制御プログラム及び携帯端末装置

Also Published As

Publication number Publication date
US9513685B2 (en) 2016-12-06
US20150033240A1 (en) 2015-01-29
JP2015022729A (ja) 2015-02-02

Similar Documents

Publication Publication Date Title
JP6051924B2 (ja) 情報処理装置の制御方法、制御プログラム、情報処理装置
US9400753B2 (en) Control system, control method, and computer program product
US11182213B2 (en) Application program management method and device
US9626295B2 (en) Systems and methods for scheduling tasks in a heterogeneous processor cluster architecture using cache demand monitoring
US8695008B2 (en) Method and system for dynamically controlling power to multiple cores in a multicore processor of a portable computing device
JP6088667B2 (ja) メモリクリーニング方法及び装置、並びに端末装置
US20160026573A1 (en) Using a decrementer interrupt to start long-running hardware operations before the end of a shared processor dispatch cycle
JP5915406B2 (ja) 携帯端末装置の制御方法、制御プログラム及び携帯端末装置
JP2013542494A5 (ja)
CN105190555A (zh) 集中式任务调度
WO2012120654A1 (ja) タスクスケジューリング方法およびマルチコアシステム
CN110806925B (zh) 音频播放方法及设备
JP2019527867A (ja) モバイルデバイス上でのエネルギー効率のためのウェイクロックアウェアシステム全体のジョブスケジューリング
JP6142709B2 (ja) 計測方法、計測プログラム、携帯情報端末、及びその制御方法
US10275007B2 (en) Performance management for a multiple-CPU platform
CN103019813B (zh) 获取基于SaaS的交互式程序的交互强度的方法
JP6070321B2 (ja) 携帯情報端末、制御方法、制御プログラム
EP3340040A1 (en) Data processing system and data processing method
TWI465889B (zh) 休眠管理方法及相關裝置
KR20220095974A (ko) 전자 장치 및 전자 장치의 제어 방법
CN110968418A (zh) 基于信号-槽的大规模有约束并发任务的调度方法与装置
US20210034409A1 (en) System and method for priority orchestration and scheduling of different background operations
CN117520097A (zh) 操作系统的数据处理方法、装置、计算机设备和存储介质
CN117573322A (zh) 资源管理方法、装置以及电子设备
JP2019200517A (ja) 情報処理装置、情報収集プログラム及び情報収集方法

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20160401

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170221

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170424

R150 Certificate of patent or registration of utility model

Ref document number: 6142709

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150