Deterministic Memory Abstraction and Supporting Cache Architecture for Real-Time Systems

07/17/2017
by   Farzad Farshchi, et al.
0

Poor timing predictability of multicore processors has been a long-standing challenge in the real-time systems community. In this paper, we make a case that a fundamental problem that prevents efficient and predictable real-time com- puting on multicore is the lack of a proper memory abstraction to express memory criticality, which cuts across various layers of the system: the application, OS, and hardware. We therefore propose a new holistic resource management approach driven by a new memory abstraction, which we call Deterministic Memory. The key characteristic of deterministic memory is that the platform - the OS and hardware - guarantees small and tightly bounded worst-case memory access timing. In contrast, we call the conventional memory abstraction as best-effort memory in which only highly pessimistic worst-case bounds can be achieved. We present how the two memory abstractions can be realized with small extensions to existing OS and hardware architecture. In particular, we show the potential benefits of our approach in the context of shared cache management, by presenting a deterministic memory-aware cache architecture and its manage- ment scheme. We evaluate the effectiveness of the deterministic memory-aware cache management approach compared with a conventional way-based cache partitioning approach, using a set of synthetic and real benchmarks. The results show that our approach achieves (i) the same degree of temporal determinism of traditional way-based cache partitioning for deterministic memory, (ii) while freeing up to 49 best-effort memory, and consequently improving the cache hit rate by 39 average, for non-real-time workloads. We also discuss how the deterministic memory abstraction can be leveraged in other parts of the memory hierarchy, particularly in the memory controller.

READ FULL TEXT
research
07/17/2017

Deterministic Memory Abstraction and Supporting Multicore System Architecture

Poor timing predictability of multicore processors has been a long-stand...
research
03/22/2019

A WCET-aware cache colouring technique for reducing interference in real-time systems

The predictability of a system is the condition to give saferbound on wo...
research
12/16/2013

Cache-aware static scheduling for hard real-time multicore systems based on communication affinities

The growing need for continuous processing capabilities has led to the d...
research
04/12/2011

Deterministic Real-time Thread Scheduling

Race condition is a timing sensitive problem. A significant source of ti...
research
03/22/2019

A WCET-aware cache coloring technique for reducing interference in real-time systems

The predictability of a system is the condition to give saferbound on wo...
research
05/21/2020

Memory-Aware Denial-of-Service Attacks on Shared Cache in Multicore Real-Time Systems

In this paper, we identify that memory performance plays a crucial role ...
research
11/05/2018

Fast and exact analysis for LRU caches

For applications in worst-case execution time analysis and in security, ...

Please sign up or login with your details

Forgot password? Click here to reset