13.07.2015 Views

Rate Monotonic Scheduling Re-analysed - Faculty of Science and ...

Rate Monotonic Scheduling Re-analysed - Faculty of Science and ...

Rate Monotonic Scheduling Re-analysed - Faculty of Science and ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

This indicates that a set <strong>of</strong> tasks {(C i , T i ) | 1 ≤ i ≤m} is schedulable if <strong>and</strong> only if for any 1 ≤ k ≤ mthere exists 0 < t ≤ T k such that (1) holds. In otherwords, a set <strong>of</strong> tasks is unschedulable if <strong>and</strong> only ifthere exists 1 ≤ k ≤ m such that for any 0 < t ≤ T k ,∑ ki=1⌈ tT i⌉C i > t.4. <strong>Rate</strong> <strong>Monotonic</strong> SchedulerThe RMS is a static scheduler where tasks withshorter periods have higher priorities. <strong>Re</strong>call wehave the convention that priorities are in decreasingorder, so for a set <strong>of</strong> tasks {(C i , T i ) | 1 ≤ i ≤ m}this implies T 1 ≤ T 2 ≤ · · · ≤ T m . In this section,we discuss the RMS <strong>and</strong> shall not mention this anymore.We now come to establish the greatest lowerbound <strong>of</strong> utilisation factors <strong>of</strong> all unschedulabletask sets under the RMS.Theorem 5. For the RMS, v(m) = m(2 1/m − 1).Although our starting point, <strong>and</strong> subsequentlysome pro<strong>of</strong>s, are different from that <strong>of</strong> Liu <strong>and</strong> Layl<strong>and</strong>[6], we use many ideas from their pro<strong>of</strong>s. Inparticular, Liu <strong>and</strong> Layl<strong>and</strong> suggested first considerthe case that one period is at least half <strong>of</strong> any otherperiod. We can express this formally by a predicateH(T 1 , . . . , T m ) = ∀1 ≤ i, j ≤ m. 0 < T i /T j < 2. Inthe definitions below, assume Γ = {(C i , T i ) | 1 ≤ i ≤m}. LetS 2 = { Γ | Unschedulable(Γ) ∧H(T 1 , . . . , T m ) }<strong>and</strong> we shall prove that the bound over it has thesame value as over the following set <strong>of</strong> tasksS 3 = { Γ | ( ∧ m−1i=1 C i = T i+1 − T i ) ∧C m = 2T 1 − T m ∧ H(T 1 , . . . , T m ) }To fit in our framework, we introduce another set<strong>of</strong> tasksS 4 = { Γ | ( ∧ m−1i=1 C i = T i+1 − T i ) ∧C m > 2T 1 − T m ∧ H(T 1 , . . . , T m ) }<strong>and</strong> we shall proveglb(u(S 1 )) = glb(u(S 2 )) = glb(u(S 4 ))= glb(u(S 3 )) = m(2 1/m − 1)Lemma 3. glb(u(S 2 )) ≤ glb(u(S 4 ))4Pro<strong>of</strong>: We prove this by showing S 4 ⊆ S 2 , namely,any task set {(C i , T i ) | 1 ≤ i ≤ m} ∈ S 4 is unschedulable.We shall prove that the m-th task will missits deadline. Consider any 0 < t ≤ T m . For notationalconvenience, let T 0 = 0, then there exists0 ≤ k < m, T k < t ≤ T k+1 . It follows thatm∑⌈ t ⌉C iT ii=1= 2C 1 + · · · + 2C k + C k+1 + · · · +C m−1 + C m= 2(T 2 − T 1 ) + · · · + 2(T k+1 − T k ) +T k+2 − T k+1 + · · · + T m − T m−1 + C m= T k+1 + T m − 2T 1 + C m> T k+1≥ tThis completes the pro<strong>of</strong> <strong>of</strong> the lemma.Lemma 4. glb(u(S 2 )) ≥ glb(u(S 4 ))Pro<strong>of</strong>: For any task set {(C i , T i ) | 1 ≤ i ≤ m} ∈ S 2 ,we shall find another set <strong>of</strong> task {(C ′ i , T ′ i ) | 1 ≤ i ≤m} ∈ S 4 , ∑ mi=1C ′ iT ′ i✷≤ ∑ mi=1C iT i. Suppose the k-th taskmisses its deadline. For t = T 1 , . . . , T k , we have∑ ki=1⌈t/T i ⌉C i > t. Since T k > T i <strong>and</strong> T k < 2T i forall 1 ≤ i < k, it follows immediatelyC 1 + C 2 + · · · +C k−1 + C k > T 12C 1 + C 2 + · · · +C k−1 + C k > T 2.2C 1 + 2C 2 + · · · +2C k−1 + C k > T kif T 1 , . . . , T k are mutually distinct. If the periods arenot mutually distinct, these still hold. For example,if T i = T i+1 are the first two equal periods, then wehavetherefore2C 1 + · · · + 2C i−1 + C i + · · · + C k > T i2C 1 + · · · + 2C i + C i+1 · · · + C k > T i = T i+1It follows that there exist α i > 1, i = 1 . . . k suchthatC 1 + C 2 + · · · +C k−1 + C k = α 1 T 12C 1 + C 2 + · · · +C k−1 + C k = α 2 T 2..2C 1 + 2C 2 + · · · +2C k−1 + C k = α k T k

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!