Cache Related Pre-emption Delays in Embedded Real-Time Systems
William Richard Elgon Lunniss, 2014
Real-time systems are subject to stringent deadlines which make their temporal behaviour just as important as their functional behaviour. In multi-tasking real-time systems, the execution time of each task must be determined, and then combined together with information about the scheduling policy to ensure that there are enough resources to schedule all of the tasks. This is usually achieved by performing timing analysis on the individual tasks, and then schedulability analysis on the system as a whole.
In systems with cache, multiple tasks can share this common resource which can lead to cache-related pre-emption delays (CRPD) being introduced. CRPD is the additional cost incurred from resuming a pre-empted task that no longer has the instructions or data it was using in cache, because the pre-empting task(s) evicted them from cache. It is therefore important to be able to account for CRPD when performing schedulability analysis.
This thesis focuses on the effects of CRPD on a single processor system, further expanding our understanding of CRPD and ability to analyse and optimise for it. We present new CRPD analysis for Earliest Deadline First (EDF) scheduling that significantly outperforms existing analysis, and then perform the first comparison between Fixed Priority (FP) and EDF accounting for CRPD. In this comparison, we explore the effects of CRPD across a wide range of system and taskset parameters. We introduce a new task layout optimisation technique that maximises system schedulability via reduced CRPD. Finally, we extend CRPD analysis to hierarchical systems, allowing the effects of cache when scheduling multiple independent applications on a single processor to be analysed.
BibTex Entry
@phdthesis{PHD_Lunniss, author = {William Richard Elgon Lunniss}, day = {1}, keywords = {cache related pre-emption delay, real-time systems, schedulability analysis, fixed priority scheduling, earliest deadline first scheduling}, month = {September}, publisher = {University of York}, school = {University of York}, title = {Cache Related Pre-emption Delays in Embedded Real-Time Systems}, url = {http://etheses.whiterose.ac.uk/8162/}, year = {2014} }