CPSLab Cyber-Physical Systems Lab, Boston University

Publications Memory & Shared-Resource Management

MemPol: Polling-Based Microsecond-Scale Per-Core Memory Bandwidth Regulation

Alexander Zuepke, Andrea Bastoni, Weifan Chen, Marco Caccamo, Renato Mancuso

Real-Time Systems, May 2024

Read the PDF Code and artifacts Cite

Fig. 2 MemPol architecture. Applications cores c 0 to c 3 are regulated by an external controller logic that accesses the application cores’ PMU counters as memory-mapped devices and that halts the cores via their debug interfaces.

Abstract

In today’s multiprocessor systems-on-a-chip (MPSoC), the shared memory subsystem is a known source of temporal interference. The problem causes logically independent cores to affect each other’s performance, leading to pessimistic worst-case execution time (WCET) analysis. One of the most practical techniques to mitigate interference is memory regulation via throttling. Traditional regulation schemes rely on a combination of timer and performance counter interrupts to be delivered and processed on the same cores running real-time workload. Unfortunately, to prevent excessive overhead, regulation can only be enforced at a millisecond-scale granularity. In this work, we present a novel regulation mechanism from outside the cores that monitors performance counters for the application core’s activity in main memory at a microsecond scale. The approach is fully transparent to the applications on the cores, and can be implemented using widely available on-chip debug facilities. The presented mechanism also allows more complex composition of metrics to enact load-aware regulation. For instance, it allows redistributing unused bandwidth between cores while keeping the overall memory bandwidth of all cores below a given threshold. We implement our approach on a host of embedded platforms and carry out an in-depth evaluation on the Xilinx Zynq UltraScale+ ZCU102, NXP i.MX8M and NXP S32G2 platforms using the San Diego Vision Benchmark Suite.

Code and hardware artifacts

Cite this paper

@article{MemPol_RTSJ24,
  title     = {{MemPol: Polling-Based Microsecond-Scale Per-Core Memory Bandwidth Regulation}},
  author    = {Zuepke, Alexander and Bastoni, Andrea and Chen, Weifan and Caccamo, Marco and Mancuso, Renato},
  journal   = {Real-Time Systems},
  year      = 2024,
  month     = may,
  publisher = {Springer},
  url       = {https://cs-people.bu.edu/rmancuso/files/papers/MemPol_RTSJ24.pdf}
}

Download .bib