SlideShare uma empresa Scribd logo
1 de 21
A synchronous scheduling service (SSS)
      for distributed real-time Java

        Pablo Basanta-Val, Iria Estévez-Ayres,
        Marisol García-Valls, and Luis Almeida
                mailto:pbasanta@it.uc3m.es


†Jornadas de Tiempo Real 2011- Madrid(         )
  Publicado en IEEE Transactions on Parallel and Distributed Systems
Outline
• Context and Motivation
• FTT and DREQUIEMI integration
• SSS (Synchronous Scheduling Service)
  –   Master Slave Model
  –   Choreographies
  –   Choreographies scheduling/scheduler
  –   Architecture and examples
  –   Performance
• Conclusion and ongoing work

                                            2
Context
• Java programmers may use two specifications for
  develop their real-time applications
   – RTSJ: The Real-Time Specification for Java
   – DRTSJ: The Distributed Real-Time Specification for Java
• DRTSJ has focused on remote object upcalling and
  abstractions (distributable threads).
   – But not in a predictable networks
   – Networks predictability is a requirement



                              JRT-11                           3
In this work
• We introduce time-triggered orientation in
  distributed real-time Java
   – Basic model used the FTT (Flexible Time-Triggered)
     protocol
   – Supported as a new service in distributed real-time Java
      • SSS (Synchronous Scheduling Service)
• We obtain a more predictable network management
   – Useful for instance in high-integrity applications




                                JRT-11                          4
FTT and DREQUIEMI
integration (1/3)




               JRT-11   5
FTT and DREQUIEMI
integration (2/3)




               JRT-11   6
FTT and DREQUIEMI
integration (3/3)




               JRT-11   7
System overview




              JRT-11   8
Choreographies set




               JRT-11   9
T and S choreographies




                 JRT-11   10
C and P choreographies




               JRT-11    11
Scheduling
Choreographies
• Each choreography is
  modeled as non preemptive
  task
   – {O, T, C, D}
• The choreographies
  executed by the master
   - It runs a NPR-EDF
- Simple admission control
  (T=D)

                           JRT-11   12
Implementation issues:
Convergence Layer




                    JRT-11   13
Example 1: real-time
producer consumer (1/2)
 Every 10 ms           Maximum                  Process data
 generates a           network delay:           coming from a
 sample                 20 ms                   producer

       10                                10
            producer                          consumer
              slave                             slave




                                JRT-11                          14
Example real-time
producer consumer (2/2)
 Every 10 ms               Maximum network          Process data
 generates a sample        delay:                   coming from a
                            20 ms                   producer


         10                                    10
              producer                              consumer
                slave                                 slave




 PC# Produce# producer # CC.data
 O= 5ms                               master
 T= 10 ms
 C= 2 ms
 D= 10 ms                           NPR-EDF
 CC # Consume# consumer#
 O= 15 ms
 T= 10 ms
 C= 2 ms
 D= 10 ms
                                    JRT-11                          15
Experiments (1/2)
                                 Master-slave
                                 templates

End-to-End costs (us)            Convergence
                                 Layer
over 796 MHz-100Mbps
                                 DREQUIEMI

                                 J2ME-RMIOP


                                 JTime

                                 TimesysOs




                        JRT-11                  16
Experiments (2/2)          Master-slave
                           templates

End-to-End costs (bytes)   Convergence
                           Layer
over 796 MHz-100Mbps
                           DREQUIEMI

                           J2ME-RMIOP


                           JTime
                           TimesysOs
Master-slave

Jitter [new]                 templates
                             Convergence

time vs. event triggered
                             Layer

                             DREQUIEMI

                             J2ME-RMIOP


                             JTime
                             TimesysOs




                    JRT-11                  18
Conclusions
• Developed techniques to include time-triggered
  orientation in distributed real-time Java
   – Synchronous Scheduling Service (SSS)
• Empirical evidences showed better performance
  than an ET approach
   – Because TCP/IP stacks and OS are not fully preemptive




                             JRT-11                          19
Ongoing work
• Developing a minimum time-triggered
  implementation without DREQUIEMI
  – Ongoing master thesis
• Changes in the model
  – NPR-RMS model vs. NPR-EDF
  – One way choreographies




                        JRT-11          20
JRT-11   21

Mais conteúdo relacionado

Mais procurados

Qt everywhere a c++ abstraction platform
Qt everywhere   a c++ abstraction platformQt everywhere   a c++ abstraction platform
Qt everywhere a c++ abstraction platform
Develer S.r.l.
 
Java in flames
Java in flamesJava in flames
Java in flames
Isuru Perera
 
General Purpose Computing using Graphics Hardware
General Purpose Computing using Graphics HardwareGeneral Purpose Computing using Graphics Hardware
General Purpose Computing using Graphics Hardware
Daniel Blezek
 
[GEG1] 10.camera-centric engine design for multithreaded rendering
[GEG1] 10.camera-centric engine design for multithreaded rendering[GEG1] 10.camera-centric engine design for multithreaded rendering
[GEG1] 10.camera-centric engine design for multithreaded rendering
종빈 오
 

Mais procurados (20)

Qt everywhere a c++ abstraction platform
Qt everywhere   a c++ abstraction platformQt everywhere   a c++ abstraction platform
Qt everywhere a c++ abstraction platform
 
java memory management & gc
java memory management & gcjava memory management & gc
java memory management & gc
 
Qt Quick in depth
Qt Quick in depthQt Quick in depth
Qt Quick in depth
 
Crossing the border with Qt: the i18n system
Crossing the border with Qt: the i18n systemCrossing the border with Qt: the i18n system
Crossing the border with Qt: the i18n system
 
Tungsten University: Setup and Operate Tungsten Replicators
Tungsten University: Setup and Operate Tungsten ReplicatorsTungsten University: Setup and Operate Tungsten Replicators
Tungsten University: Setup and Operate Tungsten Replicators
 
Using Flame Graphs
Using Flame GraphsUsing Flame Graphs
Using Flame Graphs
 
Adaptive Linear Solvers and Eigensolvers
Adaptive Linear Solvers and EigensolversAdaptive Linear Solvers and Eigensolvers
Adaptive Linear Solvers and Eigensolvers
 
Slides for a talk on UML Semantics in Nuremberg in 2005
Slides for a talk on UML Semantics in Nuremberg in 2005Slides for a talk on UML Semantics in Nuremberg in 2005
Slides for a talk on UML Semantics in Nuremberg in 2005
 
Ch3-2
Ch3-2Ch3-2
Ch3-2
 
Java in flames
Java in flamesJava in flames
Java in flames
 
General Purpose Computing using Graphics Hardware
General Purpose Computing using Graphics HardwareGeneral Purpose Computing using Graphics Hardware
General Purpose Computing using Graphics Hardware
 
Marco Cattaneo "Event data processing in LHCb"
Marco Cattaneo "Event data processing in LHCb"Marco Cattaneo "Event data processing in LHCb"
Marco Cattaneo "Event data processing in LHCb"
 
[GEG1] 10.camera-centric engine design for multithreaded rendering
[GEG1] 10.camera-centric engine design for multithreaded rendering[GEG1] 10.camera-centric engine design for multithreaded rendering
[GEG1] 10.camera-centric engine design for multithreaded rendering
 
Performance Analysis of Lattice QCD with APGAS Programming Model
Performance Analysis of Lattice QCD with APGAS Programming ModelPerformance Analysis of Lattice QCD with APGAS Programming Model
Performance Analysis of Lattice QCD with APGAS Programming Model
 
Real Time Operating System Concepts
Real Time Operating System ConceptsReal Time Operating System Concepts
Real Time Operating System Concepts
 
Machine Trace Metrics
Machine Trace MetricsMachine Trace Metrics
Machine Trace Metrics
 
How long can you afford to Stop The World?
How long can you afford to Stop The World?How long can you afford to Stop The World?
How long can you afford to Stop The World?
 
Advanced Scenegraph Rendering Pipeline
Advanced Scenegraph Rendering PipelineAdvanced Scenegraph Rendering Pipeline
Advanced Scenegraph Rendering Pipeline
 
Highly Scalable Java Programming for Multi-Core System
Highly Scalable Java Programming for Multi-Core SystemHighly Scalable Java Programming for Multi-Core System
Highly Scalable Java Programming for Multi-Core System
 
Tr ns802 11
Tr ns802 11Tr ns802 11
Tr ns802 11
 

Destaque

Destaque (10)

Manual siemens cafetera tk76k573
Manual siemens   cafetera tk76k573Manual siemens   cafetera tk76k573
Manual siemens cafetera tk76k573
 
Mi cat 40 ng - Servicio Tecnico Fagor
Mi cat 40 ng - Servicio Tecnico FagorMi cat 40 ng - Servicio Tecnico Fagor
Mi cat 40 ng - Servicio Tecnico Fagor
 
Mi cat 44 ng - Servicio Tecnico Fagor
Mi cat 44 ng - Servicio Tecnico FagorMi cat 44 ng - Servicio Tecnico Fagor
Mi cat 44 ng - Servicio Tecnico Fagor
 
Mi rt 150 - Servicio Tecnico Fagor
Mi rt 150 - Servicio Tecnico FagorMi rt 150 - Servicio Tecnico Fagor
Mi rt 150 - Servicio Tecnico Fagor
 
Mi pres 05 - Servicio Tecnico Fagor
Mi pres 05 - Servicio Tecnico FagorMi pres 05 - Servicio Tecnico Fagor
Mi pres 05 - Servicio Tecnico Fagor
 
Dicho y hecho nº 31 - Servicio Técnico Fagor
Dicho y hecho nº 31 - Servicio Técnico FagorDicho y hecho nº 31 - Servicio Técnico Fagor
Dicho y hecho nº 31 - Servicio Técnico Fagor
 
Mi sw 200 400 - 15. id - Servicio Tecnico Fagor
Mi sw 200 400 - 15. id - Servicio Tecnico FagorMi sw 200 400 - 15. id - Servicio Tecnico Fagor
Mi sw 200 400 - 15. id - Servicio Tecnico Fagor
 
Mi sp 350 350 plus - Servicio Tecnico Fagor
Mi sp 350 350 plus - Servicio Tecnico FagorMi sp 350 350 plus - Servicio Tecnico Fagor
Mi sp 350 350 plus - Servicio Tecnico Fagor
 
Dicho y hecho n 30 - Servicio Técnico Fagor
Dicho y hecho n 30 - Servicio Técnico FagorDicho y hecho n 30 - Servicio Técnico Fagor
Dicho y hecho n 30 - Servicio Técnico Fagor
 
Mi vt 6 & vt-12 - 14 id - Servicio Tecnico Fagor
Mi vt 6 & vt-12 - 14 id - Servicio Tecnico FagorMi vt 6 & vt-12 - 14 id - Servicio Tecnico Fagor
Mi vt 6 & vt-12 - 14 id - Servicio Tecnico Fagor
 

Semelhante a A synchronous scheduling service for distributed real-time Java

Rtos princples adn case study
Rtos princples adn case studyRtos princples adn case study
Rtos princples adn case study
vanamali_vanu
 
Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Four Ways to Improve Linux Performance IEEE Webinar, R2.0Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Michael Christofferson
 
Opal Rt Giroux Scrpting In Emtp Works
Opal Rt Giroux Scrpting In Emtp WorksOpal Rt Giroux Scrpting In Emtp Works
Opal Rt Giroux Scrpting In Emtp Works
corinne rocherieux
 

Semelhante a A synchronous scheduling service for distributed real-time Java (20)

RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...RDMA programming design and case studies – for better performance distributed...
RDMA programming design and case studies – for better performance distributed...
 
Rtos princples adn case study
Rtos princples adn case studyRtos princples adn case study
Rtos princples adn case study
 
Set Up & Operate Tungsten Replicator
Set Up & Operate Tungsten ReplicatorSet Up & Operate Tungsten Replicator
Set Up & Operate Tungsten Replicator
 
Improving Real-Time Performance on Multicore Platforms using MemGuard
Improving Real-Time Performance on Multicore Platforms using MemGuardImproving Real-Time Performance on Multicore Platforms using MemGuard
Improving Real-Time Performance on Multicore Platforms using MemGuard
 
