Flexible Cache Partitioning for Multi-Mode Real-Time Systems
Ohchul Kwon1,a, Gero Schwäricke1,b, Tomasz Kloda1,c, Denis Hoornaert1,d, Giovani Gracioli2 and Marco Caccamo1,e
1Technical University of Munich
aohchul.kwon@tum.de
bgero.schwaericke@tum.de
ctomasz.kloda@tum.de
ddenis.hoornaert@tum.de
emcaccamo@tum.de
2Federal University of Santa Catarina
giovani@lisha.ufsc.br
ABSTRACT
Cache partitioning is a well-studied technique that mitigates the inter-processor cache interference in multiprocessor systems. The resulting optimization problem involves allocating portions of the cache to individual processors. In multi-mode applications (e.g., flight control system that runs in take-off, cruise, or landing mode), the cache memory requirement can change over time, making runtime cache repartitioning necessary. This paper presents a cache partition allocation framework enabling flexible cache partitioning for multi-mode real-time systems. The main objective is to guarantee timing predictability in the steady states and during mode changes. We evaluate the effectiveness of our approach for multiple embedded benchmarks with different ranges of cache size sensitivity. The results show increased schedulability compared to static partitioning approaches.
Keywords: Cache Partitioning, Mode Change, Real-Time.