Schedulability Analysis and Software Synthesis for Graph-based Task Models with Resource Sharing Jakaria Abdullah , Gaoyang Dai, Morteza Mohaqeqi, Wang Yi Uppsala University April 13, 2018
Outline Problem Problem 1 Algorithm Evaluation Synthesis Algorithm 2 Conclusion Evaluation 3 4 Synthesis Conclusion 5 RTAS18 Dept. of Information Technology - 2 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Outline Problem Problem 1 Algorithm Evaluation Synthesis Algorithm 2 Conclusion Evaluation 3 4 Synthesis Conclusion 5 RTAS18 Dept. of Information Technology - 3 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Graph-based Task Model Motivation Problem • Execute different functions in different contexts Algorithm • Model multi-rate execution Evaluation Synthesis General Features Conclusion • Supports different jobtypes • Uses graph as release pattern Applications • Stateflow blocks of Simulink • Angle-synchronous task (automotive) • Frame processing (multimedia) RTAS18 Dept. of Information Technology - 4 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Digraph Real-Time (DRT) Task Model (Stigge et al, RTAS 2011) Features • Arbitrary directed graph as sporadic release pattern Problem Algorithm • Generalizes graph-based task models like Generalized Evaluation MultiFrame (GMF), Recurring Branching (RB), . . . Synthesis Conclusion � 4 , 20 � minimum inter-release <WCET, deadline> J 2 10 20 J 1 J 3 10 20 � 2 , 10 � � 1 , 20 � 10 15 J 4 � 3 , 15 � RTAS18 Dept. of Information Technology - 5 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
What about resource sharing? Resource sharing • Sharing memory for inter-task communication Problem • Original DRT model supports Algorithm Evaluation • Fully preemptive execution - no resource sharing Synthesis • Fully non-preemptive execution - all jobs can share Conclusion RTAS18 Dept. of Information Technology - 6 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
What about resource sharing? Resource sharing • Sharing memory for inter-task communication Problem • Original DRT model supports Algorithm Evaluation • Fully preemptive execution - no resource sharing Synthesis • Fully non-preemptive execution - all jobs can share Conclusion Observation In a multi-periodic system all jobs of a task do not require resource sharing Producer t Consumer t RTAS18 Dept. of Information Technology - 6 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Communication-by-Sampling Oversampling in Communication Problem Reuse old data for slower producer Algorithm Producer Evaluation t Synthesis Consumer Conclusion t Undersampling in Communication Write data only for potential reader Producer t Consumer t RTAS18 Dept. of Information Technology - 7 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Our Proposal Resource sharing DRT • DRT with Preemptive + Non-preemptive execution Problem Algorithm • Resource sharing jobtypes - non-preemptive execution Evaluation • Other jobtypes - preemptive execution Synthesis Conclusion � 4 , 20 � non-preemptive J 2 10 20 J 1 J 3 20 � 2 , 10 � � 1 , 20 � 10 15 J 4 � 3 , 15 � RTAS18 Dept. of Information Technology - 8 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Schedulability Analysis Settings • DRT tasks with preemptive + non-preemptive jobs Problem Algorithm • Fixed task-level unique priority Evaluation • Constrained deadline Synthesis • Uniprocessor Conclusion Existing analysis 1 Fully preemptive execution (Stigge et al. 13) 2 Fully non-preemptive execution (Stigge et al. 15) Research question Does mixed execution require new analysis? Let’s look deep RTAS18 Dept. of Information Technology - 9 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Preemptive Vs. Non-preemptive Fully Preemptive Case Problem • Lower priority has no effect on higher priority execution Algorithm • Critical instant : Simultaneous release of all higher Evaluation priority tasks Synthesis Conclusion H Task1 t H Task2 t L Task t Worst-case RTAS18 Dept. of Information Technology - 10 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Preemptive Vs. Non-preemptive Fully Non-preemptive Case • Lower priority can push execution of higher priority Problem • First job released in critical instant does not give Algorithm Evaluation worst-case situation Synthesis • Requires checking multiple jobs in continuously busy Conclusion execution interval known as busy window (BW) H Task t M Task t L Task t BW RTAS18 Dept. of Information Technology - 11 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Preemptive Vs. Non-preemptive Preemptive Job Test Problem Response time Algorithm Evaluation t r d Interference Synthesis Conclusion t Non-preemptive Job Test Interference t r Start time Latest start d t RTAS18 Dept. of Information Technology - 12 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Challenges in our case Preemptive job in mixed execution Problem • DRT releases different jobtypes following different Algorithm paths Evaluation • Predecessor jobs can be non-preemptive Synthesis • Interfering jobs (other tasks) can be non-preemptive Conclusion • BW analysis for non-preemptive job will not work • Requires new BW based analysis Busy window • Exact length of worst-case BW for a job is unknown • Need to check different intervals to see whether a job under test can be part of a BW RTAS18 Dept. of Information Technology - 13 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Contributions Problem Algorithm Timing Analysis Evaluation Synthesis An exact test for fixed priority schedulability analysis of Conclusion DRT task with preemptive + non-preemptive execution Software Synthesis Ada code synthesis of DRT tasks with resource sharing RTAS18 Dept. of Information Technology - 14 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Outline Problem Problem 1 Algorithm Evaluation Synthesis Algorithm 2 Conclusion Evaluation 3 4 Synthesis Conclusion 5 RTAS18 Dept. of Information Technology - 15 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Algorithm Main Idea Problem Algorithm • Different BW based analysis for preemptive and Evaluation non-preemptive jobs Synthesis • Start with an interval for smallest possible BW Conclusion • Check whether the job under test can finish (preemptive) or start (non-preemptive) within it • Increment the interval to include predecessor jobs until it reaches upper bound on BW length • If a job passes all possible scenario, it is schedulable • If all jobs of a task pass, the task is schedulable RTAS18 Dept. of Information Technology - 16 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Algorithm Step 1 Preemptive Job Problem Initialization Algorithm Start with scheduling window of job under test J as Evaluation potential busy window (PBW) Synthesis Conclusion J release J deadline t PBW RTAS18 Dept. of Information Technology - 17 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Algorithm Step 2 Preemptive Job Problem Algorithm Workload Computation Evaluation Compute total workload TW = (High priority interference + Synthesis Non-preemptive blocking + task under test) in PBW Conclusion RTAS18 Dept. of Information Technology - 18 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Algorithm Step 2 Preemptive Job Problem Algorithm Workload Computation Evaluation Compute total workload TW = (High priority interference + Synthesis Non-preemptive blocking + task under test) in PBW Conclusion Workload Abstraction Use path based workload abstraction for DRT tasks (Stigge et al. 13) RTAS18 Dept. of Information Technology - 18 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Request Functions � 4 , 20 � J 2 Problem 10 20 Algorithm Evaluation J 1 J 3 20 Synthesis � 2 , 10 � � 1 , 20 � Conclusion 10 15 J 4 � 3 , 15 � rf ( t ) 10 8 rf ( J 1 , J 2 , J 3 ) 6 4 2 t 0 0 5 10 15 20 25 30 35 40 RTAS18 Dept. of Information Technology - 19 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Workload Abstraction Over-approximation Problem rf ( t ) Algorithm rf 2 Evaluation rf 1 Synthesis Conclusion t RTAS18 Dept. of Information Technology - 20 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Workload Abstraction Over-approximation Problem rf ( t ) rf 1 ⊔ rf 2 Algorithm rf 2 Evaluation rf 1 Synthesis Conclusion t RTAS18 Dept. of Information Technology - 20 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Workload Abstraction Over-approximation Problem rf ( t ) rf 1 ⊔ rf 2 Algorithm rf 2 Evaluation rf 1 Synthesis Conclusion t Abstraction tree mrf Maximum of all rf ( T ) ( t ) for a task T Abstract rf ( T ) ( t ) s Concrete rf ( T ) ( t ) s rf 1 rf 2 rf 3 rf 4 RTAS18 Dept. of Information Technology - 20 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Algorithm Step 2 Preemptive Job Workload Computation Compute total workload TW = (High priority interference + Problem Non-preemptive blocking + task under test) in PBW Algorithm Evaluation Synthesis Conclusion Higher priority t Task under test t Lower priority t BW Maximum Blocking 1 One lower priority blocking per BW 2 Longest lower priority non-preemptive job maximizes RTAS18 Dept. of Information Technology - 21 - Jakaria Abdullah | jakaria.abdullah@it.uu.se
Recommend
More recommend