The growth of the market of Database related services has been the driver to develop a new efficient way to accelerate on Hardware computational opera- tion that underperforms on the General Purpose Processors. the benefit that both the industry and the research aim to achieve is mainly reduced the com- putational time and the power consumption. The technological nodes indeed act an important role, but facing the physical limit of the scaling it is of interest to evaluate new technology independent architectural approaches. The goal of this thesis is the development of an FPGA based solution to enhance the com- putation of irregular memory operation, such as queries in Graph Databases. This work starts from the work presented in [CMM + 15] and [MCT + 16], where the queries have been accelerated thanks to multiprocessor structures described in C and OpenMP and implemented with the HLS Framework Panda. In this work, it is introduced a logical parallelism next to the physical to mask the unpredictable latency of the memory access. A new Hierarchical Memory con- troller has been designed accordingly aiming to support concurrent accesses to the memory from the requesting tasks, dynamically routing the requests to the wanted resources and supporting atomic operation used for the synchroniza- tions of the processors. The result is an extremely flexible memory controller, while the accelerator is able to reduce the computation time up to 25% with the same number of physical processors each one with just 8 concurrent tasks. This result is limited by the memory parallelism that is the final bottleneck of the architecture. The two proposed solutions have been proved on several queries and their results have been analyzed in both terms of computing time and FPGA occupation using as reference device a Xilinx Virtex-7 XC7VX690T.

La crescita del mercato dei servizi basati su Database, ha spinto lo sviluppo di tecnologie per accelerare operazioni che non sono efficacemente eseguite da processori general purpose. I principali benefici che la Ricerca e l’Industria hanno cercato di ottenere, sono la riduzione del tempo di computazione e la conseguente riduzione di potenza. Sebbene il nodo tecnologico giochi un grande impatto su entrambi, avvicinandoci a limiti fisici dello scaling è interessante analizzare quelle proposte che agiscono esclusivamente a livello architetturale. In questo lavoro di tesi, un acceleratore computazionale implementabile in FPGA, è stato progettato con lo scopo di migliorare le prestazioni di operazioni dotate di accessi di memoria irregolari, tipiche di Database a grafo. Questo lavoro parte dalle soluzioni proposte in [CMM + 15] e [MCT + 16], dove una richiesta al database (query) viene computata da un acceleratore fisico realizzato utilizzando il Framework per HLS Panda. Panda permette la sintesi di un circuito elettronico a partire da una specifica scitta in C ed è capace di sviluppare strutture di calcolo parallelizzate grazie al supporto delle direttive OpenMP. In questo lavoro viene introdotto anche un parallelismo logico a fianco di quello fisico, con lo scopo di mascherare la durata impredicibile dell’accesso in memoria. Un nuovo controllore di memoria è stato progettato appositamente per supportare accessi contemporanei da parte di più operazioni verso una memoria multi-banco, indirizzando la richiesta dinamicamente e supportando operazioni atomiche per la sincronizzaione dei processori. Il risultato è un controllore di memoria estremamente flessibile, mentre l’acceleratore può ridurre il tempo di computazione fino al 25% grazie al parallelismo logico, mantenendo lo stesso numero di processori limitati a 8 processi concorrenti iascuno. I risultati ottenuti dimostrano inoltre che un aumento del parallelismo sia logico che fisico non porta ulteriori miglioramenti nel caso in cui il banco di memoria da accedere sia costantemente occupato da un accesso. Ne consegue che numero di banchi di memoria è il collo di bottiglia delle prestazioni dell’acceleratore. Le architetture proposte sono state provate per diversi acceleratori che implementano differenti queries analizzando i risultati sia in termini di prestazioni temporali che in termini di occupazione di area, considerando come dispositivo di riferimento una FPGA Xilinx Virtex-7 XC7VX690T.

Complex FPGA memory controller for irregular memory applications

DEVECCHI, STEFANO
2016/2017

Abstract

