Time-predictable multicore cache architectures

To enable multi-core computing for real-time systems, the time-predictability of multi-core caches must be improved. This paper explores several time-predictable instruction cache architectures to guarantee time predictability of instruction accesses by real-time threads without significantly impacting their performance (i.e., throughput). We propose a prioritized cache that gives priority to instructions of real-time threads while allowing all the threads to share the aggregate cache space. Also, we study a prioritized-partitioned cache to provide decent performance to non-real-time threads without compromising the time predictability of real-time threads. Our experiments indicate that the proposed time-predictable instruction cache architectures can be used for different real-time applications with various instruction access behaviors for balancing time predictability and performance.

[1]  Jakob Engblom,et al.  The worst-case execution-time problem—overview of methods and survey of tools , 2008, TECS.

[2]  Lothar Thiele,et al.  Design for Time-Predictability , 2004, Design of Systems with Predictable Behaviour.

[3]  Ravi R. Iyer,et al.  CQoS: a framework for enabling QoS in shared caches of CMP platforms , 2004, ICS '04.

[4]  Reinhard Wilhelm,et al.  Efficient and Precise Cache Behavior Prediction for Real-Time Systems , 1999, Real-Time Systems.

[5]  G. Edward Suh,et al.  A new memory monitoring scheme for memory-aware scheduling and partitioning , 2002, Proceedings Eighth International Symposium on High Performance Computer Architecture.

[6]  Yudong Tan,et al.  A Prioritized Cache for Multi- tasking Real-time Systems , 2004 .

[7]  James E. Smith,et al.  Virtual private caches , 2007, ISCA '07.

[8]  James H. Anderson,et al.  A Hybrid Real-Time Scheduling Approach for Large-Scale Multicore Platforms , 2007, 19th Euromicro Conference on Real-Time Systems (ECRTS'07).