Task model for preemptive Systems Status Report Sebastian Altmeyer, Claire Maiza Saarland University RTSOPS 2011, Porto
In last year’s RTSOPS ... ... we talked about preemptive scheduling • Preempt task, if higher prior task available • Some task-sets are only schedulable preemptively T 1 T 2 = Preemption Cost = Task Activation
... and preemption cost To cause an additional reload, a memory block must be • cached at point P • reused after point P • evicted due to preemption at P } ¬ cached load a cached ∧ reused { evicted? load a } ¬ reused Cost depends on preemption point , preempting task and total number of preemptions .
In last year’s RTSOPS ... ... we discussed different task models C i execution demand T i period with preemption costs? • included in C i • global bound on the preemption cost of task i • distinguish cost for first and second and ... preemption • include the effect of the preempting task • consider only preempting task • precise preemption point considered
In last year’s RTSOPS ... ... we presented some open Problems • How high is the inherent imprecision of a task model ? • What is a good trade off between precision and complexity based on the task model? • How to integrate such detailed information in the schedulability analysis? Can we adapt system and/or schedule?
First Step: Which taskmodels are used? and how? Tasks Period, Priorities Timing Analysis Task Model Schedulability Analysis Yes/No basic verification process; valid if • preemption cost neglected • C i contains preemption costs • global bound on the preempting cost for all preemption scenarios
Verification Processes A scheduling test may use different task models: Period, Priorities Tasks Timing Analysis Task Model Precomputation Derived Task Model Schedulability Analysis Yes/No No clear separation between timing analysis/scheduling analysis
Verification Processes A scheduling test may use different task models: Period, Priorities Tasks Timing Analysis Task Model Precomputation Derived Task Model Schedulability Analysis Yes/No No clear separation between timing analysis/scheduling analysis Example: preemption cost p i , j of task τ i preempted by task τ j used; deriving all combination of i , j a priori computationally infeasible
Verification Processes A scheduling test may use different task models: Period, Priorities Tasks Timing Analysis Task Model Precomputation Derived Task Model Schedulability Analysis Yes/No No clear separation between timing analysis/scheduling analysis Example: global preemption cost depends on # of preemption depends on response time depends on global preemption cost depends on . . .
Which taskmodels were this far used? Liu & Layland [4] and many more No preemption cost at all; preemption cost as part of execution time bound Lee et al. [3]; Lei Ju et al. [2] Preemption cost of preempting task for a single preemption Busquets & Wellings [1]; Tomiyama & Dutt [7] Preemption cost incurred due to preempting task Tan & Mooney [6] Preemption cost of task τ i preempted by task τ j Staschulat et al. [5] Preemption cost for n th preemption of task τ i preempted by task τ j
Precision: Preemption: Task τ i is preempted at program point p by task τ j . Preemption Point Varying between 0 and number of cache blocks Preempting Task All cache blocks of τ i may be reused—or none Preempted Task Task τ j evicts all reused cache blocks of τ i —or none But how to classify/measure this variation?
Precision of Task Models Depends strongly on cache contention: All tasks together fit in the cache • no cache misse due to preemptions • analyses based on preempted task and preempting task are precise • analyses based on one side only are overly pessimistic Each task alone fills the whole cache • analyses based on preempted task are precise • analyzing both preempted/preempting task brings no advantage • analyses based on preempting task are overly pessimistic Depends also on the structure of the tasks
So what next? To get an idea on the precision of the task models and their usefulness: Extensive evaluation based on • benchmark suites • randomly generated task sets/cache behaviors Formalizing theoretical bounds/dependencies; deriving an (half)-order on the precision of the task models .... besides the other problems in this context.
So what next? To get an idea on the precision of the task models and their usefulness: Extensive evaluation based on • benchmark suites • randomly generated task sets/cache behaviors Formalizing theoretical bounds/dependencies; deriving an (half)-order on the precision of the task models .... besides the other problems in this context. Thanks for your attention!
References J. V. Busquets-Mataix, J. J. Serrano, R. Ors, P. Gil, and A. Wellings. Adding instruction cache effect to schedulability analysis of preemptive real-time systems. In Proceedings RTAS , pages 204–212, 1996. Lei Ju, Samarjit Chakraborty, and Abhik Roychoudhury. Accounting for cache-related preemption delay in dynamic priority schedulability analysis. In Proceedings of the conference on Design, automation and test in Europe (DATE’07) , pages 1623–1628, San Jose, CA, USA, 2007. EDA Consortium. C.-G. Lee, J. Hahn, Y.-M. Seo, S.L. Min, R. Ha, S. Hong, C. Y. Park, M. Lee, and C. S. Kim. Analysis of cache-related preemption delay in fixed-priority preemptive scheduling. IEEE Transactions on Computers , 47(6):700–713, 1998. C. L. Liu and James W. Layland. Scheduling algorithms for multiprogramming in a hard-real-time environment. volume 20, pages 46–61, New York, NY, USA, 1973. ACM. J. Staschulat, S. Schliecker, and R. Ernst. Scheduling analysis of real-time systems with precise modeling of cache related preemption delay. In Proceedings ECRTS , 2005. Y. Tan and V. Mooney. Timing analysis for preemptive multi-tasking real-time systems with caches. Trans. on Embedded Computing Sys. , 6(1), 2007. H. Tomiyama and N. D. Dutt. Program path analysis to bound cache-related preemption delay in preemptive real-time systems. In Proceedings CODES , pages 67–71, 2000.
Recommend
More recommend