SlideShare a Scribd company logo
November 3November 3rdrd
, Boston, Boston
Linux Plumbers 2010Linux Plumbers 2010
Real-Time APIReal-Time API
Tommaso CucinottaTommaso Cucinotta, Dhaval Giani, Dario Faggioli, Fabio Checconi, Dhaval Giani, Dario Faggioli, Fabio Checconi
Real-Time Systems Lab (RETIS)Real-Time Systems Lab (RETIS)
Center for Excellence in Information, Communication and Perception EngineeringCenter for Excellence in Information, Communication and Perception Engineering
(CEIICP)(CEIICP)
Scuola Superiore Sant'Anna, Pisa (Italy)Scuola Superiore Sant'Anna, Pisa (Italy)
© 2007 Scuola Superiore Sant’AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna 2
Recently ProposedRecently Proposed
Real-Time Scheduler(s)Real-Time Scheduler(s)
FeaturesFeatures
Temporal isolation among processes
Applications have to provide reservation parameters
(sporadic real-time task model)
• runtime every period
Deadline-based scheduling
Hierarchical scheduling
• Attach more tasks as a whole to a single reservation
ProblemsProblems
I) Suitable kernel-space / user-space interface
II) Suitable application-level interface
© 2007 Scuola Superiore Sant’AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna 3
Recently proposed schedulersRecently proposed schedulers
and their APIsand their APIs
EDF RT Throttling (a.k.a., The IRMOS Scheduler)EDF RT Throttling (a.k.a., The IRMOS Scheduler)
Parameters: runtime, period, cpu mask, tasks
• RT priorities of real-time tasks
cgroup-based interface
• Problem of atomic changes to scheduling parameters
SCHED_SPORADICSCHED_SPORADIC
Parameters: runtime, period, low-priority
POSIX standard system call: sched_setscheduler()
• Breaks binary interface & compatibility
Alternative system call: sched_setscheduler_ex()
SCHED_DEADLINESCHED_DEADLINE
Parameters: runtime, period, flags
system call: sched_setscheduler_ex()
© 2007 Scuola Superiore Sant’AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna 4
Hierarchical SchedulingHierarchical Scheduling
Needed operationsNeeded operations
create & destroy reservations
attach & detach tasks reservations↔
list tasks attached to reservations (and list reservations)
Standard operations: get & set parameters
Max RT Prio
Min RT Prio
…
EDFEDF
FPFP FPFP
T1T1 T2T2 T3T3 T4T4
© 2007 Scuola Superiore Sant’AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna 5
Other FeaturesOther Features
Warning: features & parameters may easily growWarning: features & parameters may easily grow
Addition of parameters, such as
• deadline
• desired vs guaranteed runtime (for adaptive reservations)
Set of flags for controlling variations on behaviour
• work conserving vs non-conserving reservations
• what happens at fork() time
• what happens on tasks death (automatic reclamation)
• notifications from kernel (e.g., runtime exhaustion)
Controlled access to RT scheduling by unprivileged
applications (e.g., per-user “quotas”)
Monitoring (e.g., residual runtime, available bandwidth)
Integration/interaction with power management
© 2007 Scuola Superiore Sant’AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna 6
What US/KS mechanism(s) ?What US/KS mechanism(s) ?
cgroup-based interface ?cgroup-based interface ?
multi-valued cgroup entries (for atomic changes)
system-call interface ?system-call interface ?
Only sched_setscheduler[_ex]()
A set of system calls ?
Special-device & ioctl() ?Special-device & ioctl() ?
proc-based interface ? (e.g., for monitoring)proc-based interface ? (e.g., for monitoring)
Integration with capabilities ?Integration with capabilities ?
setrlimit() / getrlimit()
© 2007 Scuola Superiore Sant’AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna 7
Proposed APIProposed API
for applicationsfor applications
© 2007 Scuola Superiore Sant’AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna 8
Thanks for your attentionThanks for your attention
Help!!!Help!!!
http://retis.sssup.it/people/tommasohttp://retis.sssup.it/people/tommaso

More Related Content

PDF
An Evaluation of Adaptive Partitioning of Real-Time Workloads on Linux
PDF
Modeling and simulation of power consumption and execution times for real-tim...
PDF
Virtual Network Functions as Real-Time Containers in Private Clouds
PPT
Implementation and integration of GPU-accelerated easyWave for instant tsunam...
PDF
Targeting GPUs using OpenMP Directives on Summit with GenASiS: A Simple and...
PDF
Early Application experiences on Summit
PDF
Implementation and evaluation of novel scheduler of UC/OS (RTOS)
PPTX
Quantum programming
An Evaluation of Adaptive Partitioning of Real-Time Workloads on Linux
Modeling and simulation of power consumption and execution times for real-tim...
Virtual Network Functions as Real-Time Containers in Private Clouds
Implementation and integration of GPU-accelerated easyWave for instant tsunam...
Targeting GPUs using OpenMP Directives on Summit with GenASiS: A Simple and...
Early Application experiences on Summit
Implementation and evaluation of novel scheduler of UC/OS (RTOS)
Quantum programming

What's hot (18)

PPT
Ibm quantum computing
PPT
2017 10 17_quantum_program_v2
PPT
2017 07 04_cmmse_quantum_programming_v1
PDF
Programming Existing Quantum Computers
PDF
Quantum computing
PPTX
20190314 cern register v3
PDF
Hpc Cloud project Overview
PDF
Hpc, grid and cloud computing - the past, present, and future challenge
PPT
Real time scheduling - basic concepts
PDF
Cognitive Engine: Boosting Scientific Discovery
PDF
Atomate: a high-level interface to generate, execute, and analyze computation...
PDF
Sara Afshar: Scheduling and Resource Sharing in Multiprocessor Real-Time Systems
PPTX
What is Quantum Computing and Why it is Important
PPT
Real time-embedded-system-lec-02
PDF
How might machine learning help advance solar PV research?
PDF
Unit7 & 8 Performance and optimization
PDF
Real Time most famous algorithms
PPTX
Quantum computing
Ibm quantum computing
2017 10 17_quantum_program_v2
2017 07 04_cmmse_quantum_programming_v1
Programming Existing Quantum Computers
Quantum computing
20190314 cern register v3
Hpc Cloud project Overview
Hpc, grid and cloud computing - the past, present, and future challenge
Real time scheduling - basic concepts
Cognitive Engine: Boosting Scientific Discovery
Atomate: a high-level interface to generate, execute, and analyze computation...
Sara Afshar: Scheduling and Resource Sharing in Multiprocessor Real-Time Systems
What is Quantum Computing and Why it is Important
Real time-embedded-system-lec-02
How might machine learning help advance solar PV research?
Unit7 & 8 Performance and optimization
Real Time most famous algorithms
Quantum computing
Ad

Viewers also liked (15)

