Realizzazione di un caso di studio di sistema hardware per FPGA a scopi didattici

Il progetto consiste nella specifica e realizzazione di un sistema hardware di complessità contenuta da implementare su scheda FPGA che permetta di illustrare le opportunità della Design Space Exploration in relazione ai compromessi costi/prestazioni (consumo di potenza, prestazioni, …).

La proposta del sistema è a cura della studentessa/dello studente e verrà concordato con la docente prima di procedere alla realizzazione.

Definizione di architettura hardware sicura basata su RISC-V

DOCENTE

Christian Pilato (webmail)

AREA DI RICERCA

Architetture

KEYWORD (MAX 3 SEPARATE DA VIRGOLA)

Progettazione hardware, hardware security, FPGA

DESCRIZIONE (MAX 500 CARATTERI)

Garantire la sicurezza di un dispositivo elettronico durante la sua esecuzione è una tematica molto importante, soprattutto nei casi dove la progettazione e la fabbricazione sono svolte da aziende diverse oppure l’architettura elabora dati sensibili. Questo progetto ha l’obiettivo studiare la possibile realizzazione di un’architettura sicura basata su RISC-V che abbia determinati requisiti di sicurezza.

Fine-tuning di modelli linguistici di grandi dimensioni a supporto della comunicazione aumentativa

DOCENTE

Christian Pilato (webmail)  

AREA DI RICERCA

Architetture, Intelligenza Artificiale

TECNOLOGIE DA UTILIZZARE

Python

DESCRIZIONE (MAX 500 CARATTERI)

Gli algoritmi di intelligenza artificiale generativa stanno diventando sempre più popolari e fondamentali per una grande quantità di attività. In particolare, la personalizzazione di modelli linguistici di grandi dimensioni, noti anche con l’inglese large language models (in sigla LLMs), permette di ottenere materiale personalizzato nell’ambito in cui viene specializzato. Questo progetto prevede lo studio di modelli esistenti (ChatGPT, DALL-E, o quelli forniti tramite Amazon AWS Sagemaker) per la creazione di simboli da utilizzare in ambito educativo (e.g., nel caso di comunicazione aumentativa – link).

Creazione di applicazione multi-piattaforma a supporto della comunicazione aumentativa

DOCENTE

Christian Pilato (webmail)  

AREA DI RICERCA

Architetture, Intelligenza Artificiale

TECNOLOGIE DA UTILIZZARE

Dart, Flutter

DESCRIZIONE (MAX 500 CARATTERI)

La comunicazione aumentativa include diverse tecniche a supporto di individui con difficoltà comunicative. Predilige la traduzione di concetti, frasi o contenuti più complessi in una sequenza di simboli che l’utente può comprendere. L’obiettivo di questo progetto è di sviluppare una serie di componenti di un’applicazione multi-piattaforma (basata su Dart/Flutter e integrata con Amazon AWS) per la gestione/creazione di simboli, l’interpretazione del testo fornito dall’educatore (anche tramite tecniche di machine learning per includere suggerimenti) e la visualizzazione per l’utente.

Tecniche di esplorazione della fase di HW mapping di modelli DNN

Docente

Cristina Silvano (web, mail)

Area di ricerca

Architetture dei sistemi di elaborazione

Keyword (max 3 separate da virgola)

Deep Neural Networks, Acceleratori HW

Tecnologie da utilizzare

C, C++, Python, PyTorch, TensorFlow

Descrizione (max 500 caratteri)

I modelli di tipo Deep Neural Network sono multidimensionali e possono essere mappati in una miriade di modi nello spazio di progetto di acceleratori HW. È stato dimostrato che la fase di mappatura gioca un ruolo estremamente cruciale in termini di prestazioni dell’acceleratore HW. Inoltre é stato dimostrato il vantaggio di ottimizzare le mappature per singolo livello, invece di utilizzare una mappatura fissa per ogni livello della rete. Essendo lo spazio delle possibili mappature estremamente vasto, è necessario utilizzare delle euristiche. Il presente progetto ha come obiettivo l’esplorazione ed il confronto di diverse tecniche euristiche per la fase di mappatura HW di una rete neurale.

Vulnerabilità di sicurezza nella gerarchia di memoria cache dei sistemi multicore

Docente

Davide Zoni (web, mail)

Area di ricerca

Architetture dei sistemi di elaborazione

Keyword (max 3 separate da virgola)

architetture dei calcolatori, C++, programmazione

Tecnologie da utilizzare

C++, gem5 cycle accurate simulator

Descrizione (max 500 caratteri)

La maggior parte dei processori commerciali moderni implementa una gerarchia di memoria cache supportata da un protocollo di coerenza al fine di ottimizzare la gestione dei dati tra i vari core e la memoria centrale. Sebbene i protocolli di coerenza e la gerarchia di memoria cache offrano benefici innegabili dal punto di vista prestazionale, vengono sempre più spesso utilizzati per veicolare attacchi informatici di tipo side-channel al fine di ottenere informazioni privilegiate in modo fraudolento.

