1. R e a l-tim e a n d V M M
-R e a l-tim e X e n fo r E m b e d d e d D e v ic e s
C h u c k Y o o a n d te a m
O p e r a tin g S y s te m s L a b o r a to r y
K o r e a U n iv e r s ity
F e b . 25, 2009
2. C o n te n ts
• M o tiv a tio n
• B a c k g ro u n d
– T w o k e y p r o p e r tie s in r e a l-tim e s y s te m s
• C h a lle n g e s to X e n
– d e te r m in is m
– p r e d ic ta b ility
• D e v e lo p m e n t s ta tu s
2
3. M o tiv a tio n s
w h y r e a l-tim e s u p p o r t is im p o r ta n t
• V a r io u s fo r m s o f n e w e m b e d d e d s y s te m s
– R e a l-tim e r e q u ir e m e n t
• M o b ile p h o n e to r u n b o th :
– C o m m u n ic a tio n s ta c k lik e G S M , C D M A
– A p p lic a tio n s lik e U I, g a m e s
• A u to m o b ile s , R o b o ts , U A V , a n d m o r e
3
4. D e te r m in is m in R e a l-tim e S y s te m
• S c h e d u la b ility
– T h e o r e tic a l fo u n d a tio n
– T a s k T i = (p i, c i, d i),
e x e c u tio n c i tim e w ith in a d e a d lin e d i, d u r in g e a c h p e r io d p i
– S c h e d u la b ility c a n b e d e c id e d fo r a g iv e n s c h e d u lin g p o lic y a n d
a r e a l-tim e ta s k s e t
• R e a l-tim e o p e r a tin g s y s te m p e r fo r m s s c h e d u la b ility te s t
w h e n e v e r th e ta s k s e t o r th e s c h e d u lin g p o lic y is c h a n g e d
– P e r fo r m s a d m is s io n c o n tr o l s o th a t a ll th e ta s k in th e s y s te m c a n
m e e t th e e x e c u tio n c o n d itio n
– In o r d e r to s im p lify th e s c h e d u la b ility a n a ly s is a t r u n -tim e , it fix e s
th e ta s k s e t a n d u tiliz a tio n a p r io r i.
4
5. S c h e d u la b ility T e s t
• F o r a g iv e n T a s k s e t T = {T i (p i , c i , d i )} a n d
A lg o r ith m A , s c h e d u le r S c h e c k s w h e th e r a ll
th e ta s k s in th e s y s te m m e e t th e e x e c u tio n
c o n d itio n
• T is R M -s c h e d u la b le if a n d o n ly if
ሺ wi tሻ≤ t
pi
, where t = kpj , j = 1,2, … , i, k = 1, … , ,
pj
t
i
wi ሺtሻ= ck , 0 < t < pi .
pk
k=1
• T is E D F -s c h e d u la b le if a n d o n ly if
ci
n
U= ൬b ≤ 1 .
pi
i=1
5
6. P r e d ic ta b ility in R e a l-tim e S y s te m
• In te r r u p t is a k e y o b s ta c le to p r e d ic ta b ility
– In te r r u p t is a s y n c h r o n o u s a n d u n -d e te r m in is tic
– F o r p r e d ic ta b ility , n e e d to m a k e in te r r u p t p r o c e s s in g
p r e d ic ta b le
• R e a l-tim e o p e r a tin g s y s te m a d o p ts m e c h a n is m s
to m a k e it tim e -b o u n d e d
– D is a b le a n o th e r in te r r u p t
– N e s te d /p r io r itiz e in te r r u p t
– P o llin g I/O
– D e fe r r e d (D e la y e d ) p r o c e s s in g
• e .g .) b o tto m h a lf, s o ftir q , e tc .
6
7. X e n : P h y s ic a l tim e != V ir tu a l tim e
(2 4 fr m /s ) (1 2 fr m /s )
M e d ia p la y e r M e d ia p la y e r
S c h e d u lin g o v e r S c h e d u lin g o v e r
!=
p h y s ic a l m a c h in e p h y s ic a l m a c h in e
P h y s ic a l M a c h in e
V ir tu a l M a c h in e V M 1
PM1
P h y s ic a l tim e V ir tu a l t im e
P h y s ic a l M a c h in e
D is c r e te D is c r e te
s y s te m s y s te m P h y s ic a l tim e
tim e tim e
in P M 1 in V M 1
N o t d e fin e d
7
P h y s ic a l tim e P h y s ic a l tim e
8. X e n : I/O m o d e l
• D o e s n o t p r o v id e p r e d ic ta b le tim e -b o u n d
• S p lit d r iv e r m o d e l is n o t s u ita b le fo r r e a l-
tim e I/O
8
9. V M M fo r E m b e d d e d S y s te m s
• X e n -A R M fr o m S a m s u n g E le c .
(f ir s t A R M p o r tin g )
• L 4 fr o m O p e n K e r n e l L a b s
(m ic r o k e r n e l-b a s e d v ir tu a liz a tio n )
• V L X fr o m V ir tu a lL o g ix
(r e a l-tim e s u p p o r t R T O S r u n s in s id e th e V M M )
S im ila r is s u e s in h e r ite d !
9
10. C h a lle n g e to X e n
HOW TO PR OVIDE
DE TER MINIS M?
10
11. S c h e d u lin g in X e n
• S E D F , C r e d it s c h e d u le r s
– S im p le E D F im p le m e n ts r e a l-tim e E D F s c h e d u le r
• U s e r s h o u ld d e fin e p e r io d , e x e c u tio n s lic e
– C r e d it s c h e d u le r im p le m e n ts c r e d it b a s e d fa ir s c h e d u lin g
w ith I/O b o o s t
• S u p p o r ts m u lti-p r o c e s s o r , lo a d b a la n c in g
• I/O B O O S T p r io r ity to k e e p r e s p o n s iv e n e s s
• T im e k e e p in g in X e n
– T im e r in te r r u p ts a r e d is tr ib u te d o v e r V M s
• H a r d w a r e tim e r in te r r u p ts a r e h a n d le d b y th e X e n ,
a n d d e liv e r e d b y v ia e v e n t c h a n n e l
• V M c a n b e a w a r e o f tim e p a s s a g e b y v ir tu a l t im e r in te r r u p t
w h ic h h a s b e e n s e n t b y th e X e n
– T im e flo w s o n ly w h e n th e g u e s t O S is s c h e d u le d b y th e V M M
11
12. H o w to P e r fo r m S c h e d u la b ility
A n a ly s is ?
• P r o b le m
– T a s k s c h e d u lin g s h o u ld b e p e r fo r m e d b y R T O S
• I t p e r fo r m s s c h e d u la b ilit y t e s t, R T s c h e d u lin g p o lic y
• X e n d o e s n o t k n o w t h e t a s k s in th e R T O S
– H o w e v e r , R T g u e s t is n o t a w a r e o f th e p h y s ic a l tim e
• R T O S is a w a r e o f t h e v ir t u a l tim e p r o v id e d b y t h e X e n
• D e a d lin e m ig h t b e m is s e d if t h e X e n d o e s n o t t im e ly s c h e d u le R T g u e s t
R T guest is not
aware of this time
V ir tu a l tim e
R T V ir tu a l M a c h in e V M 1
V ir tu a l M a c h in e V M 2
Performs schedulability test
V ir tu a l tim e r
in t e r r u p t
Xen
P h y s ic a l tim e
P h y s ic a l 12
d e a d lin e
13. S o lu tio n 1 - In te g r a te d
s c h e d u lin g a t V M M
• S c h e d u lin g a t th e lo w e s t la y e r
– At VMM ?
• V M M s h o u ld b e a w a r e o f a ll th e r e a l-tim e ta s k s in R T g u e s t
OS
– e .g .) L 4 ta s k s c h e d u lin g
• W h a t if m u ltip le R T g u e s t O S
– In a d d itio n ,
• H o w to s u p p o r t G P O S
– S c h e d u lin g a n a ly s is w h e n e v e r G P O S c r e a te s a u s e r p r o c e s s
– S o r tin g a ll th e ta s k s in a ll th e g u e s ts fo r S E D F a t r u n tim e s h o u ld
h a v e a c o n s id e r a b le o v e r h e a d
• In te r fe r e G P O S s c h e d u le r
– L o c a l s c h e d u le r k n o w s a b e s t w a y to u tiliz e th e r e s o u r c e s
13
14. S o lu tio n 2 - W o r k lo a d a g g r e g a tio n
• H ie r a r c h ic a l s c h e d u lin g
fr a m e w o r k
– R T g u e s t O S c a n p r e s e r v e its S c h e d u la b ility T e s t w ith
Abstract interface,
o w n s c h e d u lin g p o lic y a n d
i.e . p e r io d ic ta s k m o d e l Γi (Π,Θ)
s c h e d u la b ility
• N o g lo b a l s c h e d u la b ility te s t fo r Abstract
Γ1(Π,Θ) Γ2(Π,Θ)
lo c a l ta s k s e t c h a n g e interface
– A g g r e g a te R T g u e s t O S (its
ta s k s ) a s o n e r e a l-tim e ta s k S u b s y s te m S 1 S u b s y s te m S 2
P r e s e r v e lo c a l P r e s e r v e lo c a l
s c h e d u lin g p o lic y ,
– Im p lic a tio n to X e n s c h e d u lin g p o lic y ,
s c h e d u la b ility te s t s c h e d u la b ility te s t
• N e e d a b s tr a c t in te r fa c e to
tr a n s la t e a ll th e R T t a s k s to a
s in g le R T ta s k
• s lig h tly m o r e o v e r h e a d
RT RT
ta s k ta s k
T 1 (p i,e i T 2 (p i,e i
) )
14
15. A g g r e g a tio n
P e r io d ic r e s o u r c e m o d e l
• k = m a x ( ┌ (t-(Π-Θ)) ┐/ Π, 1 )
– n u m b e r o f p e r io d s w ith in t
– i.e . k = 3 fo r th e fig u r e b e lo w
t
Π
Π-Θ kΠ-Θ
kΠ
Θ Θ Θ
15
16. E x a m p le o f A g g r e g a tio n
• F o r R T g u e s t R w h o s e ta s k s e t T is {t 1 (5 0 , 7 , 5 0 ), t 2 (7 5 , 9 , 7 5 )} a n d
a lg o r ith m A is E D F .
– U tiliz a tio n o f w o r k lo a d = 0 .2 6
– L e t p e r io d Π, r e s o u r c e c a p a c ity U = Θ / Π
t − ሺ + 1ሻ Π − Θሻ if t ∈ ሾ k + 1ሻ − 2Θ, ሺ + 1ሻ − Θሿ
ሺ ሺ
k Π k Π
– S u p p ly b o u n d fu n c tio n (s b f) : m in im u m r e s o u r c e s u p p ly fr o m V M M
sbfΓ ሺ ሻ= b
t
ሺ − 1ሻ
k Θ otherwise,
t − ሺ − Θሻ
Π
, where k = max ቆቜ ቝ ,1ቇ
Π
t
dbfEDF ሺ tሻ=
W, ⋅ ei .
– D e m a n d b o u n d fu n c tio n (d b f) : to ta l r e s o u r c e d e m a n d fo r t h e w o r k lo a d
pi
T i ∈W
– G r a y r e g io n in th e g r a p h p r e s e n ts fe a s ib le
∀0 < t ≤ LCMW , dbfEDF ሺ tሻ≤ sbfR ሺ ሻ
W, t
r e s o u r c e a llo c a tio n
, where LCMW is the least common multiple of pi for all Ti ∈ W .
0 .2 8
L e ts a s s u m e t h a t Π= 1 0 ,
•
– W e n e e d to a llo c a te a t le a s t 2 .8 (a s Θ) to R I.S h in , I . L e e “C ompositional real-time
– R o u n d in g it a n d w e g e t Γ(1 0 , 3 ) scheduling framework with periodic model,”
A C M T r a n s . o n E m b e d d e d C o m p u tin g S y s te m s
V o l.7 (3 ), 2 0 0 8
16
17. T o m a k e a g g r e g a tio n w o r k
• T o in c o r p o r a te th e h ie r a r c h ic a l s c h e d u lin g
fr a m e w o r k
– N e e d a to o l to c a lc u la te w ith th e g iv e n ta s k s e t
• R e s o u r c e s u p p ly b o u n d >= R e s o u r c e d e m a n d
bound
– X e n s h o u ld p r o v id e e n o u g h r e s o u r c e s to R T O S
• R T O S c a lc u la te s d e m a n d b o u n d
(to ta l r e s o u r c e d e m a n d to m e e t th e s c h e d u la b ility )
• X e n p r o v id e s C P U r e s o u r c e to R T O S a t le a s t to r e s o u r c e
s u p p ly b o u n d
(m in im u m r e s o u r c e s u p p ly fo r a c o r r e s p o n d in g s c h e d u lin g
p o lic y )
17
18. C h a lle n g e to X e n
HOW TO DEAL WITH
PR EDIC TABILITY?
18
19. H o w to H a n d le In te r r u p ts in T im e -
b o u n d e d fa s h io n ?
• P r o b le m
– X e n ’s d o m a in m o d e l
s p lits p h y s ic a l I/O
p r o c e s s in g fr o m v ir tu a l
D om 0 RT-
m a c h in e Dom U
(physical
Dom U
driver)
• A d d itio n a l la te n c y
• U n b o u n d e d -p r o c e s s in g
1. Asynch. 2. VM
tim e Inter-VM comm. S cheduling
– D om 0 m ay be kept busy (n o t-tim e b o u n d e d )
Xen
i.e . ta r g e t g u e s t m a y n o t b e
s c h e d u le d im m e d ia te ly
19
20. S o lu tio n 1 – P u ttin g R T g u e s t a t
Dom 0
• At Dom 0
– S p e c ia l c o n tr o l/d r iv e r d o m a in
– F o r fa s te r I/O r e s p o n s e
• G o o d fo r tim e ly in te r r u p t
p r o c e s s in g
• Cons R T -D o m 0 Dom U
( Additional I/O
– A n o th e r n o n -R T V M ’s I/O (n o n -R T
processing for DomU) g u e s t)
p r o c e s s in g is a ffe c te d
• H a r d to s u p p o r t s c h e d u la b ility
a n a ly s is Xen
(n o n -R T g u e s t p r o c e s s in g ,
w h ic h is n o t tim e -b o u n d e d )
– R T g u e s t c a n b e o v e r lo a d e d In te r r u p t fo r d o m U (n o n -R T g u e s t )
w ith to o m a n y in te r r u p ts
20
21. S o lu tio n 2 - A d o p tin g R e a l-tim e
S u b la y e r (R T L )
• L e t R T g u e s t a c c e s s p h y s ic a l d e v ic e s d ir e c t ly
– R T d e v ic e s a r e d e d ic a te d to R T g u e s ts
– In te r r u p t s e r v ic e r o u tin e (IS R ) o f R T g u e s t s h o u ld b e m in im a l
• A d d r e a l-t im e s u b la y e r to p r o v id e t im e -b o u n d e d in te r r u p ts fo r R T g u e s t
– H a n d le R T g u e s t’s in te r r u p t fir s t
– T h r o ttle in te r r u p t p r o c e s s in g fo r R T g u e s t a n d n o n -R T g u e s t
• S e le c t iv e ly d e liv e r in te r r u p ts to d o m 0 b y m o n ito r in g in c o m in g in te r r u p ts
• T o a v o id u n b o u n d e d in t e r r u p t p r o c e s s in g fo r n o n -R T g u e s t
e .g .) n e tw o r k flo o d in g
RT- N o n -R T
R T -D o m U Dom 0
Dom U Dom U
R T d e v ic e
Always delivered
d r iv e r s
S electively delivered
Prioritized R T guest’s
interrupt processing Xen R TL
Xen
R TL (Throttle interrupt
(physical interrupt handler) processing )
21
22. M o re o n R T L
• R T L c o n tr o ls th e in c o m in g r a te o f th e
a g g r e s s iv e in te r r u p ts
– d is c a r d in te r r u p ts w h e n to o m a n y
if c u r r e n t in te r r u p t in c o m in g r a te > m a x im u m in te r r u p t
r a te th r e s h o ld
• M a x . in te r r u p t r a te c o u ld b e d e r iv e d fr o m
a v a ila b le c p u b a n d w id th fr o m s c h e d u la b ility
a n a ly s is
22
23. D e v e lo p m e n t s ta tu s
• P o r te d u C /O S -II o v e r X e n A R M p la tfo r m
– F r e e s c a le iM X 2 1
• B e in g im p le m e n te d
– H ie r a r c h ic a l s c h e d u le r
– T o o ls fo r s c h e d u la b ility a n a ly s is
–RTL
• P r e v ie w a t
h ttp ://w w w .y o u tu b e .c o m /w a tc h ?v = V li9 z b 6 2 C e
23
24. C o n c lu s io n
• R e a l-tim e s u p p o r t is im p o r ta n t
• X e n c a n d o it
24
26. R e a l-tim e a n d V M M
-R e a l-tim e X e n fo r E m b e d d e d D e v ic e s
C h u c k Y o o a n d te a m
O p e r a tin g S y s te m s L a b o r a to r y
K o r e a U n iv e r s ity
F e b . 25, 2009
0 2 /2 5 /0 9 1
27. C o n te n ts
• M o tiv a tio n
• B a c k g ro u n d
– T w o k e y p r o p e r tie s in r e a l-tim e s y s te m s
• C h a lle n g e s to X e n
– d e te r m in is m
– p r e d ic ta b ility
• D e v e lo p m e n t s ta tu s
0 2 /2 5 /0 9 2
28. M o tiv a tio n s
w h y r e a l-tim e s u p p o r t is im p o r ta n t
• V a r io u s fo r m s o f n e w e m b e d d e d s y s te m s
– R e a l-tim e r e q u ir e m e n t
• M o b ile p h o n e to r u n b o th :
– C o m m u n ic a tio n s ta c k lik e G S M , C D M A
– A p p lic a tio n s lik e U I, g a m e s
• A u to m o b ile s , R o b o ts , U A V , a n d m o r e
0 2 /2 5 /0 9 3
29. D e te r m in is m in R e a l-tim e S y s te m
• S c h e d u la b ility
– T h e o r e tic a l fo u n d a tio n
– T a s k T i = (p i, c i, d i),
e x e c u tio n c i tim e w ith in a d e a d lin e d i, d u r in g e a c h p e r io d p i
– S c h e d u la b ility c a n b e d e c id e d fo r a g iv e n s c h e d u lin g p o lic y a n d
a r e a l-tim e ta s k s e t
• R e a l-tim e o p e r a tin g s y s te m p e r fo r m s s c h e d u la b ility te s t
w h e n e v e r th e ta s k s e t o r th e s c h e d u lin g p o lic y is c h a n g e d
– P e r fo r m s a d m is s io n c o n tr o l s o th a t a ll th e ta s k in th e s y s te m c a n
m e e t th e e x e c u tio n c o n d itio n
– In o r d e r to s im p lify th e s c h e d u la b ility a n a ly s is a t r u n -tim e , it fix e s
th e ta s k s e t a n d u tiliz a tio n a p r io r i.
0 2 /2 5 /0 9 4
4
30. S c h e d u la b ility T e s t
• F o r a g iv e n T a s k s e t T = {T i (p i , c i , d i )} a n d
A lg o r ith m A , s c h e d u le r S c h e c k s w h e th e r a ll
th e ta s k s in th e s y s te m m e e t th e e x e c u tio n
c o n d itio n
• T is R M -s c h e d u la b le if a n d o n ly if
ሺ wi tሻ≤ t
pi
, where t = kpj , j = 1,2, … , i, k = 1, … , ,
pj
t
i
wi ሺtሻ= ck , 0 < t < pi .
pk
k=1
• T is E D F -s c h e d u la b le if a n d o n ly if
ci
n
U= ൬b ≤ 1 .
pi
i=1
0 2 /2 5 /0 9 5
31. P r e d ic ta b ility in R e a l-tim e S y s te m
• In te r r u p t is a k e y o b s ta c le to p r e d ic ta b ility
– I n te r r u p t is a s y n c h r o n o u s a n d u n -d e t e r m in is t ic
– F o r p r e d ic ta b ility , n e e d to m a k e in te r r u p t p r o c e s s in g
p r e d ic ta b le
• R e a l-tim e o p e r a tin g s y s te m a d o p ts m e c h a n is m s
to m a k e it tim e -b o u n d e d
– D is a b le a n o th e r in te r r u p t
– N e s t e d /p r io r itiz e in t e r r u p t
– P o llin g I /O
– D e fe r r e d (D e la y e d ) p r o c e s s in g
• e .g .) b o tto m h a lf, s o ftir q , e tc .
0 2 /2 5 /0 9 6
32. X e n : P h y s ic a l tim e != V ir tu a l tim e
(2 4 f r m /s ) (1 2 f r m /s )
M e d ia p la y e r M e d ia p la y e r
S c h e d u lin g o v e r S c h e d u lin g o v e r
!=
p h y s ic a l m a c h in e p h y s ic a l m a c h in e
P h y s ic a l M a c h in e
V ir t u a l M a c h in e V M 1
PM1
P h y s ic a l t im e V ir tu a l tim e
P h y s ic a l M a c h in e
D is c r e t e D is c r e t e
s y s te m s y s te m P h y s ic a l t im e
tim e tim e
in P M 1 in V M 1
N o t d e fin e d
0 2 /2 5 /0 9 7
P h y s ic a l t im e P h y s ic a l t im e
7
33. X e n : I/O m o d e l
• D o e s n o t p r o v id e p r e d ic ta b le tim e -b o u n d
• S p lit d r iv e r m o d e l is n o t s u ita b le fo r r e a l-
tim e I/O
0 2 /2 5 /0 9 8
34. V M M fo r E m b e d d e d S y s te m s
• X e n -A R M fr o m S a m s u n g E le c .
(fir s t A R M p o r tin g )
• L 4 fr o m O p e n K e r n e l L a b s
(m ic r o k e r n e l-b a s e d v ir tu a liz a tio n )
• V L X fr o m V ir tu a lL o g ix
(r e a l-tim e s u p p o r t R T O S r u n s in s id e th e V M M )
S im ila r is s u e s in h e r ite d !
0 2 /2 5 /0 9 9
35. C h a lle n g e to X e n
HOW TO PR OVIDE
DETE R MINIS M?
0 2 /2 5 /0 9 10
36. S c h e d u lin g in X e n
• S E D F , C r e d it s c h e d u le r s
– S im p le E D F im p le m e n ts r e a l-tim e E D F s c h e d u le r
• U s e r s h o u ld d e fin e p e r io d , e x e c u tio n s lic e
– C r e d it s c h e d u le r im p le m e n ts c r e d it b a s e d fa ir s c h e d u lin g
w ith I/O b o o s t
• S u p p o r ts m u lti-p r o c e s s o r , lo a d b a la n c in g
• I/O B O O S T p r io r ity to k e e p r e s p o n s iv e n e s s
• T im e k e e p in g in X e n
– T im e r in te r r u p ts a r e d is tr ib u t e d o v e r V M s
• H a r d w a r e tim e r in te r r u p ts a r e h a n d le d b y th e X e n ,
a n d d e liv e r e d b y v ia e v e n t c h a n n e l
• V M c a n b e a w a r e o f tim e p a s s a g e b y v ir tu a l tim e r in te r r u p t
w h ic h h a s b e e n s e n t b y th e X e n
– T im e flo w s o n ly w h e n th e g u e s t O S is s c h e d u le d b y th e V M M
0 2 /2 5 /0 9 11
37. H o w to P e r fo r m S c h e d u la b ility
A n a ly s is ?
• P r o b le m
– T a s k s c h e d u lin g s h o u ld b e p e r f o r m e d b y R T O S
• It p e r f o r m s s c h e d u la b ilit y te s t , R T s c h e d u lin g p o lic y
• X e n d o e s n o t k n o w t h e t a s k s in th e R T O S
– H o w e v e r , R T g u e s t is n o t a w a r e o f th e p h y s ic a l tim e
• R T O S is a w a r e o f th e v ir tu a l tim e p r o v id e d b y t h e X e n
• D e a d lin e m ig h t b e m is s e d if th e X e n d o e s n o t t im e ly s c h e d u le R T g u e s t
R T guest is not
aware of this time
V ir tu a l t im e
R T V ir tu a l M a c h in e V M 1
V ir tu a l M a c h in e V M 2
Performs schedulability test
V ir tu a l t im e r
in t e r r u p t
Xen
P h y s ic a l tim e
P h y s ic a l
0 2 /2 5 /0 9 12
d e a d lin e
38. S o lu tio n 1 - In te g r a te d
s c h e d u lin g a t V M M
• S c h e d u lin g a t th e lo w e s t la y e r
– At VM M ?
• V M M s h o u ld b e a w a r e o f a ll th e r e a l-tim e ta s k s in R T g u e s t
OS
– e .g .) L 4 ta s k s c h e d u lin g
• W h a t if m u ltip le R T g u e s t O S
– I n a d d it io n ,
• H o w to s u p p o r t G P O S
– S c h e d u lin g a n a ly s is w h e n e v e r G P O S c r e a te s a u s e r p r o c e s s
– S o r tin g a ll th e ta s k s in a ll th e g u e s ts fo r S E D F a t r u n tim e s h o u ld
h a v e a c o n s id e r a b le o v e r h e a d
• In te r fe r e G P O S s c h e d u le r
– L o c a l s c h e d u le r k n o w s a b e s t w a y to u tiliz e th e r e s o u r c e s
0 2 /2 5 /0 9 13
39. S o lu tio n 2 - W o r k lo a d a g g r e g a tio n
• H ie r a r c h ic a l s c h e d u lin g
fr a m e w o r k
– R T g u e s t O S c a n p r e s e r v e its S c h e d u la b ility T e s t w it h
Abstract interface,
o w n s c h e d u lin g p o lic y a n d
i.e . p e r io d ic ta s k m o d e l Γi (Π,Θ)
s c h e d u la b ility
• N o g lo b a l s c h e d u la b ility te s t fo r Abs tract
Γ1(Π,Θ) Γ2(Π,Θ)
lo c a l ta s k s e t c h a n g e interface
– A g g r e g a te R T g u e s t O S (its
ta s k s ) a s o n e r e a l-tim e ta s k S u b s y s te m S 1 S u b s y s te m S 2
P r e s e r v e lo c a l P r e s e r v e lo c a l
s c h e d u lin g p o lic y ,
– Im p lic a tio n to X e n s c h e d u lin g p o lic y ,
s c h e d u la b ilit y t e s t s c h e d u la b ilit y t e s t
• N e e d a b s tr a c t in te r fa c e to
tr a n s la te a ll th e R T ta s k s to a
s in g le R T ta s k
• s lig h tly m o r e o v e r h e a d
RT RT
ta s k ta s k
T 1 (p i,e i T 2 (p i,e i
) )
0 2 /2 5 /0 9 14
40. A g g r e g a tio n
P e r io d ic r e s o u r c e m o d e l
• k = m a x ( ┌ (t-(Π-Θ)) ┐/ Π, 1 )
– n u m b e r o f p e r io d s w ith in t
– i.e . k = 3 fo r th e f ig u r e b e lo w
t
Π
Π-Θ kΠ-Θ
kΠ
Θ Θ Θ
0 2 /2 5 /0 9 15
41. E x a m p le o f A g g r e g a tio n
• F o r R T g u e s t R w h o s e ta s k s e t T is {t 1 (5 0 , 7 , 5 0 ), t 2 (7 5 , 9 , 7 5 )} a n d
a lg o r ith m A is E D F .
– U tiliz a t io n o f w o r k lo a d = 0 .2 6
– L e t p e r io d Π, r e s o u r c e c a p a c ity U = Θ / Π
t − ሺ + 1ሻ Π − Θሻ if t ∈ ሾ k + 1ሻ − 2Θ, ሺ + 1ሻ − Θሿ
ሺ ሺ
k Π k Π
– S u p p ly b o u n d fu n c tio n (s b f) : m in im u m r e s o u r c e s u p p ly fr o m V M M
sbfΓ ሺtሻ= b
ሺ − 1ሻ
k Θ otherwise,
t − ሺ − Θሻ
Π
, where k = max ቆቜ ቝ ,1ቇ
Π
t
dbfEDF ሺ tሻ=
W, ⋅ ei .
– D e m a n d b o u n d f u n c t io n (d b f ) : to ta l r e s o u r c e d e m a n d f o r t h e w o r k lo a d
pi
T i ∈W
– G r a y r e g io n in t h e g r a p h p r e s e n t s fe a s ib le
∀0 < t ≤ LCMW , dbfEDF ሺ tሻ≤ sbfR ሺ
W, tሻ
r e s o u r c e a llo c a t io n
, where LCMW is the least common multiple of pi for all Ti ∈ W .
0 .2 8
L e ts a s s u m e th a t Π= 1 0 ,
•
– W e n e e d t o a llo c a t e a t le a s t 2 .8 (a s Θ) to R I .S h in , I . L e e “C ompos itional real-time
– R o u n d in g it a n d w e g e t Γ(1 0 , 3 ) s cheduling framework with periodic model,”
A C M T r a n s . o n E m b e d d e d C o m p u t in g S y s t e m s
V o l.7 (3 ), 2 0 0 8
0 2 /2 5 /0 9 16
42. T o m a k e a g g r e g a tio n w o r k
• T o in c o r p o r a te th e h ie r a r c h ic a l s c h e d u lin g
fr a m e w o r k
– N e e d a to o l t o c a lc u la t e w ith t h e g iv e n ta s k s e t
• R e s o u r c e s u p p ly b o u n d >= R e s o u r c e d e m a n d
bound
– X e n s h o u ld p r o v id e e n o u g h r e s o u r c e s to R T O S
• R T O S c a lc u la te s d e m a n d b o u n d
(to ta l r e s o u r c e d e m a n d to m e e t th e s c h e d u la b ility )
• X e n p r o v id e s C P U r e s o u r c e to R T O S a t le a s t to r e s o u r c e
s u p p ly b o u n d
(m in im u m r e s o u r c e s u p p ly fo r a c o r r e s p o n d in g s c h e d u lin g
p o lic y )
0 2 /2 5 /0 9 17
43. C h a lle n g e to X e n
HOW TO DE AL WITH
PR E DIC TABILITY?
0 2 /2 5 /0 9 18
44. H o w to H a n d le In te r r u p ts in T im e -
b o u n d e d fa s h io n ?
• P r o b le m
– X e n ’s d o m a in m o d e l
s p lits p h y s ic a l I/O
p r o c e s s in g fr o m v ir tu a l
Dom 0 RT-
m a c h in e Dom U
(physical
Dom U
driver)
• A d d itio n a l la te n c y
• U n b o u n d e d -p r o c e s s in g
1. Asynch. 2. VM
tim e Inter-VM comm. S cheduling
– D om 0 m ay be kept busy (n o t -t im e b o u n d e d )
Xen
i.e . ta r g e t g u e s t m a y n o t b e
s c h e d u le d im m e d ia te ly
0 2 /2 5 /0 9 19
45. S o lu tio n 1 – P u ttin g R T g u e s t a t
D om 0
• At D om 0
– S p e c ia l c o n t r o l/d r iv e r d o m a in
– F o r fa s t e r I/O r e s p o n s e
• G o o d fo r tim e ly in te r r u p t
p r o c e s s in g
• Cons R T -D o m 0 Dom U
( Additional I/O
– A n o th e r n o n -R T V M ’s I/O (n o n -R T
processing for DomU) g u e s t)
p r o c e s s in g is a ffe c t e d
• H a r d to s u p p o r t s c h e d u la b ility
a n a ly s is Xen
(n o n -R T g u e s t p r o c e s s in g ,
w h ic h is n o t tim e -b o u n d e d )
– R T g u e s t c a n b e o v e r lo a d e d In te r r u p t fo r d o m U (n o n -R T g u e s t)
w ith to o m a n y in te r r u p ts
0 2 /2 5 /0 9 20
46. S o lu tio n 2 - A d o p tin g R e a l-tim e
S u b la y e r (R T L )
• L e t R T g u e s t a c c e s s p h y s ic a l d e v ic e s d ir e c t ly
– R T d e v ic e s a r e d e d ic a te d to R T g u e s ts
– In te r r u p t s e r v ic e r o u tin e (IS R ) o f R T g u e s t s h o u ld b e m in im a l
• A d d r e a l-tim e s u b la y e r to p r o v id e tim e -b o u n d e d in te r r u p ts fo r R T g u e s t
– H a n d le R T g u e s t’s in te r r u p t fir s t
– T h r o ttle in te r r u p t p r o c e s s in g fo r R T g u e s t a n d n o n -R T g u e s t
• S e le c t iv e ly d e liv e r in te r r u p t s t o d o m 0 b y m o n ito r in g in c o m in g in te r r u p t s
• T o a v o id u n b o u n d e d in te r r u p t p r o c e s s in g fo r n o n -R T g u e s t
e .g .) n e tw o r k flo o d in g
RT- N o n -R T
R T -D o m U D om 0
Dom U Dom U
R T d e v ic e
Always delivered
d r iv e r s
S electively delivered
Prioritized R T guest’s
interrupt processing Xen R TL
Xen
R TL (Throttle interrupt
(physical interrupt handler) processing )
0 2 /2 5 /0 9 21
47. M o re o n R T L
• R T L c o n tr o ls th e in c o m in g r a te o f th e
a g g r e s s iv e in te r r u p ts
– d is c a r d in te r r u p t s w h e n t o o m a n y
if c u r r e n t in te r r u p t in c o m in g r a te > m a x im u m in te r r u p t
r a te th r e s h o ld
• M a x . in te r r u p t r a te c o u ld b e d e r iv e d f r o m
a v a ila b le c p u b a n d w id th fr o m s c h e d u la b ilit y
a n a ly s is
0 2 /2 5 /0 9 22
48. D e v e lo p m e n t s ta tu s
• P o r te d u C /O S -II o v e r X e n A R M p la tfo r m
– F r e e s c a le iM X 2 1
• B e in g im p le m e n te d
– H ie r a r c h ic a l s c h e d u le r
– T o o ls fo r s c h e d u la b ility a n a ly s is
–RTL
• P r e v ie w a t
h ttp ://w w w .y o u tu b e .c o m /w a tc h ?v = V li9 z b 6 2 C e o
0 2 /2 5 /0 9 23
49. C o n c lu s io n
• R e a l-tim e s u p p o r t is im p o r ta n t
• X e n c a n d o it
0 2 /2 5 /0 9 24