SlideShare a Scribd company logo
1 of 32
November 3November 3rdrd
, Boston, Boston
Linux Plumbers 2010Linux Plumbers 2010
API for Real-Time SchedulingAPI for Real-Time Scheduling
with Temporal Isolation on Linuxwith Temporal Isolation on Linux
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)
Motivations and backgroundMotivations and background
© 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
What is Real-TimeWhat is Real-Time
Drive assistanceDrive assistance
Engine control, brakes, stability,
speed, parking
Trajectory and set-up control
Defence, army, spaceDefence, army, space
© 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
What is Real-TimeWhat is Real-Time
Control of chemical and nuclear plantsControl of chemical and nuclear plants
Control of productive processes andControl of productive processes and
industrial automationindustrial automation
Traffic controlTraffic control
© 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
What is Real-TimeWhat is Real-Time
Multimedia, videosurveillanceMultimedia, videosurveillance
Augmented virtual realityAugmented virtual reality
TelecommunicationsTelecommunications
Environment monitoringEnvironment monitoring
© 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
Criticality of timeCriticality of time
requirementsrequirements
Systems with critical timing requirementsSystems with critical timing requirements
e.g., defence, army, space
Systems with lower criticality timing requirementsSystems with lower criticality timing requirements
e.g., industrial automation
Systems with non-critical timing requirementsSystems with non-critical timing requirements
e.g., multimedia, virtual reality, telecommunications
Utility functionUtility function
fidi
Task NON
real-time
fidi
Task SOFT
real-time
fidi
Task FIRM
real-time fi
di
Task HARD
real-time
{∞
© 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
Our FocusOur Focus
We focus on systemsWe focus on systems
With non-critical soft real-time requirements
Where the use of a GPOS is desirable and feasible
• As opposed to a traditional RTOS
Application scenariosApplication scenarios
Multimedia
Embedded systems
QoS-enabled Cloud Computing
Web servers with QoS assurance
© 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
Problem PresentationProblem Presentation
General-Purpose Operating SystemsGeneral-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
• nor for computing with precise QoS assurance
© 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 9
Possible SolutionsPossible Solutions
Overcoming limitations of a GPOS for multimediaOvercoming 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, plant control, 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
 Linux Real-Time Throttling extension
• Designed for limiting, not guaranteeing
Proposed SolutionProposed Solution
Real-Time Schedulers in LinuxReal-Time Schedulers in Linux
© 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 11
Recently ProposedRecently Proposed
Real-Time Scheduler(s)Real-Time Scheduler(s)
Features (schedulers implement)Features (schedulers implement)
Temporal isolation among tasks and task groups
Need for provisioning of reservation parameters
(sporadic real-time task model)
• runtime every period
• Optional allowance to use more CPU if available
Simple admission control scheme
• May be disabled if custom user-space policy needed
• Optional over-subscription possibility
with graceful, controlled management of overloads
Priority-based, Deadline-based, mixed scheduling
Hierarchical scheduling
• Attach more tasks as a whole to a single reservation
• Nesting of groups and subgroups at arbitrary levels
© 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 12
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, priority, 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 13
POSIXPOSIX
Real-Time SchedulingReal-Time Scheduling
Multi-queue priority-based schedulerMulti-queue priority-based scheduler
Processes at same priorityProcesses at same priority
Round-Robin (SCHED_RR)
FIFO (SCHED_FIFO)
Sporadic Server
(see later)
CPUCPU
Max RT Prio
Min RT Prio
Non RT
…
Process
© 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 14
Traditional RT SystemsTraditional RT Systems
(and Priority Scheduling)(and Priority Scheduling)
All deadlines respected as far as system behavesAll deadlines respected as far as system behaves
as foreseen at design timeas foreseen at design time
Traditional (C, T) task model
• C: Worst-Case Execution Time (WCET)
• T: Minimum inter-arrival period
Admission Control, e.g., for RM:Admission Control, e.g., for RM:
t
High priority
(2, 6)
Low priority
(4, 8)
t
~83.3%
Overall
Load
© 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 15
Problems ofProblems of
Priority SchedulingPriority Scheduling
High-priority processes may indefinitely delayHigh-priority processes may indefinitely delay
low-priority oneslow-priority ones
Coherent with the typical real-time/embedded scenario
• Higher-priority processes are more important (e.g., safety critical)
t
High priority
(2, 6)
Low priority
(4, 8)
t
deadline missed
by good job
bad job
~83.3%
Overall
Load
© 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 16
Problems ofProblems of
Priority SchedulingPriority Scheduling
High-priority processes may indefinitely delayHigh-priority processes may indefinitely delay
low-priority oneslow-priority ones
Coherent with the typical real-time/embedded scenario
• Higher-priority processes are more important (e.g., safety critical)
What if processes have same importance/criticality ?
t
High priority
(2, 6)
Low priority
(4, 8)
t
deadline missed
by good job
bad job
~83.3%
Overall
Load
© 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 17
Deadline-based SchedulingDeadline-based Scheduling
Optimum for single-processor systemsOptimum for single-processor systems
Necessary and sufficient admission control test
for simple task model:
Same problems of PSSame problems of PS
Deadlines respected as far as the WCETs are respected
Things may go bad when
• One or more tasks exhibit higher computation times than foreseen
• One or more tasks behaves differently than foreseen
– e.g., it blocks on a critical section for more than foreseen
The task that suffers may not be the misbehaving one
© 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 18
Real-time theoryReal-time theory
Reservation-based scheduling: (QReservation-based scheduling: (Qii
, P, Pii
))
“Qi
time units guaranteed on a CPU every Pi
time units”
Independently of how others behave
(temporal isolation)
t
(5, 9)
(2, 6)
~88.9%
Overall
Load
t
© 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 19
Temporal IsolationTemporal Isolation
Enforcement of temporal isolationEnforcement of temporal isolation
Not only EDF scheduling
t
(5, 9)
(2, 6)
t
deadline missed
by good job
bad job
© 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 20
Temporal IsolationTemporal Isolation
Enforcement of temporal isolationEnforcement of temporal isolation
Once budget exhausted, delay to next activation period
t
(5, 9)
(2, 6)
t
Deadline missed
by bad jobbad job
© 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 21
Temporal IsolationTemporal Isolation
Is needed despite blocks/unblocksIs needed despite blocks/unblocks
Not only EDF scheduling
t
(5, 9)
(2, 6)
block unblock
deadline-miss
t
© 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 22
Temporal IsolationTemporal Isolation
Is needed despite blocks/unblocksIs needed despite blocks/unblocks
Not only EDF scheduling
See CBS “unblock rule”See CBS “unblock rule”
t
(5, 9)
(2, 6)
block unblock
t
© 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 23
POSIX Sporadic ServerPOSIX Sporadic Server
SCHED_SSSCHED_SS
Provides a form of temporal isolation
Parameters: (Q, P, RT Priority, Low RT Priority)
Budget exhausted => lower the priority till next recharge
For every time interval in which the task executes, post a
recharge of budget equal to the consumed CPU time one
period apart
SCHED_SS may be analysed using FP techniquesSCHED_SS may be analysed using FP techniques
Patching the standard for getting rid of the “bug”
(2, 6)
2 2 1 1
current
budget
© 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 24
Usage PatternsUsage Patterns
SCHED_DEADLINESCHED_DEADLINE
struct sched_param_ex sp = {
.sched_runtime = runtime_ts; // struct timespec
.sched_deadline = deadline_ts; // struct timespec
.flags = 0;
};
sched_setscheduler_ex(pid, SCHED_DEADLINE, &sp);
/* Now you get runtime_ts every deadline_ts guaranteed */
© 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
Pre-requisite at run-time: mount cgroupsPre-requisite at run-time: mount cgroups
 mkdir /cg
 mount -t cgroup -o cpu,cpuacct cgroup /cg
Reduce runtime for root-level tasksReduce runtime for root-level tasks
 echo 200000 > /cg/cpu.rt_rt_task_runtime_us
(root-group runtime remains at default of 950000)
Create group, with reservation of 10ms every 100msCreate group, with reservation of 10ms every 100ms
 mkdir /cg/g1
 echo 100000 > /cg/g1/cpu.rt_period_us
 echo 10000 > /cg/g1/cpu.rt_runtime_us
 echo 100000 > /cg/g1/cpu.rt_task_period_us
 echo 10000 > /cg/g1/cpu.rt_task_runtime_us
Attach task with tid=1421Attach task with tid=1421
 echo 1421 > /cg/g1/tasks
Detach taskDetach task
 echo 1421 > /cg/tasks
Attach process with pid=1700Attach process with pid=1700
 for tid in `ls /proc/1700/task`; do echo $tid > /cg/g1/tasks; done
Destroy groupDestroy group
 rmdir /cg/g1
Usage PatternsUsage Patterns
IRMOS SchedulerIRMOS Scheduler
© 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
IRMOS RT SchedulerIRMOS RT Scheduler
Design GoalsDesign Goals
Replace real-time throttlingReplace real-time throttling
Tight integration in Linux kernelTight integration in Linux kernel
Modification to the Linux RT scheduler
Reuse as many Linux features asReuse as many Linux features as
possiblepossible
Management of task hierarchies and
scheduling parameters via cgroups
POSIX compatibility and API
Efficient for SMPEfficient for SMP
Independent runqueues
© 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
IRMOS SchedulerIRMOS Scheduler
Slice the available computing power intoSlice the available computing power into
reservationsreservations
CPU 0
CPU 1
CPU 2
CPU 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 28
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 29
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 30
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
Related PublicationsRelated Publications
 Hierarchical Multiprocessor CPU Reservations for the Linux
Kernel
F. Checconi, T. Cucinotta, D. Faggioli, G. Lipari
OSPERT 2009, Dublin, Ireland, June 2009
 An EDF Scheduling class for the Linux kernel
D. Faggioli, F. Checconi, M. Trimarchi, C. Scordino
RTLWS 2009, Dresden, October 2009
 Access Control for Adaptive Reservations on Multi-User Systems
T. Cucinotta
RTAS 2008, St. Louis, MO, United States, April 2008
 Self-tuning Schedulers for Legacy Real-Time Applications
T. Cucinotta, F. Checconi, L. Abeni, L. Palopoli
EuroSys 2010, Paris, April 2010
 Respecting temporal constraints in virtualised services
T. Cucinotta, G. Anastasi, L. Abeni
RTSOAA 2009, Seattle, Washington, July 2009
© 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 32
Thanks for your attentionThanks for your attention
Help!!!Help!!!
http://retis.sssup.it/people/tommasohttp://retis.sssup.it/people/tommaso

More Related Content

More from tcucinotta

An Evaluation of Adaptive Partitioning of Real-Time Workloads on Linux
An Evaluation of Adaptive Partitioning of Real-Time Workloads on LinuxAn Evaluation of Adaptive Partitioning of Real-Time Workloads on Linux
An Evaluation of Adaptive Partitioning of Real-Time Workloads on Linuxtcucinotta
 
Modeling and simulation of power consumption and execution times for real-tim...
Modeling and simulation of power consumption and execution times for real-tim...Modeling and simulation of power consumption and execution times for real-tim...
Modeling and simulation of power consumption and execution times for real-tim...tcucinotta
 
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 Cloudstcucinotta
 
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
 
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 Schedulingtcucinotta
 
The IRMOS Real-Time Scheduler
The IRMOS Real-Time SchedulerThe IRMOS Real-Time Scheduler
The IRMOS Real-Time Schedulertcucinotta
 
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...tcucinotta
 
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 Linuxtcucinotta
 

More from tcucinotta (8)

An Evaluation of Adaptive Partitioning of Real-Time Workloads on Linux
An Evaluation of Adaptive Partitioning of Real-Time Workloads on LinuxAn Evaluation of Adaptive Partitioning of Real-Time Workloads on Linux
An Evaluation of Adaptive Partitioning of Real-Time Workloads on Linux
 
Modeling and simulation of power consumption and execution times for real-tim...
Modeling and simulation of power consumption and execution times for real-tim...Modeling and simulation of power consumption and execution times for real-tim...
Modeling and simulation of power consumption and execution times for real-tim...
 
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
 
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...
 
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
 
The IRMOS Real-Time Scheduler
The IRMOS Real-Time SchedulerThe IRMOS Real-Time Scheduler
The IRMOS Real-Time Scheduler
 
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...
 
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
 

Recently uploaded

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 

Recently uploaded (20)

Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 

API for Real-Time Scheduling with Temporal Isolation on Linux

  • 1. November 3November 3rdrd , Boston, Boston Linux Plumbers 2010Linux Plumbers 2010 API for Real-Time SchedulingAPI for Real-Time Scheduling with Temporal Isolation on Linuxwith Temporal Isolation on Linux 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)
  • 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 What is Real-TimeWhat is Real-Time Drive assistanceDrive assistance Engine control, brakes, stability, speed, parking Trajectory and set-up control Defence, army, spaceDefence, army, space
  • 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 What is Real-TimeWhat is Real-Time Control of chemical and nuclear plantsControl of chemical and nuclear plants Control of productive processes andControl of productive processes and industrial automationindustrial automation Traffic controlTraffic control
  • 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 What is Real-TimeWhat is Real-Time Multimedia, videosurveillanceMultimedia, videosurveillance Augmented virtual realityAugmented virtual reality TelecommunicationsTelecommunications Environment monitoringEnvironment monitoring
  • 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 Criticality of timeCriticality of time requirementsrequirements Systems with critical timing requirementsSystems with critical timing requirements e.g., defence, army, space Systems with lower criticality timing requirementsSystems with lower criticality timing requirements e.g., industrial automation Systems with non-critical timing requirementsSystems with non-critical timing requirements e.g., multimedia, virtual reality, telecommunications Utility functionUtility function fidi Task NON real-time fidi Task SOFT real-time fidi Task FIRM real-time fi di Task HARD real-time {∞
  • 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 Our FocusOur Focus We focus on systemsWe focus on systems With non-critical soft real-time requirements Where the use of a GPOS is desirable and feasible • As opposed to a traditional RTOS Application scenariosApplication scenarios Multimedia Embedded systems QoS-enabled Cloud Computing Web servers with QoS assurance
  • 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 Problem PresentationProblem Presentation General-Purpose Operating SystemsGeneral-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 • nor for computing with precise QoS assurance
  • 9. © 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 9 Possible SolutionsPossible Solutions Overcoming limitations of a GPOS for multimediaOvercoming 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, plant control, 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  Linux Real-Time Throttling extension • Designed for limiting, not guaranteeing
  • 10. Proposed SolutionProposed Solution Real-Time Schedulers in LinuxReal-Time Schedulers in Linux
  • 11. © 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 11 Recently ProposedRecently Proposed Real-Time Scheduler(s)Real-Time Scheduler(s) Features (schedulers implement)Features (schedulers implement) Temporal isolation among tasks and task groups Need for provisioning of reservation parameters (sporadic real-time task model) • runtime every period • Optional allowance to use more CPU if available Simple admission control scheme • May be disabled if custom user-space policy needed • Optional over-subscription possibility with graceful, controlled management of overloads Priority-based, Deadline-based, mixed scheduling Hierarchical scheduling • Attach more tasks as a whole to a single reservation • Nesting of groups and subgroups at arbitrary levels
  • 12. © 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 12 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, priority, 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()
  • 13. © 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 13 POSIXPOSIX Real-Time SchedulingReal-Time Scheduling Multi-queue priority-based schedulerMulti-queue priority-based scheduler Processes at same priorityProcesses at same priority Round-Robin (SCHED_RR) FIFO (SCHED_FIFO) Sporadic Server (see later) CPUCPU Max RT Prio Min RT Prio Non RT … Process
  • 14. © 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 14 Traditional RT SystemsTraditional RT Systems (and Priority Scheduling)(and Priority Scheduling) All deadlines respected as far as system behavesAll deadlines respected as far as system behaves as foreseen at design timeas foreseen at design time Traditional (C, T) task model • C: Worst-Case Execution Time (WCET) • T: Minimum inter-arrival period Admission Control, e.g., for RM:Admission Control, e.g., for RM: t High priority (2, 6) Low priority (4, 8) t ~83.3% Overall Load
  • 15. © 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 15 Problems ofProblems of Priority SchedulingPriority Scheduling High-priority processes may indefinitely delayHigh-priority processes may indefinitely delay low-priority oneslow-priority ones Coherent with the typical real-time/embedded scenario • Higher-priority processes are more important (e.g., safety critical) t High priority (2, 6) Low priority (4, 8) t deadline missed by good job bad job ~83.3% Overall Load
  • 16. © 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 16 Problems ofProblems of Priority SchedulingPriority Scheduling High-priority processes may indefinitely delayHigh-priority processes may indefinitely delay low-priority oneslow-priority ones Coherent with the typical real-time/embedded scenario • Higher-priority processes are more important (e.g., safety critical) What if processes have same importance/criticality ? t High priority (2, 6) Low priority (4, 8) t deadline missed by good job bad job ~83.3% Overall Load
  • 17. © 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 17 Deadline-based SchedulingDeadline-based Scheduling Optimum for single-processor systemsOptimum for single-processor systems Necessary and sufficient admission control test for simple task model: Same problems of PSSame problems of PS Deadlines respected as far as the WCETs are respected Things may go bad when • One or more tasks exhibit higher computation times than foreseen • One or more tasks behaves differently than foreseen – e.g., it blocks on a critical section for more than foreseen The task that suffers may not be the misbehaving one
  • 18. © 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 18 Real-time theoryReal-time theory Reservation-based scheduling: (QReservation-based scheduling: (Qii , P, Pii )) “Qi time units guaranteed on a CPU every Pi time units” Independently of how others behave (temporal isolation) t (5, 9) (2, 6) ~88.9% Overall Load t
  • 19. © 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 19 Temporal IsolationTemporal Isolation Enforcement of temporal isolationEnforcement of temporal isolation Not only EDF scheduling t (5, 9) (2, 6) t deadline missed by good job bad job
  • 20. © 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 20 Temporal IsolationTemporal Isolation Enforcement of temporal isolationEnforcement of temporal isolation Once budget exhausted, delay to next activation period t (5, 9) (2, 6) t Deadline missed by bad jobbad job
  • 21. © 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 21 Temporal IsolationTemporal Isolation Is needed despite blocks/unblocksIs needed despite blocks/unblocks Not only EDF scheduling t (5, 9) (2, 6) block unblock deadline-miss t
  • 22. © 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 22 Temporal IsolationTemporal Isolation Is needed despite blocks/unblocksIs needed despite blocks/unblocks Not only EDF scheduling See CBS “unblock rule”See CBS “unblock rule” t (5, 9) (2, 6) block unblock t
  • 23. © 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 23 POSIX Sporadic ServerPOSIX Sporadic Server SCHED_SSSCHED_SS Provides a form of temporal isolation Parameters: (Q, P, RT Priority, Low RT Priority) Budget exhausted => lower the priority till next recharge For every time interval in which the task executes, post a recharge of budget equal to the consumed CPU time one period apart SCHED_SS may be analysed using FP techniquesSCHED_SS may be analysed using FP techniques Patching the standard for getting rid of the “bug” (2, 6) 2 2 1 1 current budget
  • 24. © 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 24 Usage PatternsUsage Patterns SCHED_DEADLINESCHED_DEADLINE struct sched_param_ex sp = { .sched_runtime = runtime_ts; // struct timespec .sched_deadline = deadline_ts; // struct timespec .flags = 0; }; sched_setscheduler_ex(pid, SCHED_DEADLINE, &sp); /* Now you get runtime_ts every deadline_ts guaranteed */
  • 25. © 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 Pre-requisite at run-time: mount cgroupsPre-requisite at run-time: mount cgroups  mkdir /cg  mount -t cgroup -o cpu,cpuacct cgroup /cg Reduce runtime for root-level tasksReduce runtime for root-level tasks  echo 200000 > /cg/cpu.rt_rt_task_runtime_us (root-group runtime remains at default of 950000) Create group, with reservation of 10ms every 100msCreate group, with reservation of 10ms every 100ms  mkdir /cg/g1  echo 100000 > /cg/g1/cpu.rt_period_us  echo 10000 > /cg/g1/cpu.rt_runtime_us  echo 100000 > /cg/g1/cpu.rt_task_period_us  echo 10000 > /cg/g1/cpu.rt_task_runtime_us Attach task with tid=1421Attach task with tid=1421  echo 1421 > /cg/g1/tasks Detach taskDetach task  echo 1421 > /cg/tasks Attach process with pid=1700Attach process with pid=1700  for tid in `ls /proc/1700/task`; do echo $tid > /cg/g1/tasks; done Destroy groupDestroy group  rmdir /cg/g1 Usage PatternsUsage Patterns IRMOS SchedulerIRMOS Scheduler
  • 26. © 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 IRMOS RT SchedulerIRMOS RT Scheduler Design GoalsDesign Goals Replace real-time throttlingReplace real-time throttling Tight integration in Linux kernelTight integration in Linux kernel Modification to the Linux RT scheduler Reuse as many Linux features asReuse as many Linux features as possiblepossible Management of task hierarchies and scheduling parameters via cgroups POSIX compatibility and API Efficient for SMPEfficient for SMP Independent runqueues
  • 27. © 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 IRMOS SchedulerIRMOS Scheduler Slice the available computing power intoSlice the available computing power into reservationsreservations CPU 0 CPU 1 CPU 2 CPU 3
  • 28. © 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 28 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
  • 29. © 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 29 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
  • 30. © 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 30 Proposed APIProposed API for applicationsfor applications
  • 31. © 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 Related PublicationsRelated Publications  Hierarchical Multiprocessor CPU Reservations for the Linux Kernel F. Checconi, T. Cucinotta, D. Faggioli, G. Lipari OSPERT 2009, Dublin, Ireland, June 2009  An EDF Scheduling class for the Linux kernel D. Faggioli, F. Checconi, M. Trimarchi, C. Scordino RTLWS 2009, Dresden, October 2009  Access Control for Adaptive Reservations on Multi-User Systems T. Cucinotta RTAS 2008, St. Louis, MO, United States, April 2008  Self-tuning Schedulers for Legacy Real-Time Applications T. Cucinotta, F. Checconi, L. Abeni, L. Palopoli EuroSys 2010, Paris, April 2010  Respecting temporal constraints in virtualised services T. Cucinotta, G. Anastasi, L. Abeni RTSOAA 2009, Seattle, Washington, July 2009
  • 32. © 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 32 Thanks for your attentionThanks for your attention Help!!!Help!!! http://retis.sssup.it/people/tommasohttp://retis.sssup.it/people/tommaso