In multitasking real-time systems, the choice of scheduling algorithm is an important factor to ensure that response time requirements are met while maximising limited system resources. Two popular scheduling algorithms include fixed priority (FP) and earliest deadline first (EDF). While they have been studied in great detail before, they have not been compared when taking into account cache related pre-emption delays (CRPD). Memory and cache are split into a number of blocks containing instructions and data. During a pre-emption, cache blocks from the pre-empting task can evict those of the pre-empted task. When the pre-empted task is resumed, if it then has to re-load the evicted blocks, CRPD are introduced which then affect the schedulability of the task. In this paper we compare FP and EDF scheduling algorithms in the presence of CRPD using the state-of-the-art CRPD analysis. We find that when CRPD is accounted for, the performance gains offered by EDF over FP, while still notable, are diminished. Furthermore, we find that under scenarios that cause relatively high CRPD, task layout optimisation techniques can be applied to allow FP to schedule tasksets at a similar processor utilisation to EDF. Thus making the choice of the task layout in memory as important as the choice of scheduling algorithm. This is very relevant for industry, as it is much cheaper and simpler to adjust the task layout through the linker than it is to switch the scheduling algorithm.

BibTex Entry

@article{Lunniss2014,
 author = {W. Lunniss and S. Altmeyer and R.I. Davis},
 journal = {Leibniz Transactions on Embedded Systems (LITES)},
 month = {Apr},
 note = {http://ojs.dagstuhl.de/index.php/lites/article/view/LITES-v001-i001-a001},
 number = {1},
 pages = {1--24},
 title = {A Comparison between Fixed Priority and EDF Scheduling accounting for Cache Related Pre-emption Delays},
 volume = {1},
 year = {2014}
}