Professional Documents
Culture Documents
July 7, 2004
Sam Siewert
No Other Shared Resources Not in Paper, but key assumption e.g. shared memory
Sam Siewert 2
1)
1 2(2 2
1) 0.83
U = 1 / 2 + 1 / 5 = 0.7
C.I. S1 S2 T2 T1
T2 / T1 C1 + C2 T2
T2 / T1 C1 + C2 T2
1 2
Sam Siewert
U = 1 / 2 + 2 / 5 = 0.9
U = 0.9 > 2(2 1) U = 0.9 > 0.83
1 2
C.I. S1 S2 T2 T1
T2 / T1 C1 + C2 T2
T2 / T1 C1 + C2 T2
Sam Siewert
S1 S2 T2 T1
Sam Siewert
D1
D1 D2
S1 S2 T2 T1
Conclusion:
If {Sn} feasible with prio(S2) > prio(S1), then {Sn} is also always feasible given prio(S1) > prio(S2), but converse is not necessarily TRUE!! Therefore, prio(S1) > prio(S2) is OPTIMAL
Sam Siewert 6
RM LUB Derivation
Finding RM Safe Upper Bound (LUB):
If system feasible over LCM with RM policy, then by Theorem Two (Briand and Roy), it is safe! Note that there can be up to T2 / T1 releases of S1 during T2! C.I. S1 S2 T2 T1 #1 #2 #3
RM LUB Derivation
Case 1 (All 3 C1 releases fit in T2):
C1 T2 T1 T2 / T1 C2 = T2 C1 T2 / T1 U= C1 C2 + T1 T2
(I.e, C1 is small enough to fit into fractional 3rd T1 shown below as (I.e, C2 = T2 - Interference from C1 releases) )
C.I. S1 S2 T2 T1 #1 #2 #3
U=
C1 [T2 C1 T2 / T1 ] + T1 T2
T /T U = 1 + C1 (1 / T1 ) 2 1 T2
T2
Sam Siewert
RM LUB Derivation
Case 2 (Last C1 release does not fit in T2):
C.I.
C1 T2 T1 T2 / T1 C2 = T1 T2 / T1 C1 T2 / T1 U= C1 C2 + T1 T2
S1 S2 T2 T1
#1
#2
#3
U=
C1 [T1 T2 / T1 C1 T2 / T1 ] + T1 T2
RM LUB Derivation
Given Cases 1 and 2 (T1=2, T2=5)
Case 1
C1 T2 T1 T2 / T1 C2 = T2 C1 T2 / T1 U= C1 C2 + T1 T2
Intersection
C1 = T2 T1 T2 / T1 C2 = T1 T2 / T1 C1 T2 / T1 U= C1 C2 + T1 T2
Case 2
C1 T2 T1 T2 / T1 C2 = T1 T2 / T1 C1 T2 / T1 U= C1 C2 + T1 T2
T1= Case 1 C1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
1.0 U
2 T2= Case C1 1 0.99 0.98 0.97 0.96 0.95 0.94 0.93 0.92 0.91 0.9
5 2 U 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0.8 0.81 0.82 0.83 0.84 0.85 0.86 0.87 0.88 0.89 0.9
LUB =?
C1
U = (T1 / T2 )T2 / T1 + C1 [(1 / T1 ) (1 / T2 )T2 / T1 ]
T /T U = 1 + C1 (1 / T1 ) 2 1 T2
Case 1: Case 2:
Note: we want the LUB for any given T2 and T1, not the ones assumed here in particular, so the general LUB could be something other than 0.9, and must be found in terms of T1 and T2 only for general LUB.
11
Sam Siewert
RM LUB Derivation
Intersection of Case 1 & 2 is Least Upper Bound
Plug In Intersection for C1 and C2 into U to get expression in terms of T1 and T2 only: U = 1 (T1 / T2 )[T2 / T1 (T2 / T1 )][(T2 / T1 ) T2 / T1 ] (Substitute for both C1 and C2 in U expression and simplify)
f (1 f ) Let I = T2 /T1 and f = (T2 / T1 ) T2 / T1 so, U = 1 ( ) T2 / T1
I is the integer number of times that T1 occurs during T2 f is the fractional time of the last release for T1 during T2, noting that if f =0, then T1 and T2 are harmonic, and therefore U=1, an uninteresting ideal case. Substituting I and f into the U expression above and simplifying, we get:
U = 1 (T1 / T2 )[T2 / T1 (T2 / T1 )][(T2 / T1 ) T2 / T1 ]
f (1 f ) (T2 / T1 )
12
RM LUB Derivation
f (1 f ) U = 1 (T / T ) 2 1
Can also be expressed as: By adding and subtracting the same denominator term to get:
f f2 U = 1 (1 + f )
f (1 f ) U = 1 T / T + (T / T ) T / T 2 1 2 1 2 1
Now taking the derivative of U w.r.t. f, and solving for extreme, we get:
dU / df
(1 + f )(1 2 f ) ( f = (1 + f )2
f 2 (1)
=0
2 1.9 1.8 1.7 1.6 1.5 1.4 1.3 1.2 1.1 1 0.9 0.8 0.7 0.6 0.5
Sam Siewert
14
RM FAQ
Where in the paper does it say that T must equal D?
T=D is in section 4 above Theorem 1 in Liu and Layland paper
Why does Floor(x.d)+1 = Ceiling(x.d)?, because if x=1 or any integer, this is not true.
Floor(x.d) + 1 = Ceiling(x.d) iff x is not an integer value, which is always true if T2 is not a multiple of T1
If T2 > T1, but T2 is a multiple of T1 (if T1 and T2 are harmonic), then U=1, and doesnt this violate the RM LUB?
Yes, it does, but remember the RM LUB is only sufficient, not N&S, and therefore it will pessimistically fail service sets that can actually be scheduled The RM LUB will correctly fail all service sets than in fact cant be scheduled, so it is sufficient
Why Not Just Use EDF Scheduling Policy if it Can Achieve 100% Utility and Be Shown to Meet Deadlines?
What Happens When EDF is Overloaded?
Sam Siewert 16
Si
Si = over-running service
Sam Siewert
18
Si-1
Si-2
Sam Siewert
19
2 10 15
X 9 14
2 X 13
X X 12
2 X 11
X X 10
2 X X
X X X
2 X X
X X X
2 X X
X X X
2 X X
X X X
2 X X
1 9 13
X 8 12
1 X 11
X X 10
1 X 10
X X 9
1 X X
X X X
1 X X
X X X
1 X X
X X X
1 X X
X X X
1 X X
2 5 7
X 4 6
2 X 5
X X 4
2 X 3
X 5 2
2 4 X
X 3 7
2 X 6
X X 5
1 4 5
X 3 4
1 X 3
X X 2
1 X 2
X 4 1
1 3 X
X 2 5
1 X 4
X X 3
Sam Siewert
22
FAILURE
2 5 7 13
X 4 6 12
2 X 5 11
X X 4 10
2 X X 9
X 5 X 8
2 X X 7
X X 7 6
2 X 6 5
X X 5 4
2 5 4 X
X 4 3 X
2 3 X X
X 2 X X
1 4 5 11
X 3 4 10
1 X 3 9
X X 2 8
1 X X 7
X 4 X 6
1 X X 5
X X 5 4
1 X 4 4
X X 3 3
1 4 X 2
X 3 X 1
1 2 X X
X 1 X X
Sam Siewert
23
3 5 15
X 4 14
X 3 13
3 X 12
X X 11
X 5 10
3 4 9
X 3 8
X X 7
3 X 6
X 5 5
X 4 4
3 X 3
X X 2
X X X
2 3 12
X 2 11
X 2 10
2 X 9
X X 8
X 3 8
2 3 7
X 2 6
X X 5
2 X 5
X 3 4
X 3 3
2 X 3
X X 2
X X X
Sam Siewert
24
2 4 16
X 3 15
2 X 14
X X 13
2 4 12
X 3 11
2 X 10
X X 9
2 4 8
X 3 7
2 X 6
X X 5
2 4 4
X 3 3
2 X 2
X X 1
1 3 12
X 2 11
1 X 10
X X 9
1 3 9
X 2 8
1 X 7
X X 6
1 3 6
X 2 5
1 X 4
X X 3
1 3 3
X 2 2
1 X 1
X X 0
Sam Siewert
25
2 5 10
X 4 9
2 3 8
X 2 7
2 X 6
X 5 5
2 4 4
X 3 3
2 X 2
X X 1
1 3 9
X 2 8
1 2 7
X 1 6
1 X 5
X 3 4
1 3 3
X 2 2
1 X 1
X X 0
Sam Siewert
26
FAILURE
Sam Siewert
27