Rtos 8051
Rtos 8051Rtos 8051
Rtos 8051
 
CPN302 your-linux-ami-optimization-and-performance
CPN302 your-linux-ami-optimization-and-performanceCPN302 your-linux-ami-optimization-and-performance
CPN302 your-linux-ami-optimization-and-performance
 
Real Time Support For Xen
Real Time Support For XenReal Time Support For Xen
Real Time Support For Xen
 
High perf-networking
High perf-networkingHigh perf-networking
High perf-networking
 
Setup & Operate Tungsten Replicator
Setup & Operate Tungsten ReplicatorSetup & Operate Tungsten Replicator
Setup & Operate Tungsten Replicator
 
Large customers want postgresql too !!
Large customers want postgresql too !!Large customers want postgresql too !!
Large customers want postgresql too !!
 
Introduction to IBM Shared Memory Communications Version 2 (SMCv2) and SMC-Dv2
Introduction to IBM Shared Memory Communications Version 2 (SMCv2) and SMC-Dv2Introduction to IBM Shared Memory Communications Version 2 (SMCv2) and SMC-Dv2
Introduction to IBM Shared Memory Communications Version 2 (SMCv2) and SMC-Dv2
 
RT15 Berkeley | Introduction to FPGA Power Electronic & Electric Machine real...
RT15 Berkeley | Introduction to FPGA Power Electronic & Electric Machine real...RT15 Berkeley | Introduction to FPGA Power Electronic & Electric Machine real...
RT15 Berkeley | Introduction to FPGA Power Electronic & Electric Machine real...
 
Patterns of parallel programming
Patterns of parallel programmingPatterns of parallel programming
Patterns of parallel programming
 
RTOS implementation
RTOS implementationRTOS implementation
RTOS implementation
 
