SlideShare a Scribd company logo
1 of 61
Download to read offline
Creating New Real-Time Scheduling Policies :
              Why and How ?

        Nicolas NAVET            Mathieu GRENIER
                        LORIA - INRIA
          Real-Time and Interoperability Group (TRIO)
                        Nancy, France
                 Email: Nicolas.Navet@loria.fr
                web: http://www.loria.fr/~nnavet


                        03/23/2005




                 Nicolas NAVET     New Real-Time Scheduling Policies
Introduction



   Real-Time Systems
   Temporal correctness is mandatory
   Scheduling : ordering the execution of activities - tasks or messages -
                is crucial and has been extensively studied since the
                70s
   Scheduling policies : Earliest Deadline First, Least-Laxity first,
                Fixed-Priority Preemptive, ...

   Open question
   Can we devise other scheduling policies of interest for real-time
   computing ?




                            Nicolas NAVET   New Real-Time Scheduling Policies
Introduction



   Real-Time Systems
   Temporal correctness is mandatory
   Scheduling : ordering the execution of activities - tasks or messages -
                is crucial and has been extensively studied since the
                70s
   Scheduling policies : Earliest Deadline First, Least-Laxity first,
                Fixed-Priority Preemptive, ...

   Open question
   Can we devise other scheduling policies of interest for real-time
   computing ?




                            Nicolas NAVET   New Real-Time Scheduling Policies
Description of the scheduling

Characteristics of the tasks
                                                          Results of the scheduling
            τk ,n : nth instance of τk
                                                                 Wk ,n (t ): remaining work for τk ,n at
            Ak ,n : release date
                                                                             time t
            Ck ,n : computation time
                                                                       Ek ,n : end of execution time
            Dk ,n : absolute deadline
                                                                       Bk ,n : beginning of execution
             D k : relative deadline, i.e.
                                                          Rk ,n = Ek ,n − Ak ,n : response time
                   Dk ,n = Ak ,n + D k

                                 Wk ,n (t )                                                   Wk ,n+1 (t )

    Ck ,n                                                                     Ck ,n+1


                                                                                                             t
               Ak ,n   Bk ,n                             Ek ,n        Dk ,n         Ak ,n+1

                               Rk ,n

                                               Tk ,n

                                              Nicolas NAVET      New Real-Time Scheduling Policies
Description of the scheduling

Characteristics of the tasks
                                                          Results of the scheduling
            τk ,n : nth instance of τk
                                                                 Wk ,n (t ): remaining work for τk ,n at
            Ak ,n : release date
                                                                             time t
            Ck ,n : computation time
                                                                       Ek ,n : end of execution time
            Dk ,n : absolute deadline
                                                                       Bk ,n : beginning of execution
             D k : relative deadline, i.e.
                                                          Rk ,n = Ek ,n − Ak ,n : response time
                   Dk ,n = Ak ,n + D k

                                 Wk ,n (t )                                                   Wk ,n+1 (t )

    Ck ,n                                                                     Ck ,n+1


                                                                                                             t
               Ak ,n   Bk ,n                             Ek ,n        Dk ,n         Ak ,n+1

                               Rk ,n

                                               Tk ,n

                                              Nicolas NAVET      New Real-Time Scheduling Policies
Scheduling performance criteria


  Mandatory : “feasibility” or “schedulability” of the system
       Feasible iff ∀k    ˆ
                          Rk = maxn∈N Rk ,n           Dk
       Techniques : simulation, feasibility test or bound on response
       times
       Feasibility has been a major research field since the 70s ..

  Increasingly important criteria (e.g. for Networked Control Systems)
       Average response times (NCS: control delays)
       Variability (“jitter”) in successive Bk ,n (NCS: sampling times)
       Variability in successive Ek ,n (NCS: actuation times)
       Fault-tolerance: behaviour in overload condition or with transient
       faults



                           Nicolas NAVET   New Real-Time Scheduling Policies
Scheduling performance criteria


  Mandatory : “feasibility” or “schedulability” of the system
       Feasible iff ∀k    ˆ
                          Rk = maxn∈N Rk ,n           Dk
       Techniques : simulation, feasibility test or bound on response
       times
       Feasibility has been a major research field since the 70s ..

  Increasingly important criteria (e.g. for Networked Control Systems)
       Average response times (NCS: control delays)
       Variability (“jitter”) in successive Bk ,n (NCS: sampling times)
       Variability in successive Ek ,n (NCS: actuation times)
       Fault-tolerance: behaviour in overload condition or with transient
       faults



                           Nicolas NAVET   New Real-Time Scheduling Policies
Scheduling performance criteria


  Mandatory : “feasibility” or “schedulability” of the system
       Feasible iff ∀k    ˆ
                          Rk = maxn∈N Rk ,n           Dk
       Techniques : simulation, feasibility test or bound on response
       times
       Feasibility has been a major research field since the 70s ..

  Increasingly important criteria (e.g. for Networked Control Systems)
       Average response times (NCS: control delays)
       Variability (“jitter”) in successive Bk ,n (NCS: sampling times)
       Variability in successive Ek ,n (NCS: actuation times)
       Fault-tolerance: behaviour in overload condition or with transient
       faults



                           Nicolas NAVET   New Real-Time Scheduling Policies
Networked Control systems




                       Figure: from [MaViFuFo:05]
  Examples of NCS: plant control, building automation, in-vehicle
               systems , ..
  Usual assumptions in control theory: sampling times and actuation
               times are strictly periodic
                         Nicolas NAVET   New Real-Time Scheduling Policies
Improving control : existing work
     1   Control theory : control laws robust to delays or integration of the
         delays as a parameter of the control law [ArCeEk:00]
     2   Adapt task model : subdivide tasks in sampling - computation -
         actuation [BaRiViCr:04] or maximize frequency
     3   Optimize parameters of well-known scheduling policies :
         FPP [GoRi:04], EDF [BaBuGoLi:99] or RR+FPP
         (Posix1003.1b) [NaMi:03]
     4   Synthesize static schedules (off-line) : stored in timetables or
         using automata [AlGoSi:02]

   Our proposal : find new on-line scheduling algorithms optimized for a
   particular system or a class of systems
         Can be used with 1) and 2)
         Better performance than 3)
         Better suited to industrial requirements than 4) : problem sizes,
         incremental design process, evolutivity, efficient use of resources,
         use of COTS...
                             Nicolas NAVET   New Real-Time Scheduling Policies
Improving control : existing work
     1   Control theory : control laws robust to delays or integration of the
         delays as a parameter of the control law [ArCeEk:00]
     2   Adapt task model : subdivide tasks in sampling - computation -
         actuation [BaRiViCr:04] or maximize frequency
     3   Optimize parameters of well-known scheduling policies :
         FPP [GoRi:04], EDF [BaBuGoLi:99] or RR+FPP
         (Posix1003.1b) [NaMi:03]
     4   Synthesize static schedules (off-line) : stored in timetables or
         using automata [AlGoSi:02]

   Our proposal : find new on-line scheduling algorithms optimized for a
   particular system or a class of systems
         Can be used with 1) and 2)
         Better performance than 3)
         Better suited to industrial requirements than 4) : problem sizes,
         incremental design process, evolutivity, efficient use of resources,
         use of COTS...
                             Nicolas NAVET   New Real-Time Scheduling Policies
Class of scheduling policies under study
Formally defining scheduling policies


  Why ?
       Non-ambiguous description and implementation
       Identify distinct “classes” of policies for which generic results hold
       (e.g. feasibility) =⇒ unify existing work

  How ? Priority functions [Mig99]
       Γk ,n (t ) is the priority of instance τk ,n at time t - the resource is
       granted by the Highest Priority First rule
       Γk ,n (t ) ∈ P with P = {(p1 , . . . , pn ) ∈ Rn | n ∈ N}
       A total order is defined on P (leximin ordering)
       Γk ,n (t ) = (3, 4, 6) Γi ,j (t ) = (3, 4, 5) (τi ,j has a lower priority
       than τk ,n at time t)



                              Nicolas NAVET   New Real-Time Scheduling Policies
Formally defining scheduling policies


  Why ?
       Non-ambiguous description and implementation
       Identify distinct “classes” of policies for which generic results hold
       (e.g. feasibility) =⇒ unify existing work

  How ? Priority functions [Mig99]
       Γk ,n (t ) is the priority of instance τk ,n at time t - the resource is
       granted by the Highest Priority First rule
       Γk ,n (t ) ∈ P with P = {(p1 , . . . , pn ) ∈ Rn | n ∈ N}
       A total order is defined on P (leximin ordering)
       Γk ,n (t ) = (3, 4, 6) Γi ,j (t ) = (3, 4, 5) (τi ,j has a lower priority
       than τk ,n at time t)



                              Nicolas NAVET   New Real-Time Scheduling Policies
Formally defining scheduling policies


  Why ?
       Non-ambiguous description and implementation
       Identify distinct “classes” of policies for which generic results hold
       (e.g. feasibility) =⇒ unify existing work

  How ? Priority functions [Mig99]
       Γk ,n (t ) is the priority of instance τk ,n at time t - the resource is
       granted by the Highest Priority First rule
       Γk ,n (t ) ∈ P with P = {(p1 , . . . , pn ) ∈ Rn | n ∈ N}
       A total order is defined on P (leximin ordering)
       Γk ,n (t ) = (3, 4, 6) Γi ,j (t ) = (3, 4, 5) (τi ,j has a lower priority
       than τk ,n at time t)



                              Nicolas NAVET   New Real-Time Scheduling Policies
Formally defining scheduling policies


  Why ?
       Non-ambiguous description and implementation
       Identify distinct “classes” of policies for which generic results hold
       (e.g. feasibility) =⇒ unify existing work

  How ? Priority functions [Mig99]
       Γk ,n (t ) is the priority of instance τk ,n at time t - the resource is
       granted by the Highest Priority First rule
       Γk ,n (t ) ∈ P with P = {(p1 , . . . , pn ) ∈ Rn | n ∈ N}
       A total order is defined on P (leximin ordering)
       Γk ,n (t ) = (3, 4, 6) Γi ,j (t ) = (3, 4, 5) (τi ,j has a lower priority
       than τk ,n at time t)



                              Nicolas NAVET   New Real-Time Scheduling Policies
Formally defining scheduling policies


  Why ?
       Non-ambiguous description and implementation
       Identify distinct “classes” of policies for which generic results hold
       (e.g. feasibility) =⇒ unify existing work

  How ? Priority functions [Mig99]
       Γk ,n (t ) is the priority of instance τk ,n at time t - the resource is
       granted by the Highest Priority First rule
       Γk ,n (t ) ∈ P with P = {(p1 , . . . , pn ) ∈ Rn | n ∈ N}
       A total order is defined on P (leximin ordering)
       Γk ,n (t ) = (3, 4, 6) Γi ,j (t ) = (3, 4, 5) (τi ,j has a lower priority
       than τk ,n at time t)



                              Nicolas NAVET   New Real-Time Scheduling Policies
Formally defining scheduling policies


  Why ?
       Non-ambiguous description and implementation
       Identify distinct “classes” of policies for which generic results hold
       (e.g. feasibility) =⇒ unify existing work

  How ? Priority functions [Mig99]
       Γk ,n (t ) is the priority of instance τk ,n at time t - the resource is
       granted by the Highest Priority First rule
       Γk ,n (t ) ∈ P with P = {(p1 , . . . , pn ) ∈ Rn | n ∈ N}
       A total order is defined on P (leximin ordering)
       Γk ,n (t ) = (3, 4, 6) Γi ,j (t ) = (3, 4, 5) (τi ,j has a lower priority
       than τk ,n at time t)



                              Nicolas NAVET   New Real-Time Scheduling Policies
