In hard real-time systems, cache partitioning is often suggested as a means of increasing the predictability of caches in pre-emptively scheduled systems: when a task is assigned its own cache partition, inter-task cache eviction is avoided, and timing verification is reduced to the standard worstcase execution time (WCET) analysis used in non-pre-emptive systems. The downside of cache partitioning is the potential increase in execution times. In this paper, we evaluate cache partitioning for hard realtime systems in terms of overall schedulability. To this end, we examine the sensitivity of task execution times to the size of the cache partition allocated and present a cache partitioning algorithm that is optimal with respect to taskset schedulability. We then evaluate the performance of cache partitioning compared to state-of-the-art pre-emption cost analysis based on benchmark code and on a large number of synthetic tasksets. This allows us to derive general conclusions about the usability of cache partitioning and identify taskset and system parameters that influence the relative eectiveness of cache partitioning.

BibTex Entry

@inproceedings{Altmeyer2014b,
 author = {S. Altmeyer and R. Douma and W. Lunniss and R.I. Davis},
 booktitle = {Euromicro Conference on Real-Time Systems (ECRTS)},
 month = {Jul},
 pages = {15--26},
 title = {Evaluation of Cache Partitioning for Hard Real-Time Systems},
 year = {2014}
}