Heterogeneous Systems on Chip (HeSoCs) combine the benefits of multicore CPU performance with efficient high-throughput accelerators. Commercial Off the Shelf (COTS) HeSoCs are readily available IPs that system integrators can use to deploy their products at low cost. In most COTS HeSoCs, different compute units (CUs) -- like the main CPU cores and one or more accelerators -- share parts of the memory hierarchy, typically the last-level cache (LLC) and the main DRAM memory. In such systems the memory hierarchy is normally designed for best-effort performance, which might introduce unpredictable timing behavior for memory-intensive workloads (scenarios where the CUs cumulatively request up to 3 times the available bandwidth are not uncommon in modern HeSoCs). System bandwidth saturation ultimately translates in unpredictable slowdown of the tasks running. While this might be tolerable for general-purpose compute systems, this unpredictability makes the adoption of COTS HeSoC difficult in time-critical domains. Various memory interference mitigation techniques have been explored to tackle the problem, but they mostly focus on controlling individual components. We advocate that memory interference mitigation must account for the simultaneous operation of different types of CUs to properly reduce task slowdowns. First, in this thesis we present an exploration of how memory interference is generated in the memory hierarchy of modern HeSoCs. In particular, we differentiate between the various levels of the memory hierarchy at which interference can happen. CPU cores can access shared caches and the main memory, so they can interfere each other at multiple levels. We highlight three main causes for interference: i) true main memory sharing (interference); ii) mutual cache thrashing (cache evictions due to conflict misses in shared cache levels); iii) contention for hardare cache resource sharing in absence of evictions (cache congestion interference). Accelerators typically only interfere at the LLC and main memory level, but they are capable of generating much higher memory bandwidth requests compared to CPU cores, so they end up causing disproportionate slowdowns to CPU cores. Then, we introduce a control scheme capable of reducing the slowdown experienced by tasks running on COTS HeSoCs via memory bandwidth throttling. The first version of the control scheme combines an offline bandwidth characterization with online bandwidth probing to estimate how throttling the accelerators affects the slowdown that CPU tasks are subject to. It then throttles the accelerators to match an user requested maximum slowdown. With this setup, we observe that we are able to guarantee maximum slowdown requests with near-zero error (2%), while at the same time throttling the accelerators by the minimum amount that provides this guarantee, thus maximizing system bandwith utilization. Finally, we present an improved version of the control scheme capable of also throttling the CPU cores. Thanks to this, and the previous memory interference exploration, we are able to implement a hierarchical control scheme. This improved control scheme is able to reduce the slowdown that a CPU critical task is subject to on HeSoC by throttling both the accelerators and the CPU cores. It determines which of the three interference types a task is subject to, and it only throttles the appropriate components of the HeSoC to guarantee the maximum slowdown request of the user, keeping main memory utilization as high as possible.

I Sistemi on Chip Eterogenei (HeSoCs) combinano le CPU multicore con acceleratori efficienti e ad alto throughput. I Commercial Off the Shelf (COTS) HeSoC sono HeSoC a basso costo utilizzare da sviluppatori. Nella maggior parte dei COTS HeSoCs, i core della CPU e gli acceleratori (le unità di calcolo degli HeSoC) utilizzano una gerarchia di memoria composta da cache, alcune private per core e alcune condivise, e una memoria principale. Nei moderni HeSoC, la gerarchia di memoria è progettata per prestazioni best effort. Ciò va bene nella maggior parte dei casi d’uso, tuttavia possono esserci carichi di lavoro che superano la banda massima dei componenti di memoria, cioè la quantità di byte che possono essere trasferiti durante un periodo di tempo. In particolare, osserviamo che nel HeSoC Xilinx ZU9EG le unità di calcolo richiedono fino a 3 volte più banda di quella massima. Quando ciò accade, la banda dei componenti nella gerarchia di memoria è saturata. I task che girano sulle unità di calcolo degli HeSoC vedono ritardate le loro operazioni di memoria e subiscono un aumento nel tempo di esecuzione, ovvero un rallentamento. Per ridurre i rallentamenti dei task, sono state esplorate diverse tecniche di mitigazione dell'interferenza di memoria nella letteratura. Tuttavia, questi lavori si concentrano su singoli componenti. Gli HeSoC hanno diverse unità di calcolo, e la mitigazione dell'interferenza deve tener conto di ciò. Per prima cosa, in questa tesi esploriamo come si genera interferenza nella gerarchia di memoria. In particolare, differenziamo i livelli della gerarchia di memoria in cui l’interferenza può avvenire. I core della CPU possono accedere sia a cache condivise che alla memoria principale, quindi si possono interferire a vicenda su più livelli. Osserviamo tre principali cause di interferenza: i) l’uso contemporaneo della memoria principale (interferenza su memoria principale); ii) l’accesso a cache condivise con l’espulsione reciproca delle linee di cache (interferenza da espulsione dalla cache); iii) l’accesso contemporaneo a cache condivise senza causare espulsioni (interferenza da congestione della cache). Gli acceleratori spesso possono accedere solo alla memoria principale, e non a cache condivise con i core CPU. Per questo motivo, gli acceleratori possono causare ed essere soggetti solo a interferenza sulla memoria principale. Tuttavia, spesso gli acceleratori fanno richieste di memoria più rapidamente dei core CPU, causando così rallentamenti sproporzionati ai core CPU. Dopo ciò, introduciamo uno schema di controllo in grado di ridurre il rallentamento subito da task che girano su COTS HeSoCs. La prima versione dello schema di controllo combina una caratterizzazione offline della banda con una misura della banda online per stimare come il throttling degli acceleratori possa influenzare il rallentamento dei task CPU. Quindi, lo schema di controllo fa throttling degli acceleratori per soddisfare un rallentamento massimo richiesto dall’utente. Con questa configurazione, osserviamo che garantiamo le richieste di rallentamento con un margine di errore del 2%. Infine, presentiamo anche una versione migliorata dello schema di controllo, in grado di fare throttling anche sui core CPU. Grazie a ciò, e all’esplorazione dell’interferenza di memoria, implementiamo uno schema di controllo gerarchico. Questa versione è in grado di ridurre il rallentamento a cui è soggetto un task critico CPU regolando sia gli acceleratori sia i core CPU, ma solo se necessario. In generale, determina quale delle tre tipologie di interferenza interessa il task e fa throttling solo dei componenti dell’HeSoC che serve limitare, mantenendo la massima utilizzazione della memoria principale.

Domare aumenti impredicibili nel tempo di esecuzione in SoC eterogenei tramite regolazione della banda globale del sistema / Lorenzo Carletti , 2026 Mar 31. 38. ciclo, Anno Accademico 2024/2025.

Domare aumenti impredicibili nel tempo di esecuzione in SoC eterogenei tramite regolazione della banda globale del sistema

CARLETTI, LORENZO
2026

Abstract

Heterogeneous Systems on Chip (HeSoCs) combine the benefits of multicore CPU performance with efficient high-throughput accelerators. Commercial Off the Shelf (COTS) HeSoCs are readily available IPs that system integrators can use to deploy their products at low cost. In most COTS HeSoCs, different compute units (CUs) -- like the main CPU cores and one or more accelerators -- share parts of the memory hierarchy, typically the last-level cache (LLC) and the main DRAM memory. In such systems the memory hierarchy is normally designed for best-effort performance, which might introduce unpredictable timing behavior for memory-intensive workloads (scenarios where the CUs cumulatively request up to 3 times the available bandwidth are not uncommon in modern HeSoCs). System bandwidth saturation ultimately translates in unpredictable slowdown of the tasks running. While this might be tolerable for general-purpose compute systems, this unpredictability makes the adoption of COTS HeSoC difficult in time-critical domains. Various memory interference mitigation techniques have been explored to tackle the problem, but they mostly focus on controlling individual components. We advocate that memory interference mitigation must account for the simultaneous operation of different types of CUs to properly reduce task slowdowns. First, in this thesis we present an exploration of how memory interference is generated in the memory hierarchy of modern HeSoCs. In particular, we differentiate between the various levels of the memory hierarchy at which interference can happen. CPU cores can access shared caches and the main memory, so they can interfere each other at multiple levels. We highlight three main causes for interference: i) true main memory sharing (interference); ii) mutual cache thrashing (cache evictions due to conflict misses in shared cache levels); iii) contention for hardare cache resource sharing in absence of evictions (cache congestion interference). Accelerators typically only interfere at the LLC and main memory level, but they are capable of generating much higher memory bandwidth requests compared to CPU cores, so they end up causing disproportionate slowdowns to CPU cores. Then, we introduce a control scheme capable of reducing the slowdown experienced by tasks running on COTS HeSoCs via memory bandwidth throttling. The first version of the control scheme combines an offline bandwidth characterization with online bandwidth probing to estimate how throttling the accelerators affects the slowdown that CPU tasks are subject to. It then throttles the accelerators to match an user requested maximum slowdown. With this setup, we observe that we are able to guarantee maximum slowdown requests with near-zero error (2%), while at the same time throttling the accelerators by the minimum amount that provides this guarantee, thus maximizing system bandwith utilization. Finally, we present an improved version of the control scheme capable of also throttling the CPU cores. Thanks to this, and the previous memory interference exploration, we are able to implement a hierarchical control scheme. This improved control scheme is able to reduce the slowdown that a CPU critical task is subject to on HeSoC by throttling both the accelerators and the CPU cores. It determines which of the three interference types a task is subject to, and it only throttles the appropriate components of the HeSoC to guarantee the maximum slowdown request of the user, keeping main memory utilization as high as possible.
Taming unpredictable timing in heterogeneous SoCs via whole-system memory bandwidth regulation
31-mar-2026
VALENTE, Paolo
MARONGIU, ANDREA
File in questo prodotto:
File Dimensione Formato  
Carletti.pdf

Open access

Descrizione: Carletti.Lorenzo.pdf
Tipologia: Tesi di dottorato
Dimensione 4.08 MB
Formato Adobe PDF
4.08 MB Adobe PDF Visualizza/Apri
Pubblicazioni consigliate

Licenza Creative Commons
I metadati presenti in IRIS UNIMORE sono rilasciati con licenza Creative Commons CC0 1.0 Universal, mentre i file delle pubblicazioni sono rilasciati con licenza Attribuzione 4.0 Internazionale (CC BY 4.0), salvo diversa indicazione.
In caso di violazione di copyright, contattare Supporto Iris

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11380/1403089
Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus ND
  • ???jsp.display-item.citation.isi??? ND
social impact