rtss 2018 – 39th ieee real-time systems...

Post on 22-Jul-2020

1 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related