JP4123640B2 - 情報処理システム及びその制御方法、タスク割当て制御方法及び制御装置、並びにプログラム提供媒体 - Google Patents
情報処理システム及びその制御方法、タスク割当て制御方法及び制御装置、並びにプログラム提供媒体 Download PDFInfo
- Publication number
- JP4123640B2 JP4123640B2 JP17021199A JP17021199A JP4123640B2 JP 4123640 B2 JP4123640 B2 JP 4123640B2 JP 17021199 A JP17021199 A JP 17021199A JP 17021199 A JP17021199 A JP 17021199A JP 4123640 B2 JP4123640 B2 JP 4123640B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- satisfaction
- processor
- variable
- power consumption
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/324—Power saving characterised by the action undertaken by lowering clock frequency
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/329—Power saving characterised by the action undertaken by task scheduling
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
- Microcomputers (AREA)
Description
【発明の属する技術分野】
本発明は、情報処理システムの消費電力の低減に係り、特に、システム内におけるデータ処理の中核を担うプロセッサ(いわゆるCPU:Central Processing Unit)の動作周波数を適宜抑制することによって省電力化を図るタイプの情報処理システム及びその制御方法に関する。更に詳しくは、本発明は、システムのサービス品質を維持しながら省電力化を図る情報処理システム及びその制御方法に関する。
【0002】
【従来の技術】
昨今の技術革新に伴い、デスクトップ型、ノートブック型など各種のパーソナル・コンピュータ(以下、「PC」又は「システム」ともいう)やワークステーションが開発され市販されている。このうち、ノートブック型のコンピュータは、屋外での携帯的・可搬的な使用を考量して、小型且つ軽量に設計・製作されたものである。
【0003】
ノートブック型PCの1つの特徴は、内蔵したバッテリでも駆動できる「バッテリ駆動型」である点である。これは、商用電源が届かない場所での使用を可能にするためである。ノートブックPCが内蔵するバッテリは、一般には、リチウム・イオンなどの充電式のバッテリ・セル(「2次電池」ともいう)を複数個接続してパッケージ化してなる「バッテリ・パック」の形態を採っている。このようなバッテリ・パックは、充電により再利用可能ではあるが、1回当たりの充電容量はシステムのオペレーション時間に換算してせいぜい2〜3時間程度に過ぎない。また、オペレーション時間と同程度の充電時間を要してしまう。このため、バッテリの持続時間を少しでも長くするべく、省電力化するための数々の工夫が凝らされている。省電力化機能を積極的に導入している点も、ノートブックPCの特徴の1つと言えよう。
【0004】
最近では、商用電源によって無尽蔵に給電可能なデスクトップ型PCに対しても、エコロジー的な観点から、省電力化の要求が高まってきている。米環境保護庁(EPA)は、1993年6月に、”Energy Star Computer Program”と呼ばれる自主規制を発表し、動作待ち状態での省電力が一定基準以下(駆動電力が30W以下、又はCPUフル稼働時の30%以下)になることを要求している。このため、各コンピュータ・メーカは、競ってこの規制案に沿ったコンピュータ製品の研究・開発を進めるようになってきた。
【0005】
コンピュータの省電力化は、例えばシステム内の各電気回路コンポーネントの駆動電力そのものを低減させることによって実現される。また、システム内において、動作状態(アクティビティ)が低下したり未使用状態が継続するハードウェア構成要素に対する電源供給を適宜低下し若しくは遮断する、ということによっても実現される。後者のような省電力化機能のことを、特に「パワー・マネージメント(Power Management)」と呼ぶこともある。
【0006】
PCにおけるパワー・マネージメントの実装形態としては、LCD(液晶表示ディスプレイ)及びそのバックライトの電源オフや、ハード・ディスク・ドライブ(HDD)のディスク回転モータの停止などが挙げられる。LCDユニットやHDDなどのデバイス類は、システムの総消費電力に大きなウェートを占めるので、LCDオフやHDDオフによる省電力化の効果は極めて高いと言える。
【0007】
また、CPU(Central Processing Unit)も、システムの総消費電力の約4分の1を占めるので、省電力化に対する期待は高い。
【0008】
液晶表示ディスプレイやハード・ディスク装置については、既に消費電力が減少する見通しである。これに対し、CPUは、今後も、高集積化や動作周波数の高速化などにより、消費電力がさらに増大する可能性がある。このため、CPUに対するパワー・マネージメントは、今後益々重要性を増すであろう。
【0009】
CPUのパワー・マネージメントを実現する典型的な方法は、動作周波数の抑制によって実現される。回路コンポーネントの消費電力は、単位時間当たりにトランジスタ・ゲート(すなわち抵抗体)を通過する電流量で定まる。すなわち、動作周波数の高速化にほぼ比例して消費電力が増大する。逆に、CPUの負荷状況に応じてその動作周波数を段階的に落としていくことで、ゲートを通過する電流量を抑制し、以って消費電力の削減を図ることができるという訳である。動作周波数の低下に応じて電源電圧も下げることにより、消費電力を更に削減することができる。
【0010】
但し、CPUの動作周波数の低下はCPUのパフォーマンス低下を意味するので、システムのサービス品質(あるいはシステムのパフォーマンスを要求するユーザの満足度)とトレードオフの関係にある。
【0011】
例えば300MHzを越える動作周波数により駆動可能なCPUは、常にフル稼動を続けるとバッテリ容量を短時間で消耗してしまうし、全てのタスクがCPUのフル稼動を必要とするとは限らない。クロック・ダウンしたCPUの動作モード下でも、充分なサービス品質が得られるタスクがある。あるいは、システムがユーザ入力待ち状態であれば、CPUをクロック・ダウンさせてもユーザの満足度にはほとんど悪影響がない。
【0012】
他方、リアルタイム性が要求される処理を実行中にCPUのパワー・マネージメント動作(すなわちクロック・ダウン)をイネーブルすると、パフォーマンスが低下する結果としてシステムのサービス品質の低下をも招来する。
【0013】
リアルタイム・タスクは、略言すれば、定められた期限(デッドライン)以前に完了する必要がある処理のことを意味し、例えば、MPEG(Moving Picture Experts Group)圧縮された動画像の各フレームを復元して画面表示する処理などが挙げられる。この場合、フレームの表示時間である30分の1秒毎に1フレームをMPEG復元して表示する処理を完了させる必要がある。すなわち、30分の1秒をデッドラインとして各フレームの処理が行われ、デッドラインが維持されず、次のフレームの処理開始前に処理を完了できなかったフレームは「フレーム落ち」となったりフレームの「重複」となる。一般に、動画像再生・合成や、音声合成・認識などを伴なうアプリケーションは、リアルタイム性が要求される上に、CPUに高い負荷を課する。
【0014】
このようなリアルタイム処理を実行中に、パワー・マネージメントを優先してCPUのパフォーマンスを低下させると、デッドライン以前に処理が完了せず、処理を続ける意味がなくなってしまう。また、デッドラインが守られないと、フレーム落ちやフレームの重複が生じる結果として、システムのサービス品質(すなわちユーザの満足度)は低下する。
【0015】
以上を要約すれば、CPUのパワー・マネージメントはそのパフォーマンス低下を意味することから、システムのサービス品質とトレードオフの関係にある訳である。したがって、システムの応答時間が許容する範囲内でCPUのパワー・マネージメントを行うことが、システム全体の最適化という観点から好ましい。
【0016】
【発明が解決しようとする課題】
本発明の目的は、システム内におけるデータ処理の中核を担うプロセッサの動作周波数を適宜抑制することによって省電力化を図ることができる、優れた情報処理システム及びその制御方法を提供することにある。
【0017】
本発明の更なる目的は、システムのサービス品質を維持しながら、プロセッサの動作周波数を抑制して省電力化を図ることができる、優れた情報処理システム及びその制御方法を提供することにある。
【0018】
本発明の更なる目的は、システムの応答時間が許容する範囲内でプロセッサの動作周波数を抑制して省電力化を図ることができる、優れた情報処理システム及びその制御方法を提供することにある。
【0019】
【課題を解決するための手段】
本発明は、上記課題を参酌してなされたものであり、その第1の側面は、動作速度可変なプロセッサを含み、該プロセッサの動作速度の増大に伴なってサービス品質が向上するとともに消費電力が増加するタイプの情報処理システムであって、
(A)前記プロセッサにおいて次に処理されるタスクを選択し、選択結果に従って該選択されたタスクにプロセッサの制御を移行させる処理を行うスケジューリング手段と、
(B)周期的に起動されて、前記プロセッサの消費電力の予測と動作周波数の設定を行う電力管理手段と、
(C)前記スケジューリング手段からの要求に応答して起動し、タスクが提供するサービスに対する満足度を評価する満足度評価手段と、
を具備することを特徴とする情報処理システムである。
【0020】
本発明の第1の側面に係る情報処理システムにおいて、前記電力管理手段は、前記プロセッサの動作周波数の設定を行う際に、消費電力の予測に基づいて消費電力に関する満足度を計算するとともに、該消費電力に関する満足度が、該情報処理システムが設定する目標満足度に近づくように動作周波数の設定を行うようにしてもよい。
【0021】
また、前記満足度評価手段は、タスクが提供するサービスに対する満足度を評価する際に、消費電力に関する満足度全てのタスクが提供するサービスに対する満足度の加重平均に基づいて、該情報処理システムが設定する目標満足度を評価するようにしてもよい。
【0022】
また、前記満足度評価手段は、タスクが提供するサービスに対する満足度を評価する際に、タスクの間引きの影響を考慮した満足度と、間引きの影響を考慮しない満足度の2つのを計算して満足度を評価するようにしてもよい。
【0023】
また、本発明の第2の側面は、動作速度可変なプロセッサを含み、該プロセッサの動作速度の増大に伴なってサービス品質が向上するとともに消費電力が増加するタイプの情報処理システムの制御方法であって、
(A)前記プロセッサにおいて次に処理されるタスクを選択し、選択結果に従って該選択されたタスクにプロセッサの制御を移行させる処理を行うスケジューリング・ステップと、
(B)周期的に起動されて、前記プロセッサの消費電力の予測と動作周波数の設定を行う電力管理ステップと、
(C)前記スケジューリング・ステップからの要求に応答して起動し、タスクが提供するサービスに対する満足度を評価する満足度評価ステップと、
を具備することを特徴とする情報処理システムの制御方法である。
【0024】
本発明の第2の側面に係る情報処理システムの制御方法において、前記電力管理ステップは、前記プロセッサの動作周波数の設定を行う際に、消費電力の予測に基づいて消費電力に関する満足度を計算するとともに、該消費電力に関する満足度が、該情報処理システムが設定する目標満足度に近づくように動作周波数の設定を行うようにしてもよい。
【0025】
また、前記満足度評価ステップは、タスクが提供するサービスに対する満足度を評価する際に、消費電力に関する満足度全てのタスクが提供するサービスに対する満足度の加重平均に基づいて、該情報処理システムが設定する目標満足度を評価するようにしてもよい。
【0026】
また、前記満足度評価ステップは、タスクが提供するサービスに対する満足度を評価する際に、タスクの間引きの影響を考慮した満足度と、間引きの影響を考慮しない満足度の2つのを計算して満足度を評価するようにしてもよい。
【0027】
また、本発明の第3の側面は、動作速度可変なプロセッサの動作速度の増大に伴なってサービス品質が向上するとともに消費電力が増加するタイプのコンピュータ・システムにおける該サービス品質と該消費電力間で形成されるトレードオフ関係を制御するための処理を該コンピュータ・システム上で実行せしめるためのコンピュータ・プログラムを有形的且つコンピュータ可読な形式で提供するプログラム提供媒体であって、前記コンピュータ・プログラムは、
(A)前記プロセッサにおいて次に処理されるタスクを選択し、選択結果に従って該選択されたタスクにプロセッサの制御を移行させる処理を行うスケジューリング・モジュールと、
(B)周期的に起動されて、前記プロセッサの消費電力の予測と動作周波数の設定を行う電力管理モジュールと、
(C)前記スケジューリング手段からの要求に応答して起動し、タスクが提供するサービスに対する満足度を評価する満足度評価モジュールと、
を具備することを特徴とするプログラム提供媒体である。
【0028】
本発明の第3の側面に係るプログラム提供媒体において、前記電力管理モジュールは、前記プロセッサの動作周波数の設定を行う際に、消費電力の予測に基づいて消費電力に関する満足度を計算するとともに、該消費電力に関する満足度が、該情報処理システムが設定する目標満足度に近づくように動作周波数の設定を行うようにしてもよい。
【0029】
また、前記満足度評価モジュールは、タスクが提供するサービスに対する満足度を評価する際に、消費電力に関する満足度全てのタスクが提供するサービスに対する満足度の加重平均に基づいて、該情報処理システムが設定する目標満足度を評価するようにしてもよい。
【0030】
また、前記満足度評価モジュールは、タスクが提供するサービスに対する満足度を評価する際に、タスクの間引きの影響を考慮した満足度と、間引きの影響を考慮しない満足度の2つのを計算して満足度を評価するようにしてもよい。
【0031】
また、本発明の第4の側面は、プロセッサによるプログラムの実行をタスク単位で管理・制御するタイプの情報処理システムにおけるタスク割当て制御方法であって、
(A)タスクに関する間引き処理の度合いを示す添水変数を取得するステップと、
(B)プロセッサの過負荷の発生に応じて減じられるとともに、単位時間毎に一定の比率で所定値に近づく水量変数を取得するステップと、
(C)タスクの添水変数に水量変数を加算するステップと、
(D)添水変数が閾値を越えたことに応答して、タスクを割当てるとともに該タスクの添水変数から所定値を減ずるステップと、
(E)添水変数が閾値を超えなかったことに応答して、タスク実行のキャンセルを試みるステップと、
を具備することを特徴とするタスク割当て制御方法である。
【0032】
また、本発明の第5の側面は、プロセッサによるプログラムの実行をタスク単位で管理・制御するタイプの情報処理システムにおけるタスク割当て制御装置であって、
(A)タスクに関する間引き処理の度合いを示す添水変数を取得する手段と、
(B)プロセッサの過負荷の発生に応じて減じられるとともに、単位時間毎に一定の比率で所定値に近づく水量変数を取得する手段と、
(C)タスクの添水変数に水量変数を加算する手段と、
(D)添水変数が閾値を越えたことに応答して、タスクを割当てるとともに該タスクの添水変数から所定値を減ずる手段と、
(E)添水変数が閾値を超えなかったことに応答して、タスク実行のキャンセルを試みる手段と、
を具備することを特徴とするタスク割当て制御装置である。
【0033】
また、本発明の第6の側面は、プロセッサによるプログラムの実行をタスク単位で管理・制御するタイプのコンピュータ・システムにおけるタスク割当てを制御するための処理を該コンピュータ・システム上で実行せしめるためのコンピュータ・プログラムを有形的且つコンピュータ可読な形式で提供するプログラム提供媒体であって、前記コンピュータ・プログラムは、
(A)タスクに関する間引き処理の度合いを示す添水変数を取得するステップと、
(B)プロセッサの過負荷の発生に応じて減じられるとともに、単位時間毎に一定の比率で所定値に近づく水量変数を取得するステップと、
(C)タスクの添水変数に水量変数を加算するステップと、
(D)添水変数が閾値を越えたことに応答して、タスクを割当てるとともに該タスクの添水変数から所定値を減ずるステップと、
(E)添水変数が閾値を超えなかったことに応答して、タスク実行のキャンセルを試みるステップと、
を具備することを特徴とするプログラム提供媒体である。
【0034】
【作用】
本発明に係る情報処理システム及びその制御方法によれば、消費電力に関する満足度と各タスクのサービス品質に関する満足度の加重平均に基づいて情報処理システム全体についての目標満足度を評価するとともに、プロセッサの消費電力の予測値に基づいて消費電力に関する満足度を計算して、消費電力に関する満足度がシステム全体の目標満足度に近づくようなプロセッサの動作周波数の設定を行うようにしたので、システムのサービス品質を維持しながら、プロセッサの動作周波数を抑制して省電力化を図ることができる。
【0035】
また、本発明に係る情報処理システム及びその制御方法によれば、システムの応答時間が許容する範囲内でプロセッサの動作周波数を抑制して省電力化を図ることができる。
【0036】
本発明の第3及び第6の側面に係るプログラム提供媒体は、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ・プログラムを有形的且つコンピュータ可読な形式で提供する媒体である。媒体は、CD(Compact Disc)やFD(Floppy Disc)、MO(Magneto−Optical disc)などの着脱自在で可搬性の記憶媒体、あるいは、ネットワーク(ネットワークは無線、有線の区別を問わない)などの伝送媒体など、その形態は特に限定されない。
【0037】
このようなプログラム提供媒体は、コンピュータ・システム上で所定のコンピュータ・プログラムの機能を実現するための、コンピュータ・プログラムと提供媒体との構造上又は機能上の協働的関係を定義したものである。換言すれば、本発明の第3乃至第6の各側面に係るプログラム提供媒体を介して所定のコンピュータ・プログラムをコンピュータ・システムにインストールすることによって、コンピュータ・システム上では協働的作用が発揮され、本発明の第1及び第4の各側面と同様の作用効果を得ることができる。
【0038】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。
【0039】
【発明の実施の形態】
以下、図面を参照しながら本発明の実施例を詳解する。
【0040】
図1には、本発明を実現するのに適した情報処理システム10のハードウェア構成を模式的に示している。情報処理システム10は、例えば「ワークステーション」又は「パーソナル・コンピュータ」と呼ばれる汎用コンピュータ・システムでよい。以下、各部について説明する。
【0041】
プロセッサ11は、情報処理システム10全体の動作を統括的に制御するメイン・コントローラであり、一般には、CPU(Central Processing Unit)若しくはMPU(Micro Processing Unit)と呼ばれる。プロセッサ11は、オペレーティング・システム(OS)の制御下で、各種のアプリケーション・プログラムを実行する。
【0042】
本実施例のプロセッサ11は、クロック生成器50(後述)から供給される所定周波数の動作クロック信号に同期して駆動する。また、プロセッサ11は、稼動中に動作周波数を変化させることが可能であるが、動作周波数が増大するに従って処理速度すなわちパフォーマンスが向上する一方、消費電力も増大する。
【0043】
プロセッサ11は、バス12を介してその他の各周辺装置と相互接続されている。バス12は、アドレス・バス、データ・バス、コントロール・バスなど多数のバス信号線で構成される共通信号伝送路であり、例えばPCI(Peripheral Component Interconnect)バスやISA(Industry Standard Architecture)バスがこれに該当する。バス接続された各周辺装置は、それぞれ固有のI/Oアドレス(又はメモリ・アドレス)が割り振られたI/Oレジスタを含んでいる。プロセッサ11(より具体的には、プロセッサ11が実行するソフトウェア・プログラム)は、I/Oアドレスを指定することで、周辺装置のI/Oレジスタにデータやコマンドを読み書きして所望の制御を実行することができる。
【0044】
RAM(Random Access Memory)13は、プロセッサ11が実行するプログラム・コードをロードしたり、作業データを一時格納するために使用される書き込み可能なメモリである。RAM13は、通常、複数個のDRAM(Dynamic RAM)チップで構成される。
【0045】
ROM(Read Only Memory)14は、製造時に格納データが恒久的に書き込まれる読み出し専用の不揮発メモリである。ROM14上には、例えば、システム10の電源投入時に実行する自己診断テスト・プログラム(POST)や、ハードウェア入出力操作を実行するためのコード群(BIOS)が格納されている。ROM14は、例えばEEPROM(Electrically Erasable and Programmable ROM)のように消去再書き込みが可能なタイプであってもよい。
【0046】
キーボード/マウス・コントローラ(KMC)15は、キーボードやマウスなどの入力装置16を介したユーザからのコマンド入力などを受容する装置である。KMC15は、キーボードからのキャラクタ入力やマウスからの座標指示入力が発生したことに応答して、プロセッサ11に対して割り込み要求を発行する。
【0047】
ディスプレイ・コントローラ17は、表示部18における描画処理を制御する周辺コントローラであり、描画データを一時格納するフレーム・バッファ(図示しない)を備えている。表示部18は、CRT(Cathode Ray Tube:陰極線管)ディスプレイやLCD(Liquid Crystal Display:液晶表示ディスプレイ)などであり、その画面には、処理データやコマンド入力のためのメニューなどを含んだGUI(Graphical User Interface)作業画面(ウィンドウ)が表示される。
【0048】
外部記憶装置19は、例えば、ハード・ディスク・ドライブ(HDD)のような、比較的大容量で再書き込み可能且つ不揮発の記憶装置であり、データ・ファイルを蓄積したり、プログラム・ファイルをインストールするために使用される。外部記憶装置19は、例えば、ハード・ディスク・ドライブ(HDD)のような、比較的大容量で再書き込み可能且つ不揮発の記憶装置であり、データ・ファイルを蓄積したり、プログラム・ファイルをインストールするために使用される。
【0049】
メディア・ドライブ20は、カートリッジ式のメディアを交換可能に装填して、メディア表面上の担持データを読み書きするための装置である。ここで言うメディアとして、MO(Magneto−Optical disc)、CD−ROM、DVD(Digital Versatile Disc)などの、システム10から着脱自在で可搬型のメディアが挙げられる。例えば、本発明を具現化した電力管理用のプログラム・コードは、コンピュータ可読なファイル形式でメディア上に有形的に格納され、かかるメディアを媒介として流通され、メディア・ドライブ20によって外部記憶装置19にインストールすることができる。
【0050】
ネットワーク・インターフェース21は、情報処理システム10を所定の通信プロトコル(例えば、TCP/IP(Transmission Control Protocol/Internet Protocol)プロトコル)に従ってネットワーク接続するための装置である。ネットワーク上には、複数のコンピュータ・システム(以下では、「リモート・システム」とも呼ぶ:図示しない)が存在する。ネットワーク上の各システム間では、例えばパケット交換方式で、コンピュータ可読なプログラムやデータを有形的な形態で伝送することができる。本実施例の情報処理システム10は、リモート・システムからネットワーク経由で、本発明を具現化した電力管理用のプログラム・ファイルなどの供給を受けることもできる。
【0051】
クロック生成器50は、プロセッサ11などに対して同期駆動用のクロック信号を供給するための装置である。本実施例のクロック生成器50は、出力クロック信号の周波数を可変に制御することができるであるが、詳細については後述に譲る。
【0052】
なお、情報処理システム10を実際に構成するためには、図1に示した以外にも多くのハードウェア・コンポーネントが必要である。但し、これらは当業者には周知であり、また、本発明の要旨を構成するものではないので、本明細書中では省略している。(例えば、情報処理システム10は、実時間(システム時間)を計時するためのリアルタイム・クロックを有するが、図1中では省略している。)また、図面の錯綜を回避するため、図中の各ハードウェア・ブロック間の接続も抽象化して図示している点を了承されたい。
【0053】
図2には、クロック生成器50の内部構成を模式的に示している。同図に示すように、クロック生成器50は、クロック・パルス生成部60とクロック・パルス生成制御部70とで構成される。以下、各部について説明する。
【0054】
クロック・パルス生成部60は、水晶発振器61と、第1のPLL(Phase Lock Loop)回路62Aと、第2のPLL回路62Bと、第1の分周器63Aと、第2の分周器63Bとで構成される。水晶発振器62は、水晶の材料特性に基づいた所定周期のパルスを発生し、各PLL回路62A及び62Bはこの発生パルのス周期を逓倍し、各分周期63A及び63Bはさらにパルスの周期を分周することで、所定値の周波数を生成し外部出力することができる。本実施例のクロック・パルス生成部60は、逓倍率と分周比がソフトウェア・プログラマブルであり、クロック・パルス生成制御部70の制御を受ける。
【0055】
クロック・パルス生成制御部70は、バス12に接続されており、所定のI/Oアドレスが割り振られたI/Oレジスタを備えている。I/Oレジスタの一部は周波数制御レジスタ(Frequency Control Register:FRQCR)72として用いられ(I/Oアドレスを例えば#ffffff80番地とする)、他の一部はスタンバイ制御レジスタ(Standby Control Register:STBCR)73として用いられている。プロセッサ11(より具体的には、プロセッサ11が実行するプログラム・コード)がアドレス指定して転送したデータやコマンドは、バス・インターフェース71経由でこれらI/Oレジスタ72又は73に書き込まれる。
【0056】
周波数制御レジスタ72には、クロック・パルス生成部60の動作を制御するための逓倍率や分周比が書き込まれる。すなわち、プロセッサ11はI/Oアドレス#ffffff80番地を指定して、周波数制御レジスタ72の逓倍率や分周比を更新すると、これに応答して、クロック周波数制御回路74はクロック・パルス生成部60内のPLL回路62A,62Bの逓倍率や分周器63A,63Bの分周比を変更して、プロセッサ11に供給するクロックの周波数を指定値に変更する。
【0057】
また、スタンバイ制御レジスタにスタンバイ開始/終了コマンド(仮称)が書き込まれると、スタンバイ制御回路75は、クロック・パルス生成部60をスタンバイ・モードに陥れたりスタンバイ・モードから復帰させたりする。但し、スタンバイ・モード自体は本発明の要旨とは直接関連しないので、本明細書中ではこれ以上説明しない。
【0058】
本実施例で使用されるプロセッサ11は、クロック発生器50が供給する動作周波数を変更することによって、その消費電力とパフォーマンス(すなわちリアルタイム・タスクに対する満足度)を制御できる構成であることを前提とする。また、以下の説明では、便宜上、プロセッサ11の消費電力は、その動作周波数にほぼ比例するものとする。
【0059】
また、本実施例のプロセッサ11は、そのパフォーマンスと消費電力の間で形成されるトレードオフ関係を好適に制御するために、アプリケーションが要求するタスクを実行するバックグラウンドで、以下の3つの機能モジュールを実行する。
【0060】
(1)スケジューリング・モジュール
スケジューリング・モジュールは、プロセッサ11が各時点においてどのタスクの処理を実行すべきかを決定し、決定結果に従って制御権をタスクに移行させる処理を行う。
【0061】
(2)電力管理モジュール
電力管理モジュールは、周期的に起動されて、プロセッサ11の消費電力の予測と動作周波数の設定を行う。より具体的に言えば、プロセッサ11の消費電力を予測して消費電力に関する満足度を計算するとともに、消費電力に関する満足度がシステム10全体の目標満足度に最も近くなるような動作周波数に設定する。目標満足度は、次パラグラフで説明する満足度評価モジュールが計算する。
【0062】
(3)満足度評価モジュール
満足度評価モジュールは、各タスクがどの程度満足できるサービスを提供できているかを評価する。満足度評価モジュールは、スケジューリング・モジュールからの要求に応答して起動する。本実施例では、消費電力に関する満足度と各タスクのサービス品質に関する満足度の加重平均に基づいて、システム10全体についての目標満足度を算出することとする。
満足度の評価は、タスクの間引きの影響を考慮した満足度と、間引きの影響を考慮しない満足度の2通りを計算して行う。本実施例では、0.0から1.0の間の実数で満足度を表すこととする。
【0063】
本実施例に係る情報処理システム10では、プロセッサ11のパフォーマンスと消費電力の間で形成されるトレードオフ関係を参照しながら、プロセッサ11が実行する各タスクのスケジューリングが行われる。図3には、情報処理システム10におけるスケジューリング・メカニズムを模式的に示している。
【0064】
プロセッサ11において実行されるアプリケーション・プログラムは、タスクという単位で管理・制御される。アプリケーションが実行を要求したタスクは、実行可能タスク・キューという待ち行列に入れられる。
【0065】
実行可能タスク・キューに蓄積されたタスクのうち、デッドラインが最も早いものが優先的に抽出される。例えば、MPEGデータの復元・表示を行う処理のように、リアルタイム性の要求が高いタスクは、優先的に抽出される。
【0066】
ディスパッチ機構は、実行すべきタスクの通知を受けると、実行可能タスク・キューからこれを取り出して、タスクの実行を開始せしめる。また、タスクのデッドラインをデッドライン・ミス検出タイマに通知する。
【0067】
デッドライン・ミス検出タイマは、デッドラインにタイマを設定して、該タイマが消滅するまでにタスクを完了するか否か、すなわち各タスクのデッドラインが守られているか否かを検出する。デッドライン以前に完了しないタスク、すなわちデッドライン・ミスを検出すると、間引き処理のためにプロセッサ11の過負荷を通知する。デッドライン・ミス検出タイマは、設定さたれ時刻にプロセッサ11に対して割り込みを発生する機能を備えタイマであり、同時に複数の時刻を設定することができる。
【0068】
間引き処理は、過負荷の通知に応答して、このタスクの実行を取り消すべく、キャンセル・シグナルを付勢する。
【0069】
資源配分・電力管理機構は、キャンセル・シグナルを受理して、プロセッサ11のパフォーマンスと消費電力の間で形成されるトレードオフ関係するべく、プロセッサ11の処理資源の配分と電力管理を制御する。
【0070】
なお、上述の間引き処理は、リアルタイム・タスクの起動を間引いて、システム10がユーザに提供するサービス品質(すなわち満足度)を一定水準に保つための処理を行う。間引き処理では、タスクのディスパッチのタイミングを制御するために、添水変数と水量変数という2つの変数を導入している。
【0071】
水量変数は、各タスクの実行を間引くことによってシステム10の負荷を減少させる割合を示す変数であり、過負荷の発生によって一定量が減じられるとともに、周期的に一定比率で1.0に接近するようになっている。これに対し、添水変数は、サービス品質の満足度や平均満足度の比較結果と等価な容量を示す変数であり、0.0〜2.0の値をとる。
【0072】
水量変数値が添水変数値に加算されて、添水変数値がオーバーフローする(すなわち1.0を越える)と、最早のデッドラインを持つタスクをディスパッチ機構に転送する。このとき、添水変数値は1だけ減じられる。他方、水量値を加算しても添水変数値がオーバーフローしなければ、過負荷状態と判断して、キャンセル・シグナルを発行して、当該タスクを間引く。水量変数と添水変数を用いた協働的動作は、水が足されて貯水量が一定値を超えると、添水が反転して放水してしまう(すなわちタスクをディスパッチする)が、貯水量が一定値に満たないと添水が反転しない(すなわちタスクがディスパッチされない)という動作と等価である。
【0073】
図4には、本実施例における資源配分・電力管理のメカニズムを模式的に図解している。同図に示すように、資源配分と電力管理では、消費電力に対する満足度と、各タスク毎のサービス品質に対する満足度との加重平均が求められる。そして、この加重平均値が示すシステム10の総体的な満足度をフィードバックして、電力管理すなわちプロセッサ11の動作周波数が決定される。
【0074】
加重平均を計算する際、消費電力や各タスクに対する注目度を考慮して重量因子を印加するようにしてもよい。タスクに対する注目度とは、例えば、タスク実行の優先度などを意味する。
【0075】
電力管理のための制御系では、電力管理モジュールによって算出された消費電力に対する満足度と、加重平均値が示すシステム10全体に対する満足度との差分がアキュムレータに蓄積され、このアキュムレータの出力が電力管理モジュールにフィードバックされる。
【0076】
他方、資源配分のための制御系は、実行中の各タスク毎に1つずつ設けられる。
【0077】
各タスクに関する資源配分のための制御系では、タスクに対する満足度評価モジュールは、タスクのキャンセルを考慮した場合及び考慮しない場合の各々についてのサービス満足度を出力する。このうち、キャンセルを考慮した満足度を用いて加重平均が算出される。
【0078】
次に、スケジューリング・モジュールにおける処理について説明する。図5には、スケジューリング・モジュールにおいて実行される処理手順を、フローチャートの形式で示している。以下、このフローチャートの各ステップについて説明する。
【0079】
まず、ステップS11において、実行可能タスク・キュー中に実行可能タスクが存在するか否かを判断する。実行可能タスク・キューは、アプリケーションから要求された実行可能状態のタスクをリスト形式で保持するデータ構造を有している。本実施例では、デッドラインが最も早い方から順に取り出せるように実装されている。
【0080】
実行可能タスクが存在しなければ、ステップS12に進んで、システム10はスリープ状態に遷移する。スリープ状態とは、その字義通り、システム10の動作状態を低下させた状態である。システム10をスリープさせる方法は、プロセッサ11の動作を停止させる他、ハード・ディスク装置19やディスプレイ18などの周辺装置への給電を遮断するなど、様々な形態が考えられる。但し、スリープ動作自体は、本発明の要旨とは直接関連しないので、本明細書ではこれ以上説明しない。
【0081】
スリープ状態下で、システム10に対し何らかの割り込み要因が発生すると、システム10はウェーク・アップして通常動作の状態に復帰する。割り込み要因の一例は、キーボードやマウスなど入力装置16を介したユーザ入力の発生である。
【0082】
システム10は、スリープ時間、すなわちスリープ開始から割り込み発生までの時間を計算する(ステップS13)。かかる時間の計算には、リアルタイム・クロック(前述)が計時するシステム時間が利用される。そして、算出したスリープ時間をシステム10の合計スリープ時間に加算する(ステップS14)。この「合計スリープ時間」は、電力管理モジュールがプロセッサ11の利用率を計算するために用いる変数であり(後述)、最後に電力管理モジュールが起動してから現在時刻に至るまでの合計スリープ時間を意味する。
【0083】
他方、ステップS11において、実行可能タスクが存在する場合には、ステップS15に進んで、実行可能タスク・キュー中で最も早いデッドラインが設定されているタスクを変数Tに代入する。次いで、タスクTのデッドラインをデッドライン・ミス検出タイマに設定して(ステップS16)、システム10の制御権をタスクTに与える(ステップS17)。デッドライン・ミス検出タイマは、設定された時刻にプロセッサ11に対して割り込みを発生する機能を備えタイマであり、同時に複数の時刻を設定することができる(前述)。
【0084】
そして、スリープ状態で割り込みが発生してスリープ時間を終了後(ステップS14)、または、タスクTを実行中に割り込みが発生した場合(ステップS18)には、ステップS19に進んで割り込み要求を受理し、次いで、ステップS20で割り込み要因を検証する。
【0085】
割り込み要因がタスク起動タイマからの割り込みであった場合には、ステップS21〜S24で形成される一連の処理を行う。この一連の処理は、略言すれば、周期的に実行されるタスク(以下では、タスクTとする)を次回実行するための前処理のことである。また、ここで言う「タスク起動タイマ」とは、設定された時刻にプロセッサ11に対して割り込みを発生させる機能を備えたタイマのことであり、同時に複数の時刻を設定することができる。
【0086】
ステップS21では、タスクTが持つ添水変数に水量変数を加算する。
【0087】
タスクTの添水変数とは、タスクTに関するサービス品質の満足度や平均満足度の比較結果と等価な容量を示す変数であり、0.0〜2.0の値をとる。添水変数は、リアルタイム・タスクを間引くために用いられる(後述)。
【0088】
また、水量変数は、プロセッサ11に対する負荷の発生によって一定量が減じられるとともに、周期的に一定比率で1.0に接近するようになっており、0.0から1.0までの値をとる。水量変数の値は、各タスクの実行を間引くことによってプロセッサ11の負荷を減少させる割合を示している。すなわち、水量変数値が1.0のときはタスクの間引きは全く行われず、0.0のときは全てのタスクが間引かれどのタスクも起動しない状態となる。
【0089】
ステップS22では、タスクTの添水変数が1.0より小さいか否かを判断し、該判断結果が否定的であれば、タスクTの添水変数から1.0を減算して(ステップS23)、タスクTを実行可能タスク・キューに追加して(ステップS24)、ステップS11に復帰する。また、ステップS22における判断結果が肯定的であれば、満足度評価モジュールのキャンセル・ルーチン(後述)をコールする。
【0090】
ステップS21及びS22における水量変数と添水変数を用いた協働的動作は、水が足されて貯水量が一定値を超えると、添水が反転して放水してしまう(すなわちタスクをディスパッチする)が、貯水量が一定値に満たないと添水が反転しない(すなわちタスクがディスパッチされない)という動作と等価である。
【0091】
他方、ステップS20において、割り込み要因がデッドライン・ミス検出タイマからの割り込みであった場合には、ステップS25〜S29で形成される処理を行う。該処理は、略言すれば、実行に失敗したタスクをキャンセルして、他のタスクの実行を準備する処理のことである。
【0092】
ステップS25では、水量変数に絞り速度変数を乗算して、満足度評価モジュールのキャンセル・ルーチン(後述)をコールする(ステップS26)。ここで言う「絞り速度変数」とは、システム10が過負荷状態に陥ったときに水量変数値を減少させる割合を示す変数である。絞り速度変数値は、0.0から1.0までの間の実数をとり、例えばシステム10の設計者がアプリケーションの特性やシステム10の性能を考慮して自由に設定することができる。
【0093】
満足度評価モジュールのキャンセル処理を終えた後、ステップS28に進んで、タスクTを実行可能タスク・キューから取り除く。
【0094】
次いで、次の周期の実行開始時刻をタスク起動タイマに登録してから、ステップS11に復帰する。
【0095】
また、ステップS18において、割り込みが発生しなかった場合には、満足度評価モジュール完了手続きを呼び出して該モジュールを完了させる(ステップS27)。次いで、実行に失敗したタスクをキャンセルして他のタスクの実行を準備する処理を行うべく、ステップS28及びS29を実行してから、ステップS11に復帰する。
【0096】
次に、電力管理モジュールにおける処理について説明する。
【0097】
電力管理モジュールは、システム10によって定められた時間(例えば10ミリ秒)毎に起動される。そして、スケジューリング・モジュールによって設定される合計スリープ時間(前述)を参照することによって、プロセッサ11の利用率を計算する。さらに、算出された利用率と現在の動作周波数とから、プロセッサ11の消費電力の予測値を計算する。プロセッサ11の消費電力が動作周波数に比例する場合には、消費電力の予測値Pは以下の式(1)に従って計算することができる。
【0098】
【数1】
【0099】
但し、上式(1)において、Pmは最大動作周波数で動作中のプロセッサ11の消費電力、PSはスリープ中のプロセッサ11の消費電力、fはプロセッサ11の動作周波数、fmはプロセッサ11の最大動作周波数、uはプロセッサ11の利用率とする。
【0100】
図6には、電力管理モジュールにおいて実行される処理手順をフローチャートの形式で示している。以下、このフローチャートの各ステップについて説明する。
【0101】
まず、ステップS41では、プロセッサ11の利用率uを算出する。利用率uは、(繰返し周期−合計スリープ時間)/繰返し周期という計算式で求まる。合計スリープ時間は、スケジューリング・モジュールによって算出される(前述)。
【0102】
次いで、合計時間をゼロにしてから(ステップS42)、プロセッサ11の消費電力Pを予想する(ステップS43)。予想消費電力Pは、利用率uと現在の動作周波数fに基づいて、上式(1)を適用して求まる。
【0103】
次いで、算出された予想消費電力を基に、消費電力に関する満足度を計算する(ステップS44)。
【0104】
次いで、消費電力に関する満足度が目標満足度に最も近くなる動作周波数を計算して(ステップS45)、プロセッサ11の動作周波数を設定する。
【0105】
動作周波数の設定は、クロック発生器50内の周波数制御レジスタ72にI/Oアクセスして、クロック・パルス発生部60における逓倍率と分周比を書き込むことによって行われる(前述及び図2を参照のこと)。
【0106】
そして、電力管理モジュールは、休眠状態に遷移して、次の起動時間まで待機する。
【0107】
次に、満足度評価モジュールにおける処理について説明する。満足度評価モジュールは、各タスクに関する満足度を計算するためのものである。また、満足度評価モジュールは、サービスの種別に応じて自由に設定可能な「QoSレベル設定手続き」、「満足度評価手続き」、「キャンセル通知手続き」、及び「完了通知手続き」などの手続を利用する。これらの手続は、満足度評価モジュール内のメカニズムとしてではなく、アプリケーション・プログラムの設計者が実装することが好ましい。
【0108】
図7には、満足度評価モジュールにおいて実行される処理手順をフローチャートの形式で示している。以下、このフローチャートの各ステップについて説明する。
【0109】
図5のフローチャートで示した通り、満足度評価モジュールは、キャンセル・ルーチン又は完了ルーチンとしてコールされる(前述及び図5中のステップS26又はS27を参照のこと)。前者の場合はキャンセル通知手続が行われ(ステップS51)、後者の場合は完了通知手続が行われる(ステップS52)。
【0110】
これらの手続は、間引きによる満足度の減少度合いを計算するための手続であり、手続実行の結果として0.0から1.0の間の値を返す。戻り値が1.0のときは満足度に全く影響を与えないが、0.0に近づくにつれて多大な影響を与えることを示す。この戻り値は変数rに代入される。
【0111】
これらの手続を呼び出したタスクがアプリケーション・タスクであれば、例えば以下に示す表に従って戻り値(すなわち満足度に与える影響度)を計算することができる。
【0112】
【表1】
【0113】
次いで、ステップS53では、目標満足度からキャンセルを考慮しない満足度を引いた値を変数dに代入する。
【0114】
次いで、ステップS54では、max(1.0,min(0.0,QoSレベル+感度×d))をQoS(Quality of Service)レベルに代入する。ここで、「Qosレベル」とは、現在ユーザに提供しているサービスの品質を推量するための値であり、0.0以上の実数値である。また、感度とは、目標満足度と現在の満足度との差に対して、どの程度敏感にQoSレベルを変更すべきかを指示するパラメータであり、0.0以上の実数値である。アプリケーション・プログラムの設計者は、アプリケーションの特性に応じて感度を調整する必要がある。
【0115】
次いで、QoSレベルの設定手続を実行する(ステップS55)。該手続きは、QoSレベルの値を設定するための関数である。例えば、動画像を生成するアプリケーションにおいて、生成する動画像のフレーム・レートをQoSレベルの値に応じて変化させる場合について考えてみる。QoSレベルの値を、以下の表に示すようにフレームレートと対応付けるものとする。
【0116】
【表2】
【0117】
QoSレベル設定手続きは、上表を基にフレームレートを設定して、アプリケーションが適切にフレームレートに応じた処理が行えるよう、様々なパラメータの設定を行う。
【0118】
次いで、ステップS56では、満足度評価手続きを呼び出して、その結果を「キャンセルを考慮しない満足度」に代入する。
【0119】
満足度評価手続きは、実際に設定されたQoSがユーザにとってどの程度の満足を与えるかを予測する手続きであり、0.0から1.0の間の値を返す。戻り値が大きくなるにつれて満足度が高くなるように計算を行う。例えば、動画像を生成するアプリケーション・タスクの場合、以下の表に従って満足度を評価することができる。
【0120】
【表3】
【0121】
上表に従う満足度評価手続きの場合、QoSレベルの値が満足度と一意であるが、必ずしもこれに限定されない。より要求の高いアプリケーション・タスクの場合、フレームレートが低下するに従って急激に満足度が低下するように設定してもよい。
【0122】
次いで、キャンセルを考慮しない満足度にキャンセル通知手続き又は完了通知手続きの戻り値rを乗算した値を満足度に代入する(ステップS57)。
【0123】
最後に、下式に従って目標満足度を計算して(ステップS58)、この処理ルーチン全体を終了する。
【0124】
【数2】
【0125】
[追補]
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【0126】
【発明の効果】
以上詳記したように、本発明によれば、システム内におけるデータ処理の中核を担うプロセッサの動作周波数を適宜抑制することによって省電力化を図ることができる、優れた情報処理システム及びその制御方法を提供することができる。
【0127】
また、本発明によれば、システムの応答時間が許容する範囲内でプロセッサの動作周波数を抑制して省電力化を図ることができる、優れた情報処理システム及びその制御方法を提供することができる。
【0128】
本発明に係る情報処理システム及びその制御方法は、消費電力に関する満足度と各タスクのサービス品質に関する満足度の加重平均に基づいて情報処理システム全体についての目標満足度を評価するとともに、プロセッサの消費電力の予測値に基づいて消費電力に関する満足度を計算して、消費電力に関する満足度がシステム全体の目標満足度に近づくようなプロセッサの動作周波数の設定を行うよう。したがって、システムのサービス品質を維持しながら、プロセッサの動作周波数を抑制して省電力化を図ることができる。
【図面の簡単な説明】
【図1】本発明を実現するのに適した典型的な情報処理システム10のハードウェア構成を模式的に示した図である。
【図2】プロセッサ11に対して動作クロックを供給するクロック生成器50の内部構成を模式的に示した図である。
【図3】情報処理システム10におけるスケジューリング・メカニズムを模式的に示した図である。
【図4】情報処理システム10における資源配分・電力管理のメカニズムを模式的に示した図である。
【図5】スケジューリング・モジュールにおいて実行される処理手順示したフローチャートである。
【図6】電力管理モジュールにおいて実行される処理手順示したフローチャートである。
【図7】満足度評価モジュールにおいて実行される処理手順示したフローチャートである。
【符号の説明】
10…情報処理システム
11…プロセッサ
12…バス
13…RAM
14…ROM
15…キーボード/マウス・コントローラ
16…入力装置(キーボード/マウス)
17…ディスプレイ・コントローラ
18…ディスプレイ
19…外部記憶装置(HDD)
20…メディア・ドライブ
21…ネットワーク・インターフェース
50…クロック生成器
Claims (13)
- 動作速度可変なプロセッサを含み、該プロセッサの動作速度の増大に伴ってサービス品質が向上するとともに消費電力が増加するタイプの情報処理システムであって、
(A)前記プロセッサにおいて次に処理されるタスクを選択し、選択結果に従って該選択されたタスクにプロセッサの制御を移行させる処理を行うスケジューリング手段と、
(B)周期的に起動されて、前記プロセッサの消費電力を予測して消費電力に関する満足度を計算するとともに、動作周波数の設定を行う電力管理手段と、
(C)前記スケジューリング手段からの要求に応答して起動し、タスクのサービス品質に関する満足度を評価するとともに、該タスクのサービス品質に関する満足度に基づいて当該システム全体の目標満足度を算出する満足度評価手段と、
を備え、
前記スケジューリング手段は、実行が要求されたタスクを実行可能タスク・キューに入れ、該実行可能タスク・キュー内にタスクがあるときにはデッドラインに応じて実行すべきタスクを取り出して実行を開始させるとともに、デッドライン・ミスを検出したことに応じてタスクの起動を間引く間引き処理を実行し、該実行可能タスク・キュー内にタスクがないときには前記システムをスリープ状態に遷移させるとともにスリープ時間を計算し、
前記満足度評価手段は、前記スケジューリング手段がタスクを間引き処理したことによるタスクが提供するサービスに対する満足度の減少度合いを基にタスクが提供するサービス品質がユーザに与える満足度を評価するとともに、前記の消費電力に関する満足度と各タスクのサービス品質に関する満足度の加重平均に基づいて前記の当該システム全体の目標満足度を算出し、
前記電力管理手段は、前記スケジューリング手段が計算したスリープ時間に基づいて前記プロセッサの利用率を計算するとともに、前記プロセッサの利用率と現在の動作周波数から前記プロセッサの消費電力の予測値を計算し、該予想消費電力を基に前記の消費電力に関する満足度を計算し、消費電力に関する満足度が前記の当該システム全体の目標満足度に最も近くなる前記プロセッサの動作周波数を設定する、
ことを特徴とする情報処理システム。 - 前記スケジューリング手段は、タスクの実行を間引くことによってプロセッサの負荷を減少させる割合を示す水量変数と、タスクに関するサービス品質の満足度又は平均満足度の比較結果と等価な添水変数を設け、プロセッサの過負荷の発生に応じて前記水量変数を決定し、前記実行可能タスク・キュー中の最早のデッドラインを持つタスクの前記添水変数に前記水量変数を加算して添水変数が所定値を超えたことに応じて該タスクを前記実行可能タスク・キューから取り出してタスクの実行を開始するとともに前記添水変数から前記所定値を減算するが、該タスクの前記添水変数に前記水量変数を加算して前記添水変数が前記所定値を超えないときには前記実行可能タスク・キューからタスクを取り出さないことによりタスクの起動を間引く、
ことを特徴とする請求項1に記載の情報処理システム。 - 前記スケジューリング手段は、前記水量変数を、プロセッサの過負荷の発生に応じて一定量だけ減じるとともに、周期的に一定比率で前記所定値に近づける、
ことを特徴とする請求項2に記載の情報処理システム。 - 前記スケジューリング手段は、タスクをキャンセルする間引き処理が行なわれたプロセッサの過負荷の発生に応じて、前記水量変数を減少させる、
ことを特徴とする請求項2に記載の情報処理システム。 - 前記スケジューリング手段は、デッドライン・ミスを検出したことに応じて前記水量変数を減少させる、
ことを特徴とする請求項2に記載の情報処理システム。 - 前記スケジューリング手段は、周期的に実行されるタスクを次回実行する際に、
該タスクの前記添水変数に前記水量変数を加算し、前記添水変数が前記所定値を超えたことに応じて該タスクを前記実行可能タスク・キューに追加するとともに前記添水変数から前記所定値を減算する、
ことを特徴とする請求項2に記載の情報処理システム。 - 動作速度可変なプロセッサを含み、該プロセッサの動作速度の増大に伴ってサービス品質が向上するとともに消費電力が増加するタイプのコンピュータの制御方法であって、
(A)前記コンピュータが備えるスケジューリング手段が、前記プロセッサにおいて次に処理されるタスクを選択し、選択結果に従って該選択されたタスクにプロセッサの制御を移行させる処理を行うスケジューリング・ステップと、
(B)周期的に起動されて、前記プロセッサの消費電力を予測して消費電力に関する満足度を計算するとともに、動作周波数の設定を行う電力管理ステップと、
(C)前記スケジューリング手段からの要求に応答して起動し、タスクのサービス品質に関する満足度を評価するとともに、該タスクのサービス品質に関する満足度に基づいて当該システム全体の目標満足度を算出する満足度評価ステップと、
を備え、
前記スケジューリング・ステップでは、実行が要求されたタスクを実行可能タスク・キューに入れ、該実行可能タスク・キュー内にタスクがあるときにはデッドラインに応じて実行すべきタスクを取り出して実行を開始させるとともに、デッドライン・ミスを検出したことに応じてタスクの起動を間引く間引き処理を実行し、該実行可能タスク・キュー内にタスクがないときには前記システムをスリープ状態に遷移させるとともにスリープ時間を計算し、
前記満足度評価ステップでは、前記スケジューリング手段がタスクを間引き処理したことによるタスクが提供するサービスに対する満足度の減少度合いを基にタスクが提供するサービス品質がユーザに与える満足度を評価するとともに、前記の消費電力に関する満足度と各タスクのサービス品質に関する満足度の加重平均に基づいて前記の当該システム全体の目標満足度を算出し、
前記電力管理ステップでは、前記スケジューリング手段が計算したスリープ時間に基づいて前記プロセッサの利用率を計算するとともに、前記プロセッサの利用率と現在の動作周波数から前記プロセッサの消費電力の予測値を計算し、該予想消費電力を基に前記の消費電力に関する満足度を計算し、消費電力に関する満足度が前記の当該システム全体の目標満足度に最も近くなる前記プロセッサの動作周波数を設定する、
ことを特徴とするコンピュータの制御方法。 - 前記スケジューリング・ステップでは、タスクの実行を間引くことによってプロセッサの負荷を減少させる割合を示す水量変数と、タスクに関するサービス品質の満足度又は平均満足度の比較結果と等価な添水変数を設け、プロセッサの過負荷の発生に応じて前記水量変数を決定し、前記実行可能タスク・キュー中の最早のデッドラインを持つタスクの前記添水変数に前記水量変数を加算して添水変数が所定値を超えたことに応じて該タスクを前記実行可能タスク・キューから取り出してタスクの実行を開始するとともに前記添水変数から前記所定値を減算するが、該タスクの前記添水変数に前記水量変数を加算して前記添水変数が前記所定値を超えないときには前記実行可能タスク・キューからタスクを取り出さないことによりタスクの起動を間引く、
ことを特徴とする請求項7に記載のコンピュータの制御方法。 - 前記スケジューリング・ステップでは、前記水量変数を、プロセッサの過負荷の発生に応じて一定量だけ減じるとともに、周期的に一定比率で前記所定値に近づける、
ことを特徴とする請求項8に記載のコンピュータの制御方法。 - 前記スケジューリング・ステップでは、タスクをキャンセルする間引き処理が行なわれたプロセッサの過負荷の発生に応じて、前記水量変数を減少させる、
ことを特徴とする請求項8に記載のコンピュータの制御方法。 - 前記スケジューリング・ステップでは、デッドライン・ミスを検出したことに応じて前記変数を減少させる、
ことを特徴とする請求項8に記載のコンピュータの制御方法。 - 前記スケジューリング・ステップでは、周期的に実行されるタスクを次回実行する際に、
該タスクの前記添水変数に前記水量変数を加算し、前記添水変数が前記所定値を超えたことに応じて該タスクを前記実行可能タスク・キューに追加するとともに前記添水変数から前記所定値を減算する、
ことを特徴とする請求項8に記載のコンピュータの制御方法。 - 動作速度可変なプロセッサの動作速度の増大に伴ってサービス品質が向上するとともに消費電力が増加するタイプのコンピュータにおける該サービス品質と該消費電力間で形成されるトレードオフ関係を制御するための処理を該コンピュータ上で実行せしめるためのコンピュータ・プログラムを記録したコンピュータ読取可能な記録媒体であって、前記コンピュータ・プログラムは、前記コンピュータを、
(A)前記プロセッサにおいて次に処理されるタスクを選択し、選択結果に従って該選択されたタスクにプロセッサの制御を移行させる処理を行うスケジューリング手段と、
(B)周期的に起動されて、前記プロセッサの消費電力を予測して消費電力に関する満足度を計算するとともに、動作周波数の設定を行う電力管理手段と、
(C)前記スケジューリング手段からの要求に応答して起動し、タスクのサービス品質に関する満足度を評価するとともに、該タスクのサービス品質に関する満足度に基づいて当該システム全体の目標満足度を算出する満足度評価手段と、
として機能させ、
前記スケジューリング手段は、実行が要求されたタスクを実行可能タスク・キューに入れ、該実行可能タスク・キュー内にタスクがあるときにはデッドラインに応じて実行すべきタスクを取り出して実行を開始させるとともに、デッドライン・ミスを検出したことに応じてタスクの起動を間引く間引き処理を実行し、該実行可能タスク・キュー内にタスクがないときには前記システムをスリープ状態に遷移させるとともにスリープ時間を計算し、
前記満足度評価手段は、前記スケジューリング手段がタスクを間引き処理したことによるタスクが提供するサービスに対する満足度の減少度合いを基にタスクが提供するサービス品質がユーザに与える満足度を評価するとともに、前記の消費電力に関する満足度と各タスクのサービス品質に関する満足度の加重平均に基づいて前記の当該システム全体の目標満足度を算出し、
前記電力管理手段は、前記スケジューリング手段が計算したスリープ時間に基づいて前記プロセッサの利用率を計算するとともに、前記プロセッサの利用率と現在の動作周波数から前記プロセッサの消費電力の予測値を計算し、該予想消費電力を基に前記の消費電力に関する満足度を計算し、消費電力に関する満足度が前記の当該システム全体の目標満足度に最も近くなる前記プロセッサの動作周波数を設定する、
ことを特徴とするコンピュータ読取可能な記録媒体。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17021199A JP4123640B2 (ja) | 1999-06-16 | 1999-06-16 | 情報処理システム及びその制御方法、タスク割当て制御方法及び制御装置、並びにプログラム提供媒体 |
| US09/762,873 US6834354B1 (en) | 1999-06-16 | 2000-06-16 | Method and apparatus for assigning tasks in an information processing system to optimize power consumption versus performance of the system |
| PCT/JP2000/003973 WO2000077599A1 (en) | 1999-06-16 | 2000-06-16 | Information processing system, information processing method, method and apparatus for task assignment, and medium storing program |
| EP00939090A EP1115051A1 (en) | 1999-06-16 | 2000-06-16 | Information processing system, information processing method, method and apparatus for task assignment, and medium storing program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP17021199A JP4123640B2 (ja) | 1999-06-16 | 1999-06-16 | 情報処理システム及びその制御方法、タスク割当て制御方法及び制御装置、並びにプログラム提供媒体 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2000357024A JP2000357024A (ja) | 2000-12-26 |
| JP4123640B2 true JP4123640B2 (ja) | 2008-07-23 |
Family
ID=15900741
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP17021199A Expired - Fee Related JP4123640B2 (ja) | 1999-06-16 | 1999-06-16 | 情報処理システム及びその制御方法、タスク割当て制御方法及び制御装置、並びにプログラム提供媒体 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US6834354B1 (ja) |
| EP (1) | EP1115051A1 (ja) |
| JP (1) | JP4123640B2 (ja) |
| WO (1) | WO2000077599A1 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2013114935A1 (ja) | 2012-02-02 | 2013-08-08 | シャープ株式会社 | 抑止装置、抑止装置の制御方法、被制御装置、電子機器、制御プログラム、および記録媒体 |
| KR101812583B1 (ko) | 2011-07-21 | 2018-01-30 | 삼성전자주식회사 | 태스크 할당 장치, 태스크 할당 방법 및 컴퓨터로 읽을 수 있는 저장 매체 |
Families Citing this family (29)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7366932B2 (en) * | 2002-10-30 | 2008-04-29 | Stmicroelectronics, Inc. | Method and apparatus to adapt the clock rate of a programmable coprocessor for optimal performance and power dissipation |
| JP4175096B2 (ja) * | 2002-11-22 | 2008-11-05 | 日本電気株式会社 | クロック制御方式及び方法 |
| JP4025260B2 (ja) | 2003-08-14 | 2007-12-19 | 株式会社東芝 | スケジューリング方法および情報処理システム |
| TWI257544B (en) * | 2003-12-05 | 2006-07-01 | Acer Inc | Windows-based power management method and portable device using the same |
| US7698575B2 (en) | 2004-03-30 | 2010-04-13 | Intel Corporation | Managing power consumption by requesting an adjustment to an operating point of a processor |
| JP3862715B2 (ja) | 2004-06-01 | 2006-12-27 | 株式会社ソニー・コンピュータエンタテインメント | タスク管理方法、タスク管理装置、半導体集積回路、電子装置、およびタスク管理システム |
| US7343502B2 (en) | 2004-07-26 | 2008-03-11 | Intel Corporation | Method and apparatus for dynamic DLL powerdown and memory self-refresh |
| JP2006178854A (ja) * | 2004-12-24 | 2006-07-06 | Toshiba Corp | 電子回路 |
| JP4838240B2 (ja) * | 2005-04-27 | 2011-12-14 | パナソニック株式会社 | 情報処理装置における電力制御装置 |
| US8620713B2 (en) * | 2005-07-15 | 2013-12-31 | Sap Ag | Mechanism to control delegation and revocation of tasks in workflow system |
| TW200723632A (en) * | 2005-12-15 | 2007-06-16 | Inventec Corp | Current overload status-informing system and the method |
| US8032889B2 (en) * | 2006-04-05 | 2011-10-04 | Maxwell Technologies, Inc. | Methods and apparatus for managing and controlling power consumption and heat generation in computer systems |
| JP4370336B2 (ja) * | 2007-03-09 | 2009-11-25 | 株式会社日立製作所 | 低消費電力ジョブ管理方法及び計算機システム |
| US10339227B1 (en) | 2007-06-08 | 2019-07-02 | Google Llc | Data center design |
| WO2009156948A2 (en) * | 2008-06-25 | 2009-12-30 | Nxp B.V. | Electronic device, method of controlling an electronic device, and system-on-chip |
| JP5309815B2 (ja) * | 2008-09-09 | 2013-10-09 | 富士通株式会社 | 電力供給管理装置および電力供給管理方法 |
| US20100106994A1 (en) * | 2008-10-27 | 2010-04-29 | David Carroll Challener | Method, apparatus, and system for adapting power consumption |
| US9172117B2 (en) * | 2008-12-04 | 2015-10-27 | Domingo Enterprises, Llc | User-controlled application-based power management |
| US8178997B2 (en) | 2009-06-15 | 2012-05-15 | Google Inc. | Supplying grid ancillary services using controllable loads |
| US8479026B2 (en) * | 2009-12-09 | 2013-07-02 | Texas Instruments Incorporated | Processor power management |
| US8549330B2 (en) * | 2009-12-18 | 2013-10-01 | International Business Machines Corporation | Dynamic energy management |
| JP2011192250A (ja) * | 2010-02-22 | 2011-09-29 | Canon Inc | クラウドコンピューティングシステム、クラウドコンピューティングシステムの制御方法 |
| RU2577465C2 (ru) | 2010-10-28 | 2016-03-20 | Мэксвел Текнолоджиз, Инк. | Система, способ и устройство для коррекции ошибки в мультипроцессорных системах |
| US9807397B2 (en) * | 2011-04-11 | 2017-10-31 | Sharp Laboratories Of America, Inc. | System for power allocation |
| WO2013085539A1 (en) | 2011-12-09 | 2013-06-13 | Intel Corporation | Adaptive graphics subsystem power and performance management |
| US9009500B1 (en) | 2012-01-18 | 2015-04-14 | Google Inc. | Method of correlating power in a data center by fitting a function to a plurality of pairs of actual power draw values and estimated power draw values determined from monitored CPU utilization of a statistical sample of computers in the data center |
| CN103529376A (zh) * | 2012-07-03 | 2014-01-22 | 鸿富锦精密工业(深圳)有限公司 | 时钟测试电路 |
| KR101513398B1 (ko) * | 2014-07-02 | 2015-04-17 | 연세대학교 산학협력단 | 소모전력을 감소시킬 수 있는 단말장치 및 이의 제어방법 |
| US10866455B2 (en) | 2017-10-19 | 2020-12-15 | Ppg Industries Ohio, Inc. | Display devices including photochromic-dichroic compounds and dichroic compounds |
Family Cites Families (10)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3015069B2 (ja) * | 1990-06-12 | 2000-02-28 | 株式会社日立製作所 | 半導体集積回路装置 |
| JP3025341B2 (ja) | 1991-06-10 | 2000-03-27 | 富士通株式会社 | マルチメディアスケジューリング方法 |
| JPH05197574A (ja) | 1992-01-21 | 1993-08-06 | Matsushita Electric Ind Co Ltd | タスク時間待ち制御装置 |
| JPH07168726A (ja) * | 1993-12-16 | 1995-07-04 | Matsushita Electric Ind Co Ltd | 電子計算機及びマルチプロセスオペレーティングシステムのスケジューリング方法 |
| TW282525B (ja) * | 1994-06-17 | 1996-08-01 | Intel Corp | |
| JPH09297688A (ja) * | 1996-03-06 | 1997-11-18 | Mitsubishi Electric Corp | システムクロック決定装置 |
| JPH10143274A (ja) * | 1996-11-11 | 1998-05-29 | Casio Comput Co Ltd | Cpuのクロック制御装置 |
| JPH10240548A (ja) * | 1997-03-03 | 1998-09-11 | Toshiba Corp | タスクスケジューリング装置及び方法 |
| US6192480B1 (en) * | 1997-07-18 | 2001-02-20 | Micron Electronics, Inc. | Method of managing power for a computer system and generating application threshold warnings |
| US6378081B1 (en) * | 1998-10-01 | 2002-04-23 | Gateway, Inc. | Power conservation without performance reduction in a power-managed system |
-
1999
- 1999-06-16 JP JP17021199A patent/JP4123640B2/ja not_active Expired - Fee Related
-
2000
- 2000-06-16 WO PCT/JP2000/003973 patent/WO2000077599A1/ja not_active Ceased
- 2000-06-16 EP EP00939090A patent/EP1115051A1/en not_active Withdrawn
- 2000-06-16 US US09/762,873 patent/US6834354B1/en not_active Expired - Fee Related
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR101812583B1 (ko) | 2011-07-21 | 2018-01-30 | 삼성전자주식회사 | 태스크 할당 장치, 태스크 할당 방법 및 컴퓨터로 읽을 수 있는 저장 매체 |
| WO2013114935A1 (ja) | 2012-02-02 | 2013-08-08 | シャープ株式会社 | 抑止装置、抑止装置の制御方法、被制御装置、電子機器、制御プログラム、および記録媒体 |
| US9569382B2 (en) | 2012-02-02 | 2017-02-14 | Sharp Kabushiki Kaisha | Inhibition device, method for controlling inhibition device, device under control, electronic equipment, and computer readable storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| US6834354B1 (en) | 2004-12-21 |
| WO2000077599A1 (en) | 2000-12-21 |
| EP1115051A1 (en) | 2001-07-11 |
| JP2000357024A (ja) | 2000-12-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP4123640B2 (ja) | 情報処理システム及びその制御方法、タスク割当て制御方法及び制御装置、並びにプログラム提供媒体 | |
| US6986068B2 (en) | Arithmetic processing system and arithmetic processing control method, task management system and task management method | |
| US8190939B2 (en) | Reducing power consumption of computing devices by forecasting computing performance needs | |
| CN102103516B (zh) | 基于虚拟cpu的频率和电压调节 | |
| Zeng et al. | ECOSystem: Managing energy as a first class operating system resource | |
| EP2527954B1 (en) | Postponing of a suspend power mode | |
| JP4380986B2 (ja) | クロック制御装置及びその記録媒体 | |
| US7512820B2 (en) | Performance level selection in a data processing system by combining a plurality of performance requests | |
| CN103348744B (zh) | 使用功率阈值对移动通信终端进行智能功率管理的方法和装置 | |
| US20050097228A1 (en) | Data processing system performance counter | |
| JP2002099433A (ja) | 演算処理システム及び演算処理制御方法、タスク管理システム及びタスク管理方法、並びに記憶媒体 | |
| JP2008165798A (ja) | データ処理装置におけるプロセッサの性能管理 | |
| CN103370969A (zh) | 用于移动通信终端的智能电量管理的方法和设备 | |
| JP2011527805A (ja) | インテリジェントな電力監視 | |
| CN110795238B (zh) | 负载计算方法、装置、存储介质及电子设备 | |
| KR20140090256A (ko) | 스케줄링된 리소스 셋트 천이들을 이용하여 휴대용 컴퓨팅 디바이스에 대한 워크 로드 추정을 통한 전력 절약 | |
| CN106662909A (zh) | 操作系统中的启发式处理器电力管理 | |
| CN113748398B (zh) | 数据处理与任务调度方法、设备、系统及存储介质 | |
| JP4490298B2 (ja) | プロセッサ電力制御装置及びプロセッサ電力制御方法 | |
| Cho et al. | A battery lifetime guarantee scheme for selective applications in smart mobile devices | |
| CN110795323A (zh) | 负载统计方法、装置、存储介质及电子设备 | |
| JP2019109600A (ja) | 情報処理装置、計算機制御方法、および計算機制御プログラム | |
| Ellis | Controlling Energy Demand in Mobile Computing Systems | |
| CN115344108A (zh) | 待机控制装置及方法 | |
| GB2395310A (en) | Data processing system performance counter |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060214 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070807 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071005 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071113 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080109 |
|
| 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: 20080415 |
|
| 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: 20080428 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110516 Year of fee payment: 3 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120516 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130516 Year of fee payment: 5 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |