CPSLab Cyber-Physical Systems Lab, Boston University

Publications Real-Time Virtualization

Deterministic Memory Hierarchy and Virtualization for Modern Multi-Core Embedded Systems

Tomasz Kloda, Marco Solieri, Renato Mancuso, Nicola Capodieci, Paolo Valente, Marko Bertogna

25th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2019), April 2019, Montreal, Canada

Read the PDF Publisher page (DOI) Cite

Fig. 1: Structure of a 4-way, 4-sets set-associative cache.

Abstract

One of the main predictability bottlenecks of modern multi-core embedded systems is contention for access to shared memory resources. Partitioning and software-driven allocation of memory resources is an effective strategy to mitigate contention in the memory hierarchy. Unfortunately, however, many of the strategies adopted so far can have unforeseen side-effects when practically implemented latest-generation, high-performance embedded platforms. Predictability is further jeopardized by cache eviction policies based on random replacement, targeting average performance instead of timing determinism. In this paper, we present a framework of software-based techniques to restore memory access determinism in high-performance embedded systems. Our approach leverages OStransparent and DMA-friendly cache coloring, in combination with an invalidation-driven allocation (IDA) technique. The proposed method allows protecting important cache blocks from (i) external eviction by tasks concurrently executing on different cores, and (ii) internal eviction by tasks running on the same core. A working implementation obtained by extending the Jailhouse partitioning hypervisor is presented and evaluated with a combination of synthetic and real benchmarks.

Cite this paper

@inproceedings{virtIDArtas19,
  title     = {{Deterministic Memory Hierarchy and Virtualization for Modern Multi-Core Embedded Systems}},
  author    = {Kloda, Tomasz and Solieri, Marco and Mancuso, Renato and Capodieci, Nicola and Valente, Paolo and Bertogna, Marko},
  booktitle = {25th IEEE Real-Time and Embedded Technology and Applications Symposium (RTAS 2019)},
  year      = 2019,
  month     = apr,
  pages     = {1--14},
  address   = {Montreal, Canada},
  doi       = {10.1109/RTAS.2019.00009},
  url       = {https://doi.org/10.1109/RTAS.2019.00009}
}

Download .bib