High Performance & High Throughput Computing - EUDAT Summer School (Giuseppe ...
High Performance & High Throughput Computing - EUDAT Summer School (Giuseppe ...High Performance & High Throughput Computing - EUDAT Summer School (Giuseppe ...
High Performance & High Throughput Computing - EUDAT Summer School (Giuseppe ...
 
Alex Smola, Professor in the Machine Learning Department, Carnegie Mellon Uni...
Alex Smola, Professor in the Machine Learning Department, Carnegie Mellon Uni...Alex Smola, Professor in the Machine Learning Department, Carnegie Mellon Uni...
Alex Smola, Professor in the Machine Learning Department, Carnegie Mellon Uni...
 
improve deep learning training and inference performance
improve deep learning training and inference performanceimprove deep learning training and inference performance
improve deep learning training and inference performance
 
Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Four Ways to Improve Linux Performance IEEE Webinar, R2.0Four Ways to Improve Linux Performance IEEE Webinar, R2.0
Four Ways to Improve Linux Performance IEEE Webinar, R2.0
 
Opal Rt Giroux Scrpting In Emtp Works
Opal Rt Giroux Scrpting In Emtp WorksOpal Rt Giroux Scrpting In Emtp Works
Opal Rt Giroux Scrpting In Emtp Works
 
Virtual Network Functions as Real-Time Containers in Private Clouds
Virtual Network Functions as Real-Time Containers in Private CloudsVirtual Network Functions as Real-Time Containers in Private Clouds
Virtual Network Functions as Real-Time Containers in Private Clouds
 

Mais de Universidad Carlos III de Madrid (8)

Tecnicas y extensiones para Java de tiempo real
Tecnicas y extensiones para Java de tiempo realTecnicas y extensiones para Java de tiempo real
Tecnicas y extensiones para Java de tiempo real
 
Towards a garbage collector for distributed real-time Java
Towards a garbage collector for distributed real-time JavaTowards a garbage collector for distributed real-time Java
Towards a garbage collector for distributed real-time Java
 
A simple data muling protocol
A simple data muling protocolA simple data muling protocol
A simple data muling protocol
 
Mejoras a la predictibilidad de la tecnología Java EE
Mejoras a la predictibilidad de la tecnología Java EEMejoras a la predictibilidad de la tecnología Java EE
Mejoras a la predictibilidad de la tecnología Java EE
 
Remote Memory Areas for distributed real-time Java
Remote Memory Areas for distributed real-time JavaRemote Memory Areas for distributed real-time Java
Remote Memory Areas for distributed real-time Java
 
Towards a real-time reconfiguration service for distributed Java
Towards a real-time reconfiguration service for distributed JavaTowards a real-time reconfiguration service for distributed Java
Towards a real-time reconfiguration service for distributed Java
 
Fine
FineFine
Fine
 
Pbasanta@jtres06 extendedportal
Pbasanta@jtres06 extendedportalPbasanta@jtres06 extendedportal
Pbasanta@jtres06 extendedportal
 

A synchronous scheduling service for distributed real-time Java

  • 1. A synchronous scheduling service (SSS) for distributed real-time Java Pablo Basanta-Val, Iria Estévez-Ayres, Marisol García-Valls, and Luis Almeida mailto:pbasanta@it.uc3m.es †Jornadas de Tiempo Real 2011- Madrid( ) Publicado en IEEE Transactions on Parallel and Distributed Systems
  • 2. Outline • Context and Motivation • FTT and DREQUIEMI integration • SSS (Synchronous Scheduling Service) – Master Slave Model – Choreographies – Choreographies scheduling/scheduler – Architecture and examples – Performance • Conclusion and ongoing work 2
  • 3. Context • Java programmers may use two specifications for develop their real-time applications – RTSJ: The Real-Time Specification for Java – DRTSJ: The Distributed Real-Time Specification for Java • DRTSJ has focused on remote object upcalling and abstractions (distributable threads). – But not in a predictable networks – Networks predictability is a requirement JRT-11 3
  • 4. In this work • We introduce time-triggered orientation in distributed real-time Java – Basic model used the FTT (Flexible Time-Triggered) protocol – Supported as a new service in distributed real-time Java • SSS (Synchronous Scheduling Service) • We obtain a more predictable network management – Useful for instance in high-integrity applications JRT-11 4
  • 8. System overview JRT-11 8
  • 10. T and S choreographies JRT-11 10
  • 11. C and P choreographies JRT-11 11
  • 12. Scheduling Choreographies • Each choreography is modeled as non preemptive task – {O, T, C, D} • The choreographies executed by the master - It runs a NPR-EDF - Simple admission control (T=D) JRT-11 12
  • 14. Example 1: real-time producer consumer (1/2) Every 10 ms Maximum Process data generates a network delay: coming from a sample 20 ms producer 10 10 producer consumer slave slave JRT-11 14
  • 15. Example real-time producer consumer (2/2) Every 10 ms Maximum network Process data generates a sample delay: coming from a 20 ms producer 10 10 producer consumer slave slave PC# Produce# producer # CC.data O= 5ms master T= 10 ms C= 2 ms D= 10 ms NPR-EDF CC # Consume# consumer# O= 15 ms T= 10 ms C= 2 ms D= 10 ms JRT-11 15
  • 16. Experiments (1/2) Master-slave templates End-to-End costs (us) Convergence Layer over 796 MHz-100Mbps DREQUIEMI J2ME-RMIOP JTime TimesysOs JRT-11 16
  • 17. Experiments (2/2) Master-slave templates End-to-End costs (bytes) Convergence Layer over 796 MHz-100Mbps DREQUIEMI J2ME-RMIOP JTime TimesysOs
  • 18. Master-slave Jitter [new] templates Convergence time vs. event triggered Layer DREQUIEMI J2ME-RMIOP JTime TimesysOs JRT-11 18
  • 19. Conclusions • Developed techniques to include time-triggered orientation in distributed real-time Java – Synchronous Scheduling Service (SSS) • Empirical evidences showed better performance than an ET approach – Because TCP/IP stacks and OS are not fully preemptive JRT-11 19
  • 20. Ongoing work • Developing a minimum time-triggered implementation without DREQUIEMI – Ongoing master thesis • Changes in the model – NPR-RMS model vs. NPR-EDF – One way choreographies JRT-11 20
  • 21. JRT-11 21