SlideShare a Scribd company logo
RETIS Lab
               Real-Time Systems Laboratory

    “Self-tuning Schedulers for Legacy Real-
               Time Applications”




Tommaso Cucinotta, Fabio Checconi    Luca Abeni, Luigi Palopoli
   Real-Time Systems Laboratory         University of Trento
    Scuola Superiore Sant'Anna
Introduction and motivations




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Motivations

    General-Purpose Operating Systems
      Very effective for storing & managing multimedia contents

      Designed for
          • average-case performance

          • serving applications on a best-effort basis

      They are not the best candidate for serving real-time

         applications with tight timing constraints
          • nor for real-time multimedia

Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Motivations
    Overcoming limitations of a GPOS for multimedia
      Large buffers used to compensate unpredictability
          • ==> poor real-time interactivity and no low-latency multimedia

      One-application one-system paradigm
          • For example, for low-latency real-time audio processing (jack),
             gaming, CD/DVD burning, etc...

      POSIX real-time extensions
          • Priority-based, no temporal isolation
          • Not appropriate for deploying the multitude of (soft) real-time
             applications populating the systems of tomorrow
Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Motivations
    Recent developments in GPOS CPU scheduling
      EDF-based real-time scheduling with temporal isolation
          • Better utilization of resources
          • Independent applications are isolated from the temporal perspective

      Various APIs for accessing the enhanced functionality
          • For example, the FRSH API from
          • For example, the API from

      They require modifications of the applications
          • at the source-code level

      What about legacy multimedia applications ?
Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Research objectives
     This research aims to
       allow (legacy) real-time periodic applications
       to benefit of real-time scheduling facilities increasingly
         available on a GPOS
       without any change in the application source-code




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Proposed approach




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Proposed approach

                                                     Application
                                                     Application


                Monitor
                Monitor




                                                                                    Kernel
                                        Scheduling
                                        Scheduling                 Real-Time
                                                                   Real-Time
                                        Parameters
                                        Parameters                 Scheduler
                                                                   Scheduler




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Proposed approach

    Proposed approach
      An appropriate tracing mechanism observes the

         application, inferring main parameters affecting a (periodic)
         multimedia application temporal behaviour:
          • job execution time
          • period

      Scheduling guarantees are automatically provisioned by

         the OS, according to proper scheduling parameters
          • Based on sound arguments from real-time theory
Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Proposed approach

Comprehensive view
   Application tracing

   Period estimation (events analysis)

   On-line WCET estimation

   Automagic provisioning of
     scheduling guarantees




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Real-time theory

    Reservation-based scheduling: (Q, P)
      “Q time units guaranteed on CPU every P time units”



         (5, 8)
                                                                t

         (2, 6)




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Real-time theory


    Known results from the real-time theory
      Not all (Q, P) with
         a given Q/P are
         equal

      Highlighted by
         the shown
         supply-bound
         function
Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Real-time theory

What are the reservation
parameters needed for
correctly scheduling a real-
time periodic task with
assigned WCET and period ?


The minimum reservation
utilization is achieved

   when the reservation period

     equals the task period

       • or any integer sub-
         multiple
Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Core problem

    How to detect the application period ?
      Of a legacy real-time application (no source-code
         availability, no modifications)
    Proposed approach
      Tracing the application behaviour at run-time

      For the purpose of identifying “periodicity patterns”




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Legacy application tracing

    Tracing legacy multimedia application
      Tracing what the application does
          • What system calls it periodically calls
               – Waiting, reading time information, posting timers, disk operations,
                  network operations, etc...

      Tracing how the application behaves temporally
          • When it suspends and resumes

    Results obtained with system-call tracing

Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Legacy application tracing

    Available mechanisms
      strace Linux utility
          • Designed as debugging helper, too much overhead due to the
             generation of unneeded data

      ptrace() system call
          • Allows an external process to trace the execution of a target
             process, forcing it to stop at each entry and exit of a system call

    We developed qtrace
      A low-overhead kernel-level system-call tracer
Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Why a custom tracer

    The ptrace() ping-pong

                     Application
                     Application                 Tracer
                                                 Tracer      Kernel
                                                             Kernel


                                usleep() begin
                                    signal
                                          usleep()
                                                             
                                             timer

                                 usleep() end
                                    signal


Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Period detection

  The tracer produces a sequence of time-stamps




  Time-stamps used to compute a Fourier-transform




  A heuristic catches the first harmonic
Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Heuristic

    Start from the Fourier Transform sampled at  f




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Heuristic

    Identify local maxima of the Fourier Transform




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Heuristic

    Select peaks higher than  times average value




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Heuristic

  Accumulate FT of up to kmax multiples of each peak




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Budget identification
  “Feedback-based scheduling” budget control loop




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Experimental results




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Experimental results
    Set-up
      Linux OS, with an implementation of the CBS scheduler
      Feedback-scheduling by means of AQuoSA
      mplayer
          • modified to monitor the Inter-Frame Time (IFT) and

      Application tracing by using qtrace (kernel-level)
    Validation metrics
      Inter-Frame time

      Allocated bandwidth on the Real-Time scheduler
Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Experimental results

    Using the correct reservation period is better




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Benefits for the application
                        (LFS++ improves over Linux)
    A/V desynchronisation in mplayer while starting
    the Eclipse IDE
      90% reduction of the peak A/V desynchronisation




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Benefits for the application
                        (LFS++ improves over Linux)

    CDF of response-times with a 80% loaded system
      Using a synthetic real-time periodic application load




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
LFS++ improves over LFS
                                  (our prior work)

  Inter-frame times of mplayer are much more stable




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
LFS++ improves over LFS
                                  (our prior work)