PPT
Database concepts by vaishali sahare[katkar]
PDF
Virtualised e-Learning with Real-Time Guarantees on the IRMOS Platform
PDF
The Wizard of OS: a Heartbeat for Legacy Multimedia Applications
PDF
Optimum Scalability Point for Parallelisable Real-Time Components
PDF
Self-tuning Schedulers for Legacy Real-Time Applications
PDF
Low-Latency Audio on Linux by Means of Real-Time Scheduling
PDF
Rtos princples adn case study
PDF
Mastering Real-time Linux
PPT
Introduction to dot net framework by vaishali sahare [katkar]
PPTX
Cloud implementation by vaishali sahare [katkar]
PDF
SLAs in Virtualized Cloud Computing Infrastructures with QoS Assurance
PPTX
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
PDF
Improving Responsiveness for Virtualized Networking Under Intensive Computing...
PDF
How to Make Awesome SlideShares: Tips & Tricks
PDF
Getting Started With SlideShare
Database concepts by vaishali sahare[katkar]
Virtualised e-Learning with Real-Time Guarantees on the IRMOS Platform
The Wizard of OS: a Heartbeat for Legacy Multimedia Applications
Optimum Scalability Point for Parallelisable Real-Time Components
Self-tuning Schedulers for Legacy Real-Time Applications
Low-Latency Audio on Linux by Means of Real-Time Scheduling
Rtos princples adn case study
Mastering Real-time Linux
Introduction to dot net framework by vaishali sahare [katkar]
Cloud implementation by vaishali sahare [katkar]
SLAs in Virtualized Cloud Computing Infrastructures with QoS Assurance
Creation of cloud application using microsoft azure by vaishali sahare [katkar]
Improving Responsiveness for Virtualized Networking Under Intensive Computing...
How to Make Awesome SlideShares: Tips & Tricks
Getting Started With SlideShare
Ad

Similar to Real-Time API (20)

PPT
Real-Time Operating Systems
PDF
Self-tuning Schedulers for Legacy Real-Time Applications
PPT
PPT
ghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhjjjjjjjjjjjjjjj
PPT
Rtos
PDF
Research in Soft Real-Time and Virtualized Applications on Linux
PDF
Rt kernel-prn
PPT
rtos.ppt
PPT
PDF
RTAI - Earliest Deadline First
PDF
embedded system CHAPTER four about design .pdf
PDF
Optimizing Linux Kernel for Real-time Performance On Multi-Core Architecture
PPT
PDF
Making Linux do Hard Real-time
PDF
Enea Enabling Real-Time in Linux Whitepaper
PDF
Linux Internals - Interview essentials 4.0
PDF
Rtos slides
PDF
Testing real-time Linux. What to test and how
PPTX
Entreprenuership notes module 3 notes.pptx
PPT
Real time os(suga)
Real-Time Operating Systems
Self-tuning Schedulers for Legacy Real-Time Applications
ghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhjjjjjjjjjjjjjjj
Rtos
Research in Soft Real-Time and Virtualized Applications on Linux
Rt kernel-prn
rtos.ppt
RTAI - Earliest Deadline First
embedded system CHAPTER four about design .pdf
Optimizing Linux Kernel for Real-time Performance On Multi-Core Architecture
Making Linux do Hard Real-time
Enea Enabling Real-Time in Linux Whitepaper
Linux Internals - Interview essentials 4.0
Rtos slides
Testing real-time Linux. What to test and how
Entreprenuership notes module 3 notes.pptx
Real time os(suga)

Recently uploaded (20)

PPTX
sap open course for s4hana steps from ECC to s4
PDF
Encapsulation theory and applications.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Approach and Philosophy of On baking technology
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Machine learning based COVID-19 study performance prediction
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PPTX
Big Data Technologies - Introduction.pptx
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
Cloud computing and distributed systems.
PDF
cuic standard and advanced reporting.pdf
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
sap open course for s4hana steps from ECC to s4
Encapsulation theory and applications.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
A comparative analysis of optical character recognition models for extracting...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Per capita expenditure prediction using model stacking based on satellite ima...
Approach and Philosophy of On baking technology
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Review of recent advances in non-invasive hemoglobin estimation
Machine learning based COVID-19 study performance prediction
Reach Out and Touch Someone: Haptics and Empathic Computing
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Big Data Technologies - Introduction.pptx
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Digital-Transformation-Roadmap-for-Companies.pptx
Cloud computing and distributed systems.
cuic standard and advanced reporting.pdf
Encapsulation_ Review paper, used for researhc scholars
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm

Real-Time API

  • 1. November 3November 3rdrd , Boston, Boston Linux Plumbers 2010Linux Plumbers 2010 Real-Time APIReal-Time API Tommaso CucinottaTommaso Cucinotta, Dhaval Giani, Dario Faggioli, Fabio Checconi, Dhaval Giani, Dario Faggioli, Fabio Checconi Real-Time Systems Lab (RETIS)Real-Time Systems Lab (RETIS) Center for Excellence in Information, Communication and Perception EngineeringCenter for Excellence in Information, Communication and Perception Engineering (CEIICP)(CEIICP) Scuola Superiore Sant'Anna, Pisa (Italy)Scuola Superiore Sant'Anna, Pisa (Italy)
  • 2. © 2007 Scuola Superiore Sant’AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna 2 Recently ProposedRecently Proposed Real-Time Scheduler(s)Real-Time Scheduler(s) FeaturesFeatures Temporal isolation among processes Applications have to provide reservation parameters (sporadic real-time task model) • runtime every period Deadline-based scheduling Hierarchical scheduling • Attach more tasks as a whole to a single reservation ProblemsProblems I) Suitable kernel-space / user-space interface II) Suitable application-level interface
  • 3. © 2007 Scuola Superiore Sant’AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna 3 Recently proposed schedulersRecently proposed schedulers and their APIsand their APIs EDF RT Throttling (a.k.a., The IRMOS Scheduler)EDF RT Throttling (a.k.a., The IRMOS Scheduler) Parameters: runtime, period, cpu mask, tasks • RT priorities of real-time tasks cgroup-based interface • Problem of atomic changes to scheduling parameters SCHED_SPORADICSCHED_SPORADIC Parameters: runtime, period, low-priority POSIX standard system call: sched_setscheduler() • Breaks binary interface & compatibility Alternative system call: sched_setscheduler_ex() SCHED_DEADLINESCHED_DEADLINE Parameters: runtime, period, flags system call: sched_setscheduler_ex()
  • 4. © 2007 Scuola Superiore Sant’AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna 4 Hierarchical SchedulingHierarchical Scheduling Needed operationsNeeded operations create & destroy reservations attach & detach tasks reservations↔ list tasks attached to reservations (and list reservations) Standard operations: get & set parameters Max RT Prio Min RT Prio … EDFEDF FPFP FPFP T1T1 T2T2 T3T3 T4T4
  • 5. © 2007 Scuola Superiore Sant’AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna 5 Other FeaturesOther Features Warning: features & parameters may easily growWarning: features & parameters may easily grow Addition of parameters, such as • deadline • desired vs guaranteed runtime (for adaptive reservations) Set of flags for controlling variations on behaviour • work conserving vs non-conserving reservations • what happens at fork() time • what happens on tasks death (automatic reclamation) • notifications from kernel (e.g., runtime exhaustion) Controlled access to RT scheduling by unprivileged applications (e.g., per-user “quotas”) Monitoring (e.g., residual runtime, available bandwidth) Integration/interaction with power management
  • 6. © 2007 Scuola Superiore Sant’AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna 6 What US/KS mechanism(s) ?What US/KS mechanism(s) ? cgroup-based interface ?cgroup-based interface ? multi-valued cgroup entries (for atomic changes) system-call interface ?system-call interface ? Only sched_setscheduler[_ex]() A set of system calls ? Special-device & ioctl() ?Special-device & ioctl() ? proc-based interface ? (e.g., for monitoring)proc-based interface ? (e.g., for monitoring) Integration with capabilities ?Integration with capabilities ? setrlimit() / getrlimit()
  • 7. © 2007 Scuola Superiore Sant’AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna 7 Proposed APIProposed API for applicationsfor applications
  • 8. © 2007 Scuola Superiore Sant’AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'AnnaTommaso Cucinotta – Real Time Systems Laboratory (ReTiS) – Scuola Superiore Sant'Anna 8 Thanks for your attentionThanks for your attention Help!!!Help!!! http://retis.sssup.it/people/tommasohttp://retis.sssup.it/people/tommaso