Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
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
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
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
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
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
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
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
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
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
C h a lle n g e to X e n



HOW TO PR OVIDE
DE TER MINIS M?

                           10
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
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
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
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
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
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
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
C h a lle n g e to X e n




HOW TO DEAL WITH
PR EDIC TABILITY?

                           18
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
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
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
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
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
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
THANKS !


           25
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
THANKS !


0 2 /2 5 /0 9    25

More Related Content

XS Oracle 2009 Real Time And Vmm

  • 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
  • 25. THANKS ! 25
  • 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
  • 50. THANKS ! 0 2 /2 5 /0 9 25