Hardware implementation of an algorithm can be easily achieved using the High-level synthesis (HLS). It is an automated design process that starts from a high-level definition (like C language) of a problem, to create hardware that implements the same problem. In this way, application development on devices like FPGAs (Field Programmable Gate Array) becomes much easier. A good point in developing applications on FPGAs, with respect to processors, is that FPGAs have a parallel architecture, and for this reason applications can be accelerated. FPGAs are also available in cloud; AWS (Amazon Web Services) provides cloud computing platforms to people or companies that need hardware resources, but do not have the possibilities to buy them. The advantage provided by AWS is that developers can build their applications without having physical hardware resources. In particular, the EC2 F1 instances allow using FPGAs to create, run, and, more important, accelerate applications. Acceleration is ensured by the number of hardware resources available in the cloud. Practically every application that can benefit from parallelism is a good candidate for the F1 instances. The purpose of this thesis is, starting from an application written in C, to try to develop it into the Amazon cloud.

L'implementazione hardware di un algoritmo può essere facilmente ottenuta tramite la sintesi ad alto livello (HLS). È un processo di progettazione automatizzata che parte da una descrizione ad alto livello (come il linguaggio C) di un applicazione, al fine di realizzare una sua implementazione su dispositivi hardware. In questo modo, lo sviluppo di applicazioni su dispositivi come le FPGA (Field Programmable Gate Array) diventa molto più semplice. Un buon motivo per lavorare su FPGA, piuttosto che sui tradizionali processori, è la possibilità di sfruttare l’intrinseco parallelismo di questi dispositivi al fine di accelerare svariati tipi di applicazioni. I dispositivi FPGA sono disponibili anche sul cloud; AWS (Amazon Web Services) fornisce piattaforme di cloud computing a persone o aziende che necessitano di risorse hardware, ma non hanno la possibilità di acquistarle. Il vantaggio offerto da AWS è che gli sviluppatori possono creare le proprie applicazioni senza la necessità di disporre di risorse hardware fisiche. In particolare, le istanze EC2 F1 consentono di utilizzare FPGA per creare, eseguire e, cosa più importante, accelerare le proprie applicazioni. L'accelerazione è garantita dal numero di risorse hardware disponibili nel cloud. Praticamente ogni applicazione che può trarre beneficio del parallelismo è un buon candidato per le istanze F1. L’obiettivo di questa tesi è quello di provare a sviluppare un applicazione sul cloud di Amazon, partendo da una sua descrizione in linguaggio C.

Integrating components generated with high-level synthesis on a cloud computing platform

SPINA, MASSIMO
2018/2019

Abstract

Hardware implementation of an algorithm can be easily achieved using the High-level synthesis (HLS). It is an automated design process that starts from a high-level definition (like C language) of a problem, to create hardware that implements the same problem. In this way, application development on devices like FPGAs (Field Programmable Gate Array) becomes much easier. A good point in developing applications on FPGAs, with respect to processors, is that FPGAs have a parallel architecture, and for this reason applications can be accelerated. FPGAs are also available in cloud; AWS (Amazon Web Services) provides cloud computing platforms to people or companies that need hardware resources, but do not have the possibilities to buy them. The advantage provided by AWS is that developers can build their applications without having physical hardware resources. In particular, the EC2 F1 instances allow using FPGAs to create, run, and, more important, accelerate applications. Acceleration is ensured by the number of hardware resources available in the cloud. Practically every application that can benefit from parallelism is a good candidate for the F1 instances. The purpose of this thesis is, starting from an application written in C, to try to develop it into the Amazon cloud.
ING - Scuola di Ingegneria Industriale e dell'Informazione
18-dic-2019
2018/2019
L'implementazione hardware di un algoritmo può essere facilmente ottenuta tramite la sintesi ad alto livello (HLS). È un processo di progettazione automatizzata che parte da una descrizione ad alto livello (come il linguaggio C) di un applicazione, al fine di realizzare una sua implementazione su dispositivi hardware. In questo modo, lo sviluppo di applicazioni su dispositivi come le FPGA (Field Programmable Gate Array) diventa molto più semplice. Un buon motivo per lavorare su FPGA, piuttosto che sui tradizionali processori, è la possibilità di sfruttare l’intrinseco parallelismo di questi dispositivi al fine di accelerare svariati tipi di applicazioni. I dispositivi FPGA sono disponibili anche sul cloud; AWS (Amazon Web Services) fornisce piattaforme di cloud computing a persone o aziende che necessitano di risorse hardware, ma non hanno la possibilità di acquistarle. Il vantaggio offerto da AWS è che gli sviluppatori possono creare le proprie applicazioni senza la necessità di disporre di risorse hardware fisiche. In particolare, le istanze EC2 F1 consentono di utilizzare FPGA per creare, eseguire e, cosa più importante, accelerare le proprie applicazioni. L'accelerazione è garantita dal numero di risorse hardware disponibili nel cloud. Praticamente ogni applicazione che può trarre beneficio del parallelismo è un buon candidato per le istanze F1. L’obiettivo di questa tesi è quello di provare a sviluppare un applicazione sul cloud di Amazon, partendo da una sua descrizione in linguaggio C.
Tesi di laurea Magistrale
File allegati
File Dimensione Formato  
Tesi Massimo Spina.pdf

accessibile in internet solo dagli utenti autorizzati

Descrizione: Testo della tesi
Dimensione 1.2 MB
Formato Adobe PDF
1.2 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/152079