JP2004326364A - タスク管理システム - Google Patents
タスク管理システム Download PDFInfo
- Publication number
- JP2004326364A JP2004326364A JP2003119022A JP2003119022A JP2004326364A JP 2004326364 A JP2004326364 A JP 2004326364A JP 2003119022 A JP2003119022 A JP 2003119022A JP 2003119022 A JP2003119022 A JP 2003119022A JP 2004326364 A JP2004326364 A JP 2004326364A
- Authority
- JP
- Japan
- Prior art keywords
- processor
- task
- guaranteed
- involved
- management system
- 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.)
- Withdrawn
Links
- 238000007726 management method Methods 0.000 claims description 45
- 230000009467 reduction Effects 0.000 claims description 27
- 230000006866 deterioration Effects 0.000 claims description 4
- 238000013475 authorization Methods 0.000 claims 1
- 230000004913 activation Effects 0.000 description 16
- 230000007704 transition Effects 0.000 description 11
- 238000000034 method Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 230000010365 information processing Effects 0.000 description 5
- 238000013468 resource allocation Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
Images
Landscapes
- Power Sources (AREA)
Abstract
【課題】省電力等を目的としてそのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御(QoS制御等)に関与する場合に、予め設定されているQoSを保証しつつ、そのプロセッサの能力を低下させる。
【解決手段】そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するタスク管理システムであって、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部と、前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報が記録される許可変数と、を備える。
【選択図】 図1
【解決手段】そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するタスク管理システムであって、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部と、前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報が記録される許可変数と、を備える。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するシステムにおいて、所定のサービス品質(QoS:Quality of Service)を保証しつつ、そのプロセッサのプロセッサ能力を低下させるための技術に関する。
【0002】
【従来の技術】
従来、QoS制御されるタスクのパラメータ(プロセッサ割当時間等の所要リソース量等)についてはプロセッサ能力が一定であることを前提として設定されていた(例えば、特許文献1参照)。このため、省電力等を目的としてそのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御(QoS制御等)に関与する場合に、そのプロセッサの能力を低下させると、設定されているQoSを保証できない可能性がある。
【0003】
【特許文献1】
特開平7−93168号公報
【0004】
【発明が解決しようとする課題】
本発明の課題は、省電力等を目的としてそのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御(QoS制御等)に関与する場合に、設定されているQoS(所定サービス品質)を保証しつつ、そのプロセッサの能力を低下させることが可能な技術を提供することにある。
【0005】
【課題を解決するための手段】
本発明は、上記課題を解決するためになされたものであり、そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するタスク管理システムであって、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部と、前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報が記録される許可変数と、を備える構成とした。
本発明によれば、前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報が記録される許可変数を備えている。このため、この許可変数にプロセッサ能力低下の許可を示す情報が格納されており、かつ、プロセッサ能力低下要求があった場合に、プロセッサのプロセッサ能力を低下させることが可能となる。逆に、この許可変数にプロセッサ能力低下の不許可を示す情報が格納されており、かつ、プロセッサ能力低下要求があった場合に、プロセッサのプロセッサ能力を低下させないことが可能となる。
【0006】
これは、そのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御(QoS制御等)に関与する場合に、設定されているQoS(所定サービス品質)を保証しつつ、そのプロセッサの能力を低下させることが可能となることを意味する。
【0007】
上記タスク管理システムにおいては、例えば、少なくとも実行制御対象タスクと能力低下時のタスクパラメータとの対応関係が登録されるタスク情報テーブルをさらに備え、前記判定部は、前記タスクパラメータに基づいて、前記所定のサービス品質を保証できるか否かを判定する。
【0008】
このようにすれば、プロセッサ能力低下時に所定のサービス品質を保証できるか否かについて、既存のタスク情報テーブルに若干の変更(例えばプロセッサ能力低下時のタスクパラメータの項目)を加えるだけで、判定することが可能となる。
【0009】
上記タスク管理システムにおいては、例えば、前記タスク情報テーブルには、新規タスク登録要求があった場合に、少なくともその新規タスクに対するプロセッサ能力低下時のタスクパラメータが登録され、前記判定部は、前記新規タスクに対するプロセッサ能力低下時のタスクパラメータ登録後に、前記タスクパラメータに基づいて、前記所定のサービス品質を保証できるか否かを判定する。
【0010】
このようにすれば、プロセッサ能力低下時に所定のサービス品質を保証できるか否かについて、新規タスク登録要求があったタスクを含む全タスクのパラメータに基づいて、判定することが可能となる。
【0011】
上記タスク管理システムにおいては、例えば、前記タスクパラメータはプロセッサ割当時間である。これは、タスクパラメータの一例を示したものである。
【0012】
上記タスク管理システムにおいては、例えば、前記プロセッサ能力制御部は、前記プロセッサの動作周波数を低下させることにより前記プロセッサのプロセッサ能力を低下させる。これは、プロセッサ能力低下の一例を示したものである。
【0013】
上記タスク管理システムにおいては、例えば、前記プロセッサはそのプロセッサ能力を段階的に低下させることが可能なプロセッサであってもよい。
【0014】
このようにすれば、省電力等を目的としてそのプロセッサ能力を段階的に低下させることが可能なプロセッサがタスクの実行制御に関与する場合に、設定されているQoSを保証しつつ、そのプロセッサの能力を段階的に低下させることが可能となる。
【0015】
本発明は、次のように特定することもできる。
【0016】
そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するタスク管理システムであって、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部と、前記所定のサービス品質を保証できると判定された状態の下で、プロセッサ能力低下要求があった場合に、前記プロセッサのプロセッサ能力を低下させるプロセッサ能力制御部と、を備えるタスク管理システム。
【0017】
また、本発明は方法の発明として次のように特定することができる。
【0018】
第1に、そのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御に関与するタスク管理方法であって、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定するステップと、前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報を許可変数に記録するステップと、を備えるタスク管理方法。
【0019】
第2に、そのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御に関与するタスク管理方法であって、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定するステップと、前記所定のサービス品質を保証できると判定された状態の下で、プロセッサ能力低下要求があった場合に、前記プロセッサのプロセッサ能力を低下させるステップと、を備えるタスク管理方法。
【0020】
また、本発明はプログラムの発明として次のように特定することができる。
【0021】
第1に、そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するコンピュータを、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部、前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報が記録される許可変数、として機能させるためのプログラム。
【0022】
第2に、そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するコンピュータを、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部、前記所定のサービス品質を保証できると判定された状態の下で、プロセッサ能力低下要求があった場合に、前記プロセッサのプロセッサ能力を低下させるプロセッサ能力制御部、として機能させるためのプログラム。
【0023】
【発明の実施の形態】
以下、本発明の実施の形態であるタスク管理システムについて図面を参照しながら説明する。図1は、本発明の実施の形態であるタスク管理システムの概略システム構成を説明するための図である。
【0024】
本実施形態のタスク管理システムは、PDA(Personal Digital Assistants)やパーソナルコンピュータ等の情報処理端末100により実現される。図1に示すように、情報処理端末100は、プロセッサ110、ハードディスク装置等の記憶装置120、及びRAM等のメモリ130等を備えている。また、情報処理端末100は、液晶ディスプレイ等の画像表示装置やスピーカ等の音声出力装置等も備えている(いずれも図示せず)。これら各要素はバス等を介して相互に接続されている。
【0025】
プロセッサ110は、省電力等を目的としてそのプロセッサ能力(例えば動作周波数)を低下させること(例えば通常動作周波数800MHzから低下時動作周波数400MHz)が可能なプロセッサであり、例えば、当該機能を備えるLSIやCPU等である。
【0026】
記憶装置120には、リアルタイムOS(Operating System)、そのリアルタイムOS上で実行される各種プログラム(優先度が設定されている複数のタスク等)、タスク情報テーブル135、及び許可変数136等がインストールされている。これらのリアルタイムOS等は適宜、記憶装置120からメモリ130へ読み出される。図1は、これらのリアルタイムOS等がメモリ130へ読み出された状態を示している。
【0027】
リアルタイムOSは、複数のタスクのうちの最も高い優先度が設定されているタスクを実行する優先度制御機能(又はタスク管理機能ともいう)を有するオペレーティングシステムである。優先度制御機能は、リアルタイムOSが有するスケジューラ131によって実現される。
【0028】
スケジューラ131は、各タスクに設定されている優先度に基づいて複数のタスクのうちの最も高い優先度が設定されているタスクを実行するためのものである。スケジューラ131は、アプリケーションプログラム群(これらは優先度が設定されている複数のタスクとして把握される)や各種デバイスの制御などの処理のタイミングやどの処理を動かすかを決定する。具体的には、スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを継続して実行(処理)する。リアルタイムOSにおいては、低い優先度が設定されているタスクは全く動作しない可能性もある。スケジューラ131はまた、各タスクの状態(実行可能状態、実行状態、待ち状態等)も管理している。
【0029】
スケジューラ131によって優先度制御される複数のタスクとしては、スケジューラタスク132、時間起動通知用タスク133、及び、QoS(Quality of Service)タスク134等がある。これらのタスクには優先度が設定されている。スケジューラタスク132には最も高い優先度(他のタスク133、134等と比較して高い優先度)が設定される。
【0030】
スケジューラタスク132は、他のタスク(QoSタスク134)の実行制御を行うためのタスクである。スケジューラタスク132は、他のタスクの実行制御として、QoSタスク134の中から実行タスクの決定、実行タスクの優先度の変更、及び、実行タスクの所要リソース量の制御(リソース割り当て)等を行う。
【0031】
時間起動通知用タスク133は、スケジューラタスク132を実行状態(Running状態)へ遷移させるためのものである。そのために、時間起動通知用タスク133は、所定期間(一定周期または設定時間)ごとに所定通知(イベントフラグまたはセマフォ等)をスケジューラタスク132へ通知する。所定通知を受けると、スケジューラタスク132は、実行状態へ遷移して他のタスク(QoSタスク134)の実行制御を行う。
【0032】
QoSタスク134はその所要リソース量を制御可能な可変タスクである。所要リソース量を最低限保証すべき保証部分と制御可能部分とに分けることで、最低限の品質(保証部分)が保たれるようになっている。
【0033】
タスク情報テーブル135は、QoSタスク134(実行制御対象タスク)に関する情報を管理するためのテーブルである。このタスク情報テーブル135により、通常時(プロセッサ能力非低下時)、又はプロセッサ能力低下時のプロセッサ110がQoSタスク134の実行制御に関与した場合に所定のサービス品質を保証することが可能となっている。この所定のサービス品質保証のために、タスク情報テーブル135には、QoSタスク134と通常時のプロセッサ割当時間(タスクパラメータ)との対応関係、及びQoSタスク134とプロセッサ能力低下時のプロセッサ割当時間(タスクパラメータ)との対応関係が登録される。具体的には、タスク情報テーブル135には、タスクID135a、及びタスクパラメータ(起動タイミング135b、通常時用割当時間135c、及び能力低下時用割当時間135d等)等が登録される。
【0034】
タスクID135aは、QoSタスク134を識別するための識別子である。起動タイミング135bは、QoSタスク134における実行開始時点から次の実行開始時点までの時間(周期)である。あるQoSタスク134が実行されると、設定された周期の間、このQoSタスク134が新たに実行されることはない。
【0035】
通常時用割当時間135cは、QoSタスク134に割り当てられた通常時のプロセッサ割当時間である。通常時用割当時間135cは、通常時のプロセッサ110がQoSタスク134の実行制御に関与した場合に所定のサービス品質を保証できるように割り当てられる。
【0036】
能力低下時用割当時間135dは、QoSタスク134に割り当てられた能力低下時(プロセッサ能力低下時)のプロセッサ割当時間である。能力低下時用割当時間135dは、能力低下時のプロセッサ110がQoSタスク134の実行制御に関与した場合に所定のサービス品質を保証できるように割り当てられる。
【0037】
許可変数136には、プロセッサ能力低下の許可又は不許可を示す情報(値等)が格納される。この許可変数に許可を示す情報が記録されている場合に、プロセッサ能力低下要求があったときは、プロセッサ能力の低下が許容される。一方、許可変数に不許可を示す情報が記録されている場合に、プロセッサ能力低下要求があったとしても、プロセッサ能力の低下は許容されない。
【0038】
次に、上記構成のタスク管理システムの動作について図面を参照しながら説明する。図2は、タスク管理システムの動作を説明するためのフローチャートである。以下の処理は、情報処理端末100に所定プログラムが読み込まれ、そのプロセッサ110等により実行されることにより実現される。これは、プロセッサ110がタスクの実行制御に関与することを意味する。
【0039】
リアルタイムOSや所定アプリケーション等から新規タスク登録要求があった場合(S100)、その新規タスクの登録が可能か否かが判定される。例えば、その新規タスクを登録すると、通常時(プロセッサ能力非低下時)のプロセッサ110がその新規タスクを含む全QoSタスク(実行制御対象タスク)134の実行制御に関与した場合に所定のサービス品質を保証できるか否かが判定される。そして、所定サービス品質を保証できないと判定された場合には、その新規タスクの登録ができない(S101:No)として、新規タスク登録要求に対する処理は終了する。
【0040】
一方、所定サービス品質を保証できると判定されると、その新規タスクの登録が可能であるとして(S101:Yes)、その新規タスクに対する能力低下時のプロセッサ割当時間の計算(例えば周波数換算で計算)及び記録が行われる(S102)。この計算されたプロセッサ割当時間は、タスク情報テーブル(能力低下時用割当時間135d)に登録(記録)される。
【0041】
能力低下時のプロセッサ割当時間の計算及び記録が完了すると、能力低下時割当可能か否かが判定される(S103)。例えば、能力低下時のプロセッサ110がその新規タスクを含む全QoSタスク(実行制御対象タスク)134の実行制御に関与した場合に所定のサービス品質を保証できるか否かが判定される。この判定は、例えば、判定部としてのプロセッサ110等が所定プログラムを実行することにより実現される。
【0042】
この判定は、各種の方法で行うことが可能である。例えば、タスク情報テーブル135に登録されている能力低下時用割当時間135dに基づいて、その新規タスクを含めた全QoSタスク134(実行制御対象タスク)について割当時間を再計算することにより(さらにはその計算結果と所定値とを比較すること等により)判定することが考えられる。
【0043】
その判定の結果、所定サービス品質を保証できると判定されると、能力低下時割当可能であるとして(S103:Yes)、プロセッサ能力低下の許可を示す情報(値等)が許可変数に記録される。このとき、プロセッサ能力を低下させてもよい。この許可変数に許可情報が記録されている場合に、リアルタイムOS等からプロセッサ能力低下要求があったときは、プロセッサ110のプロセッサ能力の低下が許容される。例えば、プロセッサ能力制御部としてのプロセッサ110等が所定プログラムを実行することによりプロセッサ能力を低下させる。
【0044】
一方、所定のサービス品質を保証できないと判定されると、能力低下時割当できない(S103:No)として、プロセッサ能力低下の不許可を示す情報が許可変数に記録される(例えばクリア)(S105)。このとき、プロセッサ110が能力低下していれば通常能力に戻す。また、この許可変数に許可情報が記録されていない場合に、リアルタイムOS等からプロセッサ能力低下要求があったときは、プロセッサ110のプロセッサ能力の低下は許容されない。
【0045】
以上述べたように、本実施形態のタスク管理システムによれば、省電力等を目的としてそのプロセッサ能力を低下させることが可能なプロセッサ110がQoSタスクの実行制御に関与する場合に、予め設定されているQoSを保証しつつ、そのプロセッサ110の能力を低下させることが可能となる。
【0046】
次に、上記構成のタスク管理システムの変形例について説明する。
【0047】
上記実施形態においては、プロセッサ110は、省電力等を目的としてそのプロセッサ能力(例えば動作周波数)を低下させること(例えば通常動作周波数800MHzから低下時動作周波数400MHz)が可能なプロセッサであり、例えば、当該機能を備えるLSIやCPU等であるように説明したが、本発明はこれに限定されない。例えば、プロセッサ110は、そのプロセッサ能力を段階的に低下させること(例えば通常動作周波数800MHzから低下時動作周波数400MHz、又は200MHz)が可能なプロセッサであってもよい。
【0048】
この場合、タスク情報テーブル135には、QoSタスク134と通常時のプロセッサ割当時間(タスクパラメータ)との対応関係、及びQoSタスク134と第1及び第2のプロセッサ能力低下時のプロセッサ割当時間(タスクパラメータ)との対応関係とが登録されることになる。
【0049】
このようにすれば、省電力等を目的としてそのプロセッサ能力を段階的に低下させることが可能なプロセッサ110がQoSタスクの実行制御に関与する場合に、設定されているQoSを保証しつつ、そのプロセッサ110の能力を段階的に低下させることが可能となる。
【0050】
次に、上記構成のタスク管理システムにおいて複数のタスクの実行を制御する動作について図面を参照しながら説明する。図3は、複数のタスクの実行を制御する動作を説明するためのフローチャートである。以下、時間起動通知用タスク133を用いないで制御する例について説明する。
【0051】
スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク132に最も高い優先度が設定されているので、スケジューラ131は、スケジューラタスク132を実行する。これにより、スケジューラタスク132は、初期化され(S100)、QoSタスク134の中から実行タスクを決定する(S101)。具体的には、スケジューラタスク132は、タスク情報テーブル135中のタスク情報(起動タイミング135b等)に基づいて、QoSタスクスケジュール計算等の処理を行うことで実行タスクを決定する。
【0052】
次に、スケジューラタスク132は、実行タスクとして決定したQoSタスク134がスケジューラ131によって実行されるように、所定のアルゴリズムに従い、そのQoSタスク134の優先度を変更する。例えば、そのQoSタスク134の優先度をそれ以外のタスク(QoS設定されていないタスク、Wait状態(待ち状態)のQoSタスク、又は、割り当て待ちのタスク等)の優先度よりも高く設定する。
【0053】
これととともに、スケジューラタスク132は、そのQoSタスク134の所要リソース量の制御を行う(S102)。例えば、タスク情報テーブル135(通常時用割当時間135c)へプロセッサ使用時間を設定する(QoS制御)。
【0054】
次に、スケジューラタスク132は、次回スケジューラ起動時刻を計算し設定する(S103)。この設定が完了すると、スケジューラタスク132は、実行状態以外の状態(スリープ状態または待ち状態等)へ遷移する(S104)。実行状態以外の状態は設定時刻に達して再度実行状態へ遷移するまで継続する(S105)。
【0055】
リアルタイムOS(スケジューラ131)は、スケジューラタスク132が実行状態以外の状態から実行状態へ遷移するまでの間は、他のタスク(スケジューラタスク132以外のタスク133、134等)のうちの最も高い優先度が設定されているタスクを実行する。具体的には、スケジューラ131は、終了または待ち状態でない他のタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、S101で実行タスクとして決定されたQoSタスク134の優先度がスケジューラ131によって実行されるように変更されているため、スケジューラ131は、その変更された優先度が設定されているQoSタスク134等を実行する。
【0056】
スケジューラタスク132は、S103で設定した設定時刻に達すると、実行状態以外の状態から実行状態へ遷移する。即ち、スリープ状態等が解除される(S106)。そして、スケジューラタスク132は、タスク情報テーブル135(タスク情報ともいう)を更新する(S107)。
【0057】
次に、スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク132に最も高い優先度が設定されており、しかも、スケジューラタスクのスリープ状態等が解除されているので、スケジューラ131は、スケジューラタスク132を実行する。以下、スケジューラタスク132は実行状態へ遷移して、上記S100〜S107の処理を繰り返す。
【0058】
以上述べたように、本実施形態においては、最も高い優先度が設定されるとともに、他のタスク(QoSタスク134)の実行制御を行うスケジューラタスク132を設けたので、リアルタイムOSのカーネル部分を修正することなく、タスク管理方式をそのリアルタイムOSに実装することが可能となる。
【0059】
また、本実施形態においては、スケジューラタスク132は、所定期間ごとに(設定時刻に達するごとに)実行状態へ遷移して、タスク情報テーブル135中のタスク情報に基づいて、他のタスク(QoSタスク134等)の実行制御を行う。
【0060】
これにより、タスクの実行におけるリソース割当制御が可能となり、アプリケーション(例えばQoSタスクを含む)実行におけるサービス品質の制御を実現することができる。また、リアルタイムOSにおいて、各タスク(QoSタスク)毎のリソース割当制御が可能となることで、優先度に依らず、タスクの実行を適切なタイミングで必要とされる時間の実行が可能となり、アプリケーションの開発およびデバックの効率が向上する。さらに、カーネル内部を修正せずに、優先度制御機能を持つリアルタイムOS自体の機能を用いて、リソース割当制御を実現することで、リソース割当制御における実装の容易性と移植性が高まる。
【0061】
次に、上記構成のタスク管理システムにおいて、時間起動通知用タスク133を用いて、複数のタスクの実行を制御する動作について説明する。図4は、複数のタスクに設定されている優先度を説明するための図である。縦軸が優先度を示しており、各タスクにはその位置に応じた優先度が設定されている。図5及び図6は、タスク管理システムの動作を説明するための図である。図6中、縦軸が優先度を、横軸が時間の経過を、それぞれ表している。
【0062】
複数のタスクに設定されている優先度は当初、図4に示すように、時間起動通知用タスク133が最も高く、スケジューラタスク132、QoSタスク134、その他のタスク(QoS設定されていないタスク、Wait状態のQoSタスク、割当待ちのタスク)の順に低くなっている。
【0063】
スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、図4に示すように、時間起動通知用タスク133に最も高い優先度が設定されているので、スケジューラ131は、時間起動通知用タスク133を実行する。時間起動通知用タスク133は、所定期間(一定周期または設定時間)ごとに、所定通知をスケジューラタスク132へ通知等することで、スケジューラタスク132の優先度を他のタスク133、134等の優先度よりも高く設定する。これとともに、スケジューラタスク132の実行状態以外の状態(スリープ状態または待ち状態等)を解除する。
【0064】
この状態の下で、スケジューラ131は、終了又は待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク132に最も高い優先度が設定されており、しかも、スケジューラタスク132のスリープ状態等が解除されているので、スケジューラ131は、スケジューラタスク132を実行する。これにより、図5に示すように、スケジューラタスク132は、初期化され(S200)、QoSタスク134の中から実行タスクを決定する(S201)。具体的には、スケジューラタスク132は、タスク情報テーブル135中の起動タイミング135b等に基づいて、QoSタスクスケジュール計算等の処理を行うことで実行タスクを決定する。
【0065】
次に、スケジューラタスク132は、実行タスクとして決定したQoSタスク134がスケジューラ131によって実行されるように、所定のアルゴリズムに従い、そのQoSタスク134の優先度を変更する。例えば、そのQoSタスク134の優先度をそれ以外のタスク(QoS設定されていないタスク、Wait状態(待ち状態)のQoSタスク、又は、割り当て待ちのタスク等)の優先度よりも高く設定する。
【0066】
これととともに、スケジューラタスク132は、そのQoSタスク134の所要リソース量の制御を行う(S202)。例えば、タスク情報テーブル135(通常時用割当時間135c)へプロセッサ使用時間を設定する(QoS制御)。
【0067】
次に、スケジューラタスク132の優先度が他のタスク133、134等の優先度よりも低く設定される。これとともに、スケジューラタスク132は、実行状態以外の状態(スリープ状態またはReady状態(待ち状態))へ遷移する(S203)。実行状態以外の状態は時間起動通知用タスク133から所定通知等が通知され再度実行状態へ遷移するまで継続する(S204)。なお、QoSタスク割り当てが無いときは、スケジューラタスク132は、Suspend状態に遷移する。この場合、スケジューラタスク132の優先度を低く設定する必要はない。
【0068】
リアルタイムOS(スケジューラ131)は、スケジューラタスク132が実行状態以外の状態から実行状態へ遷移するまでの間は、他のタスク(スケジューラタスク132以外のタスク133、134等)のうちの最も高い優先度が設定されているタスクを実行する。具体的には、スケジューラ131は、終了または待ち状態でない他のタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、S201で実行タスクとして決定されたQoSタスク134の優先度がスケジューラ131によって実行されるように変更されているため、スケジューラ131は、その変更された優先度が設定されているQoSタスク134等を実行する。
【0069】
次に、所定期間(一定周期又は設定時刻)が経過すると、時間起動通知用タスク133は、所定通知をスケジューラタスク132に通知等することで、スケジューラタスク132の優先度を他のタスクの優先度よりも高く設定する。これとともに、スケジューラタスク132は、実行状態以外の状態から実行状態へ遷移する(起動)。即ち、Ready状態(待ち状態)が解除される(S205)。なお、QoSタスク134の割当中に起動された場合は、他のタスクが動作可能となる処理が行われる。
【0070】
そして、スケジューラタスク132は、タスク情報テーブル135(タスク情報ともいう)を更新する(S206)。
【0071】
次に、スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク132に最も高い優先度が設定されており、しかも、スケジューラタスクの待ち状態等が解除されているので、スケジューラ131は、スケジューラタスク132を実行する。以下、スケジューラタスク132は実行状態へ遷移して、上記S200〜S206の処理を繰り返す。
【0072】
以上のようにして、スケジューラタスク132は、所定期間ごとに(設定時刻に達するごとに)実行状態へ遷移して他のタスクの実行制御を行う。これにより、上記動作と同様の効果が得られる。
なお、上記実施形態においては、各タスクについてはリアルタイムOS上で実行制御されるように説明したが、本発明はこれに限定されない。例えば、リアルタイムOS以外の他のOS上で実行制御されてもよいことは無論である。
【0073】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。このため、上記の実施形態はあらゆる点で単なる例示にすぎず、これらの記載によって本発明が限定的に解釈されるものではない。
【0074】
【発明の効果】
本発明によれば、省電力等を目的としてそのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御(QoS制御等)に関与する場合に、設定されているQoSを保証しつつ、そのプロセッサの能力を低下させることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態であるタスク管理システムの概略システム構成を説明するための図である。
【図2】本発明の実施の形態であるタスク管理システムの動作を説明するためのフローチャートである。
【図3】本発明の実施の形態であるタスク管理システムの動作を説明するためのフローチャートである。
【図4】複数のタスクに設定されている優先度を説明するための図である。
【図5】本発明の実施の形態であるタスク管理システムの動作を説明するためのフローチャートである。
【図6】本発明の実施の形態であるタスク管理システムの動作を説明するための図である。
【符号の説明】
100 情報処理端末
110 プロセッサ
120 記憶装置
130 メモリ
131 スケジューラ
132 スケジューラタスク
133 時間起動通知用タスク
134 QoSタスク
135 タスク情報テーブル
136 許可変数
【発明の属する技術分野】
本発明は、そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するシステムにおいて、所定のサービス品質(QoS:Quality of Service)を保証しつつ、そのプロセッサのプロセッサ能力を低下させるための技術に関する。
【0002】
【従来の技術】
従来、QoS制御されるタスクのパラメータ(プロセッサ割当時間等の所要リソース量等)についてはプロセッサ能力が一定であることを前提として設定されていた(例えば、特許文献1参照)。このため、省電力等を目的としてそのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御(QoS制御等)に関与する場合に、そのプロセッサの能力を低下させると、設定されているQoSを保証できない可能性がある。
【0003】
【特許文献1】
特開平7−93168号公報
【0004】
【発明が解決しようとする課題】
本発明の課題は、省電力等を目的としてそのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御(QoS制御等)に関与する場合に、設定されているQoS(所定サービス品質)を保証しつつ、そのプロセッサの能力を低下させることが可能な技術を提供することにある。
【0005】
【課題を解決するための手段】
本発明は、上記課題を解決するためになされたものであり、そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するタスク管理システムであって、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部と、前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報が記録される許可変数と、を備える構成とした。
本発明によれば、前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報が記録される許可変数を備えている。このため、この許可変数にプロセッサ能力低下の許可を示す情報が格納されており、かつ、プロセッサ能力低下要求があった場合に、プロセッサのプロセッサ能力を低下させることが可能となる。逆に、この許可変数にプロセッサ能力低下の不許可を示す情報が格納されており、かつ、プロセッサ能力低下要求があった場合に、プロセッサのプロセッサ能力を低下させないことが可能となる。
【0006】
これは、そのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御(QoS制御等)に関与する場合に、設定されているQoS(所定サービス品質)を保証しつつ、そのプロセッサの能力を低下させることが可能となることを意味する。
【0007】
上記タスク管理システムにおいては、例えば、少なくとも実行制御対象タスクと能力低下時のタスクパラメータとの対応関係が登録されるタスク情報テーブルをさらに備え、前記判定部は、前記タスクパラメータに基づいて、前記所定のサービス品質を保証できるか否かを判定する。
【0008】
このようにすれば、プロセッサ能力低下時に所定のサービス品質を保証できるか否かについて、既存のタスク情報テーブルに若干の変更(例えばプロセッサ能力低下時のタスクパラメータの項目)を加えるだけで、判定することが可能となる。
【0009】
上記タスク管理システムにおいては、例えば、前記タスク情報テーブルには、新規タスク登録要求があった場合に、少なくともその新規タスクに対するプロセッサ能力低下時のタスクパラメータが登録され、前記判定部は、前記新規タスクに対するプロセッサ能力低下時のタスクパラメータ登録後に、前記タスクパラメータに基づいて、前記所定のサービス品質を保証できるか否かを判定する。
【0010】
このようにすれば、プロセッサ能力低下時に所定のサービス品質を保証できるか否かについて、新規タスク登録要求があったタスクを含む全タスクのパラメータに基づいて、判定することが可能となる。
【0011】
上記タスク管理システムにおいては、例えば、前記タスクパラメータはプロセッサ割当時間である。これは、タスクパラメータの一例を示したものである。
【0012】
上記タスク管理システムにおいては、例えば、前記プロセッサ能力制御部は、前記プロセッサの動作周波数を低下させることにより前記プロセッサのプロセッサ能力を低下させる。これは、プロセッサ能力低下の一例を示したものである。
【0013】
上記タスク管理システムにおいては、例えば、前記プロセッサはそのプロセッサ能力を段階的に低下させることが可能なプロセッサであってもよい。
【0014】
このようにすれば、省電力等を目的としてそのプロセッサ能力を段階的に低下させることが可能なプロセッサがタスクの実行制御に関与する場合に、設定されているQoSを保証しつつ、そのプロセッサの能力を段階的に低下させることが可能となる。
【0015】
本発明は、次のように特定することもできる。
【0016】
そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するタスク管理システムであって、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部と、前記所定のサービス品質を保証できると判定された状態の下で、プロセッサ能力低下要求があった場合に、前記プロセッサのプロセッサ能力を低下させるプロセッサ能力制御部と、を備えるタスク管理システム。
【0017】
また、本発明は方法の発明として次のように特定することができる。
【0018】
第1に、そのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御に関与するタスク管理方法であって、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定するステップと、前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報を許可変数に記録するステップと、を備えるタスク管理方法。
【0019】
第2に、そのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御に関与するタスク管理方法であって、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定するステップと、前記所定のサービス品質を保証できると判定された状態の下で、プロセッサ能力低下要求があった場合に、前記プロセッサのプロセッサ能力を低下させるステップと、を備えるタスク管理方法。
【0020】
また、本発明はプログラムの発明として次のように特定することができる。
【0021】
第1に、そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するコンピュータを、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部、前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報が記録される許可変数、として機能させるためのプログラム。
【0022】
第2に、そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するコンピュータを、プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部、前記所定のサービス品質を保証できると判定された状態の下で、プロセッサ能力低下要求があった場合に、前記プロセッサのプロセッサ能力を低下させるプロセッサ能力制御部、として機能させるためのプログラム。
【0023】
【発明の実施の形態】
以下、本発明の実施の形態であるタスク管理システムについて図面を参照しながら説明する。図1は、本発明の実施の形態であるタスク管理システムの概略システム構成を説明するための図である。
【0024】
本実施形態のタスク管理システムは、PDA(Personal Digital Assistants)やパーソナルコンピュータ等の情報処理端末100により実現される。図1に示すように、情報処理端末100は、プロセッサ110、ハードディスク装置等の記憶装置120、及びRAM等のメモリ130等を備えている。また、情報処理端末100は、液晶ディスプレイ等の画像表示装置やスピーカ等の音声出力装置等も備えている(いずれも図示せず)。これら各要素はバス等を介して相互に接続されている。
【0025】
プロセッサ110は、省電力等を目的としてそのプロセッサ能力(例えば動作周波数)を低下させること(例えば通常動作周波数800MHzから低下時動作周波数400MHz)が可能なプロセッサであり、例えば、当該機能を備えるLSIやCPU等である。
【0026】
記憶装置120には、リアルタイムOS(Operating System)、そのリアルタイムOS上で実行される各種プログラム(優先度が設定されている複数のタスク等)、タスク情報テーブル135、及び許可変数136等がインストールされている。これらのリアルタイムOS等は適宜、記憶装置120からメモリ130へ読み出される。図1は、これらのリアルタイムOS等がメモリ130へ読み出された状態を示している。
【0027】
リアルタイムOSは、複数のタスクのうちの最も高い優先度が設定されているタスクを実行する優先度制御機能(又はタスク管理機能ともいう)を有するオペレーティングシステムである。優先度制御機能は、リアルタイムOSが有するスケジューラ131によって実現される。
【0028】
スケジューラ131は、各タスクに設定されている優先度に基づいて複数のタスクのうちの最も高い優先度が設定されているタスクを実行するためのものである。スケジューラ131は、アプリケーションプログラム群(これらは優先度が設定されている複数のタスクとして把握される)や各種デバイスの制御などの処理のタイミングやどの処理を動かすかを決定する。具体的には、スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを継続して実行(処理)する。リアルタイムOSにおいては、低い優先度が設定されているタスクは全く動作しない可能性もある。スケジューラ131はまた、各タスクの状態(実行可能状態、実行状態、待ち状態等)も管理している。
【0029】
スケジューラ131によって優先度制御される複数のタスクとしては、スケジューラタスク132、時間起動通知用タスク133、及び、QoS(Quality of Service)タスク134等がある。これらのタスクには優先度が設定されている。スケジューラタスク132には最も高い優先度(他のタスク133、134等と比較して高い優先度)が設定される。
【0030】
スケジューラタスク132は、他のタスク(QoSタスク134)の実行制御を行うためのタスクである。スケジューラタスク132は、他のタスクの実行制御として、QoSタスク134の中から実行タスクの決定、実行タスクの優先度の変更、及び、実行タスクの所要リソース量の制御(リソース割り当て)等を行う。
【0031】
時間起動通知用タスク133は、スケジューラタスク132を実行状態(Running状態)へ遷移させるためのものである。そのために、時間起動通知用タスク133は、所定期間(一定周期または設定時間)ごとに所定通知(イベントフラグまたはセマフォ等)をスケジューラタスク132へ通知する。所定通知を受けると、スケジューラタスク132は、実行状態へ遷移して他のタスク(QoSタスク134)の実行制御を行う。
【0032】
QoSタスク134はその所要リソース量を制御可能な可変タスクである。所要リソース量を最低限保証すべき保証部分と制御可能部分とに分けることで、最低限の品質(保証部分)が保たれるようになっている。
【0033】
タスク情報テーブル135は、QoSタスク134(実行制御対象タスク)に関する情報を管理するためのテーブルである。このタスク情報テーブル135により、通常時(プロセッサ能力非低下時)、又はプロセッサ能力低下時のプロセッサ110がQoSタスク134の実行制御に関与した場合に所定のサービス品質を保証することが可能となっている。この所定のサービス品質保証のために、タスク情報テーブル135には、QoSタスク134と通常時のプロセッサ割当時間(タスクパラメータ)との対応関係、及びQoSタスク134とプロセッサ能力低下時のプロセッサ割当時間(タスクパラメータ)との対応関係が登録される。具体的には、タスク情報テーブル135には、タスクID135a、及びタスクパラメータ(起動タイミング135b、通常時用割当時間135c、及び能力低下時用割当時間135d等)等が登録される。
【0034】
タスクID135aは、QoSタスク134を識別するための識別子である。起動タイミング135bは、QoSタスク134における実行開始時点から次の実行開始時点までの時間(周期)である。あるQoSタスク134が実行されると、設定された周期の間、このQoSタスク134が新たに実行されることはない。
【0035】
通常時用割当時間135cは、QoSタスク134に割り当てられた通常時のプロセッサ割当時間である。通常時用割当時間135cは、通常時のプロセッサ110がQoSタスク134の実行制御に関与した場合に所定のサービス品質を保証できるように割り当てられる。
【0036】
能力低下時用割当時間135dは、QoSタスク134に割り当てられた能力低下時(プロセッサ能力低下時)のプロセッサ割当時間である。能力低下時用割当時間135dは、能力低下時のプロセッサ110がQoSタスク134の実行制御に関与した場合に所定のサービス品質を保証できるように割り当てられる。
【0037】
許可変数136には、プロセッサ能力低下の許可又は不許可を示す情報(値等)が格納される。この許可変数に許可を示す情報が記録されている場合に、プロセッサ能力低下要求があったときは、プロセッサ能力の低下が許容される。一方、許可変数に不許可を示す情報が記録されている場合に、プロセッサ能力低下要求があったとしても、プロセッサ能力の低下は許容されない。
【0038】
次に、上記構成のタスク管理システムの動作について図面を参照しながら説明する。図2は、タスク管理システムの動作を説明するためのフローチャートである。以下の処理は、情報処理端末100に所定プログラムが読み込まれ、そのプロセッサ110等により実行されることにより実現される。これは、プロセッサ110がタスクの実行制御に関与することを意味する。
【0039】
リアルタイムOSや所定アプリケーション等から新規タスク登録要求があった場合(S100)、その新規タスクの登録が可能か否かが判定される。例えば、その新規タスクを登録すると、通常時(プロセッサ能力非低下時)のプロセッサ110がその新規タスクを含む全QoSタスク(実行制御対象タスク)134の実行制御に関与した場合に所定のサービス品質を保証できるか否かが判定される。そして、所定サービス品質を保証できないと判定された場合には、その新規タスクの登録ができない(S101:No)として、新規タスク登録要求に対する処理は終了する。
【0040】
一方、所定サービス品質を保証できると判定されると、その新規タスクの登録が可能であるとして(S101:Yes)、その新規タスクに対する能力低下時のプロセッサ割当時間の計算(例えば周波数換算で計算)及び記録が行われる(S102)。この計算されたプロセッサ割当時間は、タスク情報テーブル(能力低下時用割当時間135d)に登録(記録)される。
【0041】
能力低下時のプロセッサ割当時間の計算及び記録が完了すると、能力低下時割当可能か否かが判定される(S103)。例えば、能力低下時のプロセッサ110がその新規タスクを含む全QoSタスク(実行制御対象タスク)134の実行制御に関与した場合に所定のサービス品質を保証できるか否かが判定される。この判定は、例えば、判定部としてのプロセッサ110等が所定プログラムを実行することにより実現される。
【0042】
この判定は、各種の方法で行うことが可能である。例えば、タスク情報テーブル135に登録されている能力低下時用割当時間135dに基づいて、その新規タスクを含めた全QoSタスク134(実行制御対象タスク)について割当時間を再計算することにより(さらにはその計算結果と所定値とを比較すること等により)判定することが考えられる。
【0043】
その判定の結果、所定サービス品質を保証できると判定されると、能力低下時割当可能であるとして(S103:Yes)、プロセッサ能力低下の許可を示す情報(値等)が許可変数に記録される。このとき、プロセッサ能力を低下させてもよい。この許可変数に許可情報が記録されている場合に、リアルタイムOS等からプロセッサ能力低下要求があったときは、プロセッサ110のプロセッサ能力の低下が許容される。例えば、プロセッサ能力制御部としてのプロセッサ110等が所定プログラムを実行することによりプロセッサ能力を低下させる。
【0044】
一方、所定のサービス品質を保証できないと判定されると、能力低下時割当できない(S103:No)として、プロセッサ能力低下の不許可を示す情報が許可変数に記録される(例えばクリア)(S105)。このとき、プロセッサ110が能力低下していれば通常能力に戻す。また、この許可変数に許可情報が記録されていない場合に、リアルタイムOS等からプロセッサ能力低下要求があったときは、プロセッサ110のプロセッサ能力の低下は許容されない。
【0045】
以上述べたように、本実施形態のタスク管理システムによれば、省電力等を目的としてそのプロセッサ能力を低下させることが可能なプロセッサ110がQoSタスクの実行制御に関与する場合に、予め設定されているQoSを保証しつつ、そのプロセッサ110の能力を低下させることが可能となる。
【0046】
次に、上記構成のタスク管理システムの変形例について説明する。
【0047】
上記実施形態においては、プロセッサ110は、省電力等を目的としてそのプロセッサ能力(例えば動作周波数)を低下させること(例えば通常動作周波数800MHzから低下時動作周波数400MHz)が可能なプロセッサであり、例えば、当該機能を備えるLSIやCPU等であるように説明したが、本発明はこれに限定されない。例えば、プロセッサ110は、そのプロセッサ能力を段階的に低下させること(例えば通常動作周波数800MHzから低下時動作周波数400MHz、又は200MHz)が可能なプロセッサであってもよい。
【0048】
この場合、タスク情報テーブル135には、QoSタスク134と通常時のプロセッサ割当時間(タスクパラメータ)との対応関係、及びQoSタスク134と第1及び第2のプロセッサ能力低下時のプロセッサ割当時間(タスクパラメータ)との対応関係とが登録されることになる。
【0049】
このようにすれば、省電力等を目的としてそのプロセッサ能力を段階的に低下させることが可能なプロセッサ110がQoSタスクの実行制御に関与する場合に、設定されているQoSを保証しつつ、そのプロセッサ110の能力を段階的に低下させることが可能となる。
【0050】
次に、上記構成のタスク管理システムにおいて複数のタスクの実行を制御する動作について図面を参照しながら説明する。図3は、複数のタスクの実行を制御する動作を説明するためのフローチャートである。以下、時間起動通知用タスク133を用いないで制御する例について説明する。
【0051】
スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク132に最も高い優先度が設定されているので、スケジューラ131は、スケジューラタスク132を実行する。これにより、スケジューラタスク132は、初期化され(S100)、QoSタスク134の中から実行タスクを決定する(S101)。具体的には、スケジューラタスク132は、タスク情報テーブル135中のタスク情報(起動タイミング135b等)に基づいて、QoSタスクスケジュール計算等の処理を行うことで実行タスクを決定する。
【0052】
次に、スケジューラタスク132は、実行タスクとして決定したQoSタスク134がスケジューラ131によって実行されるように、所定のアルゴリズムに従い、そのQoSタスク134の優先度を変更する。例えば、そのQoSタスク134の優先度をそれ以外のタスク(QoS設定されていないタスク、Wait状態(待ち状態)のQoSタスク、又は、割り当て待ちのタスク等)の優先度よりも高く設定する。
【0053】
これととともに、スケジューラタスク132は、そのQoSタスク134の所要リソース量の制御を行う(S102)。例えば、タスク情報テーブル135(通常時用割当時間135c)へプロセッサ使用時間を設定する(QoS制御)。
【0054】
次に、スケジューラタスク132は、次回スケジューラ起動時刻を計算し設定する(S103)。この設定が完了すると、スケジューラタスク132は、実行状態以外の状態(スリープ状態または待ち状態等)へ遷移する(S104)。実行状態以外の状態は設定時刻に達して再度実行状態へ遷移するまで継続する(S105)。
【0055】
リアルタイムOS(スケジューラ131)は、スケジューラタスク132が実行状態以外の状態から実行状態へ遷移するまでの間は、他のタスク(スケジューラタスク132以外のタスク133、134等)のうちの最も高い優先度が設定されているタスクを実行する。具体的には、スケジューラ131は、終了または待ち状態でない他のタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、S101で実行タスクとして決定されたQoSタスク134の優先度がスケジューラ131によって実行されるように変更されているため、スケジューラ131は、その変更された優先度が設定されているQoSタスク134等を実行する。
【0056】
スケジューラタスク132は、S103で設定した設定時刻に達すると、実行状態以外の状態から実行状態へ遷移する。即ち、スリープ状態等が解除される(S106)。そして、スケジューラタスク132は、タスク情報テーブル135(タスク情報ともいう)を更新する(S107)。
【0057】
次に、スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク132に最も高い優先度が設定されており、しかも、スケジューラタスクのスリープ状態等が解除されているので、スケジューラ131は、スケジューラタスク132を実行する。以下、スケジューラタスク132は実行状態へ遷移して、上記S100〜S107の処理を繰り返す。
【0058】
以上述べたように、本実施形態においては、最も高い優先度が設定されるとともに、他のタスク(QoSタスク134)の実行制御を行うスケジューラタスク132を設けたので、リアルタイムOSのカーネル部分を修正することなく、タスク管理方式をそのリアルタイムOSに実装することが可能となる。
【0059】
また、本実施形態においては、スケジューラタスク132は、所定期間ごとに(設定時刻に達するごとに)実行状態へ遷移して、タスク情報テーブル135中のタスク情報に基づいて、他のタスク(QoSタスク134等)の実行制御を行う。
【0060】
これにより、タスクの実行におけるリソース割当制御が可能となり、アプリケーション(例えばQoSタスクを含む)実行におけるサービス品質の制御を実現することができる。また、リアルタイムOSにおいて、各タスク(QoSタスク)毎のリソース割当制御が可能となることで、優先度に依らず、タスクの実行を適切なタイミングで必要とされる時間の実行が可能となり、アプリケーションの開発およびデバックの効率が向上する。さらに、カーネル内部を修正せずに、優先度制御機能を持つリアルタイムOS自体の機能を用いて、リソース割当制御を実現することで、リソース割当制御における実装の容易性と移植性が高まる。
【0061】
次に、上記構成のタスク管理システムにおいて、時間起動通知用タスク133を用いて、複数のタスクの実行を制御する動作について説明する。図4は、複数のタスクに設定されている優先度を説明するための図である。縦軸が優先度を示しており、各タスクにはその位置に応じた優先度が設定されている。図5及び図6は、タスク管理システムの動作を説明するための図である。図6中、縦軸が優先度を、横軸が時間の経過を、それぞれ表している。
【0062】
複数のタスクに設定されている優先度は当初、図4に示すように、時間起動通知用タスク133が最も高く、スケジューラタスク132、QoSタスク134、その他のタスク(QoS設定されていないタスク、Wait状態のQoSタスク、割当待ちのタスク)の順に低くなっている。
【0063】
スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、図4に示すように、時間起動通知用タスク133に最も高い優先度が設定されているので、スケジューラ131は、時間起動通知用タスク133を実行する。時間起動通知用タスク133は、所定期間(一定周期または設定時間)ごとに、所定通知をスケジューラタスク132へ通知等することで、スケジューラタスク132の優先度を他のタスク133、134等の優先度よりも高く設定する。これとともに、スケジューラタスク132の実行状態以外の状態(スリープ状態または待ち状態等)を解除する。
【0064】
この状態の下で、スケジューラ131は、終了又は待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク132に最も高い優先度が設定されており、しかも、スケジューラタスク132のスリープ状態等が解除されているので、スケジューラ131は、スケジューラタスク132を実行する。これにより、図5に示すように、スケジューラタスク132は、初期化され(S200)、QoSタスク134の中から実行タスクを決定する(S201)。具体的には、スケジューラタスク132は、タスク情報テーブル135中の起動タイミング135b等に基づいて、QoSタスクスケジュール計算等の処理を行うことで実行タスクを決定する。
【0065】
次に、スケジューラタスク132は、実行タスクとして決定したQoSタスク134がスケジューラ131によって実行されるように、所定のアルゴリズムに従い、そのQoSタスク134の優先度を変更する。例えば、そのQoSタスク134の優先度をそれ以外のタスク(QoS設定されていないタスク、Wait状態(待ち状態)のQoSタスク、又は、割り当て待ちのタスク等)の優先度よりも高く設定する。
【0066】
これととともに、スケジューラタスク132は、そのQoSタスク134の所要リソース量の制御を行う(S202)。例えば、タスク情報テーブル135(通常時用割当時間135c)へプロセッサ使用時間を設定する(QoS制御)。
【0067】
次に、スケジューラタスク132の優先度が他のタスク133、134等の優先度よりも低く設定される。これとともに、スケジューラタスク132は、実行状態以外の状態(スリープ状態またはReady状態(待ち状態))へ遷移する(S203)。実行状態以外の状態は時間起動通知用タスク133から所定通知等が通知され再度実行状態へ遷移するまで継続する(S204)。なお、QoSタスク割り当てが無いときは、スケジューラタスク132は、Suspend状態に遷移する。この場合、スケジューラタスク132の優先度を低く設定する必要はない。
【0068】
リアルタイムOS(スケジューラ131)は、スケジューラタスク132が実行状態以外の状態から実行状態へ遷移するまでの間は、他のタスク(スケジューラタスク132以外のタスク133、134等)のうちの最も高い優先度が設定されているタスクを実行する。具体的には、スケジューラ131は、終了または待ち状態でない他のタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、S201で実行タスクとして決定されたQoSタスク134の優先度がスケジューラ131によって実行されるように変更されているため、スケジューラ131は、その変更された優先度が設定されているQoSタスク134等を実行する。
【0069】
次に、所定期間(一定周期又は設定時刻)が経過すると、時間起動通知用タスク133は、所定通知をスケジューラタスク132に通知等することで、スケジューラタスク132の優先度を他のタスクの優先度よりも高く設定する。これとともに、スケジューラタスク132は、実行状態以外の状態から実行状態へ遷移する(起動)。即ち、Ready状態(待ち状態)が解除される(S205)。なお、QoSタスク134の割当中に起動された場合は、他のタスクが動作可能となる処理が行われる。
【0070】
そして、スケジューラタスク132は、タスク情報テーブル135(タスク情報ともいう)を更新する(S206)。
【0071】
次に、スケジューラ131は、終了または待ち状態でないタスクのうちの最も高い優先度が設定されているタスクを実行する。ここでは、スケジューラタスク132に最も高い優先度が設定されており、しかも、スケジューラタスクの待ち状態等が解除されているので、スケジューラ131は、スケジューラタスク132を実行する。以下、スケジューラタスク132は実行状態へ遷移して、上記S200〜S206の処理を繰り返す。
【0072】
以上のようにして、スケジューラタスク132は、所定期間ごとに(設定時刻に達するごとに)実行状態へ遷移して他のタスクの実行制御を行う。これにより、上記動作と同様の効果が得られる。
なお、上記実施形態においては、各タスクについてはリアルタイムOS上で実行制御されるように説明したが、本発明はこれに限定されない。例えば、リアルタイムOS以外の他のOS上で実行制御されてもよいことは無論である。
【0073】
本発明は、その精神または主要な特徴から逸脱することなく、他の様々な形で実施することができる。このため、上記の実施形態はあらゆる点で単なる例示にすぎず、これらの記載によって本発明が限定的に解釈されるものではない。
【0074】
【発明の効果】
本発明によれば、省電力等を目的としてそのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御(QoS制御等)に関与する場合に、設定されているQoSを保証しつつ、そのプロセッサの能力を低下させることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態であるタスク管理システムの概略システム構成を説明するための図である。
【図2】本発明の実施の形態であるタスク管理システムの動作を説明するためのフローチャートである。
【図3】本発明の実施の形態であるタスク管理システムの動作を説明するためのフローチャートである。
【図4】複数のタスクに設定されている優先度を説明するための図である。
【図5】本発明の実施の形態であるタスク管理システムの動作を説明するためのフローチャートである。
【図6】本発明の実施の形態であるタスク管理システムの動作を説明するための図である。
【符号の説明】
100 情報処理端末
110 プロセッサ
120 記憶装置
130 メモリ
131 スケジューラ
132 スケジューラタスク
133 時間起動通知用タスク
134 QoSタスク
135 タスク情報テーブル
136 許可変数
Claims (12)
- そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するタスク管理システムであって、
プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部と、
前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報が記録される許可変数と、
を備えるタスク管理システム。 - 少なくとも実行制御対象タスクと能力低下時のタスクパラメータとの対応関係が登録されるタスク情報テーブルをさらに備え、
前記判定部は、前記タスクパラメータに基づいて、前記所定のサービス品質を保証できるか否かを判定する、
請求項1に記載のタスク管理システム。 - 前記タスク情報テーブルには、新規タスク登録要求があった場合に、少なくともその新規タスクに対するプロセッサ能力低下時のタスクパラメータが登録され、
前記判定部は、前記新規タスクに対するプロセッサ能力低下時のタスクパラメータ登録後に、前記タスクパラメータに基づいて、前記所定のサービス品質を保証できるか否かを判定する、
請求項1又は2に記載のタスク管理システム。 - 前記タスクパラメータはプロセッサ割当時間である請求項1から3のいずれかに記載のタスク管理システム。
- 前記許可変数にプロセッサ能力低下の許可を示す情報が格納されており、かつ、プロセッサ能力低下要求があった場合に、前記プロセッサのプロセッサ能力を低下させるプロセッサ能力制御部を備える、
請求項1から4のいずれかに記載のタスク管理システム。 - 前記プロセッサ能力制御部は、前記プロセッサの動作周波数を低下させることにより前記プロセッサのプロセッサ能力を低下させる請求項1から5のいずれかに記載のタスク管理システム。
- 前記プロセッサはそのプロセッサ能力を段階的に低下させることが可能なプロセッサである請求項1から6のいずれかに記載のタスク管理システム。
- そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するタスク管理システムであって、
プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部と、
前記所定のサービス品質を保証できると判定された状態の下で、プロセッサ能力低下要求があった場合に、前記プロセッサのプロセッサ能力を低下させるプロセッサ能力制御部と、
を備えるタスク管理システム。 - そのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御に関与するタスク管理方法であって、
プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定するステップと、
前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報を許可変数に記録するステップと、
を備えるタスク管理方法。 - そのプロセッサ能力を低下させることが可能なプロセッサがタスクの実行制御に関与するタスク管理方法であって、
プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定するステップと、
前記所定のサービス品質を保証できると判定された状態の下で、プロセッサ能力低下要求があった場合に、前記プロセッサのプロセッサ能力を低下させるステップと、
を備えるタスク管理方法。 - そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するコンピュータを、
プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部、
前記所定のサービス品質を保証できると判定された場合に、プロセッサ能力低下の許可を示す情報が記録される許可変数、
として機能させるためのプログラム。 - そのプロセッサ能力を低下させることが可能なプロセッサを含み、そのプロセッサがタスクの実行制御に関与するコンピュータを、
プロセッサ能力低下時の前記プロセッサがタスクの実行制御に関与した場合に所定のサービス品質を保証できるか否かを判定する判定部、
前記所定のサービス品質を保証できると判定された状態の下で、プロセッサ能力低下要求があった場合に、前記プロセッサのプロセッサ能力を低下させるプロセッサ能力制御部、
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003119022A JP2004326364A (ja) | 2003-04-23 | 2003-04-23 | タスク管理システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003119022A JP2004326364A (ja) | 2003-04-23 | 2003-04-23 | タスク管理システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004326364A true JP2004326364A (ja) | 2004-11-18 |
Family
ID=33498391
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003119022A Withdrawn JP2004326364A (ja) | 2003-04-23 | 2003-04-23 | タスク管理システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004326364A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013524306A (ja) * | 2010-03-25 | 2013-06-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ・システム内でタスクを開始するためのコンピュータ実装方法、システム及びコンピュータ・プログラム |
-
2003
- 2003-04-23 JP JP2003119022A patent/JP2004326364A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013524306A (ja) * | 2010-03-25 | 2013-06-17 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンピュータ・システム内でタスクを開始するためのコンピュータ実装方法、システム及びコンピュータ・プログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5324934B2 (ja) | 情報処理装置および情報処理方法 | |
JP5605970B2 (ja) | リソースセット移行をスケジュールすることによる、ポータブルコンピューティングデバイスにおけるプロセッサアプリケーション状態間のリソース待ち時間の最小化 | |
US9405563B2 (en) | Resource management method and apparatus for virtual machine system, and virtual machine system | |
KR100864964B1 (ko) | 연산처리시스템 및 연산처리 제어방법, 업무관리시스템 및업무관리방법과 기억매체 | |
JP6125539B2 (ja) | リアルタイムシステムにおける動的電力管理 | |
JP5824162B2 (ja) | スケジュールされたリソースセット移行を使用したポータブルコンピューティングデバイスのための作業負荷推定による電力の節約 | |
JPH0969017A (ja) | コンピュータ・システムの電力管理方法及び装置 | |
US20070118838A1 (en) | Task execution controller, task execution control method, and program | |
JP2008225639A (ja) | 低消費電力ジョブ管理方法及び計算機システム | |
JP5347451B2 (ja) | マルチプロセッサシステム、競合回避プログラム及び競合回避方法 | |
JP2011508328A (ja) | データ・プロセッサのパフォーマンス予測 | |
JP2013232207A (ja) | コンピュータマイクロジョブを中断せずに実行するようスケジュールするための方法、システムおよび装置 | |
JP5345990B2 (ja) | 特定のプロセスを短時間で処理する方法およびコンピュータ | |
US9652027B2 (en) | Thread scheduling based on performance state and idle state of processing units | |
JP2005285093A (ja) | プロセッサ電力制御装置及びプロセッサ電力制御方法 | |
JP4523910B2 (ja) | 並列処理装置及び並列処理方法及び並列処理プログラム | |
JP2004326364A (ja) | タスク管理システム | |
JP2001236236A (ja) | タスク制御装置およびそのタスクスケジューリング方法 | |
WO2016082360A1 (zh) | 一种实现cpu业务迁移的方法及装置 | |
JP2004157737A (ja) | タスク管理システム | |
JP2004326399A (ja) | タスク管理システム | |
JP2005190238A (ja) | リアルタイム制御方式 | |
JP2010205046A (ja) | 情報処理装置 | |
JP2003337634A (ja) | コンピュータ装置及びプロセッサ制御方法及びプロセッサ制御方法をコンピュータに実行させるためのプログラム及びプロセッサ制御方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP2007114852A (ja) | プログラム処理装置及びプログラム処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060704 |