Formally defining scheduling policies


  Why ?
       Non-ambiguous description and implementation
       Identify distinct “classes” of policies for which generic results hold
       (e.g. feasibility) =⇒ unify existing work

  How ? Priority functions [Mig99]
       Γk ,n (t ) is the priority of instance τk ,n at time t - the resource is
       granted by the Highest Priority First rule
       Γk ,n (t ) ∈ P with P = {(p1 , . . . , pn ) ∈ Rn | n ∈ N}
       A total order is defined on P (leximin ordering)
       Γk ,n (t ) = (3, 4, 6) Γi ,j (t ) = (3, 4, 5) (τi ,j has a lower priority
       than τk ,n at time t)



                              Nicolas NAVET   New Real-Time Scheduling Policies
Defining policies through priority functions


   Examples
       First-In First-Out : ΓFIFO = (Ak ,n , k , n)
                             k ,n

       Last-In First-Out : ΓLIFO = (−Ak ,n , k , −n)
                            k ,n

       Shortest Job First : ΓSJF = (Ck ,n , k , n)
                             k ,n

       Earliest Deadline First : ΓEDF = (Ak ,n + D k , k , n)
                                  k ,n

       Γk ,n = (Ak ,n + sin(Dk ,n ) + 10 · Ck ,n , k , n) ??
                                      1



   Issues
       Priority functions can be difficult to devise (e.g. Round Robin)
       Not all priority functions define “valid” scheduling policies !!



                              Nicolas NAVET   New Real-Time Scheduling Policies
Defining policies through priority functions


   Examples
       First-In First-Out : ΓFIFO = (Ak ,n , k , n)
                             k ,n

       Last-In First-Out : ΓLIFO = (−Ak ,n , k , −n)
                            k ,n

       Shortest Job First : ΓSJF = (Ck ,n , k , n)
                             k ,n

       Earliest Deadline First : ΓEDF = (Ak ,n + D k , k , n)
                                  k ,n

       Γk ,n = (Ak ,n + sin(Dk ,n ) + 10 · Ck ,n , k , n) ??
                                      1



   Issues
       Priority functions can be difficult to devise (e.g. Round Robin)
       Not all priority functions define “valid” scheduling policies !!



                              Nicolas NAVET   New Real-Time Scheduling Policies
Defining policies through priority functions


   Examples
       First-In First-Out : ΓFIFO = (Ak ,n , k , n)
                             k ,n

       Last-In First-Out : ΓLIFO = (−Ak ,n , k , −n)
                            k ,n

       Shortest Job First : ΓSJF = (Ck ,n , k , n)
                             k ,n

       Earliest Deadline First : ΓEDF = (Ak ,n + D k , k , n)
                                  k ,n

       Γk ,n = (Ak ,n + sin(Dk ,n ) + 10 · Ck ,n , k , n) ??
                                      1



   Issues
       Priority functions can be difficult to devise (e.g. Round Robin)
       Not all priority functions define “valid” scheduling policies !!



                              Nicolas NAVET   New Real-Time Scheduling Policies
Defining policies through priority functions


   Examples
       First-In First-Out : ΓFIFO = (Ak ,n , k , n)
                             k ,n

       Last-In First-Out : ΓLIFO = (−Ak ,n , k , −n)
                            k ,n

       Shortest Job First : ΓSJF = (Ck ,n , k , n)
                             k ,n

       Earliest Deadline First : ΓEDF = (Ak ,n + D k , k , n)
                                  k ,n

       Γk ,n = (Ak ,n + sin(Dk ,n ) + 10 · Ck ,n , k , n) ??
                                      1



   Issues
       Priority functions can be difficult to devise (e.g. Round Robin)
       Not all priority functions define “valid” scheduling policies !!



                              Nicolas NAVET   New Real-Time Scheduling Policies
Defining policies through priority functions


   Examples
       First-In First-Out : ΓFIFO = (Ak ,n , k , n)
                             k ,n

       Last-In First-Out : ΓLIFO = (−Ak ,n , k , −n)
                            k ,n

       Shortest Job First : ΓSJF = (Ck ,n , k , n)
                             k ,n

       Earliest Deadline First : ΓEDF = (Ak ,n + D k , k , n)
                                  k ,n

       Γk ,n = (Ak ,n + sin(Dk ,n ) + 10 · Ck ,n , k , n) ??
                                      1



   Issues
       Priority functions can be difficult to devise (e.g. Round Robin)
       Not all priority functions define “valid” scheduling policies !!



                              Nicolas NAVET   New Real-Time Scheduling Policies
Defining policies through priority functions


   Examples
       First-In First-Out : ΓFIFO = (Ak ,n , k , n)
                             k ,n

       Last-In First-Out : ΓLIFO = (−Ak ,n , k , −n)
                            k ,n

       Shortest Job First : ΓSJF = (Ck ,n , k , n)
                             k ,n

       Earliest Deadline First : ΓEDF = (Ak ,n + D k , k , n)
                                  k ,n

       Γk ,n = (Ak ,n + sin(Dk ,n ) + 10 · Ck ,n , k , n) ??
                                      1



   Issues
       Priority functions can be difficult to devise (e.g. Round Robin)
       Not all priority functions define “valid” scheduling policies !!



                              Nicolas NAVET   New Real-Time Scheduling Policies
“Good” Real-time scheduling policies



  A "good" scheduling policy (i.e. suited to real-time) shall be :
       Decidable [Mig99]: at any time t there is exactly one instance (with
       pending work) of maximal priority

       Implementable :
            “piecewise order preserving” [Mig99] : during an interval of finite
            length, the number of changes of the highest priority instance is
            finite
            coordinates of the priority functions must be representable with
            machine numbers

       “Shift temporal invariant” : the relative priority between any two
       instances does not depend on the numerical value of the clock




                             Nicolas NAVET   New Real-Time Scheduling Policies
“Good” Real-time scheduling policies



  A "good" scheduling policy (i.e. suited to real-time) shall be :
       Decidable [Mig99]: at any time t there is exactly one instance (with
       pending work) of maximal priority

       Implementable :
            “piecewise order preserving” [Mig99] : during an interval of finite
            length, the number of changes of the highest priority instance is
            finite
            coordinates of the priority functions must be representable with
            machine numbers

       “Shift temporal invariant” : the relative priority between any two
       instances does not depend on the numerical value of the clock




                             Nicolas NAVET   New Real-Time Scheduling Policies
“Good” Real-time scheduling policies



  A "good" scheduling policy (i.e. suited to real-time) shall be :
       Decidable [Mig99]: at any time t there is exactly one instance (with
       pending work) of maximal priority

       Implementable :
            “piecewise order preserving” [Mig99] : during an interval of finite
            length, the number of changes of the highest priority instance is
            finite
            coordinates of the priority functions must be representable with
            machine numbers

       “Shift temporal invariant” : the relative priority between any two
       instances does not depend on the numerical value of the clock




                             Nicolas NAVET   New Real-Time Scheduling Policies
“Good” Real-time scheduling policies



  A "good" scheduling policy (i.e. suited to real-time) shall be :
       Decidable [Mig99]: at any time t there is exactly one instance (with
       pending work) of maximal priority

       Implementable :
            “piecewise order preserving” [Mig99] : during an interval of finite
            length, the number of changes of the highest priority instance is
            finite
            coordinates of the priority functions must be representable with
            machine numbers

       “Shift temporal invariant” : the relative priority between any two
       instances does not depend on the numerical value of the clock




                             Nicolas NAVET   New Real-Time Scheduling Policies
Domain of study (1/2)

  “Time independent scheduling policies” =⇒ Preemptive except FIFO

       A policy A is time independent iff ΓA,n (t ) = ΓA,n (0) ∀t
                                           k           k

       FIFO, LIFO, EDF, FPP, .. are time independent.

  “Priority Promotion at Execution beginning” (PPEB) =⇒ Non-Preemptive
       A is a PPEB policy iff its priority function can be written as.
                                            −
                                            →
                       Γk ,n (t ) =
                        A                   P A if t < Bk ,n
                                        (−∞, k , n) if t ≥ Bk ,n
              −
              →
       where P A defines a time independent policy.
       Property : there is one and only one change in the priority value -
       at the execution begin
                                             −−
                                             −→
       E.g. : Non-Preemptive EDF with P EDF = (Ak ,n + D k , k , n)
                            Nicolas NAVET   New Real-Time Scheduling Policies
Domain of study (1/2)

  “Time independent scheduling policies” =⇒ Preemptive except FIFO

       A policy A is time independent iff ΓA,n (t ) = ΓA,n (0) ∀t
                                           k           k

       FIFO, LIFO, EDF, FPP, .. are time independent.

  “Priority Promotion at Execution beginning” (PPEB) =⇒ Non-Preemptive
       A is a PPEB policy iff its priority function can be written as.
                                            −
                                            →
                       Γk ,n (t ) =
                        A                   P A if t < Bk ,n
                                        (−∞, k , n) if t ≥ Bk ,n
              −
              →
       where P A defines a time independent policy.
       Property : there is one and only one change in the priority value -
       at the execution begin
                                             −−
                                             −→
       E.g. : Non-Preemptive EDF with P EDF = (Ak ,n + D k , k , n)
                            Nicolas NAVET   New Real-Time Scheduling Policies
Domain of study (1/2)

  “Time independent scheduling policies” =⇒ Preemptive except FIFO

       A policy A is time independent iff ΓA,n (t ) = ΓA,n (0) ∀t
                                           k           k

       FIFO, LIFO, EDF, FPP, .. are time independent.

  “Priority Promotion at Execution beginning” (PPEB) =⇒ Non-Preemptive
       A is a PPEB policy iff its priority function can be written as.
                                            −
                                            →
                       Γk ,n (t ) =
                        A                   P A if t < Bk ,n
                                        (−∞, k , n) if t ≥ Bk ,n
              −
              →
       where P A defines a time independent policy.
       Property : there is one and only one change in the priority value -
       at the execution begin
                                             −−
                                             −→
       E.g. : Non-Preemptive EDF with P EDF = (Ak ,n + D k , k , n)
                            Nicolas NAVET   New Real-Time Scheduling Policies
Domain of study (1/2)

  “Time independent scheduling policies” =⇒ Preemptive except FIFO

       A policy A is time independent iff ΓA,n (t ) = ΓA,n (0) ∀t
                                           k           k

       FIFO, LIFO, EDF, FPP, .. are time independent.

  “Priority Promotion at Execution beginning” (PPEB) =⇒ Non-Preemptive
       A is a PPEB policy iff its priority function can be written as.
                                            −
                                            →
                       Γk ,n (t ) =
                        A                   P A if t < Bk ,n
                                        (−∞, k , n) if t ≥ Bk ,n
              −
              →
       where P A defines a time independent policy.
       Property : there is one and only one change in the priority value -
       at the execution begin
                                             −−
                                             −→
       E.g. : Non-Preemptive EDF with P EDF = (Ak ,n + D k , k , n)
                            Nicolas NAVET   New Real-Time Scheduling Policies
