Real-time multi-core systems face significant challenges in ensuring predictable memory access due to shared resources like caches and DRAM. Memory unpredictability, exacerbated by inter-core interference, undermines Worst Case Execution Time (WCET) analysis, leading to pessimistic upper bounds. Memory bandwidth regulation is a promising solution to mitigate memory unpredictability in real-time multi-core systems, offering simplicity through minimal software modifications. However, its practical adoption faces challenges: regulation overhead can disrupt task execution, while aggressive frequency boosting to achieve finer-grained regulation may overwhelm the CPUs. Existing approaches often rely on heterogeneous platforms or specialized hardware to circumvent these issues, but such solutions compromise portability and scalability. This thesis introduces a novel, portable solution that leverages the JTAG debug interface, a widely available hardware feature, to regulate memory bandwidth externally, without altering the target system’s hardware or software. Building on this framework, we implement one state-of-the-art regulation algorithm, MemGuard, and then propose MemAdapt, our novel regulation algorithm tailored for the framework. Experimental results demonstrate the applicability of the proposed solution on widely available but scarcely documented platforms, such as the Raspberry Pi 4 B, achieving effective regulation with minimal overhead.

I sistemi real-time multi-core affrontano sfide significative nel garantire predicibilità degli accessi alla memoria a causa di risorse condivise come cache e DRAM. L'impredicibilità della memoria, aggravata dalle interferenze tra core, compromette l'analisi del Worst Case Execution Time (WCET), stimando limiti superiori eccessivamente pessimisti. La regolazione della banda di memoria è una soluzione promettente per mitigare l'impredicibilità della memoria nei sistemi real-time multi-core, offrendo semplicità tramite modifiche minime al software. Tuttavia, la sua adozione pratica presenta alcune criticità: l'overhead della regolazione può interferire con l'esecuzione dei task, mentre aumentare aggressivamente la frequenza per ottenere una regolazione a grana più fine può sovraccaricare le CPU. Gli approcci preesistenti si basano spesso su piattaforme eterogenee o su hardware specializzato per aggirare questi problemi, ma tali soluzioni compromettono la portabilità e scalabilità. Questa tesi introduce una soluzione innovitiva e portabile che sfrutta l'interfaccia di debug JTAG, una funzionalità hardware ampiamente disponibile, per regolare esternamente la banda di memoria, senza modificare l'hardware o il software del sistema target. Partendo da questo framework, implementiamo un algoritmo di regolazione allo stato dell'arte, MemGuard, e proponiamo successivamente MemAdapt, il nostro algoritmo di regolazione progettato specificamente per il framework. I risultati sperimentali dimostrano l'applicabilità della soluzione proposta su piattaforme ampiamente disponibili ma scarsamente documentate, come il Raspberry Pi 4 B, ottenendo una regolazione efficace con overhead minimo.

A JTAG-based memory bandwidth regulation approach for predictable multi-core real-time systems

AIELLO, FRANCESCO
2024/2025

Abstract

Real-time multi-core systems face significant challenges in ensuring predictable memory access due to shared resources like caches and DRAM. Memory unpredictability, exacerbated by inter-core interference, undermines Worst Case Execution Time (WCET) analysis, leading to pessimistic upper bounds. Memory bandwidth regulation is a promising solution to mitigate memory unpredictability in real-time multi-core systems, offering simplicity through minimal software modifications. However, its practical adoption faces challenges: regulation overhead can disrupt task execution, while aggressive frequency boosting to achieve finer-grained regulation may overwhelm the CPUs. Existing approaches often rely on heterogeneous platforms or specialized hardware to circumvent these issues, but such solutions compromise portability and scalability. This thesis introduces a novel, portable solution that leverages the JTAG debug interface, a widely available hardware feature, to regulate memory bandwidth externally, without altering the target system’s hardware or software. Building on this framework, we implement one state-of-the-art regulation algorithm, MemGuard, and then propose MemAdapt, our novel regulation algorithm tailored for the framework. Experimental results demonstrate the applicability of the proposed solution on widely available but scarcely documented platforms, such as the Raspberry Pi 4 B, achieving effective regulation with minimal overhead.
ING - Scuola di Ingegneria Industriale e dell'Informazione
26-mar-2026
2024/2025
I sistemi real-time multi-core affrontano sfide significative nel garantire predicibilità degli accessi alla memoria a causa di risorse condivise come cache e DRAM. L'impredicibilità della memoria, aggravata dalle interferenze tra core, compromette l'analisi del Worst Case Execution Time (WCET), stimando limiti superiori eccessivamente pessimisti. La regolazione della banda di memoria è una soluzione promettente per mitigare l'impredicibilità della memoria nei sistemi real-time multi-core, offrendo semplicità tramite modifiche minime al software. Tuttavia, la sua adozione pratica presenta alcune criticità: l'overhead della regolazione può interferire con l'esecuzione dei task, mentre aumentare aggressivamente la frequenza per ottenere una regolazione a grana più fine può sovraccaricare le CPU. Gli approcci preesistenti si basano spesso su piattaforme eterogenee o su hardware specializzato per aggirare questi problemi, ma tali soluzioni compromettono la portabilità e scalabilità. Questa tesi introduce una soluzione innovitiva e portabile che sfrutta l'interfaccia di debug JTAG, una funzionalità hardware ampiamente disponibile, per regolare esternamente la banda di memoria, senza modificare l'hardware o il software del sistema target. Partendo da questo framework, implementiamo un algoritmo di regolazione allo stato dell'arte, MemGuard, e proponiamo successivamente MemAdapt, il nostro algoritmo di regolazione progettato specificamente per il framework. I risultati sperimentali dimostrano l'applicabilità della soluzione proposta su piattaforme ampiamente disponibili ma scarsamente documentate, come il Raspberry Pi 4 B, ottenendo una regolazione efficace con overhead minimo.
File allegati
File Dimensione Formato  
2026_03_Aiello.pdf

accessibile in internet per tutti

Descrizione: Tesi
Dimensione 2.16 MB
Formato Adobe PDF
2.16 MB Adobe PDF Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/252986