timely fine-grained interference-sensitive run-time adaptation of...
TRANSCRIPT
![Page 1: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/1.jpg)
Institut de Recherche en Informatique et Systèmes Aléatoires
Stefanos Skalistis, Angeliki Kritikakou
Timely Fine-grained Interference-sensitive Run-time Adaptation of Time-triggered Schedules
December 2019RTSS 2019
![Page 2: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/2.jpg)
Time-critical systems
Embedded systems:
29/04/2020 2
![Page 3: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/3.jpg)
Time-critical systems
Embedded systems:• perform a set of tasks• within certain amount of time (deadlines).
Task 1Task 1Task n
Deadline 5 sec7 sec3 sec
29/04/2020 2
![Page 4: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/4.jpg)
Time-critical systems
Embedded systems:• perform a set of tasks• within certain amount of time (deadlines).
Typical Application Domains:• Avionics (Fly-by-wire)• Automotive (Airbag)• Medical (X-Ray)• Power Production (Nuclear)
Task 1Task 1Task n
Deadline 5 sec7 sec3 sec
29/04/2020 2
![Page 5: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/5.jpg)
Time-critical systems
Embedded systems:• perform a set of tasks• within certain amount of time (deadlines).
Typical Application Domains:• Avionics (Fly-by-wire)• Automotive (Airbag)• Medical (X-Ray)• Power Production (Nuclear)
Task 1Task 1Task n
Deadline 5 sec7 sec3 sec
29/04/2020 2… enormous impact on everyday life and society!
![Page 6: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/6.jpg)
Motivation
Scalability via parallelization:• Cloud applications• Mobile applications
Time-critical systems:• Time guarantees rely on Worst Case Execution Time (WCET)
29/04/2020 3
![Page 7: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/7.jpg)
Motivation
Scalability via parallelization:• Cloud applications• Mobile applications
Time-critical systems:• Time guarantees rely on Worst Case Execution Time (WCET)• Timing Interferences due to arbitrated resource sharing
“One-out-of-m processor” problem:#Cores increase ⇒ Sequential schedules better than parallel
29/04/2020 3
![Page 8: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/8.jpg)
Timing interference
Interference affects Worst-Case Execution Time (WCET):• Task deadline• Latency guarantees
29/04/2020 4
![Page 9: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/9.jpg)
Timing interference
Interference affects Worst-Case Execution Time (WCET):• Task deadline• Latency guarantees
WCET = WCETiso + Worst-Case Interference
29/04/2020 4
![Page 10: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/10.jpg)
Timing interference
Interference affects Worst-Case Execution Time (WCET):• Task deadline• Latency guarantees
WCET = WCETiso + Worst-Case InterferenceExample:
• Four identical tasks• Interference delay (1 time unit)
v1WCETiso WCMA
3 1v2v3v4
29/04/2020 4
![Page 11: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/11.jpg)
Timing interference
Interference affects Worst-Case Execution Time (WCET):• Task deadline• Latency guarantees
WCET = WCETiso + Worst-Case InterferenceExample:
• Four identical tasks• Interference delay (1 time unit)
Time1
Core3
Core2
2 3 4 5 6 7 8 9
WCETisoInterference
Core1 v1
v1WCETiso WCMA
3 1v2v3v4
29/04/2020 4
![Page 12: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/12.jpg)
Timing interference
Interference affects Worst-Case Execution Time (WCET):• Task deadline• Latency guarantees
WCET = WCETiso + Worst-Case InterferenceExample:
• Four identical tasks• Interference delay (1 time unit)
Time1
Core3
Core2
2 3 4 5 6 7 8 9
WCETisoInterference
Core1 v1
v2
v1WCETiso WCMA
3 1v2v3v4
29/04/2020 4
![Page 13: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/13.jpg)
Timing interference
Interference affects Worst-Case Execution Time (WCET):• Task deadline• Latency guarantees
WCET = WCETiso + Worst-Case InterferenceExample:
• Four identical tasks• Interference delay (1 time unit)
Time1
Core3
Core2
2 3 4 5 6 7 8 9
WCETisoInterference
Core1 v1
v2 v3
v1WCETiso WCMA
3 1v2v3v4
29/04/2020 4
![Page 14: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/14.jpg)
Timing interference
Interference affects Worst-Case Execution Time (WCET):• Task deadline• Latency guarantees
WCET = WCETiso + Worst-Case InterferenceExample:
• Four identical tasks• Interference delay (1 time unit)
Time1
Core3
Core2
2 3 4 5 6 7 8 9
WCETisoInterference
Core1 v1
v2 v4 v3
v1WCETiso WCMA
3 1v2v3v4
29/04/2020 4
![Page 15: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/15.jpg)
Timing interference
Interference affects Worst-Case Execution Time (WCET):• Task deadline• Latency guarantees
WCET = WCETiso + Worst-Case InterferenceExample:
• Four identical tasks• Interference delay (1 time unit)
Time1
Core3
Core2
2 3 4 5 6 7 8 9
WCETisoInterference
Core1 v1
v2 v4 v3
v1WCETiso WCMA
3 1v2v3v4
29/04/2020 4WCET can grow up to 7x WCETiso
![Page 16: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/16.jpg)
Interference-sensitive approaches
29/04/2020 5
Reduce impact of interference:isWCET = WCETiso + Interference(…)
![Page 17: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/17.jpg)
Interference-sensitive approaches
29/04/2020 5
Reduce impact of interference:isWCET = WCETiso + Interference(…)
Contention-free approaches:• Rely on spatio-temporal isolation to avoid interferences• E.g. Resource partitioning, PREM / AER-based
![Page 18: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/18.jpg)
Interference-sensitive approaches
29/04/2020 5
Reduce impact of interference:isWCET = WCETiso + Interference(…)
Contention-free approaches:• Rely on spatio-temporal isolation to avoid interferences• E.g. Resource partitioning, PREM / AER-based
Context-based approaches:• Rely on knowledge of upper-bound of interference
• A-priori limit of interference• Calculation of interference (Schedule, Co-runners, Task-overlapping)
• E.g. Budget-based, Analytical approaches
Such isWCET are valid only on the given context!
![Page 19: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/19.jpg)
Interference-sensitive approaches
29/04/2020 5
Reduce impact of interference:isWCET = WCETiso + Interference(…)
Contention-free approaches:• Rely on spatio-temporal isolation to avoid interferences• E.g. Resource partitioning, PREM / AER-based
Context-based approaches:• Rely on knowledge of upper-bound of interference
• A-priori limit of interference• Calculation of interference (Schedule, Co-runners, Task-overlapping)
• E.g. Budget-based, Analytical approaches
Such isWCET are valid only on the given context!Interference-sensitive rely on time-triggered execution
![Page 20: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/20.jpg)
Time-triggered (TT) Execution Model
Tasks: fixed start time• Tasks are executed precisely at that time
29/04/2020 6
τ2τ0
τ5τ1Core 1
Core 0
time
…
Cτ1
τ4
τ3
0 6 2 3 4 5 1 7
![Page 21: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/21.jpg)
Time-triggered (TT) Execution Model
Tasks: fixed start time• Tasks are executed precisely at that time
Scheduler:• Simply waits for the time to arrive
29/04/2020 6
τ2τ0
τ5τ1Core 1
Core 0
time
…
Cτ1
τ4
τ3
0 6 2 3 4 5 1 7
![Page 22: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/22.jpg)
Time-triggered (TT) Execution Model
Tasks: fixed start time• Tasks are executed precisely at that time
Scheduler:• Simply waits for the time to arrive
Very easy to implement:• Just Lookup table
29/04/2020 6
Core Task Time Next
κ0 τ0 2 τ2κ1 τ1 0 τ5κ0 τ2 4 τ4κ1 τ3 6 τ1κ0 τ4 7 τ0κ1 τ5 3 τ3
τ2τ0
τ5τ1Core 1
Core 0
time
…
Cτ1
τ4
τ3
0 6 2 3 4 5 1 7
![Page 23: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/23.jpg)
isWCET will (almost) never happen
• Tasks rarely execute with WCETiso
• Interference is not increased
29/04/2020 7
τ2τ0
τ5τ1Core 1
Core 0
time
…
Cτ1
τ4
τ3
0 6 2 3 4 5 1 7
![Page 24: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/24.jpg)
isWCET will (almost) never happen
• Tasks rarely execute with WCETiso
• Interference is not increased
29/04/2020 7
τ2τ0
τ5τ1Core 1
Core 0
time
…
Cτ1
τ4
τ3
0 6 2 3 4 5 1 7
τ2τ0
τ5τ1Core 1
Core 0
time
…
τ4
τ3
0 6 2 3 4 5 1 7
![Page 25: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/25.jpg)
isWCET will (almost) never happen
• Tasks rarely execute with WCETiso
• Interference is not increased
Execution gaps ⇒ performance loss
29/04/2020 7
τ2τ0
τ5τ1Core 1
Core 0
time
…
Cτ1
τ4
τ3
0 6 2 3 4 5 1 7
τ2τ0
τ5τ1Core 1
Core 0
time
…
τ4
τ3
0 6 2 3 4 5 1 7
Idle time
![Page 26: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/26.jpg)
isWCET will (almost) never happen
• Tasks rarely execute with WCETiso
• Interference is not increased
Execution gaps ⇒ performance loss
• Execute less critical / sporadic tasks• Increase QoS• Increase Fault-tolerance
29/04/2020 7
τ2τ0
τ5τ1Core 1
Core 0
time
…
Cτ1
τ4
τ3
0 6 2 3 4 5 1 7
τ2τ0
τ5τ1Core 1
Core 0
time
…
τ4
τ3
0 6 2 3 4 5 1 7
Idle time
![Page 27: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/27.jpg)
isWCET will (almost) never happen
• Tasks rarely execute with WCETiso
• Interference is not increased
Execution gaps ⇒ performance loss
• Execute less critical / sporadic tasks• Increase QoS• Increase Fault-tolerance
29/04/2020 7
τ2τ0
τ5τ1Core 1
Core 0
time
…
Cτ1
τ4
τ3
0 6 2 3 4 5 1 7
τ2τ0
τ5τ1Core 1
Core 0
time
…
τ4
τ3
0 6 2 3 4 5 1 7
Idle time
Need for interference-sensitive run-time adaptation
![Page 28: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/28.jpg)
Interference Sensitive Run-time Adaptation
Given a TT-schedule how can we adapt:• Safely, without introducing timing-anomalies• Minimal overhead in terms of controller’s WCET and actual performance
29/04/2020 8
![Page 29: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/29.jpg)
Interference Sensitive Run-time Adaptation
Given a TT-schedule how can we adapt:• Safely, without introducing timing-anomalies• Minimal overhead in terms of controller’s WCET and actual performance
Distributed adaptation technique (isRA)
29/04/2020 8
![Page 30: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/30.jpg)
Interference Sensitive Run-time Adaptation
Given a TT-schedule how can we adapt:• Safely, without introducing timing-anomalies• Minimal overhead in terms of controller’s WCET and actual performance
Distributed adaptation technique (isRA)
29/04/2020 8
τ2τ0
τ5τ1Core 1
Core 0
time
…
τ4
τ3
0 6 2 3 4 5 1 7
![Page 31: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/31.jpg)
Interference Sensitive Run-time Adaptation
Given a TT-schedule how can we adapt:• Safely, without introducing timing-anomalies• Minimal overhead in terms of controller’s WCET and actual performance
Distributed adaptation technique (isRA)• Key Idea (safety): preserve the partial order of tasks
29/04/2020 8
τ2τ0
τ5τ1Core 1
Core 0
time
…
τ4
τ3
0 6 2 3 4 5 1 7
![Page 32: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/32.jpg)
Interference Sensitive Run-time Adaptation
Given a TT-schedule how can we adapt:• Safely, without introducing timing-anomalies• Minimal overhead in terms of controller’s WCET and actual performance
Distributed adaptation technique (isRA)• Key Idea (safety): preserve the partial order of tasks
29/04/2020 8
τ2τ0
τ5τ1Core 1
Core 0
time
…
τ4
τ3
0 6 2 3 4 5 1 7
![Page 33: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/33.jpg)
Interference Sensitive Run-time Adaptation
Given a TT-schedule how can we adapt:• Safely, without introducing timing-anomalies• Minimal overhead in terms of controller’s WCET and actual performance
Distributed adaptation technique (isRA)• Key Idea (safety): preserve the partial order of tasks
29/04/2020 8
τ2τ0
τ5τ1Core 1
Core 0
time
…
τ4
τ3
0 6 2 3 4 5 1 7
![Page 34: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/34.jpg)
Interference Sensitive Run-time Adaptation
Given a TT-schedule how can we adapt:• Safely, without introducing timing-anomalies• Minimal overhead in terms of controller’s WCET and actual performance
Distributed adaptation technique (isRA)• Key Idea (safety): preserve the partial order of tasks• Result: no additional interference can be introduced
29/04/2020 8
τ2τ0
τ5τ1Core 1
Core 0
time
…
τ4
τ3
0 6 2 3 4 5 1 7
![Page 35: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/35.jpg)
Encoding of scheduling dependencies
Distributed adaptation technique • Key Idea (overhead): encode timing dependencies in bit vectors • Result: minimal and tightly bounded checking time
29/04/2020 9
τ2τ0
τ5τ1Core 1
Core 0
time
…
τ4
τ3
0 6 2 3 4 5 1 7
![Page 36: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/36.jpg)
Encoding of scheduling dependencies
Distributed adaptation technique • Key Idea (overhead): encode timing dependencies in bit vectors • Result: minimal and tightly bounded checking time
29/04/2020 9
τ2τ0
τ5τ1Core 1
Core 0
time
…
τ4
τ3
0 6 2 3 4 5 1 7
Notification vectorReady vector
{11} (10)
{01} (11)
![Page 37: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/37.jpg)
Encoding of scheduling dependencies
Distributed adaptation technique • Key Idea (overhead): encode timing dependencies in bit vectors • Result: minimal and tightly bounded checking time
29/04/2020 9
τ2τ0
τ5τ1Core 1
Core 0
time
…
τ4
τ3
0 6 2 3 4 5 1 7
Notification vectorReady vector
{11} (10)
{01} (11)
{11} (11)
{11} (11)
![Page 38: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/38.jpg)
Encoding of scheduling dependencies
Distributed adaptation technique • Key Idea (overhead): encode timing dependencies in bit vectors • Result: minimal and tightly bounded checking time
29/04/2020 9
τ2τ0
τ5τ1Core 1
Core 0
time
…
τ4
τ3
0 6 2 3 4 5 1 7
Notification vectorReady vector
{11} (10)
{01} (11)
{11} (11)
{11} (11)
{11}
{11}
(11)
(11)
![Page 39: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/39.jpg)
isRA Operation
Key Idea: Reschedule as-soon-as-possible when tasks are ready
Three phases:
• Ready Phase: Continuously test if task is ready, according to status bit vector • Execute Phase: Execute the task
• Notify Phase: Notify other cores (through status) when tasks finish, according to the notify vector.
29/04/2020 10
![Page 40: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/40.jpg)
isRA Example
29/04/2020 11
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(01) (00)
(00)
status1: 00
status0: 00
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(01) (00)
(00)
status1: 00
status0: 01
Execution starts:• Core 0 executes τ0• Core 1 executes τ1
![Page 41: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/41.jpg)
isRA Example
29/04/2020 11
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(01) (00)
(00)
status1: 00
status0: 00
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(01) (00)
(00)
status1: 00
status0: 01
Execution starts:• Core 0 executes τ0• Core 1 executes τ1
Core 0 finishes:• Core 0 notifies respective cores
according to the notification vector – i.e. itself (01)
![Page 42: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/42.jpg)
isRA Example
29/04/2020 11
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(01) (00)
(00)
status1: 00
status0: 00
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(01) (00)
(00)
status1: 00
status0: 01
Execution starts:• Core 0 executes τ0• Core 1 executes τ1
Core 0 finishes:• Core 0 notifies respective cores
according to the notification vector – i.e. itself (01)
• Core 0 tests if τ2 is ready, by comparing its status with the ready mask.
![Page 43: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/43.jpg)
isRA Example
29/04/2020 11
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(01) (00)
(00)
status1: 00
status0: 00
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(01) (00)
(00)
status1: 00
status0: 01
Execution starts:• Core 0 executes τ0• Core 1 executes τ1
Core 0 finishes:• Core 0 notifies respective cores
according to the notification vector – i.e. itself (01)
• Core 0 tests if τ2 is ready, by comparing its status with the ready mask.
![Page 44: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/44.jpg)
isRA Example
29/04/2020 11
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(01) (00)
(00)
status1: 00
status0: 00
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(01) (00)
(00)
status1: 00
status0: 01
Execution starts:• Core 0 executes τ0• Core 1 executes τ1
Core 0 finishes:• Core 0 notifies respective cores
according to the notification vector – i.e. itself (01)
• Core 0 tests if τ2 is ready, by comparing its status with the ready mask.
![Page 45: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/45.jpg)
isRA Example
29/04/2020 12
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(01) (00)
(00)
status1: 00
status0: 01
![Page 46: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/46.jpg)
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(00)
(00)
status1: 10
status0: 11
(01)
isRA Example
29/04/2020 12
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(01) (00)
(00)
status1: 00
status0: 01
Core 1 finishes:
• Core 1 notifies respective cores according to the notification vector – i.e. both cores (11)
• Core 0 tests if τ2 is ready
• Core 1 tests if τ3 is ready
![Page 47: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/47.jpg)
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(00)
(00)
status1: 10
status0: 11
(01)
isRA Example
29/04/2020 12
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(01) (00)
(00)
status1: 00
status0: 01
Core 1 finishes:
• Core 1 notifies respective cores according to the notification vector – i.e. both cores (11)
• Core 0 tests if τ2 is ready
• Core 1 tests if τ3 is ready
![Page 48: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/48.jpg)
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(00)
(00)
status1: 10
status0: 11
(01)
isRA Example
29/04/2020 13
Both cores are ready:
![Page 49: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/49.jpg)
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00} (00)
(00)
status1: 00
status0: 00
(11)
(01)
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(00)
(00)
status1: 10
status0: 11
(01)
isRA Example
29/04/2020 13
Both cores are ready:• Reset the bits of their status
according to the ready mask• Execute their next tasks
![Page 50: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/50.jpg)
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00} (00)
(00)
status1: 00
status0: 00
(11)
(01)
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(00)
(00)
status1: 10
status0: 11
(01)
isRA Example
29/04/2020 13
Both cores are ready:• Reset the bits of their status
according to the ready mask• Execute their next tasks
Tasks τ1 and τ2 did not overlap!
![Page 51: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/51.jpg)
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00} (00)
(00)
status1: 00
status0: 00
(11)
(01)
τ2τ0
τ3τ1Core 1
Core 0
time
{00} {10}
{11}{00}
(11)
(00)
(00)
status1: 10
status0: 11
(01)
isRA Example
29/04/2020 13
Both cores are ready:• Reset the bits of their status
according to the ready mask• Execute their next tasks
Tasks τ1 and τ2 did not overlap!Thus guaranteeing no additional
interference
![Page 52: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/52.jpg)
Concurrency
Cores writes to other cores statuses: • Use of protection mechanism during writes • E.g. semaphores, mutexes, locks, etc.
Two flavours of isRA: • isRA-GLO (IEEE D&T): uses a single protection mechanism
• Critical sections are serialized ⇒ performance penalty • Easier Response Time Analysis
• isRA-FG (RTSS): uses multiple protection mechanism • Critical sections are parallelized ⇒ better performance • Harder Response Time Analysis
29/04/2020 14
![Page 53: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/53.jpg)
Theoretical Results
▪Parametric WCET for the phases • In terms of incoming / outgoing edges of task
▪ Including these cost up front is safe • Any scheduling algorithm can be used (as long as deadlines are met)
▪ isRA-FG is free from timing anomalies
29/04/2020 15
![Page 54: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/54.jpg)
Experimental results
▪ Target architecture: 8-core DSP TMS320C6678 ▪ Benchmarks: 3 applications from StreamIT, 18 different configurations
• 1x2, 1x4, 1x8: Single instance parallelized in 2, 4, 8 cores • 2x2, 4x4, 8x8: 2, 4, 8 parallel instances (each one sequential)
▪ WCET acquition: measurement-based with –O0 and without data-caches ▪ Data-placement: controller-data in MSM, app. data in main memory ▪ Evaluation criteria:
• Scalability in the number of cores • Comparison of parallel execution vs multiple sequential
29/04/2020 16
![Page 55: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/55.jpg)
Results: Single parallelized instance
29/04/2020 17
![Page 56: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/56.jpg)
Results: Single parallelized instance
29/04/2020 17isRA-FG improves TT performance by >50%
![Page 57: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/57.jpg)
Results: isRA-FG vs isRA-GLO
29/04/2020 18
![Page 58: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/58.jpg)
Results: isRA-FG vs isRA-GLO
29/04/2020 18isRA-FG outperforms isRA-GLO
![Page 59: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/59.jpg)
Results: Single vs Multiple instances
29/04/2020 19
![Page 60: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/60.jpg)
Results: Single vs Multiple instances
29/04/2020 19Multiple instances is better
![Page 61: Timely Fine-grained Interference-sensitive Run-time Adaptation of …2019.rtss.org/.../uploads/2020/05/217_Presentation.pdf · 2020. 5. 19. · isWCET = WCET iso + Interference(…)](https://reader035.vdocuments.net/reader035/viewer/2022071110/5fe4d8398f34031ee508f493/html5/thumbnails/61.jpg)
Thank You
Questions?
29/04/2020 20