Inter-frame times CDF
is tighter with LFS++




Allocated bandwidth
CDF is tighter with
LFS++




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Multiple LFS++ instances
    Frequency misdetection degree with other LFS++
    controllers already active
      New application runs without guarantees while traced




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Experimental results

    Precision of the frequency detection heuristic
      acceptable even with 0.5s of observation-time

      detected frequency rock-stable from 1.5s observation-time




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Experimental results
  PMF of detected
  frequency when
  observation-time
  goes
    From 0.2 ms




    To 2 s



Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
The bill




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Cost of tracing
    Tracing overhead
      When using strace: +5,51%
      When using qostrace: +2,69% (previous paper)
      When usinig qtrace: +0.63% (kernel-level tracer)

         88.57% overhead reduction with the custom tracer




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Cost of Fourier Transform

  Fourier Transform Overhead
     1ms to 25ms, depending on parameters (and accuracy)

     Linear in the observation-time and f parameter (as expected)




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Cost of Fourier Transform

  Fourier Transform Overhead
     1ms to 25ms, depending on parameters (and accuracy)

     Linear in the observation-time and f parameter (as expected)




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Conclusions




Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Future work

  Better engineering of the tracer

     Tracing of wake-up times instead of system calls

         • done in submitted journal extension – improved heuristic
           precision at reduced observation times

     Security issues: tracing data queried via ioctl() on special device

  Integration with power-management

     Supporting dynamic CPU frequency switching

         • done in submitted journal extension – need cooperation
           between LFS++ schedulers and OS daemon for power
           management
Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Future work

    Guaranteeing multi-threaded applications
      Only marginally tested
    Multi-core systems
      All experiments on a single-CPU machine
    Feedback-based budget control
      Closer cooperation with the scheduler for quicker response to

         workload increases



Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Related readings

 Tommaso Cucinotta, Luca Abeni, Luigi Palopoli, Fabio Checconi, "The Wizard of OS:
   a Heartbeat for Legacy Multimedia Applications," in Proceedings of the 7th IEEE
   Workshop on Embedded Systems for Real-Time Multimedia, Grenoble (ESTImedia
   2009), Grenoble, October 2009

 Luigi Palopoli, Tommaso Cucinotta, Luca Marzario, Giuseppe Lipari, "AQuoSA -
   Adaptive Quality of Service Architecture," Software: Practice and Experience, April
   2008, doi 10.1002/spe.883

 Fabio Checconi, Tommaso Cucinotta, Dario Faggioli, Giuseppe Lipari, "Hierarchical
   Multiprocessor CPU Reservations for the Linux Kernel," in Proceedings of the 5th
   International Workshop on Operating Systems Platforms for Embedded Real-Time
   Applications (OSPERT 2009), Dublin, Ireland, June 2009

Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore
Thanks for your attention




                                  Questions ?

      http://retis.sssup.it/people/tommaso


Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna
                                                                        © 2007 Scuola Superiore

More Related Content

PDF
Self-tuning Schedulers for Legacy Real-Time Applications
PDF
The Wizard of OS: a Heartbeat for Legacy Multimedia Applications
PDF
Research in Soft Real-Time and Virtualized Applications on Linux
PPT
Danobat grupo 6
PDF
EnergíAs Renovables
PDF
Sikka farumaa kurun
PDF
Branding cuarto de diseño
Self-tuning Schedulers for Legacy Real-Time Applications
The Wizard of OS: a Heartbeat for Legacy Multimedia Applications
Research in Soft Real-Time and Virtualized Applications on Linux
Danobat grupo 6
EnergíAs Renovables
Sikka farumaa kurun
Branding cuarto de diseño

Similar to Self-tuning Schedulers for Legacy Real-Time Applications (20)

