SlideShare una empresa de Scribd logo
1 de 8
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

Más contenido relacionado

La actualidad más candente

Hpc, grid and cloud computing - the past, present, and future challenge
Hpc, grid and cloud computing - the past, present, and future challengeHpc, grid and cloud computing - the past, present, and future challenge
Hpc, grid and cloud computing - the past, present, and future challenge
Jason Shih
 
Atomate: a high-level interface to generate, execute, and analyze computation...
Atomate: a high-level interface to generate, execute, and analyze computation...Atomate: a high-level interface to generate, execute, and analyze computation...
Atomate: a high-level interface to generate, execute, and analyze computation...
Anubhav Jain
 
Sara Afshar: Scheduling and Resource Sharing in Multiprocessor Real-Time Systems
Sara Afshar: Scheduling and Resource Sharing in Multiprocessor Real-Time SystemsSara Afshar: Scheduling and Resource Sharing in Multiprocessor Real-Time Systems
Sara Afshar: Scheduling and Resource Sharing in Multiprocessor Real-Time Systems
knowdiff
 

La actualidad más candente (18)

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

Destacado

Rtos princples adn case study
Rtos princples adn case studyRtos princples adn case study
Rtos princples adn case study
vanamali_vanu
 
SLAs in Virtualized Cloud Computing Infrastructures with QoS Assurance
SLAs in Virtualized Cloud Computing Infrastructures with QoS AssuranceSLAs in Virtualized Cloud Computing Infrastructures with QoS Assurance
SLAs in Virtualized Cloud Computing Infrastructures with QoS Assurance
tcucinotta
 
Improving Responsiveness for Virtualized Networking Under Intensive Computing...
Improving Responsiveness for Virtualized Networking Under Intensive Computing...Improving Responsiveness for Virtualized Networking Under Intensive Computing...
Improving Responsiveness for Virtualized Networking Under Intensive Computing...
tcucinotta
 

Destacado (16)

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

Similar a Real-Time API

Research in Soft Real-Time and Virtualized Applications on Linux
Research in Soft Real-Time and Virtualized Applications on LinuxResearch in Soft Real-Time and Virtualized Applications on Linux
Research in Soft Real-Time and Virtualized Applications on Linux
tcucinotta
 
The IRMOS Real-Time Scheduler
The IRMOS Real-Time SchedulerThe IRMOS Real-Time Scheduler
The IRMOS Real-Time Scheduler
tcucinotta
 
Test scenario simulator
Test scenario simulatorTest scenario simulator
Test scenario simulator
guest4ebcd7b
 
Real Time OS For Embedded Systems
Real Time OS For Embedded SystemsReal Time OS For Embedded Systems
Real Time OS For Embedded Systems
Himanshu Ghetia
 

Similar a Real-Time API (20)

Self-tuning Schedulers for Legacy Real-Time Applications
Self-tuning Schedulers for Legacy Real-Time ApplicationsSelf-tuning Schedulers for Legacy Real-Time Applications
Self-tuning Schedulers for Legacy Real-Time Applications
 
Rtos 8051
Rtos 8051Rtos 8051
Rtos 8051
 
Research in Soft Real-Time and Virtualized Applications on Linux
Research in Soft Real-Time and Virtualized Applications on LinuxResearch in Soft Real-Time and Virtualized Applications on Linux
Research in Soft Real-Time and Virtualized Applications on Linux
 
The IRMOS Real-Time Scheduler
The IRMOS Real-Time SchedulerThe IRMOS Real-Time Scheduler
The IRMOS Real-Time Scheduler
 
Rt kernel-prn
Rt kernel-prnRt kernel-prn
Rt kernel-prn
 
Real Time Operating Systems
Real Time Operating SystemsReal Time Operating Systems
Real Time Operating Systems
 
onTune the differences
onTune the differencesonTune the differences
onTune the differences
 
Real Time Systems
Real Time SystemsReal Time Systems
Real Time Systems
 
Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling
Providing Performance Guarantees to Virtual Machines using Real-Time SchedulingProviding Performance Guarantees to Virtual Machines using Real-Time Scheduling
Providing Performance Guarantees to Virtual Machines using Real-Time Scheduling
 
Embedded Intro India05
Embedded Intro India05Embedded Intro India05
Embedded Intro India05
 
LVTS Projects
LVTS ProjectsLVTS Projects
LVTS Projects
 
An Exception Based Approach to Timing Constraints Violations in Real-Time and...
An Exception Based Approach to Timing Constraints Violations in Real-Time and...An Exception Based Approach to Timing Constraints Violations in Real-Time and...
An Exception Based Approach to Timing Constraints Violations in Real-Time and...
 
Building IT with Precision - SUSE Linux Enterprise Real Time
Building IT with Precision - SUSE Linux Enterprise Real TimeBuilding IT with Precision - SUSE Linux Enterprise Real Time
Building IT with Precision - SUSE Linux Enterprise Real Time
 
Tommaso Cucinotta - Low-latency and power-efficient audio applications on Linux
Tommaso Cucinotta - Low-latency and power-efficient audio applications on LinuxTommaso Cucinotta - Low-latency and power-efficient audio applications on Linux
Tommaso Cucinotta - Low-latency and power-efficient audio applications on Linux
 
Test scenario simulator
Test scenario simulatorTest scenario simulator
Test scenario simulator
 
Test scenario simulator
Test scenario simulatorTest scenario simulator
Test scenario simulator
 
Optimizing Linux Kernel for Real-time Performance On Multi-Core Architecture
Optimizing Linux Kernel for Real-time Performance On Multi-Core ArchitectureOptimizing Linux Kernel for Real-time Performance On Multi-Core Architecture
Optimizing Linux Kernel for Real-time Performance On Multi-Core Architecture
 
Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how Testing real-time Linux. What to test and how
Testing real-time Linux. What to test and how
 
Embedded os
Embedded osEmbedded os
Embedded os
 
Real Time OS For Embedded Systems
Real Time OS For Embedded SystemsReal Time OS For Embedded Systems
Real Time OS For Embedded Systems
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Último (20)

TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

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