Traditionally, Moore’s Law drove improvements in single-core performances, but since the industry hit the limit of single-threaded performance, there’s been a shift toward multiprocessors and specialized hardware, such as custom accelerators implemented on FPGAs. Those accelerators are often based on the RISC-V ISA, which grants flexibility and extensibility. This shift raised the memory bandwidth requirements, to feed data to the now multiple compute units. Unfortunately, memory bandwidth hasn’t scaled as well as parallel computing performances, generating an important gap between computing and memory capabilities. Technologies that improves memory bandwidth such as HBM aims at bridging the gap. Exploiting all the available memory bandwidth becomes the key to feed- ing data fast enough to compute units and accelerators. To design hardware and software capable of sustaining full memory bandwidth utilization, a performance characterization of the employed memory subsystems is mandatory. This thesis introduces a novel memory benchmarking framework, based on a multi-core cluster of user-selectable RISC-V cores, which are organized in a parametric number of core complexes, that executes bare metal software. This framework can stress the attached memory subsystems with real-world applications as well as with specifically designed memory stress tests, without the added noise generated by running an operating system. Due to this design, the possible tests are closer to a real world scenario than when using hardware memory traffic generators, and more precise than user space software ran on an operating system; filling an important gap in memory performance evaluation platforms. This work also presents an extensive performance evaluation campaign executed with the proposed framework, which explores the performance of an HBM2 subsystem when paired with RISCV cores and implemented on an AMD FPGA. The results highlight the importance of optimized memory access patterns and data spatial locality in a multicore environment

Tradizionalmente, la legge di Moore ha spinto i miglioramenti nelle prestazioni, ma poiché l’industria ha raggiunto i limiti delle performance ottenibili da un singolo core, si è verificato un cambiamento di paradigma nello sviluppo hardware, portando l’industria verso multiprocessori e hardware specializzato, come accelleratori specifici implemen- tati su FPGA. Spesso questi acceleratori sono basati sull’ISA RISC-V, che garantisce flessibilità e estensibilità. L’aumento delle unità di calcolo ha aumentato la larghezza di banda della memoria necessaria per spostare dati dalla memoria ai processori. Nuove interfacce di memoria, come HBM, sono state sviluppate per aumentare l’ampiezza di banda in questi scenari. Tuttavia, le velocità di trasmissione dei dati della memoria non sono aumentate tanto quanto le prestazioni delle unità calcolo date dalla parallelizazione, generando un’importante disparità tra la quantità di dati rischiesta dai processori e la massima banda di sostenibile dai sottosistemi di memoria. Sfruttare tutta la larghezza di banda disponibile, è quindi diventato cruciale per portare i dati alle unità di calcolo abbastanza rapidamente e accelerare i carichi di lavoro moderni. Per progettare hardware e software capaci di sfruttare tutta la larghezza di banda disponibile, è indispensabile una caratterizzazione delle prestazioni dei sottosistemi di memoria in scenari reali. Questa tesi introduce un nuovo sistema, basato su un cluster multicore di core RISC-V selezionabili dall’utente, organizzati in un numero parametrico di gruppi di core che eseguono software senza il supporto di un sistema operativo. Il sistema proposto può stressare i sottosistemi di memoria sia con applicazioni rappresentative di scenari reali, sia con programmi di test spefici, senza il rumore aggiunto generato dall’esecuzione di un sistema operativo. Grazie a queste caratteristiche, il sistema è più flessibile rispetto ai generatori di traffico di memoria implementati in hardware, e più preciso rispetto alle misurazioni basate su software eseguito in un sistema operativo. Insieme al sistema proposto viene presentata un’ampia campagna sperimentale, mirata a valutare le prestazioni di un sottosistema HBM2 connesso a un cluster di core RISCV e implementato su un FPGA AMD. I risultati evidenziano l’importanza di schemi di accesso ottimizzati per le operazioni di memoria e della località spaziale dei dati in un ambiente multicore.

Benchmarking high bandwidth memory on FPGA targets with RISC-V multicores

MOTTA, ANDREA
2023/2024

Abstract

Traditionally, Moore’s Law drove improvements in single-core performances, but since the industry hit the limit of single-threaded performance, there’s been a shift toward multiprocessors and specialized hardware, such as custom accelerators implemented on FPGAs. Those accelerators are often based on the RISC-V ISA, which grants flexibility and extensibility. This shift raised the memory bandwidth requirements, to feed data to the now multiple compute units. Unfortunately, memory bandwidth hasn’t scaled as well as parallel computing performances, generating an important gap between computing and memory capabilities. Technologies that improves memory bandwidth such as HBM aims at bridging the gap. Exploiting all the available memory bandwidth becomes the key to feed- ing data fast enough to compute units and accelerators. To design hardware and software capable of sustaining full memory bandwidth utilization, a performance characterization of the employed memory subsystems is mandatory. This thesis introduces a novel memory benchmarking framework, based on a multi-core cluster of user-selectable RISC-V cores, which are organized in a parametric number of core complexes, that executes bare metal software. This framework can stress the attached memory subsystems with real-world applications as well as with specifically designed memory stress tests, without the added noise generated by running an operating system. Due to this design, the possible tests are closer to a real world scenario than when using hardware memory traffic generators, and more precise than user space software ran on an operating system; filling an important gap in memory performance evaluation platforms. This work also presents an extensive performance evaluation campaign executed with the proposed framework, which explores the performance of an HBM2 subsystem when paired with RISCV cores and implemented on an AMD FPGA. The results highlight the importance of optimized memory access patterns and data spatial locality in a multicore environment
GALIMBERTI, ANDREA
ING - Scuola di Ingegneria Industriale e dell'Informazione
11-dic-2024
2023/2024
Tradizionalmente, la legge di Moore ha spinto i miglioramenti nelle prestazioni, ma poiché l’industria ha raggiunto i limiti delle performance ottenibili da un singolo core, si è verificato un cambiamento di paradigma nello sviluppo hardware, portando l’industria verso multiprocessori e hardware specializzato, come accelleratori specifici implemen- tati su FPGA. Spesso questi acceleratori sono basati sull’ISA RISC-V, che garantisce flessibilità e estensibilità. L’aumento delle unità di calcolo ha aumentato la larghezza di banda della memoria necessaria per spostare dati dalla memoria ai processori. Nuove interfacce di memoria, come HBM, sono state sviluppate per aumentare l’ampiezza di banda in questi scenari. Tuttavia, le velocità di trasmissione dei dati della memoria non sono aumentate tanto quanto le prestazioni delle unità calcolo date dalla parallelizazione, generando un’importante disparità tra la quantità di dati rischiesta dai processori e la massima banda di sostenibile dai sottosistemi di memoria. Sfruttare tutta la larghezza di banda disponibile, è quindi diventato cruciale per portare i dati alle unità di calcolo abbastanza rapidamente e accelerare i carichi di lavoro moderni. Per progettare hardware e software capaci di sfruttare tutta la larghezza di banda disponibile, è indispensabile una caratterizzazione delle prestazioni dei sottosistemi di memoria in scenari reali. Questa tesi introduce un nuovo sistema, basato su un cluster multicore di core RISC-V selezionabili dall’utente, organizzati in un numero parametrico di gruppi di core che eseguono software senza il supporto di un sistema operativo. Il sistema proposto può stressare i sottosistemi di memoria sia con applicazioni rappresentative di scenari reali, sia con programmi di test spefici, senza il rumore aggiunto generato dall’esecuzione di un sistema operativo. Grazie a queste caratteristiche, il sistema è più flessibile rispetto ai generatori di traffico di memoria implementati in hardware, e più preciso rispetto alle misurazioni basate su software eseguito in un sistema operativo. Insieme al sistema proposto viene presentata un’ampia campagna sperimentale, mirata a valutare le prestazioni di un sottosistema HBM2 connesso a un cluster di core RISCV e implementato su un FPGA AMD. I risultati evidenziano l’importanza di schemi di accesso ottimizzati per le operazioni di memoria e della località spaziale dei dati in un ambiente multicore.
File allegati
File Dimensione Formato  
Thesis_Motta.pdf

non accessibile

Descrizione: Testo della tesi
Dimensione 4.83 MB
Formato Adobe PDF
4.83 MB Adobe PDF   Visualizza/Apri
Executive_Summary_Motta.pdf

non accessibile

Descrizione: Executive Summary Tesi
Dimensione 1.22 MB
Formato Adobe PDF
1.22 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/230226