PDF
Low-Latency Audio on Linux by Means of Real-Time Scheduling
PDF
Improving Responsiveness for Virtualized Networking Under Intensive Computing...
PDF
The IRMOS Real-Time Scheduler
PDF
Real-Time API
PPT
PPT
PDF
Real-Time Deadline Scheduling and More...
PDF
Modeling and simulation of power consumption and execution times for real-tim...
PDF
Virtualised e-Learning with Real-Time Guarantees on the IRMOS Platform
PPTX
Real time operating system which explains software characteristics
PPT
RTOS Basic Concepts
DOC
Real time operating-systems
PDF
Optimum Scalability Point for Parallelisable Real-Time Components
PDF
Implementation and study of the BandWidth Inheritance protocol in the Linux k...
PDF
Rtos slides
PDF
Optimizing Linux Kernel for Real-time Performance On Multi-Core Architecture
DOC
UNIT-I-RTOS and Concepts
PPT
7 distributed and real systems
PDF
Realtime Systems Architecture Scheduling And Appln S Babamir
PPTX
Operating system
Low-Latency Audio on Linux by Means of Real-Time Scheduling
Improving Responsiveness for Virtualized Networking Under Intensive Computing...
The IRMOS Real-Time Scheduler
Real-Time API
Real-Time Deadline Scheduling and More...
Modeling and simulation of power consumption and execution times for real-tim...
Virtualised e-Learning with Real-Time Guarantees on the IRMOS Platform
Real time operating system which explains software characteristics
RTOS Basic Concepts
Real time operating-systems
Optimum Scalability Point for Parallelisable Real-Time Components
Implementation and study of the BandWidth Inheritance protocol in the Linux k...
Rtos slides
Optimizing Linux Kernel for Real-time Performance On Multi-Core Architecture
UNIT-I-RTOS and Concepts
7 distributed and real systems
Realtime Systems Architecture Scheduling And Appln S Babamir
Operating system
Ad