Gem5 (www.gem5.org) è un simulatore architetturale full-system e cycle-accurate che permette quindi la simulazione di architetture multicore in cui è in esecuzione un sistema operativo Linux. Gem5 viene attualmente impiegato in ambito accademico ed industriale per le fasi di analisi ed esplorazione preliminari di nuove architetture di calcolo sia di classe embedded che ad alte prestazioni. Gem5 supporta i principali schemi di coerenza sia directory- che snooping-based.

A partire dalla versione corrente di gem5 (www.gem5.org) il progetto prevede le seguenti attività:

  1. Studio della tematica con focus su una vulnerabilità (documenti forniti del docente) [10 ore]
  2. Comprensione dell’utilizzo di gem5 per la simulazione di architetture multi-core [25 ore]
  3. Implementazione dell’infrastruttura per il monitoraggio della vulnerabilità side-channel [25 ore]
  4. Implementazione della contromisura nel cache controller [35 ore]
  5. Valutazione dei risultati con e senza la contromisura [10 ore]
  6. Stesura del report finale [20 ore]

Prerequisiti: conoscenza di C++, concetti di architetture dei calcolatori e sistemi operativi (ACSO)

Implementazione di primitive crittografiche resistenti a calcolatori quantistici (post-quantum)

Docente

Alessandro Barenghi (web, mail)

Area di ricerca

Architetture dei sistemi di elaborazione

Keyword (max 3 separate da virgola)

Sicurezza informatica, crittografia, post-quantum cryptography

Termine per accettazione progetto

01/09/2023

Tecnologie da utilizzare

Linguaggio C.

Descrizione (max 500 caratteri)

Il progetto tratta della realizzazione di una primitiva di cifratura resistente ad attacchi con calcolatori quantistici.
La realizzazione della stessa è in linguaggio C, prestando attenzione ad aspetti di efficienza computazionale

GAGET: Genome Assembly Graph Evaluation Tool – GUI and Accuracy

Docente

Marco Santambrogio (web, mail)

Referente del progetto

Guido Walter Di Donato ( mail)

Area di ricerca

Architetture dei sistemi di elaborazione

Keyword (max 3 separate da virgola)

Graph, Genomics

Descrizione (max 500 caratteri)

Graph-based data structures provide a natural mechanism for the compact representation of related genomic sequences, and variations among them, as alternative paths in a directed graph. Consequently, many genome assembly tools currently use internal graph representations and offer the possibility to output the assembly graph in various formats. However, most genome assembly projects still focus on “classic” contigs and scaffolds rather than assembly graphs, due to the lack of proper tools for the analysis and the quality assessment of such graphs. In this context, we are currently developing GAGET, a tool for the evaluation of genome assembly graphs, based on the alignment of reference sequences to the graphs themselves.
Currently, GAGET computes a series of different quality metrics, adapted from the sequence to the graph domain (e.g. N50, NG50, GC content), and it provides as output a report with different plots describing the results. The aim of this project is to develop an interactive Graphic User Interface (GUI) for navigating the assembly graph and the reference genome, and visualizing the computed metrics. An additional goal is to improve the accuracy of the current algorithm for selecting the best set of compatible local alignments between the reference and the assembly graph, in order to reconstruct the path in the graph that better represents the reference sequence.

Analisi ed implementazione di metodi per l’identificazione di siti target all’interno delle proteine per il supporto alla scoperta di nuovi farmaci

Docente

Gianluca Palermo (mail)

Area di ricerca

Architetture dei sistemi di elaborazione

Keyword (max 3 separate da virgola)

Drug Discovery, Virtual Screening, HPC

Descrizione (max 500 caratteri)

Il progetto prevede lo studio e l’implementazione di tecniche per la manipolazione di piccole molecole o proteine a supporto della scoperta di nuovi farmaci usando strumenti informatici. In particolare, il progetto vede lo sviluppo e ottimizzazione di tecniche note in letteratura per la generazione della tasca target a partire da una proteina, per supportare il passo virtual screening usando sistemi HPC (High-Performance Computing).
Esempi di Metodi da analizzare sono:
– J. Yu, Y. Zhou, I. Tanaka, M. Yao, Roll: A new algorithm for the detection of protein pockets and cavities with a rolling probe sphere. Bioinformatics, 26(1), 46-52, (2010)
– Brady, G.P., Stouten, P.F. Fast prediction and visualization of protein binding pockets with PASS. J Comput Aided Mol Des 14, 383–401 (2000)

Analisi e Implementazione di strumenti di supporto al virtual screening di molecole per la scoperta nuovi farmaci

Docente

Gianluca Palermo (mail)

Area di ricerca

Architetture dei sistemi di elaborazione

Keyword (max 3 separate da virgola)

Virtual Screening, HPC, Scoperta Nuovi Farmaci

Descrizione (max 500 caratteri)

Il progetto prevede lo studio e l’implementazione di tecniche per la manipolazione di piccole molecole o proteine a supporto della scoperta di nuovi farmaci usando strumenti informatici. In particolare, i progetti in questo ambito sono pensati per il supporto a esperimenti su ampia scala per il virtual screening usando sistemi HPC (High-Performance Computing).