Domain of study (1/2)

  “Time independent scheduling policies” =⇒ Preemptive except FIFO

       A policy A is time independent iff ΓA,n (t ) = ΓA,n (0) ∀t
                                           k           k

       FIFO, LIFO, EDF, FPP, .. are time independent.

  “Priority Promotion at Execution beginning” (PPEB) =⇒ Non-Preemptive
       A is a PPEB policy iff its priority function can be written as.
                                            −
                                            →
                       Γk ,n (t ) =
                        A                   P A if t < Bk ,n
                                        (−∞, k , n) if t ≥ Bk ,n
              −
              →
       where P A defines a time independent policy.
       Property : there is one and only one change in the priority value -
       at the execution begin
                                             −−
                                             −→
       E.g. : Non-Preemptive EDF with P EDF = (Ak ,n + D k , k , n)
                            Nicolas NAVET   New Real-Time Scheduling Policies
Domain of study (2/2)


  Why are PPEB important in practice ?
      “Good” scheduling policies easily implementable on low-cost
      COTS hardware : Controller Area Network or Ethernet
      Important expressiveness ! All widely used non-preemptive
      scheduling policies belong to that class

  Sub-class of PPEB: Arrival Time Dependent (ATD) policies
      −ATD
       −→
      P     = (Ak ,n + pk , k , n) where pk depends from τk - in the
      following pk : D k × Ck → I  R
      Why ? good tradeoff can be found between
                                          −−→
                                          −−
             EDF is “optimal” for schedulability - P EDF = (Ak ,n + D k , k , n)
                                                       −−
                                                       −→
             JSF is “optimal” for response times - P J SF = (Ck , k , n)


                             Nicolas NAVET   New Real-Time Scheduling Policies
Domain of study (2/2)


  Why are PPEB important in practice ?
      “Good” scheduling policies easily implementable on low-cost
      COTS hardware : Controller Area Network or Ethernet
      Important expressiveness ! All widely used non-preemptive
      scheduling policies belong to that class

  Sub-class of PPEB: Arrival Time Dependent (ATD) policies
      −ATD
       −→
      P     = (Ak ,n + pk , k , n) where pk depends from τk - in the
      following pk : D k × Ck → I  R
      Why ? good tradeoff can be found between
                                          −−→
                                          −−
             EDF is “optimal” for schedulability - P EDF = (Ak ,n + D k , k , n)
                                                       −−
                                                       −→
             JSF is “optimal” for response times - P J SF = (Ck , k , n)


                             Nicolas NAVET   New Real-Time Scheduling Policies
Domain of study (2/2)


  Why are PPEB important in practice ?
      “Good” scheduling policies easily implementable on low-cost
      COTS hardware : Controller Area Network or Ethernet
      Important expressiveness ! All widely used non-preemptive
      scheduling policies belong to that class

  Sub-class of PPEB: Arrival Time Dependent (ATD) policies
      −ATD
       −→
      P     = (Ak ,n + pk , k , n) where pk depends from τk - in the
      following pk : D k × Ck → I  R
      Why ? good tradeoff can be found between
                                          −−→
                                          −−
             EDF is “optimal” for schedulability - P EDF = (Ak ,n + D k , k , n)
                                                       −−
                                                       −→
             JSF is “optimal” for response times - P J SF = (Ck , k , n)


                             Nicolas NAVET   New Real-Time Scheduling Policies
Domain of study (2/2)


  Why are PPEB important in practice ?
      “Good” scheduling policies easily implementable on low-cost
      COTS hardware : Controller Area Network or Ethernet
      Important expressiveness ! All widely used non-preemptive
      scheduling policies belong to that class

  Sub-class of PPEB: Arrival Time Dependent (ATD) policies
      −ATD
       −→
      P     = (Ak ,n + pk , k , n) where pk depends from τk - in the
      following pk : D k × Ck → I  R
      Why ? good tradeoff can be found between
                                          −−→
                                          −−
             EDF is “optimal” for schedulability - P EDF = (Ak ,n + D k , k , n)
                                                       −−
                                                       −→
             JSF is “optimal” for response times - P J SF = (Ck , k , n)


                             Nicolas NAVET   New Real-Time Scheduling Policies
Overview of the approach

  Input of the problem
        Search space : class of ATD policies
        Description of the application:
             set of tasks
             performance criteria

  Steps
    1   Select one candidate policy A among ATD policies with
        ΓA,n = (Ak ,n +?, k , n)
         k

                   → “search” technique (random, GA,GP, ..)
    1   Test feasibility : ΓA,n × taskset → {feasible, non − feasible}
                            k

                   → generic feasibility analysis
    1   If feasible evaluate other criteria : simulation or monitoring
                   → experiment platform
                            Nicolas NAVET   New Real-Time Scheduling Policies
Overview of the approach

  Input of the problem
        Search space : class of ATD policies
        Description of the application:
             set of tasks
             performance criteria

  Steps
    1   Select one candidate policy A among ATD policies with
        ΓA,n = (Ak ,n +?, k , n)
         k

                   → “search” technique (random, GA,GP, ..)
    1   Test feasibility : ΓA,n × taskset → {feasible, non − feasible}
                            k

                   → generic feasibility analysis
    1   If feasible evaluate other criteria : simulation or monitoring
                   → experiment platform
                            Nicolas NAVET   New Real-Time Scheduling Policies
Overview of the approach

  Input of the problem
        Search space : class of ATD policies
        Description of the application:
             set of tasks
             performance criteria

  Steps
    1   Select one candidate policy A among ATD policies with
        ΓA,n = (Ak ,n +?, k , n)
         k

                   → “search” technique (random, GA,GP, ..)
    1   Test feasibility : ΓA,n × taskset → {feasible, non − feasible}
                            k

                   → generic feasibility analysis
    1   If feasible evaluate other criteria : simulation or monitoring
                   → experiment platform
                            Nicolas NAVET   New Real-Time Scheduling Policies
Overview of the approach

  Input of the problem
        Search space : class of ATD policies
        Description of the application:
             set of tasks
             performance criteria

  Steps
    1   Select one candidate policy A among ATD policies with
        ΓA,n = (Ak ,n +?, k , n)
         k

                   → “search” technique (random, GA,GP, ..)
    1   Test feasibility : ΓA,n × taskset → {feasible, non − feasible}
                            k

                   → generic feasibility analysis
    1   If feasible evaluate other criteria : simulation or monitoring
                   → experiment platform
                            Nicolas NAVET   New Real-Time Scheduling Policies
“Generic” schedulability analysis
Response time basics

    SIk ,n (t1 , t2 ): amount of work of priority higher or equal to τk ,n
                       released between t1 and t2 (Work Arrival Function)
          Uk ,n : largest date before Ak ,n such that no higher priority work
                  is pending


                                SIk,n (Uk,n ,Uk,n + x)




                       0           Uk,n         Ak,n Ek,n           t

                                    0                               x

          Figure: Ek ,n = Uk ,n + min{x > 0 | SIk ,n (Uk ,n , Uk ,n + x ) = x }


                              Nicolas NAVET   New Real-Time Scheduling Policies
Response time basics

    SIk ,n (t1 , t2 ): amount of work of priority higher or equal to τk ,n
                       released between t1 and t2 (Work Arrival Function)
          Uk ,n : largest date before Ak ,n such that no higher priority work
                  is pending


                                SIk,n (Uk,n ,Uk,n + x)




                       0           Uk,n         Ak,n Ek,n           t

                                    0                               x

          Figure: Ek ,n = Uk ,n + min{x > 0 | SIk ,n (Uk ,n , Uk ,n + x ) = x }


                              Nicolas NAVET   New Real-Time Scheduling Policies
Bound on response times (1/2)
     Problem: one cannot evaluate all Rk ,n ’s !
    A solution: bound the amount of higher priority work - Majorizing
                                         ˆ
                WAF: SIk ,n (u , u + t ) SIk ,n (t ) ∀ u 0, t 0




                                           ˆ
                                           SIk ,n (x )
                                                           SIk ,n (Uk ,n , Uk ,n + x )




                                                                              t
                 Uk ,n   Ak ,n         Ek ,n
                                                                              x
                 0                                ˆ
                                                  Ek ,n

                           Nicolas NAVET        New Real-Time Scheduling Policies
Bound on response times (1/2)
     Problem: one cannot evaluate all Rk ,n ’s !
    A solution: bound the amount of higher priority work - Majorizing
                                         ˆ
                WAF: SIk ,n (u , u + t ) SIk ,n (t ) ∀ u 0, t 0




                                           ˆ
                                           SIk ,n (x )
                                                           SIk ,n (Uk ,n , Uk ,n + x )




                                                                              t
                 Uk ,n   Ak ,n         Ek ,n
                                                                              x
                 0                                ˆ
                                                  Ek ,n

                           Nicolas NAVET        New Real-Time Scheduling Policies
Bound on response times (2/2)


  Issues
                 ˆ
       The bound SIk ,n (t ) depends on Ak ,n
       Lemma 4 in [Mig99]: a bound can be found by analysing all
       possible arrival times in the longest CPU busy period =⇒ not
       usable as is
       In practice: determine ”by hand” for a particular policy the set of
                                             ˆ
       arrival times that lead to changes in SIk ,n (t ) =⇒ not an algorithm

  Our contribution: “generic” schedulability analysis
       An algorithm that determines from the priority function
            the set of arrival times
                            ˆ
            the functions SIk ,n (t ) for which to compute the first fixed-point




                             Nicolas NAVET   New Real-Time Scheduling Policies
Bound on response times (2/2)


  Issues
                 ˆ
       The bound SIk ,n (t ) depends on Ak ,n
       Lemma 4 in [Mig99]: a bound can be found by analysing all
       possible arrival times in the longest CPU busy period =⇒ not
       usable as is
       In practice: determine ”by hand” for a particular policy the set of
                                             ˆ
       arrival times that lead to changes in SIk ,n (t ) =⇒ not an algorithm

  Our contribution: “generic” schedulability analysis
       An algorithm that determines from the priority function
            the set of arrival times
                            ˆ
            the functions SIk ,n (t ) for which to compute the first fixed-point




                             Nicolas NAVET   New Real-Time Scheduling Policies
Search techniques and Experiments
Exploration of the solution space


   Issues
        Size of the search space is infinite
        Schedulability analysis can be time-consuming if the system is
        highly loaded
        Evaluation of other criteria through simulation or measurements
        is time-consuming

   Tested :
        Exhaustive search with a chosen “granularity”
        Iterated hill-climbing with tabu list (neighborhood method)

   Possible : all optimization techniques
   Genetic Algorithm, Genetic Programming, Simulated Annealing...
Exploration of the solution space


   Issues
        Size of the search space is infinite
        Schedulability analysis can be time-consuming if the system is
        highly loaded
        Evaluation of other criteria through simulation or measurements
        is time-consuming

   Tested :
        Exhaustive search with a chosen “granularity”
        Iterated hill-climbing with tabu list (neighborhood method)

   Possible : all optimization techniques
   Genetic Algorithm, Genetic Programming, Simulated Annealing...
Exploration of the solution space


   Issues
        Size of the search space is infinite
        Schedulability analysis can be time-consuming if the system is
        highly loaded
        Evaluation of other criteria through simulation or measurements
        is time-consuming

   Tested :
        Exhaustive search with a chosen “granularity”
        Iterated hill-climbing with tabu list (neighborhood method)

   Possible : all optimization techniques
   Genetic Algorithm, Genetic Programming, Simulated Annealing...