Self-tuning Schedulers for Legacy Real-Time Applications

  • 1. RETIS Lab Real-Time Systems Laboratory “Self-tuning Schedulers for Legacy Real- Time Applications” Tommaso Cucinotta, Fabio Checconi Luca Abeni, Luigi Palopoli Real-Time Systems Laboratory University of Trento Scuola Superiore Sant'Anna
  • 2. Introduction and motivations Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 3. Motivations General-Purpose Operating Systems  Very effective for storing & managing multimedia contents  Designed for • average-case performance • serving applications on a best-effort basis  They are not the best candidate for serving real-time applications with tight timing constraints • nor for real-time multimedia Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 4. Motivations Overcoming limitations of a GPOS for multimedia  Large buffers used to compensate unpredictability • ==> poor real-time interactivity and no low-latency multimedia  One-application one-system paradigm • For example, for low-latency real-time audio processing (jack), gaming, CD/DVD burning, etc...  POSIX real-time extensions • Priority-based, no temporal isolation • Not appropriate for deploying the multitude of (soft) real-time applications populating the systems of tomorrow Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 5. Motivations Recent developments in GPOS CPU scheduling  EDF-based real-time scheduling with temporal isolation • Better utilization of resources • Independent applications are isolated from the temporal perspective  Various APIs for accessing the enhanced functionality • For example, the FRSH API from • For example, the API from  They require modifications of the applications • at the source-code level  What about legacy multimedia applications ? Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 6. Research objectives This research aims to  allow (legacy) real-time periodic applications  to benefit of real-time scheduling facilities increasingly available on a GPOS  without any change in the application source-code Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 7. Proposed approach Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 8. Proposed approach Application Application Monitor Monitor Kernel Scheduling Scheduling Real-Time Real-Time Parameters Parameters Scheduler Scheduler Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 9. Proposed approach Proposed approach  An appropriate tracing mechanism observes the application, inferring main parameters affecting a (periodic) multimedia application temporal behaviour: • job execution time • period  Scheduling guarantees are automatically provisioned by the OS, according to proper scheduling parameters • Based on sound arguments from real-time theory Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 10. Proposed approach Comprehensive view  Application tracing  Period estimation (events analysis)  On-line WCET estimation  Automagic provisioning of scheduling guarantees Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 11. Real-time theory Reservation-based scheduling: (Q, P)  “Q time units guaranteed on CPU every P time units” (5, 8) t (2, 6) Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 12. Real-time theory Known results from the real-time theory  Not all (Q, P) with a given Q/P are equal  Highlighted by the shown supply-bound function Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 13. Real-time theory What are the reservation parameters needed for correctly scheduling a real- time periodic task with assigned WCET and period ? The minimum reservation utilization is achieved  when the reservation period equals the task period • or any integer sub- multiple Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 14. Core problem How to detect the application period ?  Of a legacy real-time application (no source-code availability, no modifications) Proposed approach  Tracing the application behaviour at run-time  For the purpose of identifying “periodicity patterns” Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 15. Legacy application tracing Tracing legacy multimedia application  Tracing what the application does • What system calls it periodically calls – Waiting, reading time information, posting timers, disk operations, network operations, etc...  Tracing how the application behaves temporally • When it suspends and resumes Results obtained with system-call tracing Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 16. Legacy application tracing Available mechanisms  strace Linux utility • Designed as debugging helper, too much overhead due to the generation of unneeded data  ptrace() system call • Allows an external process to trace the execution of a target process, forcing it to stop at each entry and exit of a system call We developed qtrace  A low-overhead kernel-level system-call tracer Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 17. Why a custom tracer The ptrace() ping-pong Application Application Tracer Tracer Kernel Kernel usleep() begin signal usleep()    timer usleep() end signal Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 18. Period detection The tracer produces a sequence of time-stamps Time-stamps used to compute a Fourier-transform A heuristic catches the first harmonic Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 19. Heuristic Start from the Fourier Transform sampled at  f Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 20. Heuristic Identify local maxima of the Fourier Transform Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 21. Heuristic Select peaks higher than  times average value Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 22. Heuristic Accumulate FT of up to kmax multiples of each peak Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 23. Budget identification “Feedback-based scheduling” budget control loop Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 24. Experimental results Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 25. Experimental results Set-up  Linux OS, with an implementation of the CBS scheduler  Feedback-scheduling by means of AQuoSA  mplayer • modified to monitor the Inter-Frame Time (IFT) and  Application tracing by using qtrace (kernel-level) Validation metrics  Inter-Frame time  Allocated bandwidth on the Real-Time scheduler Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 26. Experimental results Using the correct reservation period is better Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 27. Benefits for the application (LFS++ improves over Linux) A/V desynchronisation in mplayer while starting the Eclipse IDE  90% reduction of the peak A/V desynchronisation Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 28. Benefits for the application (LFS++ improves over Linux) CDF of response-times with a 80% loaded system  Using a synthetic real-time periodic application load Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 29. LFS++ improves over LFS (our prior work) Inter-frame times of mplayer are much more stable Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 30. LFS++ improves over LFS (our prior work) Inter-frame times CDF is tighter with LFS++ Allocated bandwidth CDF is tighter with LFS++ Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 31. Multiple LFS++ instances Frequency misdetection degree with other LFS++ controllers already active  New application runs without guarantees while traced Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 32. Experimental results Precision of the frequency detection heuristic  acceptable even with 0.5s of observation-time  detected frequency rock-stable from 1.5s observation-time Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 33. Experimental results PMF of detected frequency when observation-time goes  From 0.2 ms  To 2 s Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 34. The bill Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 35. Cost of tracing Tracing overhead  When using strace: +5,51%  When using qostrace: +2,69% (previous paper)  When usinig qtrace: +0.63% (kernel-level tracer) 88.57% overhead reduction with the custom tracer Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 36. Cost of Fourier Transform Fourier Transform Overhead  1ms to 25ms, depending on parameters (and accuracy)  Linear in the observation-time and f parameter (as expected) Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 37. Cost of Fourier Transform Fourier Transform Overhead  1ms to 25ms, depending on parameters (and accuracy)  Linear in the observation-time and f parameter (as expected) Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 38. Conclusions Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 39. Future work Better engineering of the tracer  Tracing of wake-up times instead of system calls • done in submitted journal extension – improved heuristic precision at reduced observation times  Security issues: tracing data queried via ioctl() on special device Integration with power-management  Supporting dynamic CPU frequency switching • done in submitted journal extension – need cooperation between LFS++ schedulers and OS daemon for power management Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 40. Future work Guaranteeing multi-threaded applications  Only marginally tested Multi-core systems  All experiments on a single-CPU machine Feedback-based budget control  Closer cooperation with the scheduler for quicker response to workload increases Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 41. Related readings  Tommaso Cucinotta, Luca Abeni, Luigi Palopoli, Fabio Checconi, "The Wizard of OS: a Heartbeat for Legacy Multimedia Applications," in Proceedings of the 7th IEEE Workshop on Embedded Systems for Real-Time Multimedia, Grenoble (ESTImedia 2009), Grenoble, October 2009  Luigi Palopoli, Tommaso Cucinotta, Luca Marzario, Giuseppe Lipari, "AQuoSA - Adaptive Quality of Service Architecture," Software: Practice and Experience, April 2008, doi 10.1002/spe.883  Fabio Checconi, Tommaso Cucinotta, Dario Faggioli, Giuseppe Lipari, "Hierarchical Multiprocessor CPU Reservations for the Linux Kernel," in Proceedings of the 5th International Workshop on Operating Systems Platforms for Embedded Real-Time Applications (OSPERT 2009), Dublin, Ireland, June 2009 Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore
  • 42. Thanks for your attention Questions ? http://retis.sssup.it/people/tommaso Tommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna Sant’Anna © 2007 Scuola Superiore