The growth of the market of Database related services has been the driver to develop a new efficient way to accelerate on Hardware computational opera- tion that underperforms on the General Purpose Processors. the benefit that both the industry and the research aim to achieve is mainly reduced the com- putational time and the power consumption. The technological nodes indeed act an important role, but facing the physical limit of the scaling it is of interest to evaluate new technology independent architectural approaches. The goal of this thesis is the development of an FPGA based solution to enhance the com- putation of irregular memory operation, such as queries in Graph Databases. This work starts from the work presented in [CMM + 15] and [MCT + 16], where the queries have been accelerated thanks to multiprocessor structures described in C and OpenMP and implemented with the HLS Framework Panda. In this work, it is introduced a logical parallelism next to the physical to mask the unpredictable latency of the memory access. A new Hierarchical Memory con- troller has been designed accordingly aiming to support concurrent accesses to the memory from the requesting tasks, dynamically routing the requests to the wanted resources and supporting atomic operation used for the synchroniza- tions of the processors. The result is an extremely flexible memory controller, while the accelerator is able to reduce the computation time up to 25% with the same number of physical processors each one with just 8 concurrent tasks. This result is limited by the memory parallelism that is the final bottleneck of the architecture. The two proposed solutions have been proved on several queries and their results have been analyzed in both terms of computing time and FPGA occupation using as reference device a Xilinx Virtex-7 XC7VX690T.
FEZZARDI, PIETRO
LATTUADA, MARCO
ING - Scuola di Ingegneria Industriale e dell'Informazione
19-apr-2018
2016/2017
La crescita del mercato dei servizi basati su Database, ha spinto lo sviluppo di tecnologie per accelerare operazioni che non sono efficacemente eseguite da processori general purpose. I principali benefici che la Ricerca e l’Industria hanno cercato di ottenere, sono la riduzione del tempo di computazione e la conseguente riduzione di potenza. Sebbene il nodo tecnologico giochi un grande impatto su entrambi, avvicinandoci a limiti fisici dello scaling è interessante analizzare quelle proposte che agiscono esclusivamente a livello architetturale. In questo lavoro di tesi, un acceleratore computazionale implementabile in FPGA, è stato progettato con lo scopo di migliorare le prestazioni di operazioni dotate di accessi di memoria irregolari, tipiche di Database a grafo. Questo lavoro parte dalle soluzioni proposte in [CMM + 15] e [MCT + 16], dove una richiesta al database (query) viene computata da un acceleratore fisico realizzato utilizzando il Framework per HLS Panda. Panda permette la sintesi di un circuito elettronico a partire da una specifica scitta in C ed è capace di sviluppare strutture di calcolo parallelizzate grazie al supporto delle direttive OpenMP. In questo lavoro viene introdotto anche un parallelismo logico a fianco di quello fisico, con lo scopo di mascherare la durata impredicibile dell’accesso in memoria. Un nuovo controllore di memoria è stato progettato appositamente per supportare accessi contemporanei da parte di più operazioni verso una memoria multi-banco, indirizzando la richiesta dinamicamente e supportando operazioni atomiche per la sincronizzaione dei processori. Il risultato è un controllore di memoria estremamente flessibile, mentre l’acceleratore può ridurre il tempo di computazione fino al 25% grazie al parallelismo logico, mantenendo lo stesso numero di processori limitati a 8 processi concorrenti iascuno. I risultati ottenuti dimostrano inoltre che un aumento del parallelismo sia logico che fisico non porta ulteriori miglioramenti nel caso in cui il banco di memoria da accedere sia costantemente occupato da un accesso. Ne consegue che numero di banchi di memoria è il collo di bottiglia delle prestazioni dell’acceleratore. Le architetture proposte sono state provate per diversi acceleratori che implementano differenti queries analizzando i risultati sia in termini di prestazioni temporali che in termini di occupazione di area, considerando come dispositivo di riferimento una FPGA Xilinx Virtex-7 XC7VX690T.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
2018_04_Devecchi.pdf

non accessibile

Descrizione: Thesis
Dimensione 1.61 MB
Formato Adobe PDF
1.61 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/140061