Experiments (1/2)

                                               20                                                                          100
                                                                                                  Feasibility
   Response time improvement over EDF (in %)

                                               18                                     Average response time

                                               16                                                                          80




                                                                                                                                 Feasible task sets (in %)
                                               14

                                               12                                                                          60

                                               10

                                               8                                                                           40

                                               6

                                               4                                                                           20

                                               2

                                               0                                                                            0
                                                    0   20               40             60               80              100
                                                             Value of parameter ’c’ in priority function

                                                                                                      →
                                                                                                      −
  Figure: Performance of ATD policies defined by                                                        P = (Ak ,n + c · Ck ,n +
  D k , k , n) when the value of c increases - Each point = 1500 random experi-
  ments with 20 tasks - < 1% of task sets feasible with SJF.
                                                                   Nicolas NAVET     New Real-Time Scheduling Policies
Experiments (2/2)

                                                         20                                                                     100
                                                                                                     Feasibility - 1Dk


             Response time improvement over EDF (in %)
                                                         18                              Average response time - 1Dk
                                                                                        Average response time - 0.1Dk
                                                         16                                         Feasibility - 0.1Dk         80




                                                                                                                                      Feasible task sets (in %)
                                                         14

                                                         12                                                                     60

                                                         10

                                                         8                                                                      40

                                                         6

                                                         4                                                                      20

                                                         2

                                                         0                                                                       0
                                                              0   20               40              60                80       100
                                                                       Value of parameter ’c’ in priority function

                                                                                                                     →
                                                                                                                     −
  Figure:                        Same as before + policies defined by                                                  P = (Ak ,n + c · Ck ,n +
   1
     D ,
   10 k
           k , n)


  Much better improvements (> 25%) for a particular task set !

                                                                         Nicolas NAVET          New Real-Time Scheduling Policies
Experiments (2/2)

                                                         20                                                                     100
                                                                                                     Feasibility - 1Dk


             Response time improvement over EDF (in %)
                                                         18                              Average response time - 1Dk
                                                                                        Average response time - 0.1Dk
                                                         16                                         Feasibility - 0.1Dk         80




                                                                                                                                      Feasible task sets (in %)
                                                         14

                                                         12                                                                     60

                                                         10

                                                         8                                                                      40

                                                         6

                                                         4                                                                      20

                                                         2

                                                         0                                                                       0
                                                              0   20               40              60                80       100
                                                                       Value of parameter ’c’ in priority function

                                                                                                                     →
                                                                                                                     −
  Figure:                        Same as before + policies defined by                                                  P = (Ak ,n + c · Ck ,n +
   1
     D ,
   10 k
           k , n)


  Much better improvements (> 25%) for a particular task set !

                                                                         Nicolas NAVET          New Real-Time Scheduling Policies
Summary

  There are “other” on-line policies of interest for real-time computing:
                      feasibility can be analyzed (sometimes better than
                      EDF!)
                      optimized for one or several criteria
                      easily implementable on COTS O.S. or Network
                      the choice of the policy can be automatized in the
                      development process


  Perspective : Time sharing policies and multi-policy systems


  Software tools : downloadable at http://www.loria.fr/~nnavet
       Simulator for time-independent policies : Java applet with
       chronogram
       Software layer for scheduling with time independent policies on
       top of Posix1003.1b systems
                           Nicolas NAVET   New Real-Time Scheduling Policies
Summary

  There are “other” on-line policies of interest for real-time computing:
                      feasibility can be analyzed (sometimes better than
                      EDF!)
                      optimized for one or several criteria
                      easily implementable on COTS O.S. or Network
                      the choice of the policy can be automatized in the
                      development process


  Perspective : Time sharing policies and multi-policy systems


  Software tools : downloadable at http://www.loria.fr/~nnavet
       Simulator for time-independent policies : Java applet with
       chronogram
       Software layer for scheduling with time independent policies on
       top of Posix1003.1b systems
                           Nicolas NAVET   New Real-Time Scheduling Policies
Summary

  There are “other” on-line policies of interest for real-time computing:
                      feasibility can be analyzed (sometimes better than
                      EDF!)
                      optimized for one or several criteria
                      easily implementable on COTS O.S. or Network
                      the choice of the policy can be automatized in the
                      development process


  Perspective : Time sharing policies and multi-policy systems


  Software tools : downloadable at http://www.loria.fr/~nnavet
       Simulator for time-independent policies : Java applet with
       chronogram
       Software layer for scheduling with time independent policies on
       top of Posix1003.1b systems
                           Nicolas NAVET   New Real-Time Scheduling Policies
Bibliography

  The results presented in this talk can be found in [GrNa:05].
      [Mig:99] J. Migge, Scheduling of recurrent tasks on one processor: A trajectory based Model, PhD Thesis, University of
      Nice Sophia-Antipolis, 1999.

      [GrNa:05] M. Grenier and N. Navet, Non-Preemptive Real-Time Scheduling with Arrival Time Dependent Policies,
      submitted to IEEE ETFA’05, to appear as INRIA Research Report, Avril 2005.

      [NaMi:03] N. Navet, J. Migge, Fine Tuning the Scheduling of Tasks through a Genetic Algorithm: Application to
      Posix1003.1b Compliant Systems, IEE Proceedings Software, 150(1):13-24, 2003.

      [BaBuGoLi:99] S. Baruah, G. Buttazzo, S. Gorinsky and G. Lipari, Scheduling Periodic Task Systems to Minimize Output
      Jitter, International Conference on Real-Time Computing Systems and Applications, pp 62-69, 1999.

      [BaRiViCr:04] P. Balbastre, I. Ripoll, J. Vidal, A. Crespo, A Task Model to Reduce Control Delays, Real-Time Systems,
      27:215-236, 2004.

      [GoRi:04] J. Goossens, P. Richard, Performance Optimization for Hard Real-Time Fixed Priority Tasks, International
      Conference on Real-Time Systems, Paris, Avril, 2004.

      [MaViFuFo:05] P. Marti, R. Villà, J. Fuertes and G. Fohler, Networked Control Systems Overview, The industrial
      Information Technology Handbook, CRC Press, 2005.

      [AlGoSi:02] K. Altisen, G. Gössler, J. Sifakis, Scheduler Modeling based on the Controller Synthesis Paradigm,
      Real-Time Systems, 23:55-84, 2002.

      [ArCeEk00] K.E. Arzen, A. Cervin, J. Ecker, An Introduction to Control and Scheduling Co-Design, Conference on
      Control and Decision, Sydney, Australia, 2000.




                                          Nicolas NAVET          New Real-Time Scheduling Policies
Appendix : computation of response time bounds for
periodic tasks scheduled under ATD policies

      Set of significant arrival dates for ATD policies
      (pk = Γk ,n [1] − Ak ,n )

      a ∈ {t = n × Tk + pk − pi | t > 0, t < L − Ck , i = 1..m, n ∈ N}.

      ∀a compute first fixed-point of
           Workload of higher priority tasks:
                                                                                         +
                                               t               a + pi − pk
             Wi (a, t ) =   ∑      min
                                               Tk
                                                      + 1,
                                                                     Tk
                                                                                  +1         .Ck ,
                            k =i
                                      maximum number of instances in interval t

           + Bi (a) the blocking factor (lower priority task already in execution
           at time a)

                              Bi (a) =              max {Ci | pi > a + pk }
                                                   i =1..m


                               Nicolas NAVET         New Real-Time Scheduling Policies

More Related Content

Viewers also liked

Automotive communication systems: from dependability to security
Automotive communication systems: from dependability to securityAutomotive communication systems: from dependability to security
Automotive communication systems: from dependability to securityNicolas Navet
 
Automating the Configuration of the FlexRay Communication Cycle
Automating the Configuration of the FlexRay Communication CycleAutomating the Configuration of the FlexRay Communication Cycle
Automating the Configuration of the FlexRay Communication CycleNicolas Navet
 
Pushing the limits of CAN - Scheduling frames with offsets provides a major p...
Pushing the limits of CAN - Scheduling frames with offsets provides a major p...Pushing the limits of CAN - Scheduling frames with offsets provides a major p...
Pushing the limits of CAN - Scheduling frames with offsets provides a major p...Nicolas Navet
 
Mécanismes de protection dans AUTOSAR OS
Mécanismes de protection dans AUTOSAR OSMécanismes de protection dans AUTOSAR OS
Mécanismes de protection dans AUTOSAR OSNicolas Navet
 
In-Vehicle Networking : a Survey and Look Forward
In-Vehicle Networking : a Survey and Look ForwardIn-Vehicle Networking : a Survey and Look Forward
In-Vehicle Networking : a Survey and Look ForwardNicolas Navet
 
Battery Aware Dynamic Scheduling for Periodic Task Graphs
Battery Aware Dynamic Scheduling for Periodic Task GraphsBattery Aware Dynamic Scheduling for Periodic Task Graphs
Battery Aware Dynamic Scheduling for Periodic Task GraphsNicolas Navet
 

Viewers also liked (8)

Automotive communication systems: from dependability to security
Automotive communication systems: from dependability to securityAutomotive communication systems: from dependability to security
Automotive communication systems: from dependability to security
 
Automating the Configuration of the FlexRay Communication Cycle
Automating the Configuration of the FlexRay Communication CycleAutomating the Configuration of the FlexRay Communication Cycle
Automating the Configuration of the FlexRay Communication Cycle
 
Isi2007 nn shc_2007
Isi2007 nn shc_2007Isi2007 nn shc_2007
Isi2007 nn shc_2007
 
Pushing the limits of CAN - Scheduling frames with offsets provides a major p...
Pushing the limits of CAN - Scheduling frames with offsets provides a major p...Pushing the limits of CAN - Scheduling frames with offsets provides a major p...
Pushing the limits of CAN - Scheduling frames with offsets provides a major p...
 
Mécanismes de protection dans AUTOSAR OS
Mécanismes de protection dans AUTOSAR OSMécanismes de protection dans AUTOSAR OS
Mécanismes de protection dans AUTOSAR OS
 
In-Vehicle Networking : a Survey and Look Forward
In-Vehicle Networking : a Survey and Look ForwardIn-Vehicle Networking : a Survey and Look Forward
In-Vehicle Networking : a Survey and Look Forward
 
Battery Aware Dynamic Scheduling for Periodic Task Graphs
Battery Aware Dynamic Scheduling for Periodic Task GraphsBattery Aware Dynamic Scheduling for Periodic Task Graphs
Battery Aware Dynamic Scheduling for Periodic Task Graphs
 
FlexRay Product Days RTaW
FlexRay Product Days RTaWFlexRay Product Days RTaW
FlexRay Product Days RTaW
 

Similar to Creating New Real-Time Scheduling Policies: Why and How

Tanfani testi-alvarez presentation final
Tanfani testi-alvarez presentation finalTanfani testi-alvarez presentation final
Tanfani testi-alvarez presentation finalRene Alvarez
 
Sienna 2 analysis
Sienna 2 analysisSienna 2 analysis
Sienna 2 analysischidabdu
 
Quantum Gaussian Processes - Gawel Kus
Quantum Gaussian Processes - Gawel KusQuantum Gaussian Processes - Gawel Kus
Quantum Gaussian Processes - Gawel KusAdvanced-Concepts-Team
 
