Using Randomized Caches in Probabilistic Real-Time Systems
Source: University of Massachusetts
While hardware caches are generally effective at improving application performance, they greatly complicate performance prediction. Slight changes in memory layout or data access patterns can lead to large and systematic increases in cache misses, degrading performance. In the worst case, these misses can effectively render the cache useless. These pathological cases, or "Cache risk patterns", are difficult to predict, test or debug, and their presence limits the usefulness of caches in safety critical real-time systems, especially in hard real-time environments. In this paper, the authors explore the effect of randomized cache replacement policies in real-time systems with stringent timing constrains.