JP4016010B2 - リアルタイムスケジューリング可能性判定方法およびリアルタイムシステム - Google Patents
リアルタイムスケジューリング可能性判定方法およびリアルタイムシステム Download PDFInfo
- Publication number
- JP4016010B2 JP4016010B2 JP2004093020A JP2004093020A JP4016010B2 JP 4016010 B2 JP4016010 B2 JP 4016010B2 JP 2004093020 A JP2004093020 A JP 2004093020A JP 2004093020 A JP2004093020 A JP 2004093020A JP 4016010 B2 JP4016010 B2 JP 4016010B2
- Authority
- JP
- Japan
- Prior art keywords
- task
- processors
- time
- tasks
- real
- 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4887—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Compositions Of Macromolecular Compounds (AREA)
Description
J. W. S. Liu著, "Real-Time Systems", Prentice Hall, 2000 T. P. Baker著, "An Analysis of EDF Schedulability on a Multiprocessor", FSU Computer Science Technical Report TR-030202, 2003 J. F. Hermant et all著, "Real-Time Fixed and Dynamic Priority Driven Scheduling Algorithms: Theory and Experience", Inria Technical Report, 1996
(1) Mk ≦ (M + 1)/2 の場合
Lk = (M - Mk + 1) - (M - 2Mk + 1)Ck/Dk
であり、
前記タスクk( 1 ≦ k ≦ N )に対応する前記Uk,iの値は、
(1) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ Xk,i ≦ 0 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(2) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ0 < Xk,i < Ci/Ti の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Xk,i*Ti)/Dk
(3) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ Ci/Ti ≦ Xk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
であり、ただし、Mk は検証すべきタスクk によって同時に使用されるプロセッサ数、Ck は検証すべきタスクk の処理時間、Dk は検証すべきタスクkの相対デッドラインであり、Xk,i = {Mk - Mi + (M - 2Mk + 1)Ck/Dk}/(M - 2Mi + 1)であることを特徴とする。
図1には、本発明の一実施形態に係るリアルタイムシステムの構成例が示されている。このリアルタイムシステムは、例えば組み込みシステムとして使用されるコンピュータシステムであり、複数のタスクをその時間制約の範囲内でリアルタイムに実行する。
各タスクは“ジョブ”と呼ばれるタスク実行単位の繰り返しであり、“周期”に等しい時間ごとにジョブが開始する。また、各ジョブはジョブ開始時刻から“相対デッドライン”に等しい時間内に、“利用プロセッサ数”に等しい数のプロセッサを同時に用いて、“処理時間”に等しい時間だけ実行される。また、ジョブ開始時刻に相対デッドラインを加えた時刻(つまりジョブの実行が完了しなければならない時刻)を“絶対デッドライン”と呼ぶことにする。
“単一負荷時間”を期間Tの長さで割った値を“平均単一負荷時間”,
“単一負荷”を期間Tの長さで割った値を“平均単一負荷”,
“合計負荷”を期間Tの長さで割った値を“平均負荷”
とそれぞれ定義する。
期間 [T, T + Δ) におけるタスク i の単一負荷時間 = Ei,
期間 [T, T + Δ) におけるタスク i の単一負荷 = Mi * Ei,
期間 [T, T + Δ) における全てのタスクの合計負荷 = Σi=1...N ( Mi * Ei ),
期間 [T, T + Δ) におけるタスク i の平均単一負荷時間 = Ei / Δ,
期間 [T, T + Δ) におけるタスク i の平均単一負荷 = Mi * Ei / Δ,
期間 [T, T + Δ) における全てのタスクの平均負荷 = { Σi=1...N ( Mi * Ei )} / Δ,
とそれぞれ計算することができる。
タスク 1 の単一負荷時間 = T2 - T1
タスク 1 の単一負荷 = 1 * (T2 - T1)
タスク 2 の単一負荷時間 = T5 - T4
タスク 2 の単一負荷 = 2 * (T5 - T4)
合計負荷 = 1 * (T2 - T1) + 2 * (T5 - T4)
タスク 1 の平均単一負荷時間 = (T2 - T1) / Δ
タスク 1 の平均単一負荷 = 1 * (T2 - T1) / Δ
タスク 2 の平均単一負荷時間 = (T5 - T4) / Δ
タスク 2 の平均単一負荷 = 2 * (T5 - T4) / Δ
平均負荷 = {1 * (T2 - T1) + 2 * (T5 - T4)} / Δ
でそれぞれ計算される。
“タスク k ごとに一意に定まる値であり、
タスク k がデッドラインミスを起こす場合に、
この値以上の平均負荷を持つ期間が存在することが保証されている値”
と定義する。
Lk ≦ 実際の負荷
の関係が成立する。尚、Lk は、タスク k がデッドラインミスを起こす/起こさないに関係なく、タスク kのパラメタ情報と総プロセッサ数 M から求められる値である。
“あるタスクがデッドラインミスを起こす場合に一意に定まる期間であり,
基準平均負荷以上の平均負荷を持つ期間”
と定義する。
上記基準平均負荷の定義は、選択肢のうちどの値を基準平均負荷として選択するかに関しては規定していない。また、あるタスクがデッドラインミスを起こす場合、基準平均負荷以上の平均負荷を持つ期間は一期間または複数期間存在する。
図8に基準平均負荷と基準平均負荷期間の具体例を示す。
この図8の横軸が概念的な期間, 縦軸が平均負荷を表している。期間は開始時間 S と終了時間 E の二次元で表されるものであるため、本来であればグラフの一次元の軸 (横軸) で表すことができない。そこで、この図8では横軸があくまで “概念的”な期間であると考えて説明を行う。
スケジューリングした際に、期間ごとに平均負荷がどのように変化するかが波線で表されており、ある時刻においてタスク k がデッドラインミスを起こしているとする。この場合、平均負荷がタスク k の基準平均負荷Lk 以上となる期間が必ず存在する。
期間 I1 と期間 I2 の間の期間,
期間 I3 と期間 I4 の間の期間,
期間 I5 と期間 I6 の間の期間が
Lk 以上の平均負荷を持つ期間であるとする。
これらの期間の中から、タスク k の基準平均負荷期間が一意に定義される。図8では、例えば I3 をタスク k の基準平均負荷期間であるとしている。
“タスク k, タスク i の二つのタスクの組ごとに一意に定まる値であり,
タスク k がデッドラインミスを起こす場合に,
タスク k の基準平均負荷期間におけるタスク i の平均単一負荷時間以上の値に
( i が k に等しい場合には, 平均単一負荷時間より大きく ) なっていることが
保証されている値“
と定義する。
Uk = Σi=1...N ( Mi * Uk,i ) と定義する。
実際の負荷 < Uk
の関係が成立する。
Lk < Uk という事象が必ず成り立つことを説明する。
タスク k の基準平均負荷期間を [Tk, Tk + Δk),
タスクの数を N,
タスク i の利用プロセッサ数を Mi,
基準平均負荷期間 [Tk, Tk + Δk) におけるタスク i の単一負荷時間を Ei
とすると、基準平均負荷と単一平均負荷の関係から、以下の式が成り立つ。
= { Σi=1...N ( Mi * Ei )} / Δk
= Σi=1...N ( Mi * 基準平均負荷期間 [Tk, Tk + Δk) におけるタスク i の平均単一負荷時間)
タスク k の基準平均負荷 Lk は、タスク k の基準平均負荷期間 [Tk, Tk + Δk) における全てのタスクの平均負荷以下であるこのことから、Lk に関する以下の式が成り立つ。
また Uk,i は、 “タスク k がデッドラインミスを起こす場合に,
タスク k の基準平均負荷期間におけるタスク i の平均単一負荷時間以上に
( i が k に等しい場合には, 平均単一負荷時間より大きく ) なっていることが
保証されている値”であることから、 Uk,i に関する以下の式が成り立つ。
i = k の場合,
Uk,i > (基準平均負荷期間 [Tk, Tk + Δk) におけるタスク i の平均単一負荷時間) …(1)
それ以外の場合(つまり i ≠ k の場合),
Uk,i ≧ (基準平均負荷期間 [Tk, Tk + Δk) におけるタスク i の平均単一負荷時間) …(2)
また、
Uk = Σi=1...N Mi * Uk,i …(3)
である。
以上のことから、タスク k がデッドラインミスを起こす場合には、Lk < Uk という事象が必ず成り立つことが示された。
概要説明においては、
1)複数存在する Lk の値の候補から, 本実施形態において, 具体的にどのような方法を用いて Lk を選択しているか
2)複数存在する基準平均負荷期間の候補の中から, 本実施形態において, 具体的にどのような方法を用いて基準平均負荷期間を選択しているか
3)複数存在する Uk,i の値の候補から, 本実施形態において, 具体的にどのような方法を用いて Uk,i を選択しているか
に関しては特に規定しておらず、
これらに関しては事象 Lk < Uk の詳細説明を行う際に述べると言うに留めている。
Lk = (M - Mk + 1) - (M - 2Mk + 1)Ck/Dk
(2) (M + 1)/2 < Mk の場合
Lk = M - Mk + 1
既に概要説明において述べた通り、タスク k がデッドラインミスを起こす場合において、全てのタスクの平均負荷が Lk 以上である期間が必ず存在するように Lk を選択しなければならない。
タスク k が時刻Tk' でデッドラインミスを起こした場合、x はタスク k の処理時間 Ck よりも小さい。したがって、Dk から x を引いた残りの時間はタスク k を実行するために必要な Mk 個のプロセッサの空きがなかった、つまり少なくともM - Mk + 1 個のプロセッサがタスク k 以外のタスクを実行するために利用されていたことになる。
{Mk * x + (M - Mk + 1)(Dk - x)} / Dk …(5)
以上の値であることが分かる。
Mk ≦ (M + 1)/2 の場合は
(M - Mk + 1) - (M - 2Mk + 1)Ck/Dk,
(M + 1)/2 < Mk の場合は
M - Mk + 1
であり、これらは上記 Lk の値に等しい。
(1-1) Mi < (M + 1) / 2 の場合
(1-1-1) Xk,i ≦ 0 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(1-1-2) 0 < Xk,i < Ci/Ti の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Xk,i*Ti)/Dk
(1-1-3) Ci/Ti ≦ Xk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(1-2) Mi = (M + 1) / 2 の場合
(1-2-1) Mk ≠ (M + 1) / 2 の場合
(1-2-1-1) Ck / Dk < 1 / 2 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(1-2-1-2) 1 / 2 ≦ Ck / Dk の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(1-2-2) Mk = (M + 1) / 2 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(1-3) (M + 1) / 2 < Mi の場合
(1-3-1) Xk,i ≦ 0 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(1-3-2) 0 < Xk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(2) (M + 1) / 2 < Mk の場合
(2-1) Mi < (M + 1) / 2 の場合
(2-1-1) Yk,i < Ci/Ti の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Yk,i*Ti)/Dk
(2-1-2) Ci/Ti ≦ Yk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(2-2) (M + 1) / 2 ≦ Mi の場合
(2-2-1) Mi ≦ Mk の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(2-2-2) Mk < Mi の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
ただし、
Xk,i = {Mk - Mi + (M - 2Mk + 1)Ck/Dk}/(M - 2Mi + 1)
Yk,i = (Mk - Mi)/(M - 2Mi + 1)
である。
“(1) Mk ≦ (M + 1) / 2 の場合
(1-1) Mi < (M + 1) / 2 の場合
(1-1-1) Xk,i ≦ 0 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(1-1-2) 0 < Xk,i < Ci/Ti の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Xk,i*Ti)/Dk ”
という表記は、
(1) Mk ≦ (M + 1) / 2 の場合,(1-1) Mi < (M + 1) / 2 の場合,且つ
(1-1-1) Xk,i ≦ 0 の場合に
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(1) Mk ≦ (M + 1) / 2 の場合,(1-1) Mi < (M + 1) / 2 の場合,且つ
(1-1-2) 0 < Xk,i < Ci/Ti の場合に
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Xk,i*Ti)/Dk
であることを示している。以下においても、同様の表記を利用する。
タスク k がデッドラインミスを起こす場合に,
基準平均負荷期間におけるタスク i の平均単一負荷時間が Uk,i 以下に
( i が k に等しい場合には, タスク i の平均単一負荷時間が Uk,i 未満に )
必ずなるように Uk,i を選択しなければならない。
タスク k がデッドラインミスを起こす場合に,
上記 Uk,i が基準平均負荷期間におけるタスク i の平均単一負荷時間以上に
( i が k に等しい場合には, タスク i の平均単一負荷時間がより大きく )
なっていることを示す。
{εi + ( n - 1) * Ci + δi} / Δk
で計算でき、
i = k の場合には
{εi + ( n - 1) * Ci + δi} / Δk < (εi + n * Ci) / Δk
それ以外の場合には
{εi + ( n - 1) * Ci + δi} / Δk ≦ (εi + n * Ci) / Δk
の関係が成り立つ。
(1) (εi + n * Ci) / Δk が最大になる条件を求める,
(2) “εi がこの値よりは絶対に大きくなることはないという値”を計算する,
(3) “(εi + n * Ci ) / Δk がこの値よりは絶対に大きくなることはないという値”を計算する,
という三つの手続きを経て、(εi + n * Ci) / Δk がこの値よりは絶対に大きくなることはないという値を計算する。
始めに, (εi + n * Ci) / Δk が最大になる条件を求める。
(εi + n * Ci) / Δk が最大になると仮定すると、
期間 [Tk, Tk + Δk)
期間 [Tk - d / 2, Tk + Δk - d / 2) とでは、
期間 [Tk - d / 2, Tk + Δk - d / 2) の方が (εi + n * Ci) / Δk の値が大きくなり不合理を生じることから証明される。
次に, εi がこの値よりは絶対に大きくなることはないという値を計算する。
期間 [Tk - φ, Tk + Δk) の全体負荷のうち
期間 [Tk - φ, Tk) に含まれるものは、
Mi * (Ci - εi) + (M - Mi + 1)(φ - Ci + εi)
よりも小さくなることはないことが計算される。
{Mi * (Ci - εi) + (M - Mi + 1)(φ - Ci + εi) } / φ は
基準平均負荷より小さい。
{Mi * (Ci - εi) + (M - Mi + 1)(φ - Ci + εi) } / φ < Lk …(6)
の関係が成り立つ.
上記不等式(6)を適切な場合分けを行って整理すると、以下の通りになる。
Xk,i = {Mk - Mi + (M - 2Mk + 1)Ck/Dk}/(M - 2Mi + 1)
Yk,i = (Mk - Mi)/(M - 2Mi + 1)
と置いている。
(1-1) Mi < (M + 1) / 2 の場合
εi < Ci - Xk,i * φ
(1-2) Mi = (M + 1) / 2 の場合
(1-2-1) Mk ≠ (M + 1) / 2 の場合
Ck / Dk < 1 / 2
(1-2-2) Mk = (M + 1) / 2 の場合
0 < 0
(1-3) (M + 1) / 2 < Mi の場合
Ci - Xk,i * φ < εi
(2) (M + 1) / 2 < Mk の場合
(2-1) Mi < (M + 1) / 2 の場合
εi < Ci - Yk,i * φ .
(2-2) Mi = (M + 1) / 2 の場合
Mk < Mi = (M + 1) / 2
(2-3) (M + 1) / 2 < Mi の場合
Ci - Yk,i * φ < εi .
上記の結果には、 0 < 0 など恒等的に偽になる不等式が含まれているが、この場合は 0 < εi という仮定自体が誤っていたことを意味している。この結果に, さらに 0 ≦ εi ≦ Ci の関係を適用すると、εi は以下の通り整理できる。
(1-1) Mi < (M + 1) / 2 の場合
(1-1-1) Xk,i ≦ 0 の場合
εi ≦ Ci
(1-1-2) 0 < Xk,i * φ < Ci の場合
εi < Ci - Xk,i * φ
(1-1-3) Ci ≦ Xk,i * φ の場合
εi = 0
(1-2) Mi = (M + 1) / 2 の場合
(1-2-1) Mk ≠ (M + 1) / 2 の場合
(1-2-1-1) Ck / Dk < 1 / 2 の場合
εi ≦ Ci
(1-2-1-2) 1 / 2 ≦ Ck / Dk の場合
εi = 0
(1-2-2) Mk = (M + 1) / 2 の場合
εi = 0
(1-3) (M + 1) / 2 < Mi の場合
(1-3-1) Xk,i ≦ 0 の場合
εi = 0
(1-3-2) 0 < Xk,i の場合
εi ≦ Ci
(2) (M + 1) / 2 < Mk の場合
(2-1) Mi < (M + 1) / 2 の場合
(2-1-1) Yk,i ≦ 0 の場合
εi ≦ Ci
(2-1-2) 0 < Yk,i * φ < Ci の場合
εi < Ci - Yk,i * φ
(2-1-3) Ci ≦ Yk,i * φ の場合
εi = 0
(2-2) Mi = (M + 1) / 2 の場合
εi = 0
(2-3) (M + 1) / 2 < Mi の場合
(2-3-1) Yk,i ≦ 0 の場合
εi = 0
(2-3-2) 0 < Yk,i の場合
εi ≦ Ci
以上、“εi がこの値よりは絶対に大きくなることはないという値”を計算した。
大きくなることはないという値の計算>>
最後に、 (εi + n * Ci ) / Δk がこの値よりは絶対に大きくなることはないという値を計算する。
n = (Δk - Di + φ) / Ti, Dk ≦ Δk, 0 < φ ≦ Ti
の関係を用いると、
以下の不等式が成り立つ。
(1-1) Mi < (M + 1) / 2 の場合
(1-1-1) Xk,i ≦ 0 の場合
(εi+n*Ci)/Δk≦Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(1-1-2) 0 < Xk,i < Ci/Ti の場合
(εi+n*Ci)/Δk≦Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Xk,i*Ti)/Dk
(1-1-3) Ci/Ti ≦ Xk,i の場合
(εi+n*Ci)/Δk≦Ci/Ti{1+(Ti-Di)/Dk}
(1-2) Mi = (M + 1) / 2 の場合
(1-2-1) Mk ≠ (M + 1) / 2 の場合
(1-2-1-1) Ck / Dk < 1 / 2 の場合
(εi+n*Ci)/Δk≦Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(1-2-1-2) 1 / 2 ≦ Ck / Dk の場合
(εi+n*Ci)/Δk≦Ci/Ti{1+(Ti-Di)/Dk}
(1-2-2) Mk = (M + 1) / 2 の場合
(εi+n*Ci)/Δk≦Ci/Ti{1+(Ti-Di)/Dk}
(1-3) (M + 1) / 2 < Mi の場合
(1-3-1) Xk,i ≦ 0 の場合
(εi+n*Ci)/Δk≦Ci/Ti{1+(Ti-Di)/Dk}
(1-3-2) 0 < Xk,i の場合
(εi+n*Ci)/Δk≦Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(2) (M + 1) / 2 < Mk の場合
(2-1) Mi < (M + 1) / 2 の場合
(2-1-1) Yk,i < Ci/Ti の場合
(εi+n*Ci)/Δk≦Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Yk,i*Ti)/Dk
(2-1-2) Ci/Ti ≦ Yk,i の場合
(εi+n*Ci)/Δk≦Ci/Ti{1+(Ti-Di)/Dk}
(2-2) (M + 1) / 2 ≦ Mi の場合
(2-2-1) Mi ≦ Mk の場合
(εi+n*Ci)/Δk≦Ci/Ti{1+(Ti-Di)/Dk}
(2-2-2) Mk < Mi の場合
(εi+n*Ci)/Δk≦Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
以上のことから、 (εi + n * Ci) / Δk の値が Uk,i 以下であることが示された。
以上、本実施形態で用いる、 タスクがデッドラインミスを起こす場合に必ず成り立つ
事象 Lk < Uk について詳細説明を行った。
Xk = Uk - Lk
で定義される。
Claims (18)
- 同時に1以上のプロセッサをそれぞれ使用する複数のタスクを複数のプロセッサ上でリアルタイムスケジューリングすることが可能であるかどうかを判定するリアルタイムスケジューリング可能性判定方法において、
前記複数のタスクの各々について Lk および Σi=1...N Mi * Uk,i を算出するステップと、
前記複数のタスクの全てが
Σi=1...N Mi * Uk,i ≦ Lk
の条件を満たす場合に前記複数のタスクを前記複数のプロセッサ上でリアルタイムスケジューリングすることが可能であると判定するステップとを具備し、
前記複数のプロセッサの数をM、前記複数のタスクの数をN、タスクi( 1 ≦ i ≦ N )の周期をTi、タスクiによって同時に使用されるプロセッサ数をMi、タスクiの処理時間をCi、タスクiの相対デッドラインをDiとすると、
前記条件を満たす可能性を検証すべきタスクk ( 1 ≦ k ≦ N )に対応する前記Lkの値は、
(1) Mk ≦ (M + 1)/2 の場合
Lk = (M - Mk + 1) - (M - 2Mk + 1)Ck/Dk
であり、
前記タスクk( 1 ≦ k ≦ N )に対応する前記Uk,iの値は、
(1) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ Xk,i ≦ 0 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(2) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ0 < Xk,i < Ci/Ti の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Xk,i*Ti)/Dk
(3) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ Ci/Ti ≦ Xk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
であり、ただし、Mk は検証すべきタスクk によって同時に使用されるプロセッサ数、Ck は検証すべきタスクk の処理時間、Dk は検証すべきタスクkの相対デッドラインであり、Xk,i = {Mk - Mi + (M - 2Mk + 1)Ck/Dk}/(M - 2Mi + 1)であることを特徴とするリアルタイムスケジューリング可能性判定方法。 - 前記リアルタイムスケジューリングはEDF(earliest deadline first)アルゴリズムを用いて実行されることを特徴とする請求項1記載のリアルタイムスケジューリング可能性判定方法。
- 同時に1以上のプロセッサをそれぞれ使用する複数のタスクを複数のプロセッサ上でリアルタイムスケジューリングすることが可能であるかどうかを判定するリアルタイムスケジューリング可能性判定方法において、
前記複数のタスクの各々について Lk および Σi=1...N Mi * Uk,i を算出するステップと、
前記複数のタスクの全てが
Σi=1...N Mi * Uk,i ≦ Lk
の条件を満たす場合に前記複数のタスクを前記複数のプロセッサ上でリアルタイムスケジューリングすることが可能であると判定するステップとを具備し、
前記複数のプロセッサの数をM、前記複数のタスクの数をN、タスクi( 1 ≦ i ≦ N )の周期をTi、タスクiによって同時に使用されるプロセッサ数をMi、タスクiの処理時間をCi、タスクiの相対デッドラインをDiとすると、
前記条件を満たす可能性を検証すべきタスクk ( 1 ≦ k ≦ N )に対応する前記Lkの値は、
(1) Mk ≦ (M + 1)/2 の場合
Lk = (M - Mk + 1) - (M - 2Mk + 1)Ck/Dk
(2) (M + 1)/2 < Mk の場合
Lk = M - Mk + 1
前記タスクk( 1 ≦ k ≦ N )に対応する前記Uk,iの値は、
(1) Mk ≦ (M + 1) / 2 の場合
(1-1) Mi < (M + 1) / 2 の場合
(1-1-1) Xk,i ≦ 0 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(1-1-2) 0 < Xk,i < Ci/Ti の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Xk,i*Ti)/Dk
(1-1-3) Ci/Ti ≦ Xk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(1-2) Mi = (M + 1) / 2 の場合
(1-2-1) Mk ≠ (M + 1) / 2の場合
(1-2-1-1) Ck / Dk < 1 / 2 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(1-2-2) Mk = (M + 1) / 2 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(1-3) (M + 1) / 2 < Mi の場合
(1-3-1) Xk,i ≦ 0 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(1-3-2) 0 < Xk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(2) (M + 1) / 2 < Mk の場合
(2-1) Mi < (M + 1) / 2 の場合
(2-1-1) Yk,i < Ci/Ti の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Yk,i*Ti)/Dk
(2-1-2) Ci/Ti ≦ Yk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(2-2) (M + 1) / 2 ≦ Mi の場合
(2-2-1) Mi ≦ Mk の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(2-2-2) Mk < Mi の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
であり、ただし、Mk は検証すべきタスクk によって同時に使用されるプロセッサ数、Ck は検証すべきタスクk の処理時間、Dk は検証すべきタスクkの相対デッドラインであり、Xk,i = {Mk - Mi + (M - 2Mk + 1)Ck/Dk}/(M - 2Mi + 1)であり、Yk,i = (Mk - Mi)/(M - 2Mi + 1)であることを特徴とするリアルタイムスケジューリング可能性判定方法。 - 前記リアルタイムスケジューリングはEDF(earliest deadline first)アルゴリズムを用いて実行されることを特徴とする請求項3記載のスケジューリング可能性判定方法。
- 同時に1以上のプロセッサをそれぞれ使用する複数のタスクを複数のプロセッサ上でリアルタイムスケジューリングすることが可能であるかどうかを判定するリアルタイムスケジューリング可能性判定方法において、
(1)前記各タスクの周期、前記各タスクによって同時に使用されるプロセッサ数、前記各タスクの処理時間、および前記各タスクの相対デッドラインを示すタスクパラメタ情報を入力するステップと
(2)前記複数のプロセッサの数をM、前記複数のタスクの数をN、タスクi( 1 ≦ i ≦ N )の周期をTi、タスクiによって同時に使用されるプロセッサ数をMi、タスクiの処理時間をCi、タスクiの相対デッドラインをDiとした場合において、
前記デッドラインミスが発生する可能性を検証すべきタスクk ( 1 ≦ k ≦ N )のタスクパラメタ情報と前記複数のプロセッサの数M とに基づいて、前記検証すべきタスクk に対応する Lk および Σ i=1...N Mi * Uk,i を算出するステップと、
(3)Σ i=1...N Mi * Uk,i ≦ Lk
の条件を満たすか否かを判定するステップと、
(4)前記検証すべきタスクk を1 から N まで変更しながら前記(2)〜(3)を繰り返し実行するステップと、
(5)前記複数のタスクのすべてがΣ i=1...N Mi * Uk,i ≦ Lk の条件を満たす場合に前記複数のタスクを前記複数のプロセッサ上でリアルタイムスケジューリングすることが可能であると判定するステップとを具備し、
前記検証すべきタスクk ( 1 ≦ k ≦ N )に対応する前記Lkの値は、
(1) Mk ≦ (M + 1)/2 の場合
Lk = (M - Mk + 1) - (M - 2Mk + 1)Ck/Dk
であり、
前記タスクk( 1 ≦ k ≦ N )に対応する前記Uk,iの値は、
(1) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ Xk,i ≦ 0 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(2) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ0 < Xk,i < Ci/Ti の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Xk,i*Ti)/Dk
(3) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ Ci/Ti ≦ Xk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
であり、ただし、Mk は検証すべきタスクk によって同時に使用されるプロセッサ数、Ck は検証すべきタスクk の処理時間、Dk は検証すべきタスクkの相対デッドラインであり、Xk,i = {Mk - Mi + (M - 2Mk + 1)Ck/Dk}/(M - 2Mi + 1)であることを特徴とするリアルタイムスケジューリング可能性判定方法。 - 前記リアルタイムスケジューリングはEDF(earliest deadline first)アルゴリズムを用いて実行されることを特徴とする請求項5記載のリアルタイムスケジューリングが可能性判定方法。
- 複数のプロセッサと、
同時に1以上のプロセッサをそれぞれ使用する、リアルタイムスケジューリング対象のの複数のタスクの各々について Lk および Σi=1...N Mi * Uk,i を算出する手段と、
前記複数のタスクの全てが
Σi=1...N Mi * Uk,i ≦ Lk
の条件を満たす場合に前記複数のタスクを前記複数のプロセッサ上でリアルタイムスケジューリングすることが可能であると判定する手段と、
前記複数のタスクを前記複数のプロセッサ上でリアルタイムスケジューリングすることが可能であると判定された場合に、前記複数のタスクを前記複数のプロセッサ上でリアルタイムスケジューリングするスケジューリング手段とを具備し、
前記複数のプロセッサの数をM、前記複数のタスクの数をN、タスクi( 1 ≦ i ≦ N )の周期をTi、タスクiによって同時に使用されるプロセッサ数をMi、タスクiの処理時間をCi、タスクiの相対デッドラインをDiとすると、
前記条件を満たす可能性を検証すべきタスクk( 1 ≦ k ≦ N )に対応する前記Lkの値は、
(1) Mk ≦ (M + 1)/2 の場合
Lk = (M - Mk + 1) - (M - 2Mk + 1)Ck/Dk
であり、
前記タスクk( 1 ≦ k ≦ N )に対応する前記Uk,iの値は、
(1) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ Xk,i ≦ 0 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(2) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ0 < Xk,i < Ci/Ti の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Xk,i*Ti)/Dk
(3) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ Ci/Ti ≦ Xk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
であり、ただし、Mk は検証すべきタスクk によって同時に使用されるプロセッサ数、Ck は検証すべきタスクk の処理時間、Dk は検証すべきタスクkの相対デッドラインであり、Xk,i = {Mk - Mi + (M - 2Mk + 1)Ck/Dk}/(M - 2Mi + 1)であることを特徴とするリアルタイムシステム。 - 前記リアルタイムスケジューリングはEDF(earliest deadline first)アルゴリズムを用いて実行されることを特徴とする請求項7記載のリアルタイムシステム。
- 複数のプロセッサと、
同時に1以上のプロセッサをそれぞれ使用する、リアルタイムスケジューリング対象のの複数のタスクの各々について Lk および Σi=1...N Mi * Uk,i を算出する手段と、
前記複数のタスクの全てが
Σi=1...N Mi * Uk,i ≦ Lk
の条件を満たす場合に前記複数のタスクを前記複数のプロセッサ上でリアルタイムスケジューリングすることが可能であると判定する手段と、
前記複数のタスクを前記複数のプロセッサ上でリアルタイムスケジューリングすることが可能であると判定された場合に、前記複数のタスクを前記複数のプロセッサ上でリアルタイムスケジューリングするスケジューリング手段とを具備し、
前記複数のプロセッサの数をM、前記複数のタスクの数をN、タスクi( 1 ≦ i ≦ N )の周期をTi、タスクiによって同時に使用されるプロセッサ数をMi、タスクiの処理時間をCi、タスクiの相対デッドラインをDiとすると、
前記条件を満たす可能性を検証すべきタスクk( 1 ≦ k ≦ N )に対応する前記Lkの値は、
(1) Mk ≦ (M + 1)/2 の場合
Lk = (M - Mk + 1) - (M - 2Mk + 1)Ck/Dk
(2) (M + 1)/2 < Mk の場合
Lk = M - Mk + 1
前記タスクk( 1 ≦ k ≦ N )に対応する前記Uk,iの値は、
(1) Mk ≦ (M + 1) / 2 の場合
(1-1) Mi < (M + 1) / 2 の場合
(1-1-1) Xk,i ≦ 0 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(1-1-2) 0 < Xk,i < Ci/Ti の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Xk,i*Ti)/Dk
(1-1-3) Ci/Ti ≦ Xk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(1-2) Mi = (M + 1) / 2 の場合
(1-2-1) Mk ≠ (M + 1) / 2の場合
(1-2-1-1) Ck / Dk < 1 / 2 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(1-2-2) Mk = (M + 1) / 2 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(1-3) (M + 1) / 2 < Mi の場合
(1-3-1) Xk,i ≦ 0 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(1-3-2) 0 < Xk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(2) (M + 1) / 2 < Mk の場合
(2-1) Mi < (M + 1) / 2 の場合
(2-1-1) Yk,i < Ci/Ti の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Yk,i*Ti)/Dk
(2-1-2) Ci/Ti ≦ Yk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(2-2) (M + 1) / 2 ≦ Mi の場合
(2-2-1) Mi ≦ Mk の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(2-2-2) Mk < Mi の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
であり、ただし、Mk は検証すべきタスクk によって同時に使用されるプロセッサ数、Ck は検証すべきタスクk の処理時間、Dk は検証すべきタスクkの相対デッドラインであり、Xk,i = {Mk - Mi + (M - 2Mk + 1)Ck/Dk}/(M - 2Mi + 1)であり、Yk,i = (Mk - Mi)/(M - 2Mi + 1)であることを特徴とするリアルタイムシステム。 - 前記リアルタイムスケジューリングはEDF(earliest deadline first)アルゴリズムを用いて実行されることを特徴とする請求項9記載のリアルタイムシステム。
- 複数のプロセッサと、
同時に1以上のプロセッサをそれぞれ使用する、リアルタイムスケジューリング対象の複数のタスクの各々の周期、前記各タスクによって同時に使用されるプロセッサ数、前記各タスクの処理時間、および前記各タスクの相対デッドラインを示すタスクパラメタ情報を入力する手段と、
前記複数のプロセッサの数をM、前記複数のタスクの数をN、タスクi( 1 ≦ i ≦ N )の周期をTi、タスクiによって同時に使用されるプロセッサ数をMi、タスクiの処理時間をCi、タスクiの相対デッドラインをDiとした場合において、前記デッドラインミスが発生する可能性を検証すべきタスクk ( 1 ≦ k ≦ N )のタスクパラメタ情報と前記複数のプロセッサの数M とに基づいて、前記検証すべきタスクk に対応する Lk および Σ i=1...N Mi * Uk,i を算出する第1の処理を実行する手段と、
Σ i=1...N Mi * Uk,i ≦ Lk
の条件を満たすか否かを判定する第2の処理を実行する手段と、
前記検証すべきタスクk を1 から N まで変更しながら、前記第1の処理と第2の処理を繰り返し実行する手段と、
前記複数のタスクのすべてがΣ i=1...N Mi * Uk,i ≦ Lk の条件を満たす場合に、前記複数のタスクを前記複数のプロセッサ上でリアルタイムスケジューリングするスケジューリング手段とを具備し、
前記検証すべきタスクk ( 1 ≦ k ≦ N )に対応する前記Lkの値は、
(1) Mk ≦ (M + 1)/2 の場合
Lk = (M - Mk + 1) - (M - 2Mk + 1)Ck/Dk
であり、
前記タスクk( 1 ≦ k ≦ N )に対応する前記Uk,iの値は、
(1) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ Xk,i ≦ 0 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(2) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ0 < Xk,i < Ci/Ti の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Xk,i*Ti)/Dk
(3) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ Ci/Ti ≦ Xk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
であり、ただし、Mk は検証すべきタスクk によって同時に使用されるプロセッサ数、Ck は検証すべきタスクk の処理時間、Dk は検証すべきタスクkの相対デッドラインであり、Xk,i = {Mk - Mi + (M - 2Mk + 1)Ck/Dk}/(M - 2Mi + 1)であることを特徴とするリアルタイムシステム。 - 前記リアルタイムスケジューリングはEDF(earliest deadline first)アルゴリズムを用いて実行されることを特徴とする請求項11記載のリアルタイムシステム。
- 同時に1以上のプロセッサをそれぞれ使用する複数のタスクを複数のプロセッサ上でリアルタイムスケジューリングすることが可能であるかどうかを判定するリアルタイムスケジューリング可能性判定処理をコンピュータに実行させるプログラムであって、
前記複数のタスクの各々について Lk および Σi=1...N Mi * Uk,i を算出する処理を、前記コンピュータに実行させる手順と、
前記複数のタスクの全てが
Σi=1...N Mi * Uk,i ≦ Lk
の条件を満たす場合に前記複数のタスクを前記複数のプロセッサ上でリアルタイムスケジューリングすることが可能であると判定する処理を、前記コンピュータに実行させる手順とを具備し、
前記複数のプロセッサの数をM、前記複数のタスクの数をN、タスクi( 1 ≦ i ≦ N )の周期をTi、タスクiによって同時に使用されるプロセッサ数をMi、タスクiの処理時間をCi、タスクiの相対デッドラインをDiとすると、
前記条件を満たす可能性を検証すべきタスクk( 1 ≦ k ≦ N )に対応する前記Lkの値は、
(1) Mk ≦ (M + 1)/2 の場合
Lk = (M - Mk + 1) - (M - 2Mk + 1)Ck/Dk
であり、
前記タスクk( 1 ≦ k ≦ N )に対応する前記Uk,iの値は、
(1) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ Xk,i ≦ 0 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(2) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ0 < Xk,i < Ci/Ti の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Xk,i*Ti)/Dk
(3) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ Ci/Ti ≦ Xk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
であり、ただしMk は検証すべきタスクk によって同時に使用されるプロセッサ数、Ck は検証すべきタスクk の処理時間、Dk は検証すべきタスクkの相対デッドラインであり、Xk,i = {Mk - Mi + (M - 2Mk + 1)Ck/Dk}/(M - 2Mi + 1)であることを特徴とするプログラム。 - 前記リアルタイムスケジューリングはEDF(earliest deadline first)アルゴリズムを用いて実行されることを特徴とする請求項13記載のプログラム。
- 同時に1以上のプロセッサをそれぞれ使用する複数のタスクを複数のプロセッサ上でリアルタイムスケジューリングすることが可能であるかどうかを判定するリアルタイムスケジューリング可能性判定処理をコンピュータに実行させるプログラムであって、
前記複数のタスクの各々について Lk および Σi=1...N Mi * Uk,i を算出する処理を、前記コンピュータに実行させる手順と、
前記複数のタスクの全てが
Σi=1...N Mi * Uk,i ≦ Lk
の条件を満たす場合に前記複数のタスクを前記複数のプロセッサ上でリアルタイムスケジューリングすることが可能であると判定する処理を、前記コンピュータに実行させる手順とを具備し、
前記複数のプロセッサの数をM、前記複数のタスクの数をN、タスクi( 1 ≦ i ≦ N )の周期をTi、タスクiによって同時に使用されるプロセッサ数をMi、タスクiの処理時間をCi、タスクiの相対デッドラインをDiとすると、
前記条件を満たす可能性を検証すべきタスクk( 1 ≦ k ≦ N )に対応する前記Lkの値は、
(1) Mk ≦ (M + 1)/2 の場合
Lk = (M - Mk + 1) - (M - 2Mk + 1)Ck/Dk
(2) (M + 1)/2 < Mk の場合
Lk = M - Mk + 1
前記タスクk( 1 ≦ k ≦ N )に対応する前記Uk,iの値は、
(1) Mk ≦ (M + 1) / 2 の場合
(1-1) Mi < (M + 1) / 2 の場合
(1-1-1) Xk,i ≦ 0 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(1-1-2) 0 < Xk,i < Ci/Ti の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Xk,i*Ti)/Dk
(1-1-3) Ci/Ti ≦ Xk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(1-2) Mi = (M + 1) / 2 の場合
(1-2-1) Mk ≠ (M + 1) / 2の場合
(1-2-1-1) Ck / Dk < 1 / 2 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(1-2-2) Mk = (M + 1) / 2 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(1-3) (M + 1) / 2 < Mi の場合
(1-3-1) Xk,i ≦ 0 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(1-3-2) 0 < Xk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(2) (M + 1) / 2 < Mk の場合
(2-1) Mi < (M + 1) / 2 の場合
(2-1-1) Yk,i < Ci/Ti の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Yk,i*Ti)/Dk
(2-1-2) Ci/Ti ≦ Yk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(2-2) (M + 1) / 2 ≦ Mi の場合
(2-2-1) Mi ≦ Mk の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
(2-2-2) Mk < Mi の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
であり、ただし、Mk は検証すべきタスクk によって同時に使用されるプロセッサ数、Ck は検証すべきタスクk の処理時間、Dk は検証すべきタスクkの相対デッドラインであり、Xk,i = {Mk - Mi + (M - 2Mk + 1)Ck/Dk}/(M - 2Mi + 1)であり、Yk,i = (Mk - Mi)/(M - 2Mi + 1)であることを特徴とするプログラム。 - 前記リアルタイムスケジューリングはEDF(earliest deadline first)アルゴリズムを用いて実行されることを特徴とする請求項15記載のプログラム。
- 同時に1以上のプロセッサをそれぞれ使用する複数のタスクを複数のプロセッサ上でスケジューリングすることが可能であるかどうかを判定する処理を、コンピュータに実行させるプログラムであって、
(1)前記各タスクの周期、前記各タスクによって同時に使用されるプロセッサ数、前記各タスクの処理時間、および前記各タスクの相対デッドラインを示すタスクパラメタ情報を入力する処理を、前記コンピュータに実行させる手順と、
(2)前記複数のプロセッサの数をM、前記複数のタスクの数をN、タスクi( 1 ≦ i ≦ N )の周期をTi、タスクiによって同時に使用されるプロセッサ数をMi、タスクiの処理時間をCi、タスクiの相対デッドラインをDiとした場合において、
前記デッドラインミスが発生する可能性を検証すべきタスクk ( 1 ≦ k ≦ N )のタスクパラメタ情報と前記複数のプロセッサの数M とに基づいて、前記検証すべきタスクk に対応する Lk および Σ i=1...N Mi * Uk,i を算出する処理を、前記コンピュータに実行させる手順と、
(3)Σ i=1...N Mi * Uk,i ≦ Lk
の条件を満たすか否かを判定する処理を、前記コンピュータに実行させる手順と、
(4)前記検証すべきタスクk を1 から N まで変更しながら前記(2)〜(3)を繰り返し実行する処理を、前記コンピュータに実行させる手順と、
(5)前記複数のタスクのすべてがΣ i=1...N Mi * Uk,i ≦ Lk の条件を満たす場合に前記複数のタスクを前記複数のプロセッサ上でリアルタイムスケジューリングすることが可能であると判定する処理を、前記コンピュータに実行させる手順とを具備し、
前記検証すべきタスクk ( 1 ≦ k ≦ N )に対応する前記Lkの値は、
(1) Mk ≦ (M + 1)/2 の場合
Lk = (M - Mk + 1) - (M - 2Mk + 1)Ck/Dk
であり、
前記タスクk( 1 ≦ k ≦ N )に対応する前記Uk,iの値は、
(1) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ Xk,i ≦ 0 の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+Ci/Dk
(2) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ0 < Xk,i < Ci/Ti の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}+(Ci-Xk,i*Ti)/Dk
(3) Mk ≦ (M + 1) / 2の場合, Mi < (M + 1) / 2の場合, 且つ Ci/Ti ≦ Xk,i の場合
Uk,i = Ci/Ti{1+(Ti-Di)/Dk}
であり、ただし、Mk は検証すべきタスクk によって同時に使用されるプロセッサ数、Ck は検証すべきタスクk の処理時間、Dk は検証すべきタスクkの相対デッドラインであり、Xk,i = {Mk - Mi + (M - 2Mk + 1)Ck/Dk}/(M - 2Mi + 1)であることを特徴とするプログラム。 - 前記リアルタイムスケジューリングはEDF(earliest deadline first)アルゴリズムを用いて実行されることを特徴とする請求項17記載のプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004093020A JP4016010B2 (ja) | 2004-03-26 | 2004-03-26 | リアルタイムスケジューリング可能性判定方法およびリアルタイムシステム |
US11/085,532 US7797703B2 (en) | 2004-03-26 | 2005-03-22 | Real-time schedulability determination method and real-time system |
US10/592,362 US7789670B2 (en) | 2004-03-26 | 2005-03-24 | Planar connector |
CNB2005100592984A CN100357894C (zh) | 2004-03-26 | 2005-03-25 | 实时可调度性确定方法和实时*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004093020A JP4016010B2 (ja) | 2004-03-26 | 2004-03-26 | リアルタイムスケジューリング可能性判定方法およびリアルタイムシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005284351A JP2005284351A (ja) | 2005-10-13 |
JP4016010B2 true JP4016010B2 (ja) | 2007-12-05 |
Family
ID=35046527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004093020A Expired - Fee Related JP4016010B2 (ja) | 2004-03-26 | 2004-03-26 | リアルタイムスケジューリング可能性判定方法およびリアルタイムシステム |
Country Status (3)
Country | Link |
---|---|
US (2) | US7797703B2 (ja) |
JP (1) | JP4016010B2 (ja) |
CN (1) | CN100357894C (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4074296B2 (ja) * | 2005-03-25 | 2008-04-09 | 株式会社東芝 | スケジューリング可能性判定方法、リアルタイムシステム及びプログラム |
JP2007133723A (ja) * | 2005-11-11 | 2007-05-31 | Hitachi Ltd | マルチプロセッサ、タスクスケジューリング方法、及びコンパイラ |
JP4523921B2 (ja) * | 2006-02-24 | 2010-08-11 | 三菱電機株式会社 | 計算機リソース動的制御装置 |
US8584122B2 (en) * | 2006-03-31 | 2013-11-12 | Ebay Inc. | Batch scheduling |
TWI472574B (zh) * | 2006-08-24 | 2015-02-11 | Polyplastics Co | 非對稱電子零件 |
CN100465857C (zh) * | 2006-10-12 | 2009-03-04 | 浙江大学 | 一种面向嵌入式***低功耗实时任务调度的简化方法 |
CN100416463C (zh) * | 2006-10-12 | 2008-09-03 | 浙江大学 | 面向嵌入式***低功耗实时任务参数模型调度方法 |
JP2009064388A (ja) * | 2007-09-10 | 2009-03-26 | Fourlink Systems:Kk | タスク制御システム |
US8789059B2 (en) * | 2007-11-02 | 2014-07-22 | International Business Machines Corporation | Dynamic scheduling feasibility analysis of event-driven applications based on reducing tasks of overlapping events |
JP5165492B2 (ja) * | 2008-05-23 | 2013-03-21 | ポリプラスチックス株式会社 | 平面状コネクター |
US20090313631A1 (en) * | 2008-06-11 | 2009-12-17 | Fabio De Marzo | Autonomic workload planning |
WO2010089900A1 (en) * | 2009-02-05 | 2010-08-12 | Nec Corporation | Method, system and program for deadline constrained task admission control and scheduling using genetic approach |
TW201132747A (en) * | 2009-11-16 | 2011-10-01 | Sumitomo Chemical Co | Liquid crystalline polyester composition for connector and connector using the same |
US8856807B1 (en) * | 2011-01-04 | 2014-10-07 | The Pnc Financial Services Group, Inc. | Alert event platform |
JP6185922B2 (ja) | 2011-11-15 | 2017-08-23 | ティコナ・エルエルシー | ファインピッチ電気コネクター及びそれにおいて用いる熱可塑性組成物 |
TWI487726B (zh) | 2011-11-15 | 2015-06-11 | Ticona Llc | 用於具有小尺寸公差之模製部件之低環烷之液晶聚合物組合物 |
US8906259B2 (en) | 2011-11-15 | 2014-12-09 | Ticona Llc | Naphthenic-rich liquid crystalline polymer composition with improved flammability performance |
JP2014533325A (ja) | 2011-11-15 | 2014-12-11 | ティコナ・エルエルシー | 低ナフテン系液晶ポリマー組成物 |
US8646994B2 (en) | 2011-11-15 | 2014-02-11 | Ticona Llc | Compact camera module |
US8938739B2 (en) * | 2012-06-02 | 2015-01-20 | Texas Instruments Incorporated | Resource sharing aware task partitioning for multiprocessors |
WO2014062536A1 (en) | 2012-10-16 | 2014-04-24 | Ticona Llc | Antistatic liquid crystalline polymer composition |
KR101399758B1 (ko) | 2012-11-27 | 2014-05-27 | 숭실대학교산학협력단 | 다수의 슬레이브 장치에서 실행되는 태스크의 주기 스케쥴링 장치 및 방법 |
US9355753B2 (en) | 2012-12-05 | 2016-05-31 | Ticona Llc | Conductive liquid crystalline polymer composition |
KR20140080058A (ko) * | 2012-12-20 | 2014-06-30 | 삼성전자주식회사 | 멀티코어를 위한 로드 밸런싱 방법 및 휴대 단말 |
KR102465221B1 (ko) | 2013-03-13 | 2022-11-09 | 티코나 엘엘씨 | 컴팩트 카메라 모듈 |
CN106164172B (zh) | 2014-04-09 | 2019-07-26 | 提克纳有限责任公司 | 摄像模组 |
KR102305241B1 (ko) | 2014-04-09 | 2021-09-24 | 티코나 엘엘씨 | 대전방지 중합체 조성물 |
KR102309429B1 (ko) * | 2017-03-20 | 2021-10-07 | 현대자동차주식회사 | 차량 및 그 제어 방법 |
KR102627886B1 (ko) | 2017-12-05 | 2024-01-19 | 티코나 엘엘씨 | 카메라 모듈에 사용하기 위한 방향족 중합체 조성물 |
CN109947543B (zh) * | 2019-03-06 | 2022-11-01 | 华侨大学 | 一种基于单检查点机制的容错能耗优化方法 |
KR102264205B1 (ko) * | 2019-09-20 | 2021-06-10 | 인천대학교 산학협력단 | 실시간 시스템에서의 작업 할당 스케줄링이 가능한지 여부를 판정할 수 있는 실시간성 분석 장치 및 그 동작 방법 |
KR102252079B1 (ko) * | 2019-09-20 | 2021-05-13 | 인천대학교 산학협력단 | 실시간 시스템을 위한 실시간성 분석 장치 및 그 동작 방법 |
EP4111834A4 (en) | 2020-02-26 | 2024-06-05 | Ticona LLC | CIRCUIT STRUCTURE |
CN115151414A (zh) | 2020-02-26 | 2022-10-04 | 提克纳有限责任公司 | 用于电子器件的聚合物组合物 |
CN115151607A (zh) | 2020-02-26 | 2022-10-04 | 提克纳有限责任公司 | 电子器件 |
US11728065B2 (en) | 2020-07-28 | 2023-08-15 | Ticona Llc | Molded interconnect device |
WO2023276075A1 (ja) * | 2021-06-30 | 2023-01-05 | 三菱電機株式会社 | スケジューリング方法及びスケジューリング設計支援装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2579742B2 (ja) | 1995-02-20 | 1997-02-12 | ポリプラスチックス株式会社 | 射出成型用組成物 |
US6466962B2 (en) * | 1995-06-07 | 2002-10-15 | International Business Machines Corporation | System and method for supporting real-time computing within general purpose operating systems |
JP3453981B2 (ja) | 1996-01-26 | 2003-10-06 | 東レ株式会社 | ファインピッチコネクター成形品用液晶性樹脂組成物およびそれからなるファインピッチコネクター成形品。 |
JP3683080B2 (ja) | 1997-09-25 | 2005-08-17 | 三菱エンジニアリングプラスチックス株式会社 | 樹脂組成物、並びに中空部を有する射出成形品及び射出成形方法 |
JP2000026743A (ja) | 1998-07-15 | 2000-01-25 | Toray Ind Inc | 液晶性樹脂組成物 |
JP4118425B2 (ja) | 1998-12-18 | 2008-07-16 | ポリプラスチックス株式会社 | コネクター用液晶性ポリマー組成物およびコネクター |
WO2000075159A1 (en) * | 1999-06-03 | 2000-12-14 | Cornell Research Foundation, Inc. | FUNGAL EXO-β 1,3 GLUCOSIDASE ENCODING DNA MOLECULE AND ITS USE IN CONTROLLING FUNGI IN PLANTS |
JP4450902B2 (ja) * | 1999-10-08 | 2010-04-14 | ポリプラスチックス株式会社 | 液晶性ポリマー組成物 |
JP2001350639A (ja) * | 2000-06-06 | 2001-12-21 | Atr Adaptive Communications Res Lab | ソフトリアルタイムにおけるスケジューリング方法 |
JP2002194188A (ja) | 2000-12-26 | 2002-07-10 | Toray Ind Inc | 難燃性液晶ポリエステル樹脂組成物 |
JP2002342097A (ja) * | 2001-05-17 | 2002-11-29 | Matsushita Electric Ind Co Ltd | タスク割当可能時間決定装置及びタスク割当可能時間決定方法 |
AU2003248904A1 (en) * | 2002-03-01 | 2003-09-16 | Koninklijke Philips Electronics N.V. | Timebox driven scheduling of software components in hard real-time systems |
-
2004
- 2004-03-26 JP JP2004093020A patent/JP4016010B2/ja not_active Expired - Fee Related
-
2005
- 2005-03-22 US US11/085,532 patent/US7797703B2/en not_active Expired - Fee Related
- 2005-03-24 US US10/592,362 patent/US7789670B2/en not_active Expired - Fee Related
- 2005-03-25 CN CNB2005100592984A patent/CN100357894C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005284351A (ja) | 2005-10-13 |
US7797703B2 (en) | 2010-09-14 |
CN100357894C (zh) | 2007-12-26 |
US20050229177A1 (en) | 2005-10-13 |
US20070197706A1 (en) | 2007-08-23 |
CN1673965A (zh) | 2005-09-28 |
US7789670B2 (en) | 2010-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4016010B2 (ja) | リアルタイムスケジューリング可能性判定方法およびリアルタイムシステム | |
JP4074296B2 (ja) | スケジューリング可能性判定方法、リアルタイムシステム及びプログラム | |
Gardner et al. | Analyzing stochastic fixed-priority real-time systems | |
EP2568346A1 (en) | Robust system control method with short execution deadlines | |
US9645850B2 (en) | Task time allocation method allowing deterministic error recovery in real time | |
KR101770191B1 (ko) | 자원 할당 방법 및 그 장치 | |
WO2018097058A1 (ja) | 解析ノード、リソース管理方法およびプログラム記録媒体 | |
JP6239400B2 (ja) | 制御装置 | |
Piao et al. | Predictability of earliest deadline zero laxity algorithm for multiprocessor real-time systems | |
Hong et al. | Local-deadline assignment for distributed real-time systems | |
Leng et al. | Co-scheduling aperiodic real-time tasks with end-to-end firm and soft deadlines in two-stage systems | |
Law et al. | Justifying the service provided to low criticality tasks in a mixed criticality system | |
Ren et al. | Workload-aware harmonic partitioned scheduling for fixed-priority probabilistic real-time tasks on multiprocessors | |
JP2019012456A (ja) | タスク割当て装置、および、タスク割当て方法 | |
Andrei et al. | An improved upper-bound algorithm for non-preemptive task scheduling | |
JP2020191074A (ja) | 動作のスケジューリング | |
Alsheikhy et al. | An efficient dynamic scheduling algorithm for periodic tasks in real-time systems using dynamic average estimation | |
US20140189709A1 (en) | Method of distributing processor loading between real-time processor threads | |
Yu et al. | The emergency scheduling engineering in single resource center | |
US20210365871A1 (en) | Information processing apparatus and job scheduling method | |
JP5349876B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP6289197B2 (ja) | プラント制御装置エンジニアリングツール | |
Polyakov et al. | Improving the load of supercomputers based on job migration using container virtualization | |
Yin et al. | An algorithm for scheduling aperiodic real-time tasks on a static schedule | |
Naik et al. | IUF Scheduling Algorithm for Improving the Schedulability, Predictability and Sustainability of the Real Time System |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070619 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070810 |
|
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: 20070911 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070914 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100921 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100921 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110921 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110921 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120921 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120921 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130921 Year of fee payment: 6 |
|
LAPS | Cancellation because of no payment of annual fees |