Toward a predictable and secure data cache algorithm: A cross-layer approach

Nowadays, the gap between processor and memory speed has grown enough to make the cache usage unavoidable in order to take real advantage of the processor's capabilities. Nevertheless, the data cache usage causes in the same time hard real-time and security concerns. As a consequence, some real-time compliant data cache algorithms have been developed. The goal of such algorithms is to reduce the WCET (Worst-Case Execution Time) of tasks. Unfortunately they have an impact on the system security, generating breaches in the tasks partitioning. This article contributes to the definition of a data cache algorithm meeting at the same time security and real-time requirements using a cross-layering approach between the underlying hardware and the running kernel. In order to contribute to such an algorithm, this article defines properties needed at the same time by hard real-time systems and partitioned secure systems.

[1]  Isabelle Puaut,et al.  Scratchpad memories vs locked caches in hard real-time systems: a quantitative comparison , 2007 .

[2]  Jason Mars,et al.  A cross-layer approach to heterogeneity and reliability , 2009, 2009 7th IEEE/ACM International Conference on Formal Methods and Models for Co-Design.

[3]  Mathai Joseph,et al.  Finding Response Times in a Real-Time System , 1986, Comput. J..

[4]  Reinhold Heckmann,et al.  Worst case execution time prediction by static program analysis , 2004, 18th International Parallel and Distributed Processing Symposium, 2004. Proceedings..

[5]  Jan Gustafsson,et al.  Static WCET Analysis of Real-Time Task-Oriented Code in Vehicle Control Systems , 2006, Second International Symposium on Leveraging Applications of Formal Methods, Verification and Validation (isola 2006).

[6]  R. Wilhelm,et al.  Predictability Considerations in the Design of Multi-Core Embedded Systems ∗ , 2010 .

[7]  John C. Wray An Analysis of Covert Timing Channels , 1992, J. Comput. Secur..

[8]  Isabelle Puaut,et al.  Scratchpad memories vs locked caches in hard real-time systems: a qualitative and quantitative comparison , 2006 .

[9]  Isabelle Puaut,et al.  Low-complexity algorithms for static cache locking in multitasking hard real-time systems , 2002, 23rd IEEE Real-Time Systems Symposium, 2002. RTSS 2002..

[10]  Björn Lisper,et al.  Data cache locking for higher program predictability , 2003, SIGMETRICS '03.

[11]  Colin Percival CACHE MISSING FOR FUN AND PROFIT , 2005 .

[12]  Björn Lisper,et al.  Data caches in multitasking hard real-time systems , 2003, RTSS 2003. 24th IEEE Real-Time Systems Symposium, 2003.

[13]  Kelvin D. Nilsen,et al.  Cache Issues in Real-Time Systems , 1994 .

[14]  Khaled Ben Letaief,et al.  Cross-Layer Scheduling and Power Control Combined With Adaptive Modulation for Wireless Ad Hoc Networks , 2007, IEEE Transactions on Communications.

[15]  Frank Mueller,et al.  Bounding worst-case data cache behavior by analytically deriving cache reference patterns , 2005, 11th IEEE Real Time and Embedded Technology and Applications Symposium.

[16]  Tulika Mitra,et al.  Exploring locking & partitioning for predictable shared caches on multi-cores , 2008, 2008 45th ACM/IEEE Design Automation Conference.