JP4367167B2 - リアルタイムシステム、QoS適応制御装置及びそれらに用いるQoS適応制御方法並びにそのプログラム - Google Patents

リアルタイムシステム、QoS適応制御装置及びそれらに用いるQoS適応制御方法並びにそのプログラム Download PDF

Info

Publication number
JP4367167B2
JP4367167B2 JP2004040722A JP2004040722A JP4367167B2 JP 4367167 B2 JP4367167 B2 JP 4367167B2 JP 2004040722 A JP2004040722 A JP 2004040722A JP 2004040722 A JP2004040722 A JP 2004040722A JP 4367167 B2 JP4367167 B2 JP 4367167B2
Authority
JP
Japan
Prior art keywords
qos
task
level
adaptive control
tasks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004040722A
Other languages
English (en)
Other versions
JP2005236456A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2004040722A priority Critical patent/JP4367167B2/ja
Priority to US11/038,690 priority patent/US20050182747A1/en
Publication of JP2005236456A publication Critical patent/JP2005236456A/ja
Application granted granted Critical
Publication of JP4367167B2 publication Critical patent/JP4367167B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明はリアルタイムシステム、QoS適応制御装置及びそれらに用いるQoS適応制御方法並びにそのプログラムに関し、特にQoS(Quality of Service)レベル公平化に基づくリアルタイムシステムのQoS適応制御方法に関する。
QoSレベルを調停する研究については、これまでいくつかの研究がなされてきている。例えば、システム過負荷時のタスクに対して、受容可能なQoSレベルを予め記述し、システム過負荷時には、この記述を基に各タスクとネゴシエーションを行うことによって、タスクのQoSレベルを低下させ、過負荷状態に対処する研究がされている(例えば、非特許文献1参照)。
また、Buttazzoらは、リアルタイムシステムにおいて、タスクの処理がバネのように伸縮するものと見なすエラスティックモデルを導入し、過負荷時には各タスクの実行時間を短縮して過負荷状況に適応するアルゴリズムを提案している(例えば、非特許文献2参照)。この場合、プログラム設計者はアプリケーションプログラムをエラスティックモデルに基づき設計しなければならない。これは容易なことでないと考えられる。
さらに、Rajkummerらは、複数の資源に同時にアクセスする場合にQoSに基づく資源確保モデルを提案している(例えば、非特許文献3参照)。この提案では、各アプリケーションプログラムの持つ最低限のQoSレベルの要求を満たすという制限下に、QoSレベルを最大化するアルゴリズムが提案されている。
さらにまた、追川らは、リアルタイムプログラムの時間上のQoSレベルを保証するために、ソフトウェアアーキテクチャと資源予約を行うAPIとを提案し、ポータブルなカーネルモジュールを開発している(例えば、非特許文献4参照)。このカーネルモジュールでは、アドミッション制御を行っている。
一方、リアルタイムシステムに制御理論を適用する研究が、近年注目されている。例えば、リアルタイムシステムにおけるタスクのCPU(Central Processing Unit)使用率を管理する手法に制御理論を利用する研究が提案されている(例えば、非特許文献5参照)。この研究では、CPUの使用時間を制御するために、PID(Proportional−integral−derivative)が応用されている。PID制御は動的な制御なので、過去のCPU利用率を記憶しておく必要がある。
また、タスクのCPU利用率やデッドラインミス率を指定された値に維持するために、フィードバック制御理論を用いる研究がなされている。例えば、デッドラインミス率をある範囲内に抑えるべく、CPU時間の予約にPI制御器を利用する研究が提案されている(例えば、非特許文献6参照)。
さらに、CPU利用率またはデッドラインミス率に対して目標値を与え、ゲインフィードバックによる制御法が提案している(例えば、非特許文献7参照)。
特開2003−069631 特開平10−233802 特表2001−516988 特開2002−368797 特開平10−293694 特開平10−240698 "QoS Negotiation in Real−Time Systems and Its Application to Automated Flight Control"(T.Abdelzaher,E.Atkins,and K.Shin,Proc.IEEE Real−Time Technology and Application Symposium,1997.) "Adaptive Workload Management through Elastic Scheduling"(G.Buttazzo and L.Abeni,Real−Time Systems,Vol.23,No.1,pp.7−24,2002.) "A Resource Allocation Model for QoS Management"(R.Rajkumar,C.Lee,J.Leoczky,and D.Siewiorek,Proc.18th IEEE Real−Time System Symposium,pp.298−307,Dec.1997.) "Portable RK: A Portable Resource Kernel for Guaranteed and Enforced Timing Behavior"(S.Oikawa and R.Rajkumar,Proceedings of the IEEE Real−Time Technology and Applications Symposium,June 1999.) "A feedback−driven Proportional Allocator for Real−Rate Scheduling"(D.Steere,A.Goel,J.Greunberg,D.McNamee,C.Pu and J.Walpole,Proceedings of the 3rd Symposium on Operating Systems Design and Implementation,1999.) "Analysis of a Reservation−Based Feedback Scheduler"(L.Abeni,L.Palopoli,G.Lipari and J.Walpole,Proceedings of the 23rd Real−Time Systems Symposium,pp.71−80,2002.) "Feedback Control Real−Time Scheduling:Framework,Modeling,and Algorithms"(C.Lu,J.Stankovic,S.Son,and G.Tao,Real−Time Systems,Vol.23,No.1,pp.85−126,2002.)
上述した従来のQoSレベルの調停方法では、上述した方法や研究のいずれの場合も、目標値を前もって与える必要がある。しかしながら、目標値は処理されるべきタスクの集合に依存しており、時間とともにタスクの集合が変動すると、目標値の再計算が必要になる。この計算には非線形方程式の数値計算が含まれており、nをタスクの数とした時、O(n2 )の計算量になる。
リアルタイムシステムにおける過負荷状態時には、各タスクのCPU利用率を下げることでデッドラインミスを回避する必要がある。一般に、各タスクのQoSレベルはそれぞれ異なったCPU利用率の非線形関数で表されるため、同じ割合でCPUの利用率を変化させた時、QoSレベルの変化がタスクによって異なる。
そこで、本発明の目的は上記の問題点を解消し、過負荷状態を避けながらQoSレベルの偏りをなくすために、指定された総CPU利用率の下で全てのタスクのQoSレベルを公平化するようなCPU利用率の制御を行うことができるリアルタイムシステム、QoS適応制御装置及びそれらに用いるQoS適応制御方法並びにそのプログラムを提供することにある。
本発明によるリアルタイムシステムは、順次実行される複数のタスク各々のQoS(Quality of Service)レベルを調停するQoS適応制御装置を含むリアルタイムシステムであって、
前記QoS適応制御装置は、現在の平均QoSレベルに基づいて前記QoSレベルを制御するQoS適応制御器と、前記タスクの前記QoSレベルをモニタするモニタ手段とを備え、
前記QoS適応制御器は、前記モニタ手段のモニタ結果に基づいて次のタスクのCPU(Central Processing Unit)利用率を計算し、
制御理論を用いて前記QoS適応制御器で計算される前記CPU利用率がすべてのタスクのQoSレベルを等しくする値に収束する条件を利用している。
本発明によるQoS適応制御装置は、順次実行される複数のタスク各々のQoS(Quality of Service)レベルを調停するQoS適応制御装置であって、
現在の平均QoSレベルに基づいて前記QoSレベルを制御するQoS適応制御器と、前記タスクの前記QoSレベルをモニタするモニタ手段とを備え、
前記QoS適応制御器は、前記モニタ手段のモニタ結果に基づいて次のタスクのCPU(Central Processing Unit)利用率を計算し、
制御理論を用いて前記QoS適応制御器で計算される前記CPU利用率がすべてのQoSレベルを等しくする値に収束する条件を利用している。
本発明によるQoS適応制御方法は、順次実行される複数のタスク各々のQoS(Quality of Service)レベルを調停するQoS適応制御装置を含むリアルタイムシステムに用いるQoS適応制御方法であって、
前記QoS適応制御装置側に、現在の平均QoSレベルに基づいて前記QoSレベルを制御する第1のステップと、前記タスクの前記QoSレベルをモニタする第2のステップとを備え、
前記第1のステップにおいて、前記第2のステップのモニタ結果に基づいて次のタスクのCPU(Central Processing Unit)利用率を計算し、
制御理論を用いて前記第1のステップで計算される前記CPU利用率がすべてのQoSレベルを等しくする値に収束する条件を利用している。
本発明によるプログラムは、順次実行される複数のタスク各々のQoS(Quality of Service)レベルを調停するQoS適応制御装置内のコンピュータに実行させるプログラムであって、
現在の平均QoSレベルに基づいて前記QoSレベルを制御する第1の処理と、前記タスクの前記QoSレベルをモニタする第2の処理とを含み
前記第1の処理において、前記第2の処理のモニタ結果に基づいて次のタスクのCPU(Central Processing Unit)利用率を計算させ、
制御理論を用いて前記第1の処理で計算される前記CPU利用率がすべてのQoSレベルを等しくする値に収束する条件を利用させることを特徴とする。
すなわち、本発明のQoS適応制御方法は、過負荷状態を避けながら、QoS(Quality of Service)レベルの偏りをなくすために、指定された総CPU(Central Processing Unit)利用率の下ですべてのタスクのQoSレベルを公平化するようなCPU利用率の制御を行う方法である。
QoSレベルを公平化するようなCPU利用率を求め、これに基づいて制御するのは困難であるが、本発明のQoS適応制御方法では、現在の平均QoSレベルに基づいてQoSレベルを制御するQoS適応制御器を導入することで、QoS公平化を達成している。この場合には、CPU利用率が未知であっても、QoS公平化が可能である。
本発明では、この目的を達成するために制御理論を用いて、QoS適応制御器で配分されるCPU利用率が、すべてのQoSレベルを等しくする値に収束する条件を利用している。
これによって、本発明のQoS適応制御方法では、タスクのQoSレベルをモニタし、そのモニタの結果に基づいて次のタスクの利用率を計算する制御器を設けているので、過負荷状態を避けながらQoSレベルの偏りをなくすために、指定された総CPU利用率の下ですべてのタスクのQoSレベルを公平化するようなCPU利用率の制御を行うことが可能となる。
また、本発明のQoS適応制御方法では、制御理論を用いて、QoS適応制御器で配分されるCPU利用率がすべてのQoSレベルを等しくする値に収束する条件を利用しているため、CPU利用率が未知であっても、QoS公平化が可能になる。
本発明は、以下に述べるような構成及び動作とすることで、過負荷状態を避けながらQoSレベルの偏りをなくすために、指定された総CPU利用率の下ですべてのタスクのQoSレベルを公平化するようなCPU利用率の制御を行うことができるという効果が得られる。
次に、本発明の実施例について図面を参照して説明する。図1は本発明の一実施例によるリアルタイムシステムのQoS(Quality of Service)適応制御装置の構成を示すブロック図である。図1において、本発明の一実施例によるQoS適応制御装置はQoSレベルを調停するものであり、コンピュータ1によって構成されている。
コンピュータ1はタスクT1 〜TN を含むタスク表11と、実行待ちキュー12と、スケジューラ13と、ジョブ実行部14と、モニタ15と、QoS適応制御器16から構成されている。
タスク表11はコンピュータ1の中で実行されるタスクの制御ブロックの表(データ)である。実行待ちキュー12はタスク表11の中でリリースされた(実行可能状態になった)ジョブを蓄えるキュー(データ)である。
スケジューラ13は実行待ちキュー12の中からあるスケジューリングポリシにしたがって実行すべきジョブを選択するプログラムである。リアルタイムシステムでは、スケジューリングポリシとして、周期的に実行される周期タスクの場合にタスクの周期の短い順に実行するRate Monotonicスケジューリング、デッドラインの早い順に実行されるEarliest Deadline Firstスケジューラ等が代表的であるが、本実施例ではスケジューラの種類を特に固定しない。
ジョブ実行部14はスケジューラ13から選択されたジョブを実行するプログラムである。モニタ15はタスクのQoSレベルを測定するプログラムである。QoS適応制御器16は入力となる時刻tl でのタスクのQoSレベルQi (tl )(i=1,…,N)から次の時刻時刻tl+1 でのタスクのCPU(Central Processing Unit)利用率ri (tl+1 )(i=1,…,N)を計算するプログラムである。
図2は図1のQoS適応制御器16の構成を示すブロック図である。図2において、QoS適応制御器16はQoSレベル計算部161と、タスクT1 の制御器162−1と、タスクT2 の制御器162−2と、・・・、タスクTN の制御器162−Nとから構成されている。
QoSレベル計算部161はQoSレベルの平均<Q>を計算するプログラムである。タスクT1 の制御器162−1、タスクT2 の制御器162−2、・・・、タスクTN の制御器162−Nはそれぞれ、QoSレベルの平均<Q>と時刻tl でのQoSレベルQi (tl )(i=1,…,N)から、<Q>(t)とQi (tl )との誤差をなくすように、次の時刻時刻tl+1 でのタスクのCPU利用率ri (tl+1 )(i=1,…,N)を計算するプログラムである。
まず、本発明の背景となる理論について説明する。本発明では、独立な周期タスク集合{T1 ,T2 ,…,TN }、スケジューラ、及びプロセッサからなるリアルタイムシステムを対象とする。
スケジューラで用いられるスケジューリング則は既に与えられており、総CPU利用率がR以下ならば、周期タスク集合{T1 ,T2 ,…,TN }はスケジュール可能であるとする。以下、CPU利用率を単に利用率とする。
各タスクTi は周期的にサービスを要求する。各サービスは要求される時に、Ti に与えられた利用率ri (0<ri ≦1)に応じてサービスに利用時間が与えられる。
本発明では、サービスの実行が終了すると、その処理結果をQoSとして評価する。以下、タスクTi が要求するサービスが利用率ri で実行された時のQoSレベルをQoSi (ri )とする。
本発明では、各タスクTi のQoSレベルQoSi (ri )が下限QoSi - から上限QoSi + までの値を持つ場合について考える。下限QoSi - 、上限QoSi + はそれぞれ利用率の最小要求量ri - 、最大要求量ri + によって得られるQoSレベルに対応している。ここで、関数pi (ri )を、
i (ri )=(QoSi (ri )−QoSi -
/(QoSi + −QoSi - ) ・・・(1)
と定義すると、0≦pi (ri )≦1であり、pi (ri )=1の時にはタスクTi が最大QoSレベルとなる利用率が、pi (ri )=0の時にはタスクTi が最小QoSレベルとなる利用率が、それぞれに割り当てられることを意味している。
各タスクTi のQoSレベルがQoSi - からQoSi + までの値をとるので、関数pi (ri )はQoSレベルの達成度を意味していると考えることができ、全てのタスクで関数pi (ri )が等しくなる。すなわち、
1 (r1 )=p2 (r2 )=…=pN (rN ) ・・・(2)
となるように、各タスクTi の利用率r1 ,r2 ,…,rN と定められる時、利用率が公平に割り当てられていると考える。
i は、
(1)pi はri ∈[ri - ,ri + ]で微分可能な単調増加関数である
(2)pi (0)=0、0<dpi /dri ≦Di (Di はpi の最大変化率)という条件を満たすものと仮定する。
時刻tにおいて、各タスクTi が利用率ri + でジョブをリリースした時、
(a)総利用率aがR以下であれば、リリースされたジョブはすべてデッドラインまでに処理を終了することができるので、特に制御する必要はない。ここで、総利用率aは、
Figure 0004367167
と表される。
(b)総利用率bがRより大きい場合には各タスクTi に最小限必要な利用率を割り当てることができない。ここで、総利用率bは、
Figure 0004367167
と表される。
(c)総利用率a>R>総利用率b
の場合を本実施例で扱い、その動作を以下に述べる。以下、説明を簡単化するために、pi (ri (t))=Qi (t)とする。
図3は本発明の一実施例によるQoS適応制御装置の動作を示すフローチャートである。これら図1〜図3を参照して本発明の一実施例によるQoS適応制御装置の動作について説明する。
QoS適応制御器16は指定された時刻になると起動される。以下、QoS制御適応制御器16のl回目の起動時刻をtl とする。時刻tl でQoS適応制御器16によって配分された各タスクTi の利用率は、次にQoS適応制御器16が起動する時刻tl+1 まで保持される。
コンピュータ1は時刻t∈[tl ,tl+1 )の間にタスクTi のk番目のジョブJj-k をリリースする(図3ステップS1)。すると、ジョブJj-k は利用率がri (tl )になるような処理を行う(図3ステップS2)。ジョブJj-k の実行終了後、利用率ri (tl )によって決まるタスクTi のQoSレベルQi (tl )がモニタ15で測定され(図3ステップS3)、その測定結果がQoS適応制御器16に送られる。それに基づいて、QoS適応制御器16は時刻tl+1 までにri (tl+1 )を計算する(図3ステップS4)。
QoS適応制御器16は、
Figure 0004367167
・・・(3)
1 (r1 e )=p2 (r2 e )=…=pN (rN e )=Qe
・・・(4)
を満足するri e 、Qe を求め、ri 、Qi がri e 、Qe に収束するように制御する。
そこで、Qi (t)を未知のQe に近づける制御手法として、各時刻でのQoSレベルの平均値<Q>(t)を仮想的な目標値として、<Q>(t)とQj (t)との偏差に基づいた制御を考える。ここで、平均値<Q>(t)は、
Figure 0004367167
と表される。
モニタ15によって測定された各タスクTi のQoSレベルQi (tl )に対して、すべてのQoSレベルの平均値<Q>(t)を計算し、各タスクTi の制御器(タスクT1 の制御器162−1と、タスクT2 の制御器162−2と、・・・、タスクTN の制御器162−N)ではQoSレベルの平均値<Q>(t)とQoSレベルQi (tl )との誤差をなくすように利用率を設定する。ここでは、
i (tl )=ri (tl-1 )+α(<Q>(tl-1 )−Qi (tl-1
・・・(5)
という式によって求める。但し、αはフィードバックゲインで、全ての制御器(タスクT1 の制御器162−1と、タスクT2 の制御器162−2と、・・・、タスクTN の制御器162−N)で同じ値を用いる。
この場合、QoS適応制御器16のパラメータαをどのように設定すればよいかが重要な問題である。すなわち、
(1)QoS適応制御器16で生成されるri (t)が、実行可能スケジュールを生成できることを保証する点である。
(2)各ri (t)がri e に収束する、つまりシステムがri e ,Qe で漸近安定となる点である。これはある回数以上、QoS適応制御器16を起動すれば、Qi (t)が必ず公平化された値$Qe に近づき、QoSレベル公平化が達成されることを意味する。
α≦1/maxj j ならば、上記の(1)式で与えられるQoSレベルを持つ独立な周期タスクの集合{T1 ,T2 ,…,TN }のQoSレベル公平化が可能であることを証明することができる。そこで、αはできるだけ大きくとる方がいいので、α=1/maxj j とすればよい。
時刻tl でのタスクのQoSレベルQj (tl )(j=1,…,N)と、直前の時刻tl-1 のタスクのQoSレベルQj (tl )(j=1,…,N)とを比較し、比較結果がある小さな値εより小さければ(図3ステップS5)、漸近収束しているので、処理を終了する。
比較結果がεより小さくなければ(図3ステップS5)、漸近収束していないので、lを1増して(l=l+1)(図3ステップS6)、ステップS1に戻って次の時間スロットで再度QoS制御を行う。
このように、本実施例では、タスクのQoSレベルをモニタし、そのモニタの結果に基づいて次のタスクの利用率を計算する制御器を設けることによって、過負荷状態を避けながら、QoSレベルの偏りをなくすために、指定された総CPU利用率の下で全てのタスクのQoSレベルを公平化するようなCPU利用率の制御を行うことができる。
また、本実施例では、制御理論を用いて、QoS適応制御器で配分されるCPU利用率が全てのQoSレベルを等しくする値に収束する条件を利用することによって、CPU利用率が未知であってもQoS公平化が可能になる。
図4は本発明の他の実施例によるリアルタイムシステムのQoS適応制御装置の構成を示すブロック図である。図4において、本発明の他の実施例によるQoS適応制御装置は、実行待ちキュー12及びジョブ実行部14の代わりに、サービス待ちキュー21及びサービス実行部22を設けた以外は図1に示す本発明の一実施例によるQoS適応制御装置と同様の構成となっており、同一構成要素には同一符号を付してある。
本発明の一実施例はタスクが時間サービスを取り合う場合の協調動作をQoS制御するものであるが、本発明の他の実施例はタスクが空間サービスを行う(タスクが必要なメモリを獲得する)場合の協調動作をQoS制御するものである。動作の概要は上述した本発明の一実施例と同様であり、適用対象が異なるのみである。
本発明の他の実施例では、空間サービスをサービスと呼ぶことにする。サービスには以下のものが含まれる。タスクの実行に必要なメモリ、バッファ、チャネル等の獲得、OS(Operating System)資源(セマフォ、共有メモリ等)の獲得である。
図4において、本発明の他の実施例によるQoS適応制御装置はQoSレベルを調停するものであり、コンピュータ2によって構成されている。コンピュータ2はタスクT1 〜TN を含むタスク表11と、サービス待ちキュー21と、スケジューラ13と、サービス実行部22と、モニタ15と、QoS適応制御器16とから構成されている。
タスク表11はコンピュータ2の中で実行されるタスクの制御ブロックの表(データ)である。サービス待ちキュー21はタスク表11の中で要求されたサービス(メモリ要求等)を蓄えるキュー(データ)である。
スケジューラ13はサービス待ちキュー21の中からあるサービス処理ポリシにしたがって実行すべきジョブを選択するプログラムである。サービス処理ポリシとして、早く到着したサービスから処理を行うFirst Come First Service、優先順位をサービスが持つ場合に優先度の高いサービスから処理を行うPriority Serviceが代表的であるが、本実施例ではスケジューラの種類を特に固定しない。
サービス実行部22はスケジューラ13で選択されたサービスを実行するプログラムである。モニタ15はタスクのQoSレベルを測定するプログラムである。QoS適応制御器16は入力となる時刻tl でのタスクのQoSレベルQi (tl )(i=1,…,N)から、次の時刻時刻tl+1 でのタスクのCPU利用率ri (tl+1 )(i=1,…,N)を計算するプログラムである。
図5は図4のQoS適応制御器16の構成を示すブロック図である。図5において、QoS適応制御器16はQoSレベル計算部161と、タスクT1 の制御器162−1と、タスクT2 の制御器162−2と、・・・、タスクTN の制御器162−Nとから構成されている。
QoSレベル計算部161はQoSレベルの平均<Q>を計算するプログラムである。タスクT1 の制御器162−1、タスクT2 の制御器162−2、・・・、タスクTN の制御器162−Nはそれぞれ、QoSレベルの平均<Q>と時刻tl でのQoSレベルQi (tl )(i=1,…,N)から、<Q>(t)とQi (tl )との誤差をなくすように、次の時刻時刻tl+1 でのタスクのCPU利用率ri (tl+1 )(i=1,…,N)を計算するプログラムである。
図6は本発明の他の実施例によるQoS適応制御装置の動作を示すフローチャートである。これら図4〜図6を参照して本発明の他の実施例によるQoS適応制御装置の動作について説明する。
QoS適応制御器16は指定された時刻になると起動される。以下、QoS制御適応制御器16のl回目の起動時刻をtl とする。時刻tl でQoS適応制御器16によって配分された各タスクTi の利用率は、次にQoS適応制御器16が起動する時刻tl+1 まで保持される。
コンピュータ1は時刻t∈[tl ,tl+1 )の間にタスクTi のk番目のサービスSj-k をリリースする(図6ステップS11)。すると、サービスSj-k は利用率がri (tl )になるような処理を行う(図6ステップS12)。サービスSj-k の実行終了後、利用率ri (tl )によって決まるタスクTi のQoSレベルQi (tl )がモニタ15で測定され(図6ステップS13)、その測定結果がQoS適応制御器16に送られる。それに基づいて、QoS適応制御器16は時刻tl+1 までにri (tl+1 )を計算する(図6ステップS14)。
QoS適応制御器16は上記の(3)式及び(4)式を満足するri e 、Qe を求め、ri 、Qi がri e 、Qe に収束するように制御する。本実施例では、ri e 、Qe を計算せずに、ri 、Qi がri e 、Qe に収束させる手法を特徴とする。Qe が未知であるため、システムではQe とQi (t)との偏差に基づいて制御することは困難である。
そこで、Qi (t)を未知のQe に近づける制御手法として、各時刻でのQoSレベルの平均値<Q>(t)を仮想的な目標値として、<Q>(t)とQj (t)との偏差に基づいた制御を考える。ここで、平均値<Q>(t)は、
Figure 0004367167
と表される。
モニタ15によって測定された各タスクTi のQoSレベルQi (tl )に対して、すべてのQoSレベルの平均値<Q>(t)を計算し、各タスクTi の制御器(タスクT1 の制御器162−1と、タスクT2 の制御器162−2と、・・・、タスクTN の制御器162−N)ではQoSレベルの平均値<Q>(t)とQoSレベルQi (tl )との誤差をなくすように利用率を設定する。ここでは、上記の(5)式によって求める。但し、αはフィードバックゲインで、全ての制御器(タスクT1 の制御器162−1と、タスクT2 の制御器162−2と、・・・、タスクTN の制御器162−N)で同じ値を用いる。
この場合、QoS適応制御器16のパラメータαをどのように設定すればよいかが重要な問題である。すなわち、
(1)QoS適応制御器16で生成されるri (t)が、実行可能スケジュールを生成できることを保証する点である。
(2)各ri (t)がri e に収束する、つまりシステムがri e ,Qe で漸近安定となる点である。これはある回数以上、QoS適応制御器16を起動すれば、Qi (t)が必ず公平化された値$Qe に近づき、QoSレベル公平化が達成されることを意味する。
α≦1/maxj j ならば、上記の(1)式で与えられるQoSレベルを持つ独立な周期タスクの集合{T1 ,T2 ,…,TN }のQoSレベル公平化が可能であることを証明することができる。そこで、αはできるだけ大きくとる方がいいので、α=1/maxj j とすればよい。
時刻tl でのタスクのQoSレベルQj (tl )(j=1,…,N)と、直前の時刻tl-1 のタスクのQoSレベルQj (tl )(j=1,…,N)とを比較し、比較結果がある小さな値εより小さければ(図6ステップS15)、漸近収束しているので、処理を終了する。
比較結果がεより小さくなければ(図6ステップS15)、漸近収束していないので、lを1増して(l=l+1)(図6ステップS16)、ステップS11に戻って次の時間スロットで再度QoS制御を行う。
このように、本実施例でも、タスクのQoSレベルをモニタし、そのモニタの結果に基づいて次のタスクの利用率を計算する制御器を設けることによって、過負荷状態を避けながら、QoSレベルの偏りをなくすために、指定された総CPU利用率の下で全てのタスクのQoSレベルを公平化するようなCPU利用率の制御を行うことができる。
また、本実施例では、制御理論を用いて、QoS適応制御器で配分されるCPU利用率が全てのQoSレベルを等しくする値に収束する条件を利用することによって、CPU利用率が未知であってもQoS公平化が可能になる。
本発明は、一般に、複数のプログラムが一つの時間的、空間的資源を競合して利用する場面に調停する用途に利用することができる。例えば、本発明は、CPUスケジューラ、メモリ量が小さい組み込みシステムにおいて、各プログラムが利用するメモリ量を調停する場面、通信やディスク等のIOチャネルを各プログラムが利用するチャネル利用に必要なメモリ量を調停する場面でそれぞれ利用することができる。
本発明の一実施例によるリアルタイムシステムのQoS適応制御装置の構成を示すブロック図である。 図1のQoS適応制御器の構成を示すブロック図である。 本発明の一実施例によるQoS適応制御装置の動作を示すフローチャートである。 本発明の他の実施例によるリアルタイムシステムのQoS適応制御装置の構成を示すブロック図である。 図4のQoS適応制御器の構成を示すブロック図である。 本発明の他の実施例によるQoS適応制御装置の動作を示すフローチャートである。
符号の説明
1,2 コンピュータ
11 タスク表
12 実行待ちキュー
13 スケジューラ
14 ジョブ実行部
15 モニタ
16 QoS適応制御器
21 サービス待ちキュー
22 サービス実行部
161 QoSレベル計算部
162−1 タスクT1 の制御器
162−2 タスクT2 の制御器
162−N タスクTN の制御器

Claims (10)

  1. 順次実行される複数のタスク各々のQoS(Quality of Service)レベルを調停するQoS適応制御装置を含むリアルタイムシステムであって、
    前記QoS適応制御装置は、現在の平均QoSレベルに基づいて前記QoSレベルを制御するQoS適応制御器と、前記タスクの前記QoSレベルをモニタするモニタ手段とを有し、
    前記QoS適応制御器は、前記モニタ手段のモニタ結果に基づいて次のタスクのCPU(Central Processing Unit)利用率を計算し、
    制御理論を用いて前記QoS適応制御器で計算される前記CPU利用率がすべてのタスクのQoSレベルを等しくする値に収束する条件を利用することを特徴とするリアルタイムシステム。
  2. 複数のタスクが一つの時間的資源を競合して利用する場合にQoS制御することを特徴とする請求項1記載のリアルタイムシステム。
  3. 複数のタスクが一つの空間的資源を競合して利用する場合にQoS制御することを特徴とする請求項1記載のリアルタイムシステム。
  4. 順次実行される複数のタスク各々のQoS(Quality of Service)レベルを調停するQoS適応制御装置であって、
    現在の平均QoSレベルに基づいて前記QoSレベルを制御するQoS適応制御器と、前記タスクの前記QoSレベルをモニタするモニタ手段とを有し、
    前記QoS適応制御器は、前記モニタ手段のモニタ結果に基づいて次のタスクのCPU(Central Processing Unit)利用率を計算し、
    制御理論を用いて、前記QoS適応制御器で計算される前記CPU利用率がすべてのQoSレベルを等しくする値に収束する条件を、利用することを特徴とするQoS適応制御装置。
  5. 複数のタスクが一つの時間的資源を競合して利用する場合にQoS制御することを特徴とする請求項4記載のQoS適応制御装置。
  6. 複数のタスクが一つの空間的資源を競合して利用する場合にQoS制御することを特徴とする請求項4記載のQoS適応制御装置。
  7. 順次実行される複数のタスク各々のQoS(Quality of Service)レベルを調停するQoS適応制御装置を含むリアルタイムシステムに用いるQoS適応制御方法であって、
    前記QoS適応制御装置側に、現在の平均QoSレベルに基づいて前記QoSレベルを制御する第1のステップと、前記タスクの前記QoSレベルをモニタする第2のステップとを有し、
    前記第1のステップにおいて、前記第2のステップのモニタ結果に基づいて次のタスクのCPU(Central Processing Unit)利用率を計算し、
    制御理論を用いて、前記第1のステップで計算される前記CPU利用率がすべてのQoSレベルを等しくする値に収束する条件を、利用することを特徴とするQoS適応制御方法。
  8. 複数のタスクが一つの時間的資源を競合して利用する場合にQoS制御することを特徴とする請求項7記載のQoS適応制御方法。
  9. 複数のタスクが一つの空間的資源を競合して利用する場合にQoS制御することを特徴とする請求項7記載のQoS適応制御方法。
  10. 順次実行される複数のタスク各々のQoS(Quality of Service)レベルを調停するQoS適応制御装置内のコンピュータに実行させるプログラムであって、
    現在の平均QoSレベルに基づいて前記QoSレベルを制御する第1の処理と、前記タスクの前記QoSレベルをモニタする第2の処理とを含み
    前記第1の処理において、前記第2の処理のモニタ結果に基づいて次のタスクのCPU(Central Processing Unit)利用率を計算させ、
    制御理論を用いて、前記第1の処理で計算される前記CPU利用率がすべてのQoSレベルを等しくする値に収束する条件を、利用させることを特徴とするプログラム。
JP2004040722A 2004-02-18 2004-02-18 リアルタイムシステム、QoS適応制御装置及びそれらに用いるQoS適応制御方法並びにそのプログラム Expired - Fee Related JP4367167B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004040722A JP4367167B2 (ja) 2004-02-18 2004-02-18 リアルタイムシステム、QoS適応制御装置及びそれらに用いるQoS適応制御方法並びにそのプログラム
US11/038,690 US20050182747A1 (en) 2004-02-18 2005-01-21 Method and system for executing multiple tasks at adaptively controlled resource utilization rates to achieve equal QoS levels

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004040722A JP4367167B2 (ja) 2004-02-18 2004-02-18 リアルタイムシステム、QoS適応制御装置及びそれらに用いるQoS適応制御方法並びにそのプログラム

Publications (2)

Publication Number Publication Date
JP2005236456A JP2005236456A (ja) 2005-09-02
JP4367167B2 true JP4367167B2 (ja) 2009-11-18

Family

ID=34836390

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004040722A Expired - Fee Related JP4367167B2 (ja) 2004-02-18 2004-02-18 リアルタイムシステム、QoS適応制御装置及びそれらに用いるQoS適応制御方法並びにそのプログラム

Country Status (2)

Country Link
US (1) US20050182747A1 (ja)
JP (1) JP4367167B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4734648B2 (ja) * 2006-08-21 2011-07-27 国立大学法人 琉球大学 オキナワモズク由来のヒアルロニダーゼ阻害剤又はアトピー性皮膚炎治療剤
JP4374378B2 (ja) * 2006-12-21 2009-12-02 株式会社日立製作所 運用実績評価装置、運用実績評価方法、およびプログラム
US9965323B2 (en) 2015-03-11 2018-05-08 Western Digital Technologies, Inc. Task queues
CN106033345B (zh) * 2015-03-17 2019-06-11 阿里巴巴集团控股有限公司 Cpu使用率的控制方法和装置
US10320707B2 (en) * 2016-10-31 2019-06-11 International Business Machines Corporation Spreading quality of service values over a given range with minimal deviation
US10983836B2 (en) * 2018-08-13 2021-04-20 International Business Machines Corporation Transaction optimization during periods of peak activity

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6024647A (ja) * 1983-07-20 1985-02-07 Hitachi Ltd システムの自律化資源管理方式
US4849879A (en) * 1986-09-02 1989-07-18 Digital Equipment Corp Data processor performance advisor
US5179702A (en) * 1989-12-29 1993-01-12 Supercomputer Systems Limited Partnership System and method for controlling a highly parallel multiprocessor using an anarchy based scheduler for parallel execution thread scheduling
US5437032A (en) * 1993-11-04 1995-07-25 International Business Machines Corporation Task scheduler for a miltiprocessor system
US5444632A (en) * 1994-04-28 1995-08-22 Texas Instruments Incorporated Apparatus and method for controlling and scheduling processing machines
JP2001504257A (ja) * 1996-11-22 2001-03-27 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー 資源割当て
US6317774B1 (en) * 1997-01-09 2001-11-13 Microsoft Corporation Providing predictable scheduling of programs using a repeating precomputed schedule
US6430615B1 (en) * 1998-03-13 2002-08-06 International Business Machines Corporation Predictive model-based measurement acquisition employing a predictive model operating on a manager system and a managed system
US6331986B1 (en) * 1998-04-24 2001-12-18 Lucent Technologies Inc. Method for resource allocation and routing in multi-service virtual private networks
US6292492B1 (en) * 1998-05-20 2001-09-18 Csi Zeitnet (A Cabletron Systems Company) Efficient method and apparatus for allocating memory space used for buffering cells received on several connections in an asynchronous transfer mode (ATM) switch
US6445916B1 (en) * 1999-01-07 2002-09-03 Lucent Technologies Inc. Wireless system and method for evaluating quality of service
FR2792087B1 (fr) * 1999-04-07 2001-06-15 Bull Sa Procede d'amelioration des performances d'un systeme multiprocesseur comprenant une file d'attente de travaux et architecture de systeme pour la mise en oeuvre du procede
US6591287B1 (en) * 1999-09-08 2003-07-08 Lucent Technologies Inc. Method to increase the efficiency of job sequencing from sequential storage
US6834195B2 (en) * 2000-04-04 2004-12-21 Carl Brock Brandenberg Method and apparatus for scheduling presentation of digital content on a personal communication device
US7140022B2 (en) * 2000-06-02 2006-11-21 Honeywell International Inc. Method and apparatus for slack stealing with dynamic threads
GB0212176D0 (en) * 2002-05-27 2002-07-03 Radioscape Ltd Stochasitc scheduling in CVM
US7076781B2 (en) * 2002-05-31 2006-07-11 International Business Machines Corporation Resource reservation for large-scale job scheduling
US7573906B2 (en) * 2003-05-15 2009-08-11 At&T Intellectual Property I, L.P. Methods, computer program products, and systems for managing quality of service in a communication network for applications
US7349340B2 (en) * 2003-06-18 2008-03-25 Hewlett-Packard Development Company, L.P. System and method of monitoring e-service Quality of Service at a transaction level

Also Published As

Publication number Publication date
JP2005236456A (ja) 2005-09-02
US20050182747A1 (en) 2005-08-18

Similar Documents

Publication Publication Date Title
US11099892B2 (en) Utilization-aware resource scheduling in a distributed computing cluster
KR102207050B1 (ko) 분산 컴퓨터 시스템에 전력 할당의 변화가 있을 때 중단될 수 있고 중단될 수 없는 작업들을 관리하는 방법들 및 장치
US8832703B2 (en) Dynamically changing job allocation priority based on a restoration rate for each user and time frame
US8997107B2 (en) Elastic scaling for cloud-hosted batch applications
US10754706B1 (en) Task scheduling for multiprocessor systems
US10255217B2 (en) Two level QoS scheduling for latency and queue depth control
JP3922070B2 (ja) 分散制御方法及び装置
US7937706B2 (en) Method and system for performing fair-share preemption
US8392633B2 (en) Scheduling requesters of a shared storage resource
JPH07141305A (ja) 並列計算機の実行制御方法
JPWO2005106623A1 (ja) Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体
JP7109549B2 (ja) サービスフロアの品質に基づくメモリ帯域幅のスケジューリング
Caccamo et al. Handling execution overruns in hard real-time control systems
JP2013218744A (ja) リソースに基づいたスケジューラ
JP4367167B2 (ja) リアルタイムシステム、QoS適応制御装置及びそれらに用いるQoS適応制御方法並びにそのプログラム
JP5299869B2 (ja) コンピュータマイクロジョブ
JP2005092780A (ja) リアルタイムプロセッサシステム及び制御方法
CN110968418A (zh) 基于信号-槽的大规模有约束并发任务的调度方法与装置
US20230035129A1 (en) Method for allocating processor resource, computing unit and video surveillance arrangement
WO2022102087A1 (ja) コンピュータシステムおよびフロー制御方法
Dimopoulos et al. Extended Tech Report# 2019-09: Fair Scheduling for Deadline Driven, Resource-Constrained Multi-Analytics Workloads
Rajput et al. Scheduling Algorithms in Operating Systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090616

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090721

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4367167

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20120904

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20130904

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees