リアルタイムシステム 3 - pflab...詳しくはcap7 仮定の説明(2/2)...

72
リアルタイムシステム 3東京大学理学部情報科学科・准教授 加藤真平 1

Upload: others

Post on 19-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

リアルタイムシステム第3回

東京大学理学部情報科学科・准教授

加藤真平

1

Page 2: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

参考図書

2

Page 3: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

リアルタイムシステム

3

【定義】システムの正確さが論理・機能だけでなく時間にも依存するシステム。

・ハードリアルタイムシステム

システムに課せられたある処理がデッドライン内に終了しなかった時(デッドラインミス)、システム全体にとって致命的なダメージが生じる、といった理由から、デッドライン内での終了が保証されなければならないシステム。

・ファームリアルタイムシステム

デッドラインミスが起こった時、システム全体に致命的なダメージを与えることはないが、その処理自体の価値は即座に0となる。

・ソフトリアルタイムシステム

デッドラインミスが起こっても、システム全体に致命的なダメージを与えることはなく、その処理自体の価値も、終了時間などにより徐々に落ちていく。

Page 4: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

リアルタイムシステムモデル

task() {

for (;;) {

job();

wait_for_next_period();

}

} 時間

周期 周期 周期

ジョブ ジョブ ジョブ

時間制約はアプリケーション依存

4

Page 5: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

リアルタイム性

5

時間

周期

ジョブ到着 デッドラインミス!

Page 6: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

4.1 Introduction4.2 Timeline scheduling

4.3 Rate monotonic scheduling4.4 Earliest Deadline First scheduling

4.5 Deadline monotonic4.6 Earliest Deadline First scheduling4.7 Comparison between RM and EDF

6

Page 7: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

4.1 Introduction4.1.1 PROCESSOR UTILIZATION FACTOR

4.2Timeline scheduling

4.3 rate monotonic scheduling4.3.1 optimality4.3.2 calculation of 𝑈𝑙𝑢𝑏 for two tasks4.3.3 calculation of 𝑈𝑙𝑢𝑏 for 𝑁 tasks4.3.4 hyperbolic bound for RM

4.4 earliest deadline first4.4.1 schedulability analysis4.4.2 an example

4.5 Deadline monotonic4.5.1 schedulability analysis4.5.2 response time analysis4.5.3 workload analysis

4.6 EDF with constrained deadlines4.6.1 the processor demand approach4.6.2 reducing test intervals

4.7 Comparison between RM and EDF

目次

7

Page 8: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

PERIODIC TASK SCHEDULING

制御アプリケーションが個々のタイミング制約を持つ複数の

同時周期タスクからなる場合, OSは各周期インスタンスを定期的に適切な

頻度でアクティブ化し期限内に完了させなければならない

タスクの例

センサデータの収集, システム監視, low-level serving, control loops, action

planning

定期的タスクのための基本4アルゴリズム

Timeline Scheduling

Rate Monotonic

Earliest Deadline First

Deadline Monotonic.

4.1 Introduction

8

Page 9: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

スケジューリングの説明のための記法

Γ …周期的タスクの集合

𝝉𝒊 …一般的な周期タスク

𝑻𝒊… 𝝉𝒊の周期

𝝉𝒊,𝒋 …𝝉𝒊の𝒋番目のインスタンス

𝒓𝒊,𝒋 …𝝉𝒊,𝒋の到着時間

𝜱𝒊 …タスクの位相(𝜱𝒊 = 𝒓𝒊,𝟏)

𝑫𝒊 …𝝉𝒊の相対デッドライン

𝒅𝒊,𝒋 …𝝉𝒊,𝒋の絶対デッドライン(𝒅𝒊,𝒋 = 𝜱𝒊+(j-1) 𝑻𝒊+ 𝑫𝒊)

𝒔𝒊,𝒋 …𝝉𝒊,𝒋の実行開始時間

𝒇𝒊,𝒋 …𝝉𝒊,𝒋の実行終了時間

4.1 Introduction

9

Page 10: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

4.1 Introduction

10

仮定(A1-A4)と暗黙の前提(A5-A7)

A1 …𝝉𝒊,𝒋は一定の周期で起動。周期間隔は𝑻𝒊

A2 …𝝉𝒊の全インスタンスの最悪実行時間𝑪𝒊は同じ

A3 …𝝉𝒊の全インスタンスの相対デッドライン𝑫𝒊(= 𝑻𝒊の間隔)は同じ

A4 … Γの全タスクは独立

A5 …I / O操作などでタスクの中断は起きない

A6 …全タスクは到着と同時に解放される

A7 …カーネル内の全オーバーヘッドはゼロ

Page 11: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

4.1 Introduction

11

仮定の説明(1/2)

多くの制御アプリケーションでは, 各定期タスクが同じルーチンで

定期的に実行されるので, 仮定A1,A2は制限的ではない

したがって, 𝑻𝒊と𝑪𝒊はすべてのインスタンスに対して一定

A3,A4は実アプリには厳しい場合がある

A3,A4は現実的な場合に対処するため緩和・拡張される場合がある

詳しくはcap7

Page 12: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

仮定の説明(2/2)

仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱𝒊, 𝑻𝒊, 𝑪𝒊で特徴づけられる

Γ = 𝑻𝒊 𝜱𝒊, 𝑻𝒊, 𝑪𝒊 , 𝒊 = 𝟏,… , 𝒏

k番目のインスタンスの𝒓𝒊,𝒌, 𝒅𝒊,𝒌は以下のように見積もられる

𝒓𝒊,𝒌 = 𝜱𝒊 + 𝒌 − 𝟏 𝑻𝒊

𝒅𝒊,𝒌 = 𝒓𝒊,𝒌 + 𝑻𝒊 = 𝜱𝒊 + 𝒌𝑻𝒊

4.1 Introduction

12

Page 13: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

その他のパラメータ(1/2)Hyperperiod…スケジュールの最小間隔。周期の最小公倍数

𝑯 = 𝒍𝒄𝒎 𝑻𝒊, … , 𝑻𝒏 .

Job response time…応答時間

𝑹𝒊,𝒌 = 𝒇𝒊,𝒌 − 𝒓𝒊,𝒌

Task response time…全ジョブ間で最大の応答時間

𝑹𝒊 = 𝒎𝒂𝒙𝑹𝒊,𝒌

Critical instant…最大のタスク応答時間を生成する到着時間

Critical time zone… Critical instantから応答時間までの間隔

4.1 Introduction

13

Page 14: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

その他のパラメータ(2/2)Relative Start Time Jitter…連続インスタンスの開始時刻の最大編差

𝑅𝑅𝐽𝑖 =𝑚𝑎𝑥𝑘

𝒔𝒊,𝒌 − 𝒓𝒊,𝒌 − 𝒔𝒊,𝒌−𝟏 − 𝒓𝒊,𝒌−𝟏

Absolute Start Time Jitter…全インスタンスの中で開始時刻の最大偏差

𝐴𝑅𝐽𝑖 =𝑚𝑎𝑥𝑘

𝒔𝒊,𝒌 − 𝒓𝒊,𝒌 −𝑚𝑖𝑛𝑘

𝒔𝒊,𝒌 − 𝒓𝒊,𝒌

Relative Finishing Jitter of a task…連続インスタンスの終了時刻の最大編差

𝑅𝐹𝐽𝑖 =𝑚𝑎𝑥𝑘

𝒇𝒊,𝒌 − 𝒓𝒊,𝒌 − 𝒇𝒊,𝒌−𝟏 − 𝒓𝒊,𝒌−𝟏

Absolute Finishing Jitter…全インスタンスの中で終了時刻の最大偏差

𝐴𝑅𝐽𝑖 =𝑚𝑎𝑥𝑘

𝒇𝒊,𝒌 − 𝒓𝒊,𝒌 −𝑚𝑖𝑛𝑘

𝒇𝒊,𝒌 − 𝒓𝒊,𝒌

4.1 Introduction

14

Page 15: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

注意

Γ𝒊は全インスタンスがデッドライまでに終了する場合

実行可能であるとする

タスクセットΓはΓ内のすべてのタスクが実行可能である場合に

スケジューラブルであるとする

4.1 Introduction

15

Page 16: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

n個のタスクのCPU利用率𝑈は以下のように表せる

𝑈 =

𝑖=1

𝑛𝐶𝑖𝑇𝑖

𝑈はタスクの計算時間の増加or周期減少によって改善する

𝑈には最大値がある

𝑈が最大値以下ならばタスクセットΓはスケジュラーブル

タスクセットΓがプロセッサをフルに利用するAアルゴリズムを用いた

プロセッサ利用率の上限を𝑈𝑢𝑏(Γ, 𝐴)とする

𝑈 = 𝑈𝑢𝑏(Γ, 𝐴)のとき𝑇はCPUを徹底的に利用している状態

4.1.1 PROCESSOR UTILIZATION FACTOR

16

Page 17: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

例外

実行時間が伸びると実行不可能になる例

𝑇1もしくは 𝑇2の実行時間が伸びると

𝑇2がデッドラインミスする

周期を減少させると利用率が落ちる例

𝑇2 = 8に周期を増加させると

利用率𝑈𝑢𝑏は1.0になる

4.1.1 PROCESSOR UTILIZATION FACTOR

17

デッドライン優先順位 𝑇2 < 𝑇1

𝛕𝟏

𝟎𝛕𝟐

2 4 10 126 8 14 16

𝛕𝟏

𝛕𝟐

18 20

𝟎 2 4 10 126 8 14 16 18 20

Page 18: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

CPU利用率の最小上限 … 𝑈𝑙𝑢𝑏(𝐴) =𝑚𝑖𝑛

Γ𝑈𝑢𝑏 Γ, 𝐴

4.1.1 PROCESSOR UTILIZATION FACTOR

18

アンスケジューラブル

σ𝑖=1𝑛 𝐻

𝑇𝑖𝐶𝑖 > H

hyperperiod

スケジュラーブル 適切な周期ならばスケジュラーブル

U>1 のとき

𝐫𝟏

𝐫𝟐

𝐫𝟑

𝐫𝟒・・・𝐫𝐦

・・・

U

U

U

U

U

𝑼𝒖𝒃𝟏

𝑼𝒖𝒃𝟐

𝑼𝒖𝒃𝟑

𝑼𝒖𝒃𝟒

𝑼𝒖𝒃𝒎𝑼𝒍𝒖𝒃 1

Yes ? No

Page 19: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

タスクA(40hz), B(20hz), C(10hz)実行する場合

周期は𝑇𝑎= 25ms, 𝑇𝑏= 50ms, 𝑇𝑐 =100ms

最適な分割は周期の最大公約数である25ms

Aを毎度, Bを2スロット毎, Cを4スロット毎に実行

4.2 TIMELINE SCHEDULING(TS)

19

hyperperiod

実行時間 < Minor Cycleならスケジュラーブル

𝐶𝐴 + 𝐶𝐵 ≤ 25𝑚𝑠𝐶𝐴 + 𝐶𝐶 ≤ 25𝑚𝑠

Major Cycle

𝟎 25 50 75 150100 125

task A

task B

task C

Page 20: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

利点

実装がシンプル

各minor cycle先頭にタスクを同時に到着させ

major cycleで与えられた順序で実行する

タスクシーケンスがカーネルではなくプログラムで起こるので

コンテストスイッチは起きず, ランタイムオーバーヘッドが非常に低い

視覚化が容易

jitterの影響を受けない

タスク開始時間および応答時間が大きく変動しない

4.2 TIMELINE SCHEDULING(TS)

20

Page 21: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

問題点

1. 負荷が高い状態には弱い

minor cycle内で実行が終わらない場合, タスクを続行or中止する

しかし, いずれもシステムに重大な欠陥を与える

• 続行した場合, 後続タスクに影響を与えtimeline breakを起こす

• 中止した場合, 共有データが矛盾する可能性がある

2. 変更に弱い

タスクBをB’に変更し𝐶𝐴 + 𝐶𝐵′ ≥ 25𝑚𝑠となった場合, B’を分割する

3. タスクシーケンスを変更することなく効率的な処理することが難しい

優先度ベースのスケジューリングアルゴリズムの使用により解決する

4.2 TIMELINE SCHEDULING(TS)

21

Page 22: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

Rate Monotonic scheduling(以下RM)とは

周期の短いタスクに高い優先度を与えるアルゴリズム

RMは固定優先度割り当て

本質的にpreemptive

現在処理中のタスクは周期の短いタスクが到着すると横取りされる

4.3 Rate Monotonic scheduling

22

Page 23: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

RMの最低性を示す前に任意のタスクのcritical instantは高い優先度の

タスクと共にリリースされるときはいつでも生じることを示す

Τ = {τ1, τ2, … , τ𝑛}を周期が長い順に並んだタスクセットとする

𝝉𝟏が一番優先度が高く, 𝝉𝒏が低い

4.3.1 optimality

23

Page 24: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

4.3.1 optimality

24

タスク𝛕𝒊が前倒しの到着時刻になると𝛕𝒏のResponse timeが長くなる

𝛕𝒏のresponse timeが最も長くなるのは𝛕𝒊が同時リリースされるときである

𝐂𝐧 + 𝟐𝐂𝐢

𝛕𝐧

𝛕𝐢

𝐭

𝐭

𝐂𝐧 + 𝟑𝐂𝐢

𝛕𝐧

𝛕𝐢

𝐭

𝐭

(a)

(b)

Page 25: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

4.3.1 optimality

25

Critical instantsでタスクスケジューラビリティを確認しなければなら

ない

つまり Critical instantsですべてのタスクが実行可能ならば

そのタスクセットはスケジュール可能である

この結果に基づいてRMの最適性はjustifiedされる

タスクセットが任意の優先度割り当てでスケジュール可能ならば

RMでもスケジュール可能である

Page 26: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

周期タスク𝛕𝟏と𝛕𝟐(周期:T1<T2)を考える

もし, 𝛕𝟐に高優先度が与えられると

以下のようにスケジューリングされる

これは明らかにcritical instantsで次の不等式を満たせば

スケジュールは実行可能である

4.3.1 optimality

26

実行時間の合計が短い周期より小さい

𝛕𝟏

𝛕𝟐

𝐭

𝐭

𝐶1 + 𝐶2 ≤ 𝑇1.

Page 27: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

RMと同じように優先度が与えられた場合 𝛕𝟏に高優先度 スケジュールが実行可能であることを保証するために2つの場合を考える

Case1 : 𝛕𝟏が2番目の𝛕𝟐のrequest timeの前ですべてのリクエストが

終了するほど十分小さいとき

→C1<T2-F*T1の時 F=𝑇2

𝑇1

この時のタスクセットは以下を満たせばスケジュール可能である

(証明は略)

4.3.1 optimality

27

𝐅𝐓𝟏

𝛕𝐧

𝛕𝐢

𝐭

𝐭

𝐓𝟐

F + 1 C1 + C2 ≤ T2.

case(a)C1 < T2 − FT1

Page 28: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

Case2 : 𝛕𝟏が2番目の𝛕𝟐のrequest timeで重なるほど長いとき

→C1>=T2-F*T1の時

この時のタスクセットは以下を満たせばスケジュール可能である

(証明は略)

4.3.1 optimality

28

F=𝑇2

𝑇1

𝐅𝐓𝟏

𝛕𝟏

𝛕𝟐

𝐭

𝐭

𝐓𝟐

case(b)C1 ≥ T2 − FT1

𝐹𝐶1 + 𝐶2 ≤ 𝐹𝑇1.

Page 29: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

以上より

スケジュールが任意の優先度割り当てで実行可能である時

RMによってもスケジュール可能である

つまりRMは最適である

この結果はn個のタスクにおいても拡張できる

4.3.1 optimality

29

Page 30: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

RMで2つのタスク𝛕𝟏, 𝛕𝟐(周期T1, T2)のプロセッサ利用率の

最低上限値を求める

RMより、 𝛕𝟏に高い優先度が振られる

プロセッサをフルに利用するために計算時間を増加させることによって

タスクセットの上限(𝑼𝒖𝒃)を計算

その上限をタスクパラメータに関して最小化させる

先ほどと同じように2つの場合を考える

Case1 : 𝛕𝟏が2番目の𝛕𝟐のrequest timeの前で

すべてのリクエストが終了するほど十分小さいとき

つまりC1<T2-F*T1が成立する時

Case2: 𝛕𝟏が2番目の𝛕𝟐のrequest timeで重なるほど長いとき

つまりC1>=T2-F*T1が成立する時

4.3.2 calculation od 𝑼𝒍𝒖𝒃 for n tasks

30

F=𝑇2

𝑇1

Page 31: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

Case1 : 𝛕𝟏が2番目の𝛕𝟐のrequest timeの前ですべてのリクエストが

終了するほど十分小さいとき

この状況下で, 下図が示すようにC2の取りうる最も大きい値は前述のスライドの

等式の等号が成立する時, つまり

4.3.2 calculation od 𝑼𝒍𝒖𝒃 for n tasks

31

F=𝑇2

𝑇1

𝐅𝐓𝟏

𝛕𝟏

𝛕𝟐

𝐭

𝐭𝐓𝟐0

𝐶2 = 𝑇2 − 𝐶1 𝐹 + 1

case(a)C1 < T2 − FT1

Page 32: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

4.3.2 calculation od 𝑼𝒍𝒖𝒃 for n tasks

32

常に0より小さい

F=𝑇2

𝑇1

𝑈𝑢𝑏 =𝐶1𝑇1

+𝐶2𝑇2

=𝐶1𝑇1

+𝑇2 − 𝐶1(𝐹 + 1)

𝑇2=

= 1 +𝐶1𝑇1

−𝐶1𝑇2

𝐹 + 1 =

= 1 +𝐶1𝑇2

𝑇2𝑇1− 𝐹 + 1 .

𝐶1 ≤ 𝑇2 − 𝐹𝑇1

C1, C2に対応するプロセッサ利用率の上限( 𝑼𝒖𝒃)は以下のようになる

上の式はC1に関して単調減少する

C1は以下の不等式で表されるので, 𝑼𝒖𝒃を最小にするのは

等号が成立する時である

Page 33: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

Case2: 𝛕𝟏が2番目の𝛕𝟐のrequest timeで重なるほど長いとき

つまりC1>=T2-F*T1が成立する時

この状況下で, 下図が示すようにC2の取りうる最も大きい値は前述のスライドの

等式の等号が成立する時, つまり

4.3.2 calculation od 𝑼𝒍𝒖𝒃 for n tasks

33

F=𝑇2

𝑇1

𝐅𝐓𝟏

𝛕𝟏

𝛕𝟐

𝐭

𝐭

𝐓𝟐0

𝐶2 = (𝑇1 − 𝐶1) 𝐹,

case(b)C1 ≥ T2 − FT1

Page 34: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

C1, C2に対応するプロセッサ利用率の上限𝑈𝑢𝑏は以下のようになる

上の式はC1に関して単調増加する

C1は以下の不等式で表されるので𝑈𝑢𝑏を最小にするのは

等号が成立する時である

4.3.2 calculation od 𝑼𝒍𝒖𝒃 for n tasks

34

結局p13の等号と一致

F=𝑇2

𝑇1

𝑈𝑢𝑏 =𝐶1𝑇1

+𝐶2𝑇2

=𝐶1𝑇1

+(𝑇1−𝐶1)𝐹

𝑇2=

=𝑇1𝑇2𝐹 +

𝐶1𝑇1

−𝐶1𝑇2𝐹 =

=𝑇1𝑇2𝐹 +

𝐶1𝑇2

𝑇2𝑇1− 𝐹 .

𝐺 = Τ𝑇2 𝑇1 − 𝐹.

𝐶1 ≤ 𝑇2 − 𝐹𝑇1

Page 35: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

𝑈𝑢𝑏を用いて𝑈𝑙𝑢𝑏を求めるp15の𝑈𝑢𝑏は以下のようになる

4.3.2 calculation od 𝑼𝒍𝒖𝒃 for n tasks

35

𝐶1 = 𝑇2 − 𝑇1 ∗ F を用いた

let𝐺 = Τ𝑇2 𝑇1 − 𝐹.でさらに式を展開

F=𝑇2

𝑇1

𝑈 =𝑇1𝑇2𝐹 +

𝐶1𝑇2

𝑇2𝑇1− 𝐹 =

=𝑇1𝑇2𝐹 +

(𝑇2−𝑇1𝐹)

𝑇2

𝑇2𝑇1− 𝐹 =

=𝑇1𝑇2

𝐹 +𝑇2𝑇1− 𝐹

𝑇2𝑇1− 𝐹 .

𝑈 =𝑇1𝑇2

𝐹 + 𝐺2 =(𝐹 + 𝐺2)

Τ𝑇2 𝑇1=

=(𝐹 + 𝐺2)

Τ(𝑇2 𝑇1 − 𝐹) + 𝐹=𝐹 + 𝐺2

𝐹 + 𝐺=

=𝐹 + 𝐺 − (𝐺 − 𝐺2)

𝐹 + 𝐺= 1 −

𝐺 1 − 𝐺

𝐹 + 𝐺.

Page 36: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

先ほどのUの式より, 0<=G<=1なので, UはFで単調増加する

よってUを最小化させるFは1になる

つまりUは

𝑈をGで微分して, 微分が0になるGを求めると

𝐺 = −1 + 2

その時𝑈の上限値の最小値𝑈𝑙𝑢𝑏は

4.3.2 calculation od 𝑼𝒍𝒖𝒃 for n tasks

36

F=𝑇2

𝑇1

𝐺 = Τ𝑇2 𝑇1 − 𝐹.

𝑈 =1 + 𝐺2

1 + 𝐺.

𝑈𝑙𝑢𝑏 = 2(2 Τ1 2 − 1) ≅ 0.83.

Page 37: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

もしT2がT1の倍数の時

F=𝑇2

𝑇1=

𝑇2

𝑇1のとき, G=0になりプロセッサ利用率が1になる

一般的にk =𝑇2

𝑇1としてp16の上側のUの式を展開すると

同様にして微分してイコール0を解いて

𝑈の最小値(𝑈∗)と最小値を与えるk*を求めると

4.3.2 calculation od 𝑼𝒍𝒖𝒃 for n tasks

37

𝑈 =𝐹 + (𝑘 − 𝐹)2

𝑘= 𝑘 − 2𝐹 +

𝐹 𝐹 + 1

𝑘.

𝑘∗ = 𝐹(𝐹 − 1)

𝑈∗ = 2 𝐹 𝐹 − 1 − 𝐹 .

Page 38: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

これらの議論より, もし2つプロセッサ利用率が0.83以下ならば

RMスケジューリング可能である

2つの周期が整数倍ならば, RMスケジューリング可能である

4.3.2 calculation od 𝑼𝒍𝒖𝒃 for n tasks

38

最小の上限は0.83

𝐅 𝐤 ∗ 𝐔 ∗

1 𝟐 1.828

2 𝟔 0.899

3 𝟏𝟐 0.928

4 𝟐𝟎 0.944

5 𝟑𝟎 0.954

4 102 6 80.5

0.6

1

0.7

0.8

0.9

1

Page 39: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

前の計算から, プロセッサ使用率の最小の上限を計算することを

可能にする条件は

これを書き換えると

これを利用してn個のタスクセットの場合

4.3.3 calculation od 𝑼𝒍𝒖𝒃 for n tasks

39

𝐹 = 1𝐶1 = 𝑇2 − 𝐹𝑇1𝐶2 = (𝑇1−𝐶1)𝐹,

ቐ𝑇1 < 𝑇2 < 2𝑇1𝐶1 = 𝑇2 − 𝑇1𝐶2 = 2𝑇1 − 𝑇2.

𝑇1 < 𝑇2 < 2𝑇1𝐶1 = 𝑇2 − 𝑇1𝐶2 = 𝑇3 − 𝑇2…𝐶𝑛−1 = 𝑇𝑛 − 𝑇𝑛−1𝐶𝑛 = 𝑇1 − 𝐶1 + 𝐶2 +⋯+ 𝐶𝑛−1 = 2𝑇1 − 𝑇𝑛.

Page 40: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

以下の置き換えを用いてプロセッサの利用率𝑈を求めると

右式を用い,式を置き換える

Uの最小値を求めるため微分

4.3.3 calculation od 𝑼𝒍𝒖𝒃 for n tasks

40

𝑈 =𝑇2 − 𝑇1𝑇1

+𝑇3 − 𝑇2𝑇2

+⋯+𝑇𝑛 − 𝑇𝑛−1𝑇𝑛−1

+2𝑇1 − 𝑇𝑛

𝑇𝑛

𝑅𝑖 =𝑇𝑖+1

𝑇𝑖, 𝑅1𝑅2…𝑅𝑛−1 =

𝑇𝑛

𝑇1

𝑈 =

𝑖=1

𝑛−1

𝑅𝑖 +2

𝑅1𝑅2…𝑅𝑛−1− 𝑛.

𝜕𝑈

𝜕𝑅𝑘= 1 −

2

𝑅𝑖2 ς𝑖≠𝑘

𝑛−1𝑅𝑖.

Page 41: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

さらに, 𝑃 = 𝑅1𝑅2…𝑅𝑛−1と置き換えて

𝑼の最小値𝑼𝒍𝒖𝒃を求める

n→∞にしたとき𝑼𝒍𝒖𝒃は

4.3.3 calculation od 𝑼𝒍𝒖𝒃 for n tasks

41

𝑼𝒍𝒖𝒃と𝒏の関係

𝒏 𝑼𝒍𝒖𝒃

1 1.000

2 0.828

3 0.780

4 0.757

5 0.743

6 0.735

7 0.729

8 0.724

9 0.721

10 0.718

𝑅1𝑃 = 2𝑅2𝑃 = 2

…𝑅𝑛−1𝑃 = 2.

𝑅1 = 𝑅2 = ⋯ = 𝑅𝑛−1 = 2 Τ1 𝑛.

𝑼𝒍𝒖𝒃 = 𝑛 − 1 2 Τ1 𝑛 +2

2 Τ(1−1 𝑛)− 𝑛 =

= n2 Τ1 𝑛 − 2 Τ1 𝑛 + 2 Τ1 𝑛 − 𝑛 =

= n 2 Τ1 𝑛 − 1 .

𝑼𝒍𝒖𝒃 = ln2 ≅ 0.69.

Page 42: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

RMアルゴリズムの実行可能性分析として

Hyperbolic Boundと呼ばれるアプローチもある

これが以下の定理4.1である

定理4.1

Τ = {τ1, τ2, … , τ𝑛}をn個のタスクセット, τ𝑖はプロセッサ利用率𝑈𝑖で特徴づ

けられている

この時以下の条件を満たすならば, Τはスケジュール可能である

4.3.4 Hyperbolic Bound for RM

42

𝒊=𝟏

𝒏

(𝑼𝒊 + 𝟏) ≤ 𝟐. (𝟒. 𝟏𝟎)

Page 43: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

下の図はn=2の時のU_1とU_2の関係図

H-boundはς𝒊=𝟏𝒏 (𝑼𝒊 + 𝟏) ≤ 𝟐

LL-boundは𝑈𝑙𝑢𝑏 = 2 2 Τ1 2 − 1 ≅ 0.83

(セクション4.3.3の式)

曲線と直線の下側の領域がRMによって

周期タスクが実行可能であることを示す

H-boundの方がLL-boundより領域が

大きいことが分かる

4.3.4 Hyperbolic Bound for RM

43

𝐔𝐥𝐮𝐛(2)

𝐔𝟐

1

𝐔𝐥𝐮𝐛(2) 1 𝐔𝟏

EDF-bound

H-bound

LL-bound

Page 44: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

EDFアルゴリズムは絶対デッドラインの早いものに

優先度を与えるアルゴリズムである

動的優先度割り当て

プリエンプティブである

周期タスクj番目のインスタンスの絶対デッドラインは以下の式のとおり

EDFは周期タスクを仮定していない

つまり非周期タスクとChapter3で紹介した最適性が

そのまま証明される

4.4 Earliest Deadline First

44

Φ𝑖 :位相𝐷𝑖:相対デッドライン

𝑑𝑖,𝑗 = Φ𝑖 + 𝑗 − 1 𝑇𝑖 + 𝐷𝑖 ,

Page 45: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

以下の仮定(Chapter4.1)のもと

周期タスクのスケジューラビリティーが証明される

A1 …𝝉_(𝒊,𝒋)は一定の周期で起動. 周期間隔は𝑻_𝒊

A2 …𝝉_𝒊の全インスタンスの最悪実行時間𝑪_𝒊は同じ

A3 …𝝉_𝒊の全インスタンスの相対デッドライン𝑫_𝒊(= 𝑻_𝒊の間隔)は同じ

A4 … Γの全タスクは独立

定理4.2

周期タスクがEDFでスケジューリングできる必要十分条件は以下である

4.4.1 schedulability analysis

45

𝑖=1

𝑛𝐶𝑖𝑇𝑖≤ 1

Page 46: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

以下の周期タスクを考える

τ1 𝑇1 = 5, 𝐶1 = 2

τ2 𝑇2 = 7, 𝐶2 = 4

4.4.2 an example

46

EDFはスケジュール可能

RMはスケジュール不可能

なぜならU>0.83

プロセッサ利用率

𝛕𝟏

𝛕𝟐

𝛕𝟏

𝛕𝟐

EDF

RM

0 7 14 21 28 35

30 35

0 5 10 15 20 25 30 35

0 5 10 15 20 25

0 7 14 21 28 35

𝑈 =2

5+4

7=34

35≅ 0.97.

Page 47: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

Deadline Monotonic (DM)とは4.4.1章の仮定を緩和した際の

静的スケジューリングである

RMの拡張版 (固定優先度、プリエンプティブ)

相対デッドラインが短いタスクを優先

相対デッドラインが周期より短い場合に対応 (仮定A3を緩和)

4.4.1章における仮定

A1 …𝜏𝑖,𝑗は一定の周期で起動。周期間隔は𝑇𝑖

A2 …𝜏𝑖の全インスタンスの最悪実行時間𝐶𝑖は同じ

A3 …𝜏𝑖の全インスタンスの相対デッドライン𝐷𝑖(≤ 𝑇𝑖の間隔)は同じ

A4 … Γの全タスクは独立

4.5 Deadline Monotonic

47

Page 48: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

各周期タスク 𝜏𝑖は以下の4つのパラメータで特徴付けられる

フェイズ Φ𝑖

最悪計算時間 𝐶𝑖 (各インスタンスにおいて一定)

相対デッドライン 𝐷𝑖 各インスタンスにおいて一定

周期 𝑇𝑖

4.5 Deadline Monotonic

𝝉𝒊

𝑻𝒊

𝑪𝒊

𝒅𝒊𝑫𝒊

𝐶𝑖 ≤ 𝐷𝑖 ≤ 𝑇𝑖𝑟𝑖,𝑘 = Φ𝑖 + (𝑘 − 1)𝑇𝑖𝑑𝑖,𝑘 = 𝑟𝑖,𝑘 + 𝐷𝑖 .

Page 49: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

Utilization-Basedテストによって実現可能性が保証されている

タスクの周期を相対デッドラインまで減少させる

しかし, 上記テスト結果はプロセッサのワークロードを

過大に評価しているため, かなり悲観的である

悲観的なスケジューラビリティ解析にしないためには

以下2点に注目すること必要がある

1. クリティカルインスタンス

2. 各タスクは処理時間とより優先度の高いタスクによる

干渉(プリエンプション)の合計が𝐷𝑖以下

4.5.1 Schedulability analysis

𝑖=1

𝑛𝐶𝑖𝐷𝑖

≤ 𝑛(2 ൗ1 𝑛 − 1)

Page 50: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

タスクが相対デッドラインの昇順に並び替えられると仮定すると

この場合, テストは以下のように表せられる

4.5.1 Schedulability analysis

50

𝑖 < 𝑗 ↔ 𝐷𝑖 < 𝐷𝑗

∀𝑖 ∶ 1 ≤ 𝑖 ≤ 𝑛 𝐶𝑖 + 𝐼𝑖 ≤ 𝐷𝑖

𝐼𝑖 =

𝑗=1

𝑖−1𝐷𝑖𝑇𝑗

𝐶𝑗

(𝐼𝑖は干渉の尺度を表し, 𝐷𝑖より前にリリースされたより高い優先度をもつタスクの計算時間の合計である)

Page 51: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

4.5.1 Schedulability analysis

51

𝐟𝐢 𝐝𝐢

𝛕𝐤

𝛕𝐢

しかし, 先述したテストは十分条件であるが必要条件ではない

𝐼𝑖は必ずしも高い優先度を持つタスク𝜏𝑗はタスク𝜏𝑖に𝐷𝑖

𝑇𝑗時間干渉しない

実際の干渉時間は𝐼𝑖より短くなる

DMの必要十分なスケジューラビリティテストには干渉に要する時間を

正確にする必要がある

Page 52: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

Response time analysisは周期タスクの正確な干渉を評価し

DMの必要十分条件をテストする

周期タスク𝜏𝑖のもっとも長いレスポンスタイム𝑅𝑖はクリティカルインスタンスの時であり

計算時間とより高い優先度を持つタスクの干渉𝐼𝑖の合計である

𝜏𝑖の最悪レスポンスタイムは上記式を満たす

最小の𝑅𝑖が与えられた場合である

しかし, [0,𝐷𝑖]においては実現可能性テストが必要

4.5.2 response time analysis

52

𝑅𝑖 = 𝐶𝑖 + 𝐼𝑖 , 𝐼𝑖 =

𝑗=1

𝑖−1𝑅𝑖𝑇𝑗

𝐶𝑗

従って, 𝑅𝑖 = 𝐶𝑖 + σ𝑗=1𝑖−1 𝑅𝑖

𝑇𝑗𝐶𝑗

Page 53: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

記法の簡略化

𝑅𝑖(𝑘)

:𝑅𝑖のk番目の見積もり

𝐼𝑖(𝑘)

:区間[0, 𝑅𝑖(𝑘)

]におけるタスク𝜏𝑖の干渉

上記式を用いて, 𝑅𝑖の計算は以下のように行われる

1. 𝑅𝑖(0)

=σ𝑗=1𝑖 𝐶𝑗の計算

2. 区間[0, 𝑅𝑖(𝑘)

]における実際の干渉𝐼𝑖(𝑘)を計算

3. もし, 𝐼𝑖(𝑘)

+ 𝐶𝑖 = 𝑅𝑖(𝑘)について𝑅𝑖 = 𝑅𝑖

(𝑘)となる場合, 𝑅𝑖

(𝑘)は最悪レスポンスタイムとなり

終了 それ以外の場合、𝑅𝑖(𝑘+1)

=𝐼𝑖(𝑘)

+𝐶𝑖とし、step 2を繰り返す

一度, 𝑅𝑖が計算されれば, タスク𝜏𝑖の実現可能性は𝑅𝑖 < 𝐷𝑖を満たす限り

保証される

4.5.2 response time analysis

53

𝐼𝑖(𝑘)

=

𝑗=1

𝑖−1𝑅𝑖(𝑘)

𝑇𝑗𝐶𝑗

Page 54: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

ここでは, 右の表を用いてスケジューラビリティテストを明確にする

全てのタスクは時刻t=0にリリース

𝜏4を保証するため𝑅4を計算し, 𝑅4 ≤ 𝐷4を検証

1. 𝑅4(0)

=σ𝑖=14 𝐶𝑖=5,

しかし, 𝐼4(0)

= 5かつ𝐼4(0)

+ 𝐶4 > 𝑅4(0)であるため𝜏4は𝑅4

(0)で終了しない

2. 𝑅4(1)

=𝐼4(0)

+ 𝐶4=6,

しかし, 𝐼4(1)

= 6かつ𝐼4(1)

+ 𝐶4 > 𝑅4(1)であるため𝜏4は𝑅4

(1)で終了しない

3. 𝑅4(2)

=𝐼4(1)

+ 𝐶4=7,

しかし, 𝐼4(2)

= 8かつ𝐼4(2)

+ 𝐶4 > 𝑅4(2)であるため𝜏4は𝑅4

(2)で終了しない

4. 𝑅4(3)

=𝐼4(2)

+ 𝐶4=9,

しかし, 𝐼4(3)

= 9かつ𝐼4(3)

+ 𝐶4 > 𝑅4(3)であるため𝜏4は𝑅4

(3)で終了しない

5. 𝑅4(4)

=𝐼4(3)

+ 𝐶4=10,

ここで, 𝐼4(4)

= 9かつ𝐼4(4)

+ 𝐶4 > 𝑅4(4)であるため𝜏4は𝑅4 = 𝑅4

(3)= 10で終了

よって, 𝑅4 ≤ 𝐷4となり, 𝜏4はDMによってスケジューラブルである

4.5.2 response time analysis

54

𝐂𝐢 𝐓𝐢 𝐃𝐢

𝛕𝟏 1 4 3

𝛕𝟐 1 5 4

𝛕𝟑 2 6 5

𝛕𝟒 1 11 10

Page 55: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

4.5.2 response time analysis

55

𝐼4(0)

𝐼4(1)

𝐼4(2)

𝐼4(3)

𝐼4(4)

𝐂𝐢 𝐓𝐢 𝐃𝐢

𝛕𝟏 1 4 3

𝛕𝟐 1 5 4

𝛕𝟑 2 6 5

𝛕𝟒 1 11 10

𝛕𝟏

𝛕𝟐

𝛕𝟒𝟎 2 3 1071 4 95 6 8 11 12

𝛕𝟑

𝐑𝟒

1

𝐭𝟎

2

3

10

7

4

9

5

6

8

11

𝟎 2 3 1071 4 95 6 8 11 12

Page 56: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

p9の計算をアルゴリズムとして示したものは以下のとおりである

𝑂(𝑛𝑁) (n:タスクの数、N:内部ループの繰り返しの数)

このアルゴリズムはタスク数には依存しないが, 周期との関係に依存がある

4.5.2 response time analysis

56

𝐃𝐌_𝐠𝐮𝐚𝐫𝐚𝐧𝐭𝐞𝐞 Γ {𝐟𝐨𝐫 each 𝜏𝑖 ∈ Γ

𝐼𝑖 =𝑘=1

𝑖−1

𝐶𝑘 ;

𝐝𝐨{𝑅𝑖 = 𝐼𝑖 + 𝐶𝑖;𝐢𝐟 𝑅𝑖 > 𝐷𝑖 return UNSCHEDULABLE ;

𝐼𝑖 =𝑘=1

𝑖−1 𝑅𝑖𝑇𝑘

𝐶𝑘 ;

}𝐰𝐡𝐢𝐥𝐞 𝐼𝑖 + 𝐶𝑖 > 𝑅𝑖 ;}return SCHEDULABLE

}

Page 57: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

前章とは別のデッドライン制約のある固定優先度システムの

必要十分条件を満たすスケジューラビリティテストの紹介

Level-i workloadと呼ばれる

定義

Level-i workload 𝑊𝑖(𝑡)は𝑃𝑖より高い優先度を持つ全タスクの区間(0,t]における

累積計算時間である

定理 4.3

以下の条件を満たす場合、完全にプリエンプティブな周期タスクセットは

スケジュール可能である

4.5.3 workload analysis

𝑊𝑖 𝑡 = 𝐶𝑖 +

ℎ:𝑃ℎ>𝑃𝑖

𝑡

𝑇ℎ𝐶ℎ

∀𝑖 = 1,…,n ∃𝑡 ∈ (0,𝐷𝑖] : 𝑊𝑖(𝑡) ≤ t

Page 58: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

その後, BiniとButtazzoは定理4.3をチェックする必要がある

ポイントの数を以下のテストセット𝑇𝑆𝑖に制限した

定理 4.3 以下の条件を満たす場合, 完全にプリエンプティブな周期タスクセットはスケジュール可能である

利点• 簡単な公式として表せ, より効率的にテスト可能である (Hyperplanes test)• 平均的にレスポンスタイム解析がより高速に行える• さらに, より繊細な解析を行うためにチューニングが可能である

4.5.3 workload analysis

𝑇𝑆𝑖 ≝ 𝑃𝑖−1(𝐷𝑖)

∀𝑖 = 1,…,n ∃𝑡 ∈ T𝑆𝑖 : 𝑊𝑖(𝑡) ≤ t

𝑃𝑖 𝑡 : ൞

𝑃0 𝑡 = 𝑡 ,

𝑃𝑖 𝑡 = 𝑃𝑖−1(𝑡

𝑇𝑖𝑇𝑖) ∪ 𝑃𝑖−1(𝑡)

Page 59: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

EDFにおいて, 𝐷𝑖 ≤ 𝑇𝑖である周期タスクの解析

EDFでの割り込み処理コストを考慮

プロセッサデマンド基準を使用

一般的に区間[𝑡1,𝑡2]におけるタスク𝜏𝑖のプロセッサデマンドは

区間[𝑡1,𝑡2]で活性化された𝜏𝑖インスタンスによって要求される

処理時間の合計𝑔(𝑡1,𝑡2)である

タスク集合全体について, 区間[𝑡1,𝑡2]のプロセッサ要求は

以下の通りである

4.6 EDF with constrained deadlines

59

𝑔𝑖 𝑡1,𝑡2 =

𝑟𝑖,𝑘≥𝑡1,𝑑𝑖,𝑘≤𝑡2

𝐶𝑖

𝑔 𝑡1,𝑡2 =

𝑖=1

𝑛

𝑔𝑖 𝑡1,𝑡2

Page 60: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

タスクセットの実現可能性は, 以下の条件で, プロセッサの要求が

利用可能な時間を超過していない場合にのみ保証される

区間[𝑡1,𝑡2]におけるタスク𝜏𝑖のインスタンスの数は以下の通りである

また、プロセッサデマンドは以下の通りとなる

4.6.1 The processor demand approach

60

∀𝑡1, 𝑡2 𝑔 𝑡1,𝑡2 ≤ (𝑡2 − 𝑡1)

𝜂𝑖 𝑡1,𝑡2 = max{0,𝑡2 − 𝑇𝑖 − 𝐷𝑖 −Φ𝑖

𝑇𝑖−

𝑡1 −Φ𝑖

𝑇𝑖}

𝑔 𝑡1,𝑡2 =

𝑖=1

𝑛

𝜂𝑖 𝑡1,𝑡2 𝐶𝑖

𝐭𝟏

𝛕𝐢

𝐭𝟐

Page 61: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

𝐷𝑖 ≤ 𝑇𝑖でクリティカルインスタンスを考える場合

区間[0,L]におけるインスタンスの数は以下のように表現される

従って, 区間[0,L]におけるプロセッサデマンドは以下のように表せられ

また, g(0,L)はDemand Bound Functionとして以下のようにも表現可能

従って, 相対デッドラインを持つ周期タスクの同期セットは

以下の条件下でEDFによってスケジューリング可能である

4.6.1 The processor demand approach

61

𝜂𝑖 0, 𝐿 =𝐿 + 𝑇𝑖 − 𝐷𝑖

𝑇𝑖𝐶𝑖

𝑔 0, 𝐿 =

𝑖=1

𝑛𝐿 + 𝑇𝑖 − 𝐷𝑖

𝑇𝑖𝐶𝑖

𝒅𝒆𝒇(𝒕) ≝

𝑖=1

𝑛𝑡 + 𝑇𝑖 − 𝐷𝑖

𝑇𝑖𝐶𝑖

∀𝑡 > 0 𝒅𝒃𝒇(𝒕) ≤ 𝒕

Page 62: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

定理 4.5

相対デッドラインが周期と等しい周期タスクのセットは、以下の条件下でEDFに

よってスケジューリング可能である

証明

4.6.1 The processor demand approach

62

∀𝐿 > 0

𝑖=1

𝑛𝐿

𝑇𝑖𝐶𝑖 ≤ 𝐿

𝑈 =

𝑖=1

𝑛𝐶𝑖𝑇𝑖≤ 1

𝐿 ≥ 𝑈𝐿 =

𝑖=1

𝑛

(𝐿

𝑇𝑖)𝐶𝑖 ≥

𝑖=1

𝑛𝐿

𝑇𝑖𝐶𝑖

もし、𝑈 ≤ 1ならば、全ての𝐿は𝐿 ≥ 0であり、以下の式が成り立つ

𝐻 < 𝐻𝑈 =

𝑖=1

𝑛𝐻

𝑇𝑖𝐶𝑖 =

𝑖=1

𝑛𝐻

𝑇𝑖𝐶𝑖

Page 63: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

ここではp17で示した実現可能性テストが検証する区間を削減することで

簡略化できることを以下の手順で示す

1. タスクが周期的であり, 時間t = 0で同時に活性化される場合

スケジュールは自身のhyperperiod (H)で繰り返される.

従って, テストは𝐿以下の値についてのみ検証される必要がある.

2. g(0, 𝐿)は, 𝐿がデッドライン𝑑𝑘を跨いで次のデッドライン𝑑𝑘+1まで

一定のままであるときに値が増加するステップ関数である.

これは, 条件𝑔 0, 𝐿 < 𝐿が𝐿 = 𝑑𝑘について成り立つ場合

𝑑𝑘 < 𝐿 < 𝑑𝑘+1となるようなすべての𝐿についても成り立つことを意味する.

結果として, 条件(4.26)は絶対デッドラインに等しい𝐿の値についてのみ

検証される必要がある.

4.6.2 reducing test intervals

63

Page 64: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

4.6.2 reducing test intervals

64

𝐿 + 𝑇𝑖 − 𝐷𝑖𝑇𝑖

≤𝐿 + 𝑇𝑖 − 𝐷𝑖

𝑇𝑖

𝑔 0, 𝐿 =

𝑖=1

𝑛𝐿 + 𝑇𝑖 − 𝐷𝑖

𝑇𝑖𝐶𝑖 =

𝑖=1

𝑛𝑇𝑖 − 𝐷𝑖𝑇𝑖

𝐶𝑖 +𝐿

𝑇𝑖𝐶𝑖

∀L > 0, g 0, L ≤ 𝐺 0, 𝐿

𝐺 0, 𝐿 =

𝑖=1

𝑛

𝑇𝑖 − 𝐷𝑖 𝑈𝑖 + 𝐿𝑈

テストする区間は以下の式に注目することで減らすことができる

次に、以下のように定義する

上記式により、𝐺(0, 𝐿)は傾き𝑈の直線として増加する𝐿の関数であることが分かる(次

ページ)従って, 𝑈 < 1ならば, G 0, 𝐿 = 𝐿となる𝐿 = 𝐿 ∗が存在する

明らかに, すべてのL ≥ 𝐿 ∗について, 𝑔(0, 𝐿) ≤ 𝐺(0, 𝐿) ≤ 𝐿であり

タスクセットのスケジューラビリティが保証されることを意味する

結果として, L ≥ 𝐿 ∗の値について示した条件を検証する必要はない

Page 65: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

4.6.2 reducing test intervals

65

𝐋

𝐠(𝟎, 𝐋)

𝐆(𝟎, 𝐋)𝐲 = 𝐋

𝐋 ∗

Page 66: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

𝐿 ∗の値はG 0, 𝐿 ∗ = 𝐿 ∗であり, 以下のようになる

タスクセットは少なくとも最大相対デッドライン𝐷𝑚𝑎𝑥まで

テストされなければならないことを考慮すると

先ほどの観測結果は次の定理に組み合わされることができる

定理 4.6

周期以下の相対デッドラインを持つ同期的周期タスクのセットは

U<1かつ下記条件のもと, EDFでスケジュール可能である

4.6.2 reducing test intervals

66

𝑖=1

𝑛

𝑇𝑖 − 𝐷𝑖 𝑈𝑖 + 𝐿 ∗ 𝑈 = 𝐿 ∗, 𝐿 ∗=σ𝑖=1𝑛 𝑇𝑖 − 𝐷𝑖 𝑈𝑖

1 − 𝑈

∀𝑡 ∈ 𝐷 𝒅𝒃𝒇(𝑡) ≤ 𝑡

𝐷 ={𝑑𝑘|𝑑𝑘 ≤ min[𝐻,max(𝐷𝑚𝑎𝑥 , 𝐿 ∗)]}

𝐿 ∗=σ𝑖=1𝑛 𝑇𝑖 − 𝐷𝑖 𝑈𝑖

1 − 𝑈

Page 67: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

example

4.6.2 reducing test intervals

67

EDFでスケジューラブルであるかの判別

右の表をもとに定理4.6を計算したもの

EDFによるスケジュール結果

各タスクのパラメータ

𝐂𝐢 𝐓𝐢 𝐃𝐢

𝛕𝟏 2 4 6

𝛕𝟐 2 5 8

𝛕𝟑 3 7 9

𝐋 𝐠(𝟎, 𝐋) 𝐫𝐞𝐬𝐮𝐥𝐭

4 2 OK

5 4 OK

7 7 OK

10 9 OK

13 11 OK

16 16 OK

21 18 OK

22 20 OK

𝛕𝟏

𝛕𝟐

𝛕𝟑𝟎 4 6 20142 8 1810 12 16 22 24

𝑈 =2

6+2

8+3

9=11

12

𝐿∗ =σ𝑖=1𝑛 (𝑇𝑖 − 𝐷𝑖)𝑈𝑖

1 − 𝑈= 25

𝐻 = lcm 6,8,9 = 72.

Page 68: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

結論として, 独立かつプリエンプティブな周期タスクは固定,

動的優先度の両方で解決することができる

固定優先度のメリット

実装が簡単

動的優先度のメリット

膨大なタスクセットを扱う場合, もしくは非常に遅いプロセッサを扱う場合に

固定優先度よりも有効になる

4.7 comparison between RM and EDF

68

Page 69: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

スケジューラビリティ分析の観点からは

相対期限がピリオドに等しい独立タスクの単純なケースでも,

RMの正確な保証テストには疑似多項式の複雑さが必要だがEDFではO(n)で実行可能

デッドラインが周期以下である一般的なケースでは

スケジューラビリティ解析は両方のアルゴリズムで擬似多項式になる

固定優先度の下では, タスクセットの実行可能性は応答時間分析を使用して

テストできるが動的優先度割り当てではプロセッサデマンド基準を使用してテスト可能

4.7 comparison between RM and EDF

69

Page 70: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

4.7 comparison between RM and EDF

70

プロセッサ使用率の観点からはEDFはプロセッサ帯域幅全体を利用することができるが

RMアルゴリズムは最悪の場合69%未満の利用率でタスクセットの実現可能性を保証

平均的なケースでは, Lehoczky, Sha, and Dingによって行われた統計的研究ではランダム

に生成されたパラメータを持つタスクセットの場合

RMアルゴリズムは最大約88%のプロセッサ使用率で

タスクセットを実行可能にスケジュールできることを示した

しかし, これは統計的な結果に過ぎず, 正確な保証テストを実行するための絶対的な限界

とはみなされない

各ジョブの活性化時に絶対デッドラインを更新するために

EDFによって必要とされる余分な計算にもかかわらず

EDFはコンテキスト切り替え時にRMよりランタイムオーバーヘッドを少なくする

実際には, 優先順位を固定するためにRMで通常発生するプリエンプションの数は

EDFよりもはるかに多い

Page 71: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

永続的過負荷状態でのEDFの特性は, 自動的に期間リスケールを実行するため

タスクは低速で実行しているときに動作を開始することである

この性質は, 博士論文でCervinによって証明されており

正式に次の定理に述べられている

定理

固定周期𝑇𝑖 ,固定実行時間𝐶𝑖 ,相対デッドライン𝐷𝑖 ,およびリリースオフセットΦ𝑖によって

記述されるタスクの集合を仮定する.

もし, 𝑈 >1かつEDFでスケジュール可能ならば平均周期ത𝑇𝑖はത𝑇𝑖=𝑇𝑖𝑈となる.

(固定優先順位スケジューリングでは, 永続的な過負荷状態により

優先度の低いタスクが完全にブロックされることに注意)

また, 動的スケジューリングの利点は他にもあり

非周期タスクを扱う際の応答性が挙げられる(後半で述べられる)

4.7 comparison between RM and EDF

71

Page 72: リアルタイムシステム 3 - PFLab...詳しくはcap7 仮定の説明(2/2) 仮定A1,A2,A3,A4が成り立つ場合, タスクは𝜱 , , で特徴づけられる Γ = 𝜱 , ,

第3回レポート

RMのほかに固定優先度の最適なリアルタイムスケジューリングアルゴリズムがあれば簡単に説明せよ。また、同様にEDFのほかに動的優先度の最適なリアルタイムスケジューリングアルゴリズムがあれば簡単に説明せよ。

提出先:[email protected]

メール題目:「リアルタイムシステム第3回レポート[学籍番号]」

ファイル名:学籍番号.pdf

文字数:400字程度(A4で1ページ程度)

期限:2018年5月2日23時59分

72