Automated Security Response through Online Learning with Adaptive Con jectures
Automated Security Response through Online Learning with Adaptive Con jecturesAutomated Security Response through Online Learning with Adaptive Con jectures
Automated Security Response through Online Learning with Adaptive Con jecturesKim Hammar
 
QX Simulator and quantum programming - 2020-04-28
QX Simulator and quantum programming - 2020-04-28QX Simulator and quantum programming - 2020-04-28
QX Simulator and quantum programming - 2020-04-28Aritra Sarkar
 
Probabilistic Control of Uncertain Linear Systems Using Stochastic Reachability
Probabilistic Control of Uncertain Linear Systems Using Stochastic ReachabilityProbabilistic Control of Uncertain Linear Systems Using Stochastic Reachability
Probabilistic Control of Uncertain Linear Systems Using Stochastic ReachabilityLeo Asselborn
 
008. PROGRAM EFFICIENCY computer science.pdf
008. PROGRAM EFFICIENCY computer science.pdf008. PROGRAM EFFICIENCY computer science.pdf
008. PROGRAM EFFICIENCY computer science.pdfomchoubey297
 
Managing Uncertainties in Hardware-Software Codesign Projects
Managing Uncertainties in Hardware-Software Codesign ProjectsManaging Uncertainties in Hardware-Software Codesign Projects
Managing Uncertainties in Hardware-Software Codesign ProjectsJones Albuquerque
 
Nonlinear Stochastic Optimization by the Monte-Carlo Method
Nonlinear Stochastic Optimization by the Monte-Carlo MethodNonlinear Stochastic Optimization by the Monte-Carlo Method
Nonlinear Stochastic Optimization by the Monte-Carlo MethodSSA KPI
 
An approach to incentive based reputation for communities of web services
An approach to incentive based reputation for communities of web servicesAn approach to incentive based reputation for communities of web services
An approach to incentive based reputation for communities of web servicesBabak Khosravifar
 
Learning to Project and Binarise for Hashing-based Approximate Nearest Neighb...
Learning to Project and Binarise for Hashing-based Approximate Nearest Neighb...Learning to Project and Binarise for Hashing-based Approximate Nearest Neighb...
Learning to Project and Binarise for Hashing-based Approximate Nearest Neighb...Sean Moran
 
Convolution discrete and continuous time-difference equaion and system proper...
Convolution discrete and continuous time-difference equaion and system proper...Convolution discrete and continuous time-difference equaion and system proper...
Convolution discrete and continuous time-difference equaion and system proper...Vinod Sharma
 

Similar to Creating New Real-Time Scheduling Policies: Why and How (20)

Tanfani testi-alvarez presentation final
Tanfani testi-alvarez presentation finalTanfani testi-alvarez presentation final
Tanfani testi-alvarez presentation final
 
Analysis
AnalysisAnalysis
Analysis
 
02 analysis
02 analysis02 analysis
02 analysis
 
Sienna 2 analysis
Sienna 2 analysisSienna 2 analysis
Sienna 2 analysis
 
Ch 06 - CPM PERT (1).pptx
Ch 06 - CPM  PERT (1).pptxCh 06 - CPM  PERT (1).pptx
Ch 06 - CPM PERT (1).pptx
 
Quantum Gaussian Processes - Gawel Kus
Quantum Gaussian Processes - Gawel KusQuantum Gaussian Processes - Gawel Kus
Quantum Gaussian Processes - Gawel Kus
 
Automated Security Response through Online Learning with Adaptive Con jectures
Automated Security Response through Online Learning with Adaptive Con jecturesAutomated Security Response through Online Learning with Adaptive Con jectures
Automated Security Response through Online Learning with Adaptive Con jectures
 
QX Simulator and quantum programming - 2020-04-28
QX Simulator and quantum programming - 2020-04-28QX Simulator and quantum programming - 2020-04-28
QX Simulator and quantum programming - 2020-04-28
 
Probabilistic Control of Uncertain Linear Systems Using Stochastic Reachability
Probabilistic Control of Uncertain Linear Systems Using Stochastic ReachabilityProbabilistic Control of Uncertain Linear Systems Using Stochastic Reachability
Probabilistic Control of Uncertain Linear Systems Using Stochastic Reachability
 
008. PROGRAM EFFICIENCY computer science.pdf
008. PROGRAM EFFICIENCY computer science.pdf008. PROGRAM EFFICIENCY computer science.pdf
008. PROGRAM EFFICIENCY computer science.pdf
 
Managing Uncertainties in Hardware-Software Codesign Projects
Managing Uncertainties in Hardware-Software Codesign ProjectsManaging Uncertainties in Hardware-Software Codesign Projects
Managing Uncertainties in Hardware-Software Codesign Projects
 
ch2-1
ch2-1ch2-1
ch2-1
 
Ns2 by khan
Ns2 by khan Ns2 by khan
Ns2 by khan
 
Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...
Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...
Program on Quasi-Monte Carlo and High-Dimensional Sampling Methods for Applie...
 
Lecture_2_v2_qc.pptx
Lecture_2_v2_qc.pptxLecture_2_v2_qc.pptx
Lecture_2_v2_qc.pptx
 
Nonlinear Stochastic Optimization by the Monte-Carlo Method
Nonlinear Stochastic Optimization by the Monte-Carlo MethodNonlinear Stochastic Optimization by the Monte-Carlo Method
Nonlinear Stochastic Optimization by the Monte-Carlo Method
 
An approach to incentive based reputation for communities of web services
An approach to incentive based reputation for communities of web servicesAn approach to incentive based reputation for communities of web services
An approach to incentive based reputation for communities of web services
 
Model based similarity measure in time cloud
Model based similarity measure in time cloudModel based similarity measure in time cloud
Model based similarity measure in time cloud
 
Learning to Project and Binarise for Hashing-based Approximate Nearest Neighb...
Learning to Project and Binarise for Hashing-based Approximate Nearest Neighb...Learning to Project and Binarise for Hashing-based Approximate Nearest Neighb...
Learning to Project and Binarise for Hashing-based Approximate Nearest Neighb...
 
Convolution discrete and continuous time-difference equaion and system proper...
Convolution discrete and continuous time-difference equaion and system proper...Convolution discrete and continuous time-difference equaion and system proper...
Convolution discrete and continuous time-difference equaion and system proper...
 

More from Nicolas Navet

Configuring the communication on FlexRay: the case of the static segment
Configuring the communication on FlexRay: the case of the static segmentConfiguring the communication on FlexRay: the case of the static segment
Configuring the communication on FlexRay: the case of the static segmentNicolas Navet
 
Aperiodic Traffic in Response Time Analyses with Adjustable Safety Level
Aperiodic Traffic in Response Time Analyses with Adjustable Safety LevelAperiodic Traffic in Response Time Analyses with Adjustable Safety Level
Aperiodic Traffic in Response Time Analyses with Adjustable Safety LevelNicolas Navet
 
Ertss2010 multicore scheduling
Ertss2010 multicore schedulingErtss2010 multicore scheduling
Ertss2010 multicore schedulingNicolas Navet
 
Optimizing the Robustness of X-by-Wire using Word Combinatorics
Optimizing the Robustness of X-by-Wire using Word CombinatoricsOptimizing the Robustness of X-by-Wire using Word Combinatorics
Optimizing the Robustness of X-by-Wire using Word CombinatoricsNicolas Navet
 
Cief2007 nn shc_slides
Cief2007 nn shc_slidesCief2007 nn shc_slides
Cief2007 nn shc_slidesNicolas Navet
 
Virtualization in Automotive Embedded Systems : an Outlook
Virtualization in Automotive Embedded Systems : an OutlookVirtualization in Automotive Embedded Systems : an Outlook
Virtualization in Automotive Embedded Systems : an OutlookNicolas Navet
 

More from Nicolas Navet (6)

Configuring the communication on FlexRay: the case of the static segment
Configuring the communication on FlexRay: the case of the static segmentConfiguring the communication on FlexRay: the case of the static segment
Configuring the communication on FlexRay: the case of the static segment
 
Aperiodic Traffic in Response Time Analyses with Adjustable Safety Level
Aperiodic Traffic in Response Time Analyses with Adjustable Safety LevelAperiodic Traffic in Response Time Analyses with Adjustable Safety Level
Aperiodic Traffic in Response Time Analyses with Adjustable Safety Level
 
Ertss2010 multicore scheduling
Ertss2010 multicore schedulingErtss2010 multicore scheduling
Ertss2010 multicore scheduling
 
Optimizing the Robustness of X-by-Wire using Word Combinatorics
Optimizing the Robustness of X-by-Wire using Word CombinatoricsOptimizing the Robustness of X-by-Wire using Word Combinatorics
Optimizing the Robustness of X-by-Wire using Word Combinatorics
 
Cief2007 nn shc_slides
Cief2007 nn shc_slidesCief2007 nn shc_slides
Cief2007 nn shc_slides
 
Virtualization in Automotive Embedded Systems : an Outlook
Virtualization in Automotive Embedded Systems : an OutlookVirtualization in Automotive Embedded Systems : an Outlook
Virtualization in Automotive Embedded Systems : an Outlook
 

Recently uploaded

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 

Recently uploaded (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 

Creating New Real-Time Scheduling Policies: Why and How

  • 1. Creating New Real-Time Scheduling Policies : Why and How ? Nicolas NAVET Mathieu GRENIER LORIA - INRIA Real-Time and Interoperability Group (TRIO) Nancy, France Email: Nicolas.Navet@loria.fr web: http://www.loria.fr/~nnavet 03/23/2005 Nicolas NAVET New Real-Time Scheduling Policies
  • 2. Introduction Real-Time Systems Temporal correctness is mandatory Scheduling : ordering the execution of activities - tasks or messages - is crucial and has been extensively studied since the 70s Scheduling policies : Earliest Deadline First, Least-Laxity first, Fixed-Priority Preemptive, ... Open question Can we devise other scheduling policies of interest for real-time computing ? Nicolas NAVET New Real-Time Scheduling Policies
  • 3. Introduction Real-Time Systems Temporal correctness is mandatory Scheduling : ordering the execution of activities - tasks or messages - is crucial and has been extensively studied since the 70s Scheduling policies : Earliest Deadline First, Least-Laxity first, Fixed-Priority Preemptive, ... Open question Can we devise other scheduling policies of interest for real-time computing ? Nicolas NAVET New Real-Time Scheduling Policies
  • 4. Description of the scheduling Characteristics of the tasks Results of the scheduling τk ,n : nth instance of τk Wk ,n (t ): remaining work for τk ,n at Ak ,n : release date time t Ck ,n : computation time Ek ,n : end of execution time Dk ,n : absolute deadline Bk ,n : beginning of execution D k : relative deadline, i.e. Rk ,n = Ek ,n − Ak ,n : response time Dk ,n = Ak ,n + D k Wk ,n (t ) Wk ,n+1 (t ) Ck ,n Ck ,n+1 t Ak ,n Bk ,n Ek ,n Dk ,n Ak ,n+1 Rk ,n Tk ,n Nicolas NAVET New Real-Time Scheduling Policies
  • 5. Description of the scheduling Characteristics of the tasks Results of the scheduling τk ,n : nth instance of τk Wk ,n (t ): remaining work for τk ,n at Ak ,n : release date time t Ck ,n : computation time Ek ,n : end of execution time Dk ,n : absolute deadline Bk ,n : beginning of execution D k : relative deadline, i.e. Rk ,n = Ek ,n − Ak ,n : response time Dk ,n = Ak ,n + D k Wk ,n (t ) Wk ,n+1 (t ) Ck ,n Ck ,n+1 t Ak ,n Bk ,n Ek ,n Dk ,n Ak ,n+1 Rk ,n Tk ,n Nicolas NAVET New Real-Time Scheduling Policies
  • 6. Scheduling performance criteria Mandatory : “feasibility” or “schedulability” of the system Feasible iff ∀k ˆ Rk = maxn∈N Rk ,n Dk Techniques : simulation, feasibility test or bound on response times Feasibility has been a major research field since the 70s .. Increasingly important criteria (e.g. for Networked Control Systems) Average response times (NCS: control delays) Variability (“jitter”) in successive Bk ,n (NCS: sampling times) Variability in successive Ek ,n (NCS: actuation times) Fault-tolerance: behaviour in overload condition or with transient faults Nicolas NAVET New Real-Time Scheduling Policies
  • 7. Scheduling performance criteria Mandatory : “feasibility” or “schedulability” of the system Feasible iff ∀k ˆ Rk = maxn∈N Rk ,n Dk Techniques : simulation, feasibility test or bound on response times Feasibility has been a major research field since the 70s .. Increasingly important criteria (e.g. for Networked Control Systems) Average response times (NCS: control delays) Variability (“jitter”) in successive Bk ,n (NCS: sampling times) Variability in successive Ek ,n (NCS: actuation times) Fault-tolerance: behaviour in overload condition or with transient faults Nicolas NAVET New Real-Time Scheduling Policies
  • 8. Scheduling performance criteria Mandatory : “feasibility” or “schedulability” of the system Feasible iff ∀k ˆ Rk = maxn∈N Rk ,n Dk Techniques : simulation, feasibility test or bound on response times Feasibility has been a major research field since the 70s .. Increasingly important criteria (e.g. for Networked Control Systems) Average response times (NCS: control delays) Variability (“jitter”) in successive Bk ,n (NCS: sampling times) Variability in successive Ek ,n (NCS: actuation times) Fault-tolerance: behaviour in overload condition or with transient faults Nicolas NAVET New Real-Time Scheduling Policies
  • 9. Networked Control systems Figure: from [MaViFuFo:05] Examples of NCS: plant control, building automation, in-vehicle systems , .. Usual assumptions in control theory: sampling times and actuation times are strictly periodic Nicolas NAVET New Real-Time Scheduling Policies
  • 10. Improving control : existing work 1 Control theory : control laws robust to delays or integration of the delays as a parameter of the control law [ArCeEk:00] 2 Adapt task model : subdivide tasks in sampling - computation - actuation [BaRiViCr:04] or maximize frequency 3 Optimize parameters of well-known scheduling policies : FPP [GoRi:04], EDF [BaBuGoLi:99] or RR+FPP (Posix1003.1b) [NaMi:03] 4 Synthesize static schedules (off-line) : stored in timetables or using automata [AlGoSi:02] Our proposal : find new on-line scheduling algorithms optimized for a particular system or a class of systems Can be used with 1) and 2) Better performance than 3) Better suited to industrial requirements than 4) : problem sizes, incremental design process, evolutivity, efficient use of resources, use of COTS... Nicolas NAVET New Real-Time Scheduling Policies
  • 11. Improving control : existing work 1 Control theory : control laws robust to delays or integration of the delays as a parameter of the control law [ArCeEk:00] 2 Adapt task model : subdivide tasks in sampling - computation - actuation [BaRiViCr:04] or maximize frequency 3 Optimize parameters of well-known scheduling policies : FPP [GoRi:04], EDF [BaBuGoLi:99] or RR+FPP (Posix1003.1b) [NaMi:03] 4 Synthesize static schedules (off-line) : stored in timetables or using automata [AlGoSi:02] Our proposal : find new on-line scheduling algorithms optimized for a particular system or a class of systems Can be used with 1) and 2) Better performance than 3) Better suited to industrial requirements than 4) : problem sizes, incremental design process, evolutivity, efficient use of resources, use of COTS... Nicolas NAVET New Real-Time Scheduling Policies
  • 12. Class of scheduling policies under study
  • 13. Formally defining scheduling policies Why ? Non-ambiguous description and implementation Identify distinct “classes” of policies for which generic results hold (e.g. feasibility) =⇒ unify existing work How ? Priority functions [Mig99] Γk ,n (t ) is the priority of instance τk ,n at time t - the resource is granted by the Highest Priority First rule Γk ,n (t ) ∈ P with P = {(p1 , . . . , pn ) ∈ Rn | n ∈ N} A total order is defined on P (leximin ordering) Γk ,n (t ) = (3, 4, 6) Γi ,j (t ) = (3, 4, 5) (τi ,j has a lower priority than τk ,n at time t) Nicolas NAVET New Real-Time Scheduling Policies
  • 14. Formally defining scheduling policies Why ? Non-ambiguous description and implementation Identify distinct “classes” of policies for which generic results hold (e.g. feasibility) =⇒ unify existing work How ? Priority functions [Mig99] Γk ,n (t ) is the priority of instance τk ,n at time t - the resource is granted by the Highest Priority First rule Γk ,n (t ) ∈ P with P = {(p1 , . . . , pn ) ∈ Rn | n ∈ N} A total order is defined on P (leximin ordering) Γk ,n (t ) = (3, 4, 6) Γi ,j (t ) = (3, 4, 5) (τi ,j has a lower priority than τk ,n at time t) Nicolas NAVET New Real-Time Scheduling Policies
  • 15. Formally defining scheduling policies Why ? Non-ambiguous description and implementation Identify distinct “classes” of policies for which generic results hold (e.g. feasibility) =⇒ unify existing work How ? Priority functions [Mig99] Γk ,n (t ) is the priority of instance τk ,n at time t - the resource is granted by the Highest Priority First rule Γk ,n (t ) ∈ P with P = {(p1 , . . . , pn ) ∈ Rn | n ∈ N} A total order is defined on P (leximin ordering) Γk ,n (t ) = (3, 4, 6) Γi ,j (t ) = (3, 4, 5) (τi ,j has a lower priority than τk ,n at time t) Nicolas NAVET New Real-Time Scheduling Policies
  • 16. Formally defining scheduling policies Why ? Non-ambiguous description and implementation Identify distinct “classes” of policies for which generic results hold (e.g. feasibility) =⇒ unify existing work How ? Priority functions [Mig99] Γk ,n (t ) is the priority of instance τk ,n at time t - the resource is granted by the Highest Priority First rule Γk ,n (t ) ∈ P with P = {(p1 , . . . , pn ) ∈ Rn | n ∈ N} A total order is defined on P (leximin ordering) Γk ,n (t ) = (3, 4, 6) Γi ,j (t ) = (3, 4, 5) (τi ,j has a lower priority than τk ,n at time t) Nicolas NAVET New Real-Time Scheduling Policies
  • 17. Formally defining scheduling policies Why ? Non-ambiguous description and implementation Identify distinct “classes” of policies for which generic results hold (e.g. feasibility) =⇒ unify existing work How ? Priority functions [Mig99] Γk ,n (t ) is the priority of instance τk ,n at time t - the resource is granted by the Highest Priority First rule Γk ,n (t ) ∈ P with P = {(p1 , . . . , pn ) ∈ Rn | n ∈ N} A total order is defined on P (leximin ordering) Γk ,n (t ) = (3, 4, 6) Γi ,j (t ) = (3, 4, 5) (τi ,j has a lower priority than τk ,n at time t) Nicolas NAVET New Real-Time Scheduling Policies
  • 18. Formally defining scheduling policies Why ? Non-ambiguous description and implementation Identify distinct “classes” of policies for which generic results hold (e.g. feasibility) =⇒ unify existing work How ? Priority functions [Mig99] Γk ,n (t ) is the priority of instance τk ,n at time t - the resource is granted by the Highest Priority First rule Γk ,n (t ) ∈ P with P = {(p1 , . . . , pn ) ∈ Rn | n ∈ N} A total order is defined on P (leximin ordering) Γk ,n (t ) = (3, 4, 6) Γi ,j (t ) = (3, 4, 5) (τi ,j has a lower priority than τk ,n at time t) Nicolas NAVET New Real-Time Scheduling Policies
  • 19. Formally defining scheduling policies Why ? Non-ambiguous description and implementation Identify distinct “classes” of policies for which generic results hold (e.g. feasibility) =⇒ unify existing work How ? Priority functions [Mig99] Γk ,n (t ) is the priority of instance τk ,n at time t - the resource is granted by the Highest Priority First rule Γk ,n (t ) ∈ P with P = {(p1 , . . . , pn ) ∈ Rn | n ∈ N} A total order is defined on P (leximin ordering) Γk ,n (t ) = (3, 4, 6) Γi ,j (t ) = (3, 4, 5) (τi ,j has a lower priority than τk ,n at time t) Nicolas NAVET New Real-Time Scheduling Policies
  • 20. Defining policies through priority functions Examples First-In First-Out : ΓFIFO = (Ak ,n , k , n) k ,n Last-In First-Out : ΓLIFO = (−Ak ,n , k , −n) k ,n Shortest Job First : ΓSJF = (Ck ,n , k , n) k ,n Earliest Deadline First : ΓEDF = (Ak ,n + D k , k , n) k ,n Γk ,n = (Ak ,n + sin(Dk ,n ) + 10 · Ck ,n , k , n) ?? 1 Issues Priority functions can be difficult to devise (e.g. Round Robin) Not all priority functions define “valid” scheduling policies !! Nicolas NAVET New Real-Time Scheduling Policies
  • 21. Defining policies through priority functions Examples First-In First-Out : ΓFIFO = (Ak ,n , k , n) k ,n Last-In First-Out : ΓLIFO = (−Ak ,n , k , −n) k ,n Shortest Job First : ΓSJF = (Ck ,n , k , n) k ,n Earliest Deadline First : ΓEDF = (Ak ,n + D k , k , n) k ,n Γk ,n = (Ak ,n + sin(Dk ,n ) + 10 · Ck ,n , k , n) ?? 1 Issues Priority functions can be difficult to devise (e.g. Round Robin) Not all priority functions define “valid” scheduling policies !! Nicolas NAVET New Real-Time Scheduling Policies
  • 22. Defining policies through priority functions Examples First-In First-Out : ΓFIFO = (Ak ,n , k , n) k ,n Last-In First-Out : ΓLIFO = (−Ak ,n , k , −n) k ,n Shortest Job First : ΓSJF = (Ck ,n , k , n) k ,n Earliest Deadline First : ΓEDF = (Ak ,n + D k , k , n) k ,n Γk ,n = (Ak ,n + sin(Dk ,n ) + 10 · Ck ,n , k , n) ?? 1 Issues Priority functions can be difficult to devise (e.g. Round Robin) Not all priority functions define “valid” scheduling policies !! Nicolas NAVET New Real-Time Scheduling Policies
  • 23. Defining policies through priority functions Examples First-In First-Out : ΓFIFO = (Ak ,n , k , n) k ,n Last-In First-Out : ΓLIFO = (−Ak ,n , k , −n) k ,n Shortest Job First : ΓSJF = (Ck ,n , k , n) k ,n Earliest Deadline First : ΓEDF = (Ak ,n + D k , k , n) k ,n Γk ,n = (Ak ,n + sin(Dk ,n ) + 10 · Ck ,n , k , n) ?? 1 Issues Priority functions can be difficult to devise (e.g. Round Robin) Not all priority functions define “valid” scheduling policies !! Nicolas NAVET New Real-Time Scheduling Policies
  • 24. Defining policies through priority functions Examples First-In First-Out : ΓFIFO = (Ak ,n , k , n) k ,n Last-In First-Out : ΓLIFO = (−Ak ,n , k , −n) k ,n Shortest Job First : ΓSJF = (Ck ,n , k , n) k ,n Earliest Deadline First : ΓEDF = (Ak ,n + D k , k , n) k ,n Γk ,n = (Ak ,n + sin(Dk ,n ) + 10 · Ck ,n , k , n) ?? 1 Issues Priority functions can be difficult to devise (e.g. Round Robin) Not all priority functions define “valid” scheduling policies !! Nicolas NAVET New Real-Time Scheduling Policies
  • 25. Defining policies through priority functions Examples First-In First-Out : ΓFIFO = (Ak ,n , k , n) k ,n Last-In First-Out : ΓLIFO = (−Ak ,n , k , −n) k ,n Shortest Job First : ΓSJF = (Ck ,n , k , n) k ,n Earliest Deadline First : ΓEDF = (Ak ,n + D k , k , n) k ,n Γk ,n = (Ak ,n + sin(Dk ,n ) + 10 · Ck ,n , k , n) ?? 1 Issues Priority functions can be difficult to devise (e.g. Round Robin) Not all priority functions define “valid” scheduling policies !! Nicolas NAVET New Real-Time Scheduling Policies
  • 26. “Good” Real-time scheduling policies A "good" scheduling policy (i.e. suited to real-time) shall be : Decidable [Mig99]: at any time t there is exactly one instance (with pending work) of maximal priority Implementable : “piecewise order preserving” [Mig99] : during an interval of finite length, the number of changes of the highest priority instance is finite coordinates of the priority functions must be representable with machine numbers “Shift temporal invariant” : the relative priority between any two instances does not depend on the numerical value of the clock Nicolas NAVET New Real-Time Scheduling Policies
  • 27. “Good” Real-time scheduling policies A "good" scheduling policy (i.e. suited to real-time) shall be : Decidable [Mig99]: at any time t there is exactly one instance (with pending work) of maximal priority Implementable : “piecewise order preserving” [Mig99] : during an interval of finite length, the number of changes of the highest priority instance is finite coordinates of the priority functions must be representable with machine numbers “Shift temporal invariant” : the relative priority between any two instances does not depend on the numerical value of the clock Nicolas NAVET New Real-Time Scheduling Policies
  • 28. “Good” Real-time scheduling policies A "good" scheduling policy (i.e. suited to real-time) shall be : Decidable [Mig99]: at any time t there is exactly one instance (with pending work) of maximal priority Implementable : “piecewise order preserving” [Mig99] : during an interval of finite length, the number of changes of the highest priority instance is finite coordinates of the priority functions must be representable with machine numbers “Shift temporal invariant” : the relative priority between any two instances does not depend on the numerical value of the clock Nicolas NAVET New Real-Time Scheduling Policies
  • 29. “Good” Real-time scheduling policies A "good" scheduling policy (i.e. suited to real-time) shall be : Decidable [Mig99]: at any time t there is exactly one instance (with pending work) of maximal priority Implementable : “piecewise order preserving” [Mig99] : during an interval of finite length, the number of changes of the highest priority instance is finite coordinates of the priority functions must be representable with machine numbers “Shift temporal invariant” : the relative priority between any two instances does not depend on the numerical value of the clock Nicolas NAVET New Real-Time Scheduling Policies
  • 30. Domain of study (1/2) “Time independent scheduling policies” =⇒ Preemptive except FIFO A policy A is time independent iff ΓA,n (t ) = ΓA,n (0) ∀t k k FIFO, LIFO, EDF, FPP, .. are time independent. “Priority Promotion at Execution beginning” (PPEB) =⇒ Non-Preemptive A is a PPEB policy iff its priority function can be written as. − → Γk ,n (t ) = A P A if t < Bk ,n (−∞, k , n) if t ≥ Bk ,n − → where P A defines a time independent policy. Property : there is one and only one change in the priority value - at the execution begin −− −→ E.g. : Non-Preemptive EDF with P EDF = (Ak ,n + D k , k , n) Nicolas NAVET New Real-Time Scheduling Policies
  • 31. Domain of study (1/2) “Time independent scheduling policies” =⇒ Preemptive except FIFO A policy A is time independent iff ΓA,n (t ) = ΓA,n (0) ∀t k k FIFO, LIFO, EDF, FPP, .. are time independent. “Priority Promotion at Execution beginning” (PPEB) =⇒ Non-Preemptive A is a PPEB policy iff its priority function can be written as. − → Γk ,n (t ) = A P A if t < Bk ,n (−∞, k , n) if t ≥ Bk ,n − → where P A defines a time independent policy. Property : there is one and only one change in the priority value - at the execution begin −− −→ E.g. : Non-Preemptive EDF with P EDF = (Ak ,n + D k , k , n) Nicolas NAVET New Real-Time Scheduling Policies
  • 32. Domain of study (1/2) “Time independent scheduling policies” =⇒ Preemptive except FIFO A policy A is time independent iff ΓA,n (t ) = ΓA,n (0) ∀t k k FIFO, LIFO, EDF, FPP, .. are time independent. “Priority Promotion at Execution beginning” (PPEB) =⇒ Non-Preemptive A is a PPEB policy iff its priority function can be written as. − → Γk ,n (t ) = A P A if t < Bk ,n (−∞, k , n) if t ≥ Bk ,n − → where P A defines a time independent policy. Property : there is one and only one change in the priority value - at the execution begin −− −→ E.g. : Non-Preemptive EDF with P EDF = (Ak ,n + D k , k , n) Nicolas NAVET New Real-Time Scheduling Policies
  • 33. Domain of study (1/2) “Time independent scheduling policies” =⇒ Preemptive except FIFO A policy A is time independent iff ΓA,n (t ) = ΓA,n (0) ∀t k k FIFO, LIFO, EDF, FPP, .. are time independent. “Priority Promotion at Execution beginning” (PPEB) =⇒ Non-Preemptive A is a PPEB policy iff its priority function can be written as. − → Γk ,n (t ) = A P A if t < Bk ,n (−∞, k , n) if t ≥ Bk ,n − → where P A defines a time independent policy. Property : there is one and only one change in the priority value - at the execution begin −− −→ E.g. : Non-Preemptive EDF with P EDF = (Ak ,n + D k , k , n) Nicolas NAVET New Real-Time Scheduling Policies
  • 34. Domain of study (1/2) “Time independent scheduling policies” =⇒ Preemptive except FIFO A policy A is time independent iff ΓA,n (t ) = ΓA,n (0) ∀t k k FIFO, LIFO, EDF, FPP, .. are time independent. “Priority Promotion at Execution beginning” (PPEB) =⇒ Non-Preemptive A is a PPEB policy iff its priority function can be written as. − → Γk ,n (t ) = A P A if t < Bk ,n (−∞, k , n) if t ≥ Bk ,n − → where P A defines a time independent policy. Property : there is one and only one change in the priority value - at the execution begin −− −→ E.g. : Non-Preemptive EDF with P EDF = (Ak ,n + D k , k , n) Nicolas NAVET New Real-Time Scheduling Policies
  • 35. Domain of study (2/2) Why are PPEB important in practice ? “Good” scheduling policies easily implementable on low-cost COTS hardware : Controller Area Network or Ethernet Important expressiveness ! All widely used non-preemptive scheduling policies belong to that class Sub-class of PPEB: Arrival Time Dependent (ATD) policies −ATD −→ P = (Ak ,n + pk , k , n) where pk depends from τk - in the following pk : D k × Ck → I R Why ? good tradeoff can be found between −−→ −− EDF is “optimal” for schedulability - P EDF = (Ak ,n + D k , k , n) −− −→ JSF is “optimal” for response times - P J SF = (Ck , k , n) Nicolas NAVET New Real-Time Scheduling Policies
  • 36. Domain of study (2/2) Why are PPEB important in practice ? “Good” scheduling policies easily implementable on low-cost COTS hardware : Controller Area Network or Ethernet Important expressiveness ! All widely used non-preemptive scheduling policies belong to that class Sub-class of PPEB: Arrival Time Dependent (ATD) policies −ATD −→ P = (Ak ,n + pk , k , n) where pk depends from τk - in the following pk : D k × Ck → I R Why ? good tradeoff can be found between −−→ −− EDF is “optimal” for schedulability - P EDF = (Ak ,n + D k , k , n) −− −→ JSF is “optimal” for response times - P J SF = (Ck , k , n) Nicolas NAVET New Real-Time Scheduling Policies
  • 37. Domain of study (2/2) Why are PPEB important in practice ? “Good” scheduling policies easily implementable on low-cost COTS hardware : Controller Area Network or Ethernet Important expressiveness ! All widely used non-preemptive scheduling policies belong to that class Sub-class of PPEB: Arrival Time Dependent (ATD) policies −ATD −→ P = (Ak ,n + pk , k , n) where pk depends from τk - in the following pk : D k × Ck → I R Why ? good tradeoff can be found between −−→ −− EDF is “optimal” for schedulability - P EDF = (Ak ,n + D k , k , n) −− −→ JSF is “optimal” for response times - P J SF = (Ck , k , n) Nicolas NAVET New Real-Time Scheduling Policies
  • 38. Domain of study (2/2) Why are PPEB important in practice ? “Good” scheduling policies easily implementable on low-cost COTS hardware : Controller Area Network or Ethernet Important expressiveness ! All widely used non-preemptive scheduling policies belong to that class Sub-class of PPEB: Arrival Time Dependent (ATD) policies −ATD −→ P = (Ak ,n + pk , k , n) where pk depends from τk - in the following pk : D k × Ck → I R Why ? good tradeoff can be found between −−→ −− EDF is “optimal” for schedulability - P EDF = (Ak ,n + D k , k , n) −− −→ JSF is “optimal” for response times - P J SF = (Ck , k , n) Nicolas NAVET New Real-Time Scheduling Policies
  • 39. Overview of the approach Input of the problem Search space : class of ATD policies Description of the application: set of tasks performance criteria Steps 1 Select one candidate policy A among ATD policies with ΓA,n = (Ak ,n +?, k , n) k → “search” technique (random, GA,GP, ..) 1 Test feasibility : ΓA,n × taskset → {feasible, non − feasible} k → generic feasibility analysis 1 If feasible evaluate other criteria : simulation or monitoring → experiment platform Nicolas NAVET New Real-Time Scheduling Policies
  • 40. Overview of the approach Input of the problem Search space : class of ATD policies Description of the application: set of tasks performance criteria Steps 1 Select one candidate policy A among ATD policies with ΓA,n = (Ak ,n +?, k , n) k → “search” technique (random, GA,GP, ..) 1 Test feasibility : ΓA,n × taskset → {feasible, non − feasible} k → generic feasibility analysis 1 If feasible evaluate other criteria : simulation or monitoring → experiment platform Nicolas NAVET New Real-Time Scheduling Policies
  • 41. Overview of the approach Input of the problem Search space : class of ATD policies Description of the application: set of tasks performance criteria Steps 1 Select one candidate policy A among ATD policies with ΓA,n = (Ak ,n +?, k , n) k → “search” technique (random, GA,GP, ..) 1 Test feasibility : ΓA,n × taskset → {feasible, non − feasible} k → generic feasibility analysis 1 If feasible evaluate other criteria : simulation or monitoring → experiment platform Nicolas NAVET New Real-Time Scheduling Policies
  • 42. Overview of the approach Input of the problem Search space : class of ATD policies Description of the application: set of tasks performance criteria Steps 1 Select one candidate policy A among ATD policies with ΓA,n = (Ak ,n +?, k , n) k → “search” technique (random, GA,GP, ..) 1 Test feasibility : ΓA,n × taskset → {feasible, non − feasible} k → generic feasibility analysis 1 If feasible evaluate other criteria : simulation or monitoring → experiment platform Nicolas NAVET New Real-Time Scheduling Policies
  • 44. Response time basics SIk ,n (t1 , t2 ): amount of work of priority higher or equal to τk ,n released between t1 and t2 (Work Arrival Function) Uk ,n : largest date before Ak ,n such that no higher priority work is pending SIk,n (Uk,n ,Uk,n + x) 0 Uk,n Ak,n Ek,n t 0 x Figure: Ek ,n = Uk ,n + min{x > 0 | SIk ,n (Uk ,n , Uk ,n + x ) = x } Nicolas NAVET New Real-Time Scheduling Policies
  • 45. Response time basics SIk ,n (t1 , t2 ): amount of work of priority higher or equal to τk ,n released between t1 and t2 (Work Arrival Function) Uk ,n : largest date before Ak ,n such that no higher priority work is pending SIk,n (Uk,n ,Uk,n + x) 0 Uk,n Ak,n Ek,n t 0 x Figure: Ek ,n = Uk ,n + min{x > 0 | SIk ,n (Uk ,n , Uk ,n + x ) = x } Nicolas NAVET New Real-Time Scheduling Policies
  • 46. Bound on response times (1/2) Problem: one cannot evaluate all Rk ,n ’s ! A solution: bound the amount of higher priority work - Majorizing ˆ WAF: SIk ,n (u , u + t ) SIk ,n (t ) ∀ u 0, t 0 ˆ SIk ,n (x ) SIk ,n (Uk ,n , Uk ,n + x ) t Uk ,n Ak ,n Ek ,n x 0 ˆ Ek ,n Nicolas NAVET New Real-Time Scheduling Policies
  • 47. Bound on response times (1/2) Problem: one cannot evaluate all Rk ,n ’s ! A solution: bound the amount of higher priority work - Majorizing ˆ WAF: SIk ,n (u , u + t ) SIk ,n (t ) ∀ u 0, t 0 ˆ SIk ,n (x ) SIk ,n (Uk ,n , Uk ,n + x ) t Uk ,n Ak ,n Ek ,n x 0 ˆ Ek ,n Nicolas NAVET New Real-Time Scheduling Policies
  • 48. Bound on response times (2/2) Issues ˆ The bound SIk ,n (t ) depends on Ak ,n Lemma 4 in [Mig99]: a bound can be found by analysing all possible arrival times in the longest CPU busy period =⇒ not usable as is In practice: determine ”by hand” for a particular policy the set of ˆ arrival times that lead to changes in SIk ,n (t ) =⇒ not an algorithm Our contribution: “generic” schedulability analysis An algorithm that determines from the priority function the set of arrival times ˆ the functions SIk ,n (t ) for which to compute the first fixed-point Nicolas NAVET New Real-Time Scheduling Policies
  • 49. Bound on response times (2/2) Issues ˆ The bound SIk ,n (t ) depends on Ak ,n Lemma 4 in [Mig99]: a bound can be found by analysing all possible arrival times in the longest CPU busy period =⇒ not usable as is In practice: determine ”by hand” for a particular policy the set of ˆ arrival times that lead to changes in SIk ,n (t ) =⇒ not an algorithm Our contribution: “generic” schedulability analysis An algorithm that determines from the priority function the set of arrival times ˆ the functions SIk ,n (t ) for which to compute the first fixed-point Nicolas NAVET New Real-Time Scheduling Policies
  • 50. Search techniques and Experiments
  • 51. Exploration of the solution space Issues Size of the search space is infinite Schedulability analysis can be time-consuming if the system is highly loaded Evaluation of other criteria through simulation or measurements is time-consuming Tested : Exhaustive search with a chosen “granularity” Iterated hill-climbing with tabu list (neighborhood method) Possible : all optimization techniques Genetic Algorithm, Genetic Programming, Simulated Annealing...
  • 52. Exploration of the solution space Issues Size of the search space is infinite Schedulability analysis can be time-consuming if the system is highly loaded Evaluation of other criteria through simulation or measurements is time-consuming Tested : Exhaustive search with a chosen “granularity” Iterated hill-climbing with tabu list (neighborhood method) Possible : all optimization techniques Genetic Algorithm, Genetic Programming, Simulated Annealing...
  • 53. Exploration of the solution space Issues Size of the search space is infinite Schedulability analysis can be time-consuming if the system is highly loaded Evaluation of other criteria through simulation or measurements is time-consuming Tested : Exhaustive search with a chosen “granularity” Iterated hill-climbing with tabu list (neighborhood method) Possible : all optimization techniques Genetic Algorithm, Genetic Programming, Simulated Annealing...
  • 54. Experiments (1/2) 20 100 Feasibility Response time improvement over EDF (in %) 18 Average response time 16 80 Feasible task sets (in %) 14 12 60 10 8 40 6 4 20 2 0 0 0 20 40 60 80 100 Value of parameter ’c’ in priority function → − Figure: Performance of ATD policies defined by P = (Ak ,n + c · Ck ,n + D k , k , n) when the value of c increases - Each point = 1500 random experi- ments with 20 tasks - < 1% of task sets feasible with SJF. Nicolas NAVET New Real-Time Scheduling Policies
  • 55. Experiments (2/2) 20 100 Feasibility - 1Dk Response time improvement over EDF (in %) 18 Average response time - 1Dk Average response time - 0.1Dk 16 Feasibility - 0.1Dk 80 Feasible task sets (in %) 14 12 60 10 8 40 6 4 20 2 0 0 0 20 40 60 80 100 Value of parameter ’c’ in priority function → − Figure: Same as before + policies defined by P = (Ak ,n + c · Ck ,n + 1 D , 10 k k , n) Much better improvements (> 25%) for a particular task set ! Nicolas NAVET New Real-Time Scheduling Policies
  • 56. Experiments (2/2) 20 100 Feasibility - 1Dk Response time improvement over EDF (in %) 18 Average response time - 1Dk Average response time - 0.1Dk 16 Feasibility - 0.1Dk 80 Feasible task sets (in %) 14 12 60 10 8 40 6 4 20 2 0 0 0 20 40 60 80 100 Value of parameter ’c’ in priority function → − Figure: Same as before + policies defined by P = (Ak ,n + c · Ck ,n + 1 D , 10 k k , n) Much better improvements (> 25%) for a particular task set ! Nicolas NAVET New Real-Time Scheduling Policies
  • 57. Summary There are “other” on-line policies of interest for real-time computing: feasibility can be analyzed (sometimes better than EDF!) optimized for one or several criteria easily implementable on COTS O.S. or Network the choice of the policy can be automatized in the development process Perspective : Time sharing policies and multi-policy systems Software tools : downloadable at http://www.loria.fr/~nnavet Simulator for time-independent policies : Java applet with chronogram Software layer for scheduling with time independent policies on top of Posix1003.1b systems Nicolas NAVET New Real-Time Scheduling Policies
  • 58. Summary There are “other” on-line policies of interest for real-time computing: feasibility can be analyzed (sometimes better than EDF!) optimized for one or several criteria easily implementable on COTS O.S. or Network the choice of the policy can be automatized in the development process Perspective : Time sharing policies and multi-policy systems Software tools : downloadable at http://www.loria.fr/~nnavet Simulator for time-independent policies : Java applet with chronogram Software layer for scheduling with time independent policies on top of Posix1003.1b systems Nicolas NAVET New Real-Time Scheduling Policies
  • 59. Summary There are “other” on-line policies of interest for real-time computing: feasibility can be analyzed (sometimes better than EDF!) optimized for one or several criteria easily implementable on COTS O.S. or Network the choice of the policy can be automatized in the development process Perspective : Time sharing policies and multi-policy systems Software tools : downloadable at http://www.loria.fr/~nnavet Simulator for time-independent policies : Java applet with chronogram Software layer for scheduling with time independent policies on top of Posix1003.1b systems Nicolas NAVET New Real-Time Scheduling Policies
  • 60. Bibliography The results presented in this talk can be found in [GrNa:05]. [Mig:99] J. Migge, Scheduling of recurrent tasks on one processor: A trajectory based Model, PhD Thesis, University of Nice Sophia-Antipolis, 1999. [GrNa:05] M. Grenier and N. Navet, Non-Preemptive Real-Time Scheduling with Arrival Time Dependent Policies, submitted to IEEE ETFA’05, to appear as INRIA Research Report, Avril 2005. [NaMi:03] N. Navet, J. Migge, Fine Tuning the Scheduling of Tasks through a Genetic Algorithm: Application to Posix1003.1b Compliant Systems, IEE Proceedings Software, 150(1):13-24, 2003. [BaBuGoLi:99] S. Baruah, G. Buttazzo, S. Gorinsky and G. Lipari, Scheduling Periodic Task Systems to Minimize Output Jitter, International Conference on Real-Time Computing Systems and Applications, pp 62-69, 1999. [BaRiViCr:04] P. Balbastre, I. Ripoll, J. Vidal, A. Crespo, A Task Model to Reduce Control Delays, Real-Time Systems, 27:215-236, 2004. [GoRi:04] J. Goossens, P. Richard, Performance Optimization for Hard Real-Time Fixed Priority Tasks, International Conference on Real-Time Systems, Paris, Avril, 2004. [MaViFuFo:05] P. Marti, R. Villà, J. Fuertes and G. Fohler, Networked Control Systems Overview, The industrial Information Technology Handbook, CRC Press, 2005. [AlGoSi:02] K. Altisen, G. Gössler, J. Sifakis, Scheduler Modeling based on the Controller Synthesis Paradigm, Real-Time Systems, 23:55-84, 2002. [ArCeEk00] K.E. Arzen, A. Cervin, J. Ecker, An Introduction to Control and Scheduling Co-Design, Conference on Control and Decision, Sydney, Australia, 2000. Nicolas NAVET New Real-Time Scheduling Policies
  • 61. Appendix : computation of response time bounds for periodic tasks scheduled under ATD policies Set of significant arrival dates for ATD policies (pk = Γk ,n [1] − Ak ,n ) a ∈ {t = n × Tk + pk − pi | t > 0, t < L − Ck , i = 1..m, n ∈ N}. ∀a compute first fixed-point of Workload of higher priority tasks: + t a + pi − pk Wi (a, t ) = ∑ min Tk + 1, Tk +1 .Ck , k =i maximum number of instances in interval t + Bi (a) the blocking factor (lower priority task already in execution at time a) Bi (a) = max {Ci | pi > a + pk } i =1..m Nicolas NAVET New Real-Time Scheduling Policies