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).

Floating-point to fixed-point conversion

Docente

Giovanni Agosta (web, mail)

Area di ricerca

Architetture

Keyword

Fixed-point arithmetics

Sito web del progetto
TAFFO

Tecnologie da utilizzare

C++

Descrizione (max 500 caratteri)

Obiettivo di questo progetto è analizzare le prestazioni di un sistema di conversione semi-automatica da aritmetica in virgola mobile ad aritmetica in virgola fissa, realizzando una mini-applicazione benchmark (a partire da quelle delle suite mantevo o mediabench), per confrontare le prestazioni della versione in virgola fissa realizzata con il sistema semi-automatico con una versione generata manualmente.

Rilevamento di attacchi alla sicurezza in processori RISC-V

Docente

Luca Cassano (web, mail)

Area di ricerca

Architetture dei sistemi di elaborazione

Keyword (max 3 separate da virgola)

Security, Hardware, Simulazione

Tecnologie da utilizzare

GEM5, C/C++, Python, Machine Learning, Probabilistic Data Structures

Descrizione (max 500 caratteri)

I moderni microprocessori integrano elementi quali core multipli, vari livelli di caches, unità di accelerazione, esecuzione speculativa che da un lato migliorano tremendamente le performance ma dall’altro espongono il sistema a numerosi attacchi alla sicurezza. Esempi di tali attacchi sono i recenti Spectre e Meltdown che sfruttano misurazioni sul timing degli accessi alla cache per “rubare” informazioni che dovrebbero invece rimanere segrete. Questo progetto si propone di sviluppare tecniche basate su machine learning o su probabilistic data structures per la rilevazione della presenza di questi attacchi durante l’esecuzione di un programma.

Definizione di tecniche di gestione dei guasti per applicazioni di elaborazioni di immagini e machine learning

Docente

Antonio Miele (web, mail)

Area di ricerca

Architetture dei sistemi di elaborazione

Keyword (max 3 separate da virgola)

gestione dei guasti, elaborazione di immagini, machine learning

Tecnologie da utilizzare

C/C++, Python

Descrizione (max 500 caratteri)

Stiamo assistendo ad un impiego sempre più massiccio di applicazioni di elaborazione di immagini e machine learning per automatizzare le attività di percezione in sistemi critici come satelliti o computer di bordo delle automobili. E’ necessario quindi dotare di questi sistemi di elaborazione di meccanismi di individuazione e gestione di eventuali guasti hardware che si possono verificare nei circuiti.
L’obiettivo di questo profetto è contribuire mediante casi di studio alla progettazione di nuove tecniche di individuazione e gestione dei guasti specifici per la classe di applicazione in esame; basandosi sulle peculiarità delle applicazioni in esame tali tecniche dovranno offrire un’alta copertura dei guasti ed al tempo stesso limitare l’impatto negativo dell’irrobustimento sulle prestazioni del sistema.

Implementazione di tecniche software per la tolleranza di attacchi alla sicurezza in sistemi embedded

DOCENTE

Luca Cassano (web)

AREA DI RICERCA

Architetture

KEYWORD

Hardware Security, Hardware Trojans, Software Redundancy

TECNOLOGIE DA UTILIZZARE

C/C++

DESCRIZIONE (MAX 500 CARATTERI)

Gli Hardware Trojans sono modifiche malevole inserite in un dispositivo elettronico, molto difficili da individuare, che in specifiche condizioni operative si attivano e modificano il comportamento del dispositivo. Lo scopo del progetto è duplice: la prima parte verterà sul prendere confidenza con una processore embedded (ARM o RISC-V); la seconda parte sarà focalizzata sullo sviluppo di tecniche software per tollerare la presenza e l’attivazione di Hardware Trojans in sistemi embedded.

Tecniche di approximate computing basate su tecnologie STT-MRAM

DOCENTE

Antonio Miele (web, mail)

AREA DI RICERCA

Architetture

KEYWORD

STT-MRAM, approximate computing, potenza, errori

TECNOLOGIE DA UTILIZZARE

C/C++, Python

DESCRIZIONE (MAX 500 CARATTERI)

Le memorie magnetiche STT-MRAM rappresentano oggi una possibile alternativa alle attuali memorie RAM. Un aspetto interessante delle memorie STT-MRAM è la possibilità di variare l’intensità della corrente applicata nelle operazioni di scrittura per ottenere una considerevole riduzione del consumo di potenza, causando al tempo stesso un numero di errori nei dati salvati.
L’obiettivo del progetto è realizzare uno o più casi di studio basati su applicazioni di elaborazioni di immagini e machine learning in cui valutare tramite simulazioni come varia il rapporto tra la riduzione del consumo di potenza e l’errore introdotto nelle elaborazioni in base all’intensità della corrente applicata in scrittura.

GPS data logger and parser

Docente

Mirko Reguzzoni (mail)

Area di ricerca

Architetture dei sistemi di elaborazione

Keyword (max 3 separate da virgola)

GPS, real-time acquisition, data parsing

Descrizione (max 500 caratteri)

The goal is to write a tool to real-time log the binary data stream provided by a GPS receiver, as well as parse this stream by converting it into standard data formats. The tool should manage one or more EVK8 u-blox receivers (available for testing), each of them connected to a COM port. The tool should log the binary stream and decrypt it to produce two ASCII files in RINEX and NMEA formats, containing the positioning information. A synchronization file linking GPS and computer time-stamps has to be written too.  The tool should be developed in Python, c or c++ languages.

Implementazione di un algoritmo di allineamento di sequenze genomiche su FPGA

Docente

Marco Domenico Santambrogio (mail)

Area di ricerca

Architetture dei sistemi di elaborazione

Keyword (max 3 separate da virgola)

FPGA, Computazione ad alte prestazioni, Genomica

Tecnologie da utilizzare

C/C++, FPGA

Descrizione (max 500 caratteri)

L’allineamento di sequenze è una procedura centrale nella bioinformatica che trova moltissime applicazioni nel campo della genomica e, più in generale, nella biologia molecolare. Le evoluzioni tecnologiche richiedono algoritmi che siano sempre più veloci ed efficienti per portare a termine tali procedure. Purtroppo, gli algoritmi ad oggi sviluppati per l’allineamento di sequenze hanno complessità temporale e spaziale, nel migliore dei casi, quadratica. Per questo scopo, noi proponiamo un’implementazione basata su FPGA del “Wavefront Alignment Algorithm” (WFA). Questo algoritmo è usato per l’allineamento gap-affine globale che sfrutta regioni omologhe tra le due sequenze ed è stato ideato per velocizzare gli algoritmi proposti precedentemente di complessità ancora maggiore (algoritmo di Needleman-Wunsch). L’implementazione su FPGA ha lo scopo di accelerare tale algoritmo per renderlo più veloce, flessibile e meno dispendioso di energia nell’esecuzione.

MARC – Model and Analysis of Resource Consumption

Docente

Marco Domenico Santambrogio (mail)

Area di ricerca

Architetture dei sistemi di elaborazione

Keyword (max 3 separate da virgola)

Sistemi distribuiti, consumo di risorse

Tecnologie da utilizzare

SCALA, docker, modelli ARX

Descrizione (max 500 caratteri)

MARC è una metodologia di machine learning che guida l’analisi di trend di consumo di risorse di vario tipo (ad esempio, carica della batteria in dispositivi mobili, quote in sistemi condivisi cloud, vita operativa di un macchinario industriale). Date le tracce del comportamento del sistema, MARC identifica differenti tipi di caratteristiche e costruisce modelli su come ciascuna di queste impatta sul consumo di risorse in esame; i modelli vengono quindi impiegati da un simulatore per predire il consumo in differenti condizioni operative. Questa piattaforma distribuita cloud-native è stata sviluppata nel 2016 per essere estendibile, personalizzabile e flessibile. Nonostante ciò, oggi richiede una ristrutturazione che possa portare i suoi componenti ad utilizzare le tecnologie più recenti nell’ambito dell’ingegneria del software e dei sistemi. L’obiettivo del progetto è di analizzare e aggiornare progressivamente il codice sorgente della piattaforma MARC sfruttando paradigmi allo stato dell’arte (programmazione funzionale), strumenti di virtualizzazione ed orchestrazione (containerizzazione) e soluzioni di distribuzione del calcolo (programmazione ad attori).

App4NECSTCamp

Docente

Marco Domenico Santambrogio (mail)

Area di ricerca

Architetture dei sistemi di elaborazione

Keyword (max 3 separate da virgola)

Applicazione mobile, UX, Health

Tecnologie da utilizzare

Tecnologie Web, Flutter, Docker

Descrizione (max 500 caratteri)

Lo scopo del progetto è di sviluppare l’infrastruttura informatica per l’inserimento, l’estrazione e la visualizzazione dei dati raccolti nell’ambito delle attività del NECSTCamp, quali i dati sul monitoraggio del sonno, i diari di allenamento e nutrizione, e i segnali biomedicali.
Nell’ambito del progetto è quindi richiesto un primo studio dei requisiti, l’ideazione e la successiva implementazione delle API da esporre, e il contestuale sviluppo di backend e frontend.