In recent years, the demand for computational power–especially from artificial intelligence applications–has grown at an unprecedented pace. To address this need, massive investments have been made in the construction of data centers and high-performance computing systems. However, traditional architectures such as CPUs and GPUs have shown clear limitations: their versatility comes at the cost of low efficiency in domain-specific contexts, both in terms of performance and energy consumption. This has led to the adoption of highly specialized hardware accelerators, capable of improving computational performance while simultaneously reducing energy costs. Among the available solutions, FPGAs stand out thanks to their ability to implement architectures tailored to specific operations, combined with the flexibility of rapid reprogramming, which enables much shorter development cycles compared to ASICs. Nevertheless, their cost and non-negligible energy consumption make optimized usage essential. Furthermore, the ever-increasing size of modern FPGAs allows them to host multiple applications simultaneously, but also dramatically enlarges the design space of possible configurations. Exhaustively testing all configurations becomes infeasible, which has motivated the development of design space exploration approaches to accelerate the identification of optimal solutions. In this context, the research presented in this thesis introduces a set of architectural and methodological techniques to facilitate design space exploration in systems with multiple hardware accelerators instantiated on a single FPGA. The work is structured into two main directions. The first concerns the development of a prototyping platform for heterogeneous systems, enhanced with features designed to: (i) expand the design space by balancing energy consumption, resource utilization, and computational performance; (ii) collect execution data from the explored configurations; and (iii) accelerate the exploration process through the use of FPGAs’ dynamic partial reconfiguration. Experimental results demonstrate that these techniques reduce the design space exploration time by up to 29×. The second research direction focuses on optimization methodologies, pursued along two complementary levels: at the application level, by identifying which sections should run in software and which in hardware; and at the system level, by determining the best allocation of accelerators to maximize performance while minimizing area usage. In the latter case, the use of machine learning techniques makes the methodology architecture-agnostic while drastically reducing the number of configurations that need to be evaluated. Results show that the optimal configuration can be identified by exploring less than 0.1% of the overall design space.

Negli ultimi anni la domanda di potenza computazionale, in particolare da parte delle applicazioni basate sull’intelligenza artificiale, è cresciuta ad un ritmo senza precedenti. Per rispondere a questa esigenza si è assistito a ingenti investimenti nella costruzione di data center e sistemi di calcolo ad alte prestazioni. Tuttavia, le architetture tradizionali, come CPU e GPU, risultano limitate: la loro versatilità comporta infatti una bassa efficienza nell'esecuzione di applicazioni ad elevata specificità, sia in termini di prestazioni che di consumo energetico. Questo ha portato all’adozione di acceleratori hardware altamente specializzati, capaci di migliorare le performance riducendo allo stesso tempo i costi energetici. Tra le diverse soluzioni, gli FPGA si distinguono per la possibilità di implementare architetture dedicate ad operazioni mirate e di essere riprogrammati rapidamente, offrendo cicli di sviluppo molto più brevi rispetto agli ASIC. Nonostante ciò, il loro costo e il consumo energetico non trascurabile rendono cruciale un'ottimizzazione del loro utilizzo. Inoltre, le dimensioni sempre maggiori degli FPGA di ultima generazione permettono di ospitare più applicazioni contemporaneamente, ma ampliano enormemente lo spazio delle possibili configurazioni. Testarle tutte diventa impraticabile, motivo per cui sono stati sviluppati approcci per l'esplorazione dello spazio di design in grado di ridurre i tempi necessari per identificare le configurazioni ottimali. In questo contesto, la ricerca presentata in questa tesi introduce una serie di tecniche architetturali e metodologiche per facilitare l’esplorazione dello spazio di design in sistemi con più acceleratori hardware istanziati su un singolo FPGA. Il lavoro si articola in due direzioni principali. La prima riguarda lo sviluppo di una piattaforma di prototipazione per sistemi eterogenei, arricchita con funzionalità pensate per: (i) ampliare lo spazio di design, bilanciando consumo energetico, utilizzo di risorse e capacità computazionale; (ii) raccogliere dati di esecuzione sulle configurazioni esplorate; (iii) accelerare il processo di esplorazione grazie alla riconfigurabilità parziale dinamica degli FPGA. Gli esperimenti condotti mostrano come tali tecniche consentano una riduzione fino a 29 volte del tempo di esplorazione. La seconda direzione di ricerca si concentra invece su metodologie di ottimizzazione, perseguite su due livelli complementari: quello dell’applicazione, stabilendo quali sezioni eseguire in software e quali in hardware, e quello di sistema, individuando la migliore allocazione degli acceleratori per massimizzare le prestazioni minimizzando l’area occupata. In quest’ultimo caso, l’uso di tecniche di machine learning permette di rendere la metodologia indipendente dall’architettura specifica, e al contempo ridurre drasticamente il numero di configurazioni da valutare. I risultati dimostrano che è possibile individuare la configurazione ottimale esplorando meno dello 0.1% dello spazio di design complessivo.

Optimization of FPGA-based heterogeneous multi-core systems-on-chip for data centers

Montanaro, Gabriele
2026

Abstract

In recent years, the demand for computational power–especially from artificial intelligence applications–has grown at an unprecedented pace. To address this need, massive investments have been made in the construction of data centers and high-performance computing systems. However, traditional architectures such as CPUs and GPUs have shown clear limitations: their versatility comes at the cost of low efficiency in domain-specific contexts, both in terms of performance and energy consumption. This has led to the adoption of highly specialized hardware accelerators, capable of improving computational performance while simultaneously reducing energy costs. Among the available solutions, FPGAs stand out thanks to their ability to implement architectures tailored to specific operations, combined with the flexibility of rapid reprogramming, which enables much shorter development cycles compared to ASICs. Nevertheless, their cost and non-negligible energy consumption make optimized usage essential. Furthermore, the ever-increasing size of modern FPGAs allows them to host multiple applications simultaneously, but also dramatically enlarges the design space of possible configurations. Exhaustively testing all configurations becomes infeasible, which has motivated the development of design space exploration approaches to accelerate the identification of optimal solutions. In this context, the research presented in this thesis introduces a set of architectural and methodological techniques to facilitate design space exploration in systems with multiple hardware accelerators instantiated on a single FPGA. The work is structured into two main directions. The first concerns the development of a prototyping platform for heterogeneous systems, enhanced with features designed to: (i) expand the design space by balancing energy consumption, resource utilization, and computational performance; (ii) collect execution data from the explored configurations; and (iii) accelerate the exploration process through the use of FPGAs’ dynamic partial reconfiguration. Experimental results demonstrate that these techniques reduce the design space exploration time by up to 29×. The second research direction focuses on optimization methodologies, pursued along two complementary levels: at the application level, by identifying which sections should run in software and which in hardware; and at the system level, by determining the best allocation of accelerators to maximize performance while minimizing area usage. In the latter case, the use of machine learning techniques makes the methodology architecture-agnostic while drastically reducing the number of configurations that need to be evaluated. Results show that the optimal configuration can be identified by exploring less than 0.1% of the overall design space.
Optimization of FPGA-based heterogeneous multi-core systems-on-chip for data centers
27-apr-2026
Inglese
Negli ultimi anni la domanda di potenza computazionale, in particolare da parte delle applicazioni basate sull’intelligenza artificiale, è cresciuta ad un ritmo senza precedenti. Per rispondere a questa esigenza si è assistito a ingenti investimenti nella costruzione di data center e sistemi di calcolo ad alte prestazioni. Tuttavia, le architetture tradizionali, come CPU e GPU, risultano limitate: la loro versatilità comporta infatti una bassa efficienza nell'esecuzione di applicazioni ad elevata specificità, sia in termini di prestazioni che di consumo energetico. Questo ha portato all’adozione di acceleratori hardware altamente specializzati, capaci di migliorare le performance riducendo allo stesso tempo i costi energetici. Tra le diverse soluzioni, gli FPGA si distinguono per la possibilità di implementare architetture dedicate ad operazioni mirate e di essere riprogrammati rapidamente, offrendo cicli di sviluppo molto più brevi rispetto agli ASIC. Nonostante ciò, il loro costo e il consumo energetico non trascurabile rendono cruciale un'ottimizzazione del loro utilizzo. Inoltre, le dimensioni sempre maggiori degli FPGA di ultima generazione permettono di ospitare più applicazioni contemporaneamente, ma ampliano enormemente lo spazio delle possibili configurazioni. Testarle tutte diventa impraticabile, motivo per cui sono stati sviluppati approcci per l'esplorazione dello spazio di design in grado di ridurre i tempi necessari per identificare le configurazioni ottimali. In questo contesto, la ricerca presentata in questa tesi introduce una serie di tecniche architetturali e metodologiche per facilitare l’esplorazione dello spazio di design in sistemi con più acceleratori hardware istanziati su un singolo FPGA. Il lavoro si articola in due direzioni principali. La prima riguarda lo sviluppo di una piattaforma di prototipazione per sistemi eterogenei, arricchita con funzionalità pensate per: (i) ampliare lo spazio di design, bilanciando consumo energetico, utilizzo di risorse e capacità computazionale; (ii) raccogliere dati di esecuzione sulle configurazioni esplorate; (iii) accelerare il processo di esplorazione grazie alla riconfigurabilità parziale dinamica degli FPGA. Gli esperimenti condotti mostrano come tali tecniche consentano una riduzione fino a 29 volte del tempo di esplorazione. La seconda direzione di ricerca si concentra invece su metodologie di ottimizzazione, perseguite su due livelli complementari: quello dell’applicazione, stabilendo quali sezioni eseguire in software e quali in hardware, e quello di sistema, individuando la migliore allocazione degli acceleratori per massimizzare le prestazioni minimizzando l’area occupata. In quest’ultimo caso, l’uso di tecniche di machine learning permette di rendere la metodologia indipendente dall’architettura specifica, e al contempo ridurre drasticamente il numero di configurazioni da valutare. I risultati dimostrano che è possibile individuare la configurazione ottimale esplorando meno dello 0.1% dello spazio di design complessivo.
File in questo prodotto:
File Dimensione Formato  
thesis.pdf

accesso aperto

Licenza: Tutti i diritti riservati
Dimensione 1.57 MB
Formato Adobe PDF
1.57 MB Adobe PDF Visualizza/Apri

I documenti in UNITESI 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/20.500.14242/382760
Il codice NBN di questa tesi � URN:NBN:IT:POLIMI-382760