RTSS 2018 – 39th IEEE Real-Time Systems...
Transcript of RTSS 2018 – 39th IEEE Real-Time Systems...
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
The SRP Resource Sharing Protocol for Self-Suspending TasksGeoffrey Nelissen and Alessandro Biondi
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
The SRP Resource Sharing Protocol for Self-Suspending TasksGeoffrey Nelissen and Alessandro Biondi
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
The SRP Resource Sharing Protocol for Self-Suspending Tasks (on single core platforms)Geoffrey Nelissen and Alessandro Biondi
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Motivation
Evolution of the state of practice
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Motivation
Parallel applications
Evolution of the state of practice
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Motivation
Parallel applications
Multicore processors
Evolution of the state of practice
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Motivation
Parallel applications
Multicore processors
Partitioned FP scheduling
Evolution of the state of practice
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Motivation
Parallel applications partitioned on multicore platforms can be modelled as sets of self-suspending tasks running on single core processors
Response Time Analysis of Sporadic DAG Tasks under
Partitioned Scheduling
José Fonseca, Geoffrey Nelissen, Vincent Nélis and Luis Miguel Pinho
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Motivation
Parallel applications partitioned on multicore platforms can be modelled as sets of self-suspending tasks running on single core processors
Partitioned Fixed-Priority Scheduling of Parallel Tasks
Without Preemptions
Daniel Casini, Alessandro Biondi, Geoffrey Nelissen and Giorgio Buttazzo
This afternoon @ RTSS
Response Time Analysis of Sporadic DAG Tasks under
Partitioned Scheduling
José Fonseca, Geoffrey Nelissen, Vincent Nélis and Luis Miguel Pinho
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Motivation
Parallel applications partitioned on multicore platforms can be modelled as sets of self-suspending tasks running on single core processors
Most applications will share resources through locks
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Motivation
Parallel applications partitioned on multicore platforms can be modelled as sets of self-suspending tasks running on single core processors
Most applications will share resources through locks
Standards such as AUTOSAR mandates the use of the SRP for sharing resources
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
The Stack Resource Policy (SRP)
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
The Stack Resource Policy (SRP)
Task 1
Task 2
Sharedresource 1
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
The Stack Resource Policy (SRP)
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
The Stack Resource Policy (SRP)
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=2
priority of highest priority taskaccessing that resource
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
The Stack Resource Policy (SRP)
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=2
System ceiling
0
priority of the last resourcelocked and not unlocked
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
The Stack Resource Policy (SRP)
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=2
System ceiling
0
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
priority of the last resourcelocked and not unlocked
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
The Stack Resource Policy (SRP)
Execution time
Critical section
Blocking time
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=2
System ceiling
0
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
priority of the last resourcelocked and not unlocked
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
The Stack Resource Policy (SRP)
Execution time
Critical section
Blocking time
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=2
System ceiling
2
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
priority of the last resourcelocked and not unlocked
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
The Stack Resource Policy (SRP)
Execution time
Critical section
Blocking time
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=2
System ceiling
2
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
priority of the last resourcelocked and not unlocked
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
The Stack Resource Policy (SRP)
Execution time
Critical section
Blocking time
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=2
System ceiling
0
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
priority of the last resourcelocked and not unlocked
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
The Stack Resource Policy (SRP)
Execution time
Critical section
Blocking time
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=?
System ceiling
0
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
priority of the last resourcelocked and not unlocked
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
The Stack Resource Policy (SRP)
Execution time
Critical section
Blocking time
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=?
System ceiling
0
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
priority of the last resourcelocked and not unlocked
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
WCRT analysis for the SRP
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
WCRT analysis for the SRP
Blocking time
Critical section length whose priority ≥ prio(task i)
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
SRP and self-suspending tasks
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
SRP and self-suspending tasks
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=2
System ceiling
0
Execution time Critical section Blocking time Suspension
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
SRP and self-suspending tasks
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=2
System ceiling
2
Execution time Critical section Blocking time Suspension
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
SRP and self-suspending tasks
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=2
System ceiling
0
Execution time Critical section Blocking time Suspension
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
SRP and self-suspending tasks
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=2
System ceiling
0
Execution time Critical section Blocking time Suspension
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
SRP and self-suspending tasks
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=2
System ceiling
0
Execution time Critical section Blocking time Suspension
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
SRP and self-suspending tasks
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=2
System ceiling
2
Execution time Critical section Blocking time Suspension
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
SRP and self-suspending tasks
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=2
System ceiling
0
Execution time Critical section Blocking time Suspension
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
SRP and self-suspending tasks
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=2
System ceiling
0
Execution time Critical section Blocking time Suspension
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
SRP and self-suspending tasks
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=2
System ceiling
2
Execution time Critical section Blocking time Suspension
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
SRP and self-suspending tasks
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=2
System ceiling
0
Execution time Critical section Blocking time Suspension
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
SRP and self-suspending tasks
Task 1
Task 2
Prio=2
Prio=1
Sharedresource 1
Prio=2
System ceiling
0
Execution time Critical section Blocking time Suspension
A task may be blocked as many times as it self-suspends
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
SRP + self-suspending tasksStraightforward analysis
Maximum number of times task i self-suspends
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
SRP + self-suspending tasksImproved analysis
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
SRP + self-suspending tasksImproved analysis
• Identify all the critical sections that may block task iduring its response time
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
SRP + self-suspending tasksImproved analysis
• Identify all the critical sections that may block task iduring its response time
• Save their length in a multi-set 𝑆𝑖(𝑅𝑖)
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
SRP + self-suspending tasksImproved analysis
• Identify all the critical sections that may block task iduring its response time
• Save their length in a multi-set 𝑆𝑖(𝑅𝑖)
• The blocking 𝐵𝑖 is bounded by the sum of the 𝑋𝑖 + 1 longest critical sections in 𝑆𝑖 𝑅𝑖
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
SRP + self-suspending tasksImproved analysis
• Identify all the critical sections that may block task iduring its response time
• Save their length in a multi-set 𝑆𝑖(𝑅𝑖)
• The blocking 𝐵𝑖 is bounded by the sum of the 𝑋𝑖 + 1 longest critical sections in 𝑆𝑖 𝑅𝑖
Note that the content of 𝑆𝑖(𝑅𝑖) depends on
the worst-case response time of all tasks
➔ 𝑆𝑖(𝑅𝑖) must be iteratively computed
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Improving the locking protocol
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Suspension
Improving the locking protocol
Task 1
Task 3
Sharedresource 1
Prio=3
System ceiling
0
Execution time Critical section Blocking time
Task 2
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
Prio=3
Prio=1
Prio=2
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Suspension
Improving the locking protocol
Task 1
Task 3
Sharedresource 1
Prio=3
System ceiling
0
Execution time Critical section Blocking time
Task 2
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
Prio=3
Prio=1
Prio=2
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Suspension
Improving the locking protocol
Task 1
Task 3
Sharedresource 1
Prio=3
System ceiling
0
Execution time Critical section Blocking time
Task 2
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
Prio=3
Prio=1
Prio=2
System Priority
0
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Suspension
Improving the locking protocol
Task 1
Task 3
Sharedresource 1
Prio=3
System ceiling
0
Execution time Critical section Blocking time
Task 2
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
Prio=3
Prio=1
Prio=2
System Priority
0
A task Ti is eligible to execute ifprio(Ti) > system priority
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Suspension
Improving the locking protocol
Task 1
Task 3
Sharedresource 1
Prio=3
System ceiling
0
Execution time Critical section Blocking time
Task 2
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
Prio=3
Prio=1
Prio=2
System Priority
0
A task Ti is eligible to execute ifprio(Ti) > system priority
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Suspension
The Stack Resource Policy for Self-Suspending tasks (SRP-SS)
Task 1
Task 3
Prio=3
Prio=1
Sharedresource 1
Prio=3
System ceiling
0
Execution time Critical section Blocking time
Task 2 Prio=2
System Priority
0
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
𝝅𝒔𝒔= 1
𝝅𝒔𝒔= 0
𝝅𝒔𝒔= 1
A task Ti is eligible to execute ifprio(Ti) > system priority
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Suspension
The Stack Resource Policy for Self-Suspending tasks (SRP-SS)
Task 1
Task 3
Prio=3
Prio=1
Sharedresource 1
Prio=3
System ceiling
0
Execution time Critical section Blocking time
Task 2 Prio=2
System Priority
0
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
Maximum 𝜋𝑠𝑠
among all active tasks, i.e., started
and not completed
𝝅𝒔𝒔= 1
𝝅𝒔𝒔= 0
𝝅𝒔𝒔= 1
A task Ti is eligible to execute ifprio(Ti) > system priority
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Suspension
The Stack Resource Policy for Self-Suspending tasks (SRP-SS)
Task 1
Task 3
Prio=3
Prio=1
Sharedresource 1
Prio=3
System ceiling
0
Execution time Critical section Blocking time
Task 2 Prio=2
System Priority
0
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
𝜋𝑠𝑠= 1
𝜋𝑠𝑠= 0
𝜋𝑠𝑠= 1
A task Ti is eligible to execute ifprio(Ti) > system priority
Maximum 𝜋𝑠𝑠
among all active tasks, i.e., started
and not completed
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Suspension
The Stack Resource Policy for Self-Suspending tasks (SRP-SS)
Task 1
Task 3
Prio=3
Prio=1
Sharedresource 1
Prio=3
System ceiling
3
Execution time Critical section Blocking time
Task 2 Prio=2
System Priority
0
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
𝜋𝑠𝑠= 1
𝜋𝑠𝑠= 0
𝜋𝑠𝑠= 1
A task Ti is eligible to execute ifprio(Ti) > system priority
Maximum 𝜋𝑠𝑠
among all active tasks, i.e., started
and not completed
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Suspension
The Stack Resource Policy for Self-Suspending tasks (SRP-SS)
Task 1
Task 3
Prio=3
Prio=1
Sharedresource 1
Prio=3
System ceiling
3
Execution time Critical section Blocking time
Task 2 Prio=2
System Priority
0
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
𝜋𝑠𝑠= 1
𝜋𝑠𝑠= 0
𝜋𝑠𝑠= 1
A task Ti is eligible to execute ifprio(Ti) > system priority
Maximum 𝜋𝑠𝑠
among all active tasks, i.e., started
and not completed
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Suspension
The Stack Resource Policy for Self-Suspending tasks (SRP-SS)
Task 1
Task 3
Prio=3
Prio=1
Sharedresource 1
Prio=3
System ceiling
0
Execution time Critical section Blocking time
Task 2 Prio=2
System Priority
0
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
𝜋𝑠𝑠= 1
𝜋𝑠𝑠= 0
𝜋𝑠𝑠= 1
A task Ti is eligible to execute ifprio(Ti) > system priority
Maximum 𝜋𝑠𝑠
among all active tasks, i.e., started
and not completed
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Suspension
The Stack Resource Policy for Self-Suspending tasks (SRP-SS)
Task 1
Task 3
Prio=3
Prio=1
Sharedresource 1
Prio=3
System ceiling
0
Execution time Critical section Blocking time
Task 2 Prio=2
System Priority
1
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
𝜋𝑠𝑠= 1
𝜋𝑠𝑠= 0
𝜋𝑠𝑠= 1
A task Ti is eligible to execute ifprio(Ti) > system priority
Maximum 𝜋𝑠𝑠
among all active tasks, i.e., started
and not completed
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Suspension
The Stack Resource Policy for Self-Suspending tasks (SRP-SS)
Task 1
Task 3
Prio=3
Prio=1
Sharedresource 1
Prio=3
System ceiling
0
Execution time Critical section Blocking time
Task 2 Prio=2
System Priority
1
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
𝜋𝑠𝑠= 1
𝜋𝑠𝑠= 0
𝜋𝑠𝑠= 1
A task Ti is eligible to execute ifprio(Ti) > system priority
Maximum 𝜋𝑠𝑠
among all active tasks, i.e., started
and not completed
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Suspension
The Stack Resource Policy for Self-Suspending tasks (SRP-SS)
Task 1
Task 3
Prio=3
Prio=1
Sharedresource 1
Prio=3
System ceiling
0
Execution time Critical section Blocking time
Task 2 Prio=2
System Priority
0
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
𝜋𝑠𝑠= 1
𝜋𝑠𝑠= 0
𝜋𝑠𝑠= 1
A task Ti is eligible to execute ifprio(Ti) > system priority
Maximum 𝜋𝑠𝑠
among all active tasks, i.e., started
and not completed
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Suspension
The Stack Resource Policy for Self-Suspending tasks (SRP-SS)
Task 1
Task 3
Prio=3
Prio=1
Sharedresource 1
Prio=3
System ceiling
0
Execution time Critical section Blocking time
Task 2 Prio=2
System Priority
0
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
𝜋𝑠𝑠= 1
𝜋𝑠𝑠= 0
𝜋𝑠𝑠= 1
A task Ti is eligible to execute ifprio(Ti) > system priority
Maximum 𝜋𝑠𝑠
among all active tasks, i.e., started
and not completed
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Suspension
The Stack Resource Policy for Self-Suspending tasks (SRP-SS)
Task 1
Task 3
Prio=3
Prio=1
Sharedresource 1
Prio=2
System ceiling
0
Execution time Critical section Blocking time
Task 2 Prio=2
System Priority
0
A task T1 can preempt another task T2 if prio(T1) > prio(T2) and prio(T1) > system ceiling
𝜋𝑠𝑠= 1
𝜋𝑠𝑠= 0
𝜋𝑠𝑠= 1
A task Ti is eligible to execute ifprio(Ti) > system priority
Maximum 𝜋𝑠𝑠
among all active tasks, i.e., started
and not completed
Task 1 is not blocked by Task 3 anymore, but Task 3 may be blocked by Task 1➔ we avoided thepriority inversion
anymore
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Configuring SRP-SS
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Configuring SRP-SS
• New challenge:How do we assign values to the parameters 𝝅𝒔𝒔 in order to balance PI-blocking and blocking by self-suspensions?
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Configuring SRP-SS
• New challenge:How do we assign values to the parameters 𝝅𝒔𝒔 in order to balance PI-blocking and blocking by self-suspensions?
• A schedulability test and an iterative configuration algorithm is presented in the paper
• Effective but not optimal
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Configuring SRP-SS
• New challenge:How do we assign values to the parameters 𝝅𝒔𝒔 in order to balance PI-blocking and blocking by self-suspensions?
• A schedulability test and an iterative configuration algorithm is presented in the paper
• Effective but not optimal
• If all 𝜋𝑠𝑠=0, then SRP-SS is identical to SRP
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Configuring SRP-SS
• New challenge:How do we assign values to the parameters 𝝅𝒔𝒔 in order to balance PI-blocking and blocking by self-suspensions?
• A schedulability test and an iterative configuration algorithm is presented in the paper
• Effective but not optimal
• If all 𝜋𝑠𝑠=0, then SRP-SS is identical to SRP
• ➔ SRP-SS dominates SRP
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Results
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Results
SRPsimple analysis
Ideal locking protocol
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Results
SRPsimple analysis
SRPimproved analysis
Ideal locking protocol
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Results
SRPsimple analysis
SRPimproved analysis
SRP-SS
Ideal locking protocol
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Results
SRPsimple analysis
SRPimproved analysis
SRP-SS
Ideal locking protocol
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Conclusion
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Conclusion
• We developed a new response time analysis forself-suspending tasks using SRP
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Conclusion
• We developed a new response time analysis forself-suspending tasks using SRP
• We extended SRP to limit the number of priority inversions self-suspending tasks may suffer
• Adding one task parameter and system priority
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Conclusion
• We developed a new response time analysis forself-suspending tasks using SRP
• We extended SRP to limit the number of priority inversions self-suspending tasks may suffer
• Adding one task parameter and system priority
• The SRP-SS dominates the SRP
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
CISTER – Research Centre in
Real-Time & Embedded Computing Systems
Conclusion
• We developed a new response time analysis forself-suspending tasks using SRP
• We extended SRP to limit the number of priority inversions self-suspending tasks may suffer
• Adding one task parameter and system priority
• The SRP-SS dominates the SRP
• We propose a configuration algorithm of theSRP-SS to balance PI-blocking and interference suffered by low priority tasks