Deterministic Memory Abstraction and Supporting Multicore System Architecture

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 computing 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 propose to utilize both abstractions to achieve high time predictability but without significantly sacrificing performance. We present deterministic memory-aware OS and architecture designs, including OS-level page allocator, hardware-level cache and DRAM controller designs. We implement the proposed OS and architecture extensions on Linux and gem5 simulator. Our evaluation results, using a set of synthetic and real-world benchmarks, demonstrate the feasibility and effectiveness of our approach.

READ FULL TEXT
research
07/17/2017

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

Poor timing predictability of multicore processors has been a long-stand...
research
10/16/2018

On the Off-chip Memory Latency of Real-Time Systems: Is DDR DRAM Really the Best Option?

Predictable execution time upon accessing shared memories in multi-core ...
research
04/12/2011

Deterministic Real-time Thread Scheduling

Race condition is a timing sensitive problem. A significant source of ti...
research
05/24/2022

The Next-Generation OS Process Abstraction

Operating Systems are built upon a set of abstractions to provide resour...
research
12/01/2021

CAMA: Energy and Memory Efficient Automata Processing in Content-Addressable Memories

Accelerating finite automata processing is critical for advancing real-t...
research
02/16/2023

Updates on the Low-Level Abstraction of Memory Access

Choosing the best memory layout for each hardware architecture is increa...
research
07/15/2022

Computing Execution Times with eXecution Decision Diagrams in the Presence of Out-Of-Order Resources

Worst-Case Execution Time (WCET) is a key component for the verification...

Please sign up or login with your details

Forgot password? Click here to reset