Available MSc/BSc theses


Tesi di laurea magistrale e triennale attualmente disponibili a UNITO in collaborazione con il Centro Nazionale HPC & BigData

Indice tesi attualmente disponibili su Federated Learning, Workflows e HPC:

Strumenti e attrezzatture utilizzabili: Risorse HPC4AI https://hpc4ai.unito.it, PC personale. Gli studenti potranno utilizzare come luogo di lavoro e studio i nuovi locali del contamination lab del centro nazionale FutureHPC & BigData presso il Dipartimento di Informatica dell’Università di Torino.

Federated Learning su dati non-IID

Referenti: Marco Aldinucci, Bruno Casella (bruno.casella@unito.it)

Descrizione: Open Federated Learning (OpenFL) è una libreria Python per Federated Learning, sviluppata dai gruppi Intel Labs e Intel Internet of Things, che permette a diverse organizzazioni di collaborare al training di un modello globale senza condividere dati privati. La possibilità di evitare di condividere i dati permette al Federated Learning di trovare riscontro in tutti i settori dove privacy e sicurezza sono fondamentali, come il settore medico o industriale. I dati reali sono spesso distribuiti in maniera non-IID (non independently and identically distributed) tra le varie organizzazioni della federazione, rappresentando così una critical challenge per i sistemi di Federated Learning.

Nella versione attuale di Intel OpenFL la fase di testing dei modelli locali è effettuata sui dati locali di ciascun client. Testare i modelli locali sul test set globale (dato dall’unione di tutti i validation set locali) permetterebbe di capire se i singoli modelli riescono a generalizzare i dati dei clients della federazione.

La tesi consiste nell’implementazione di tale meccanismo di testing globale ed estensiva sperimentazione nei non-IID settings più comuni (quantity skew, labels skew, covariate shift ecc).

Federated Learning con modelli non-deep: creazione di un benchmark per OpenFL-extended

Referenti: Marco Aldinucci, Gianluca Mittone (gianluca.mittone@unito.it)

Descrizione: Con il termine Federated Learning (FL) si intende una tecnica di Machine Learning (ML) in cui il processo di apprendimento è effettuato a partire da dati partizionati su più device.

La peculiarità di questo metodo è quella di produrre un unico modello di ML efficace su tali dati senza il bisogno di dover raggruppare quest’ultimi in un solo luogo, con tutta una serie di vantaggi sulla privacy degli utenti e sui costi della gestione dei dati stessi.

Questo approccio, fin’ora utilizzato solo su Deep Neural Networks (DNN), sta venendo espanso dalla comunità scientifica anche a modelli non-deep, quali Alberi di Decisione, modelli Naive Bayes, Regressione Logistica e così via.

In questa tesi verrà esplorato l’algoritmo per non-deep FL AdaBoost.F, sviluppato nel
nostro dipartimento, nella sua implementazione nel framework per FL di Intel OpenFL al fine di indagarne le prestazioni sia di apprendimento sia computazionali.

Progettazione di un control plane distribuito per Streamflow WMS

Referenti: Marco Aldinucci, Iacopo Colonnelli (iacopo.colonnelli@unito.it)

Descrizione: StreamFlow è un framework modulare, container-native che consente di distribuire gli step di un workflow complesso tra diversi esecutori: dal desktop a un intero cluster Kubernetes su un cloud pubblico o un supercomputer.

StreamFlow, che è sviluppato a UNITO (https://streamflow.di.unito.it), è 100% compliant allo standard aperto CWL (https://www.commonwl.org/
implementations
). Streamflow è una prodotto della ricerca attualmente sviluppato nei progetti EU DeepHealth (https://deephealth-project.eu), ACROSS (https://www.acrossproject.eu), EUPEX European Pilot for Exascale (https://eupex.eu), adottato in numerosi ambiti applicativi (genomica, ingegneria, bioinformatica).

StreamFlow è uno dei prodotti software selezionati per il centro
nazionale “HPC, BigData e QuantumComputing” (ICSC) in partenza al 1 settembre 2022 (fondi PNRR MUR).

Nella versione attuale il control plane di StreamFlow è centralizzato sul nodo driver che può diventare un single-point-of-failure e limitare la scalabilità del sistema.
La tesi consiste nella progettazione e la prototipazione di un control plane distribuito per StreamFlow.

Studio e testing di differenti tool per la parallelizzazione di codice su GPU

Referenti: Marco Aldinucci, Alberto Riccardo Martinelli (albertoriccardo.martinelli@unito.it)

Descrizione: Le GPU sono ormai utilizzate in molti campi per risolvere problemi scientifici complessi in modo efficiente.

Scrivere codice portabile ed efficiente è un task notoriamente difficile e nel caso delle gpu questo problema è ancora più marcato. Negli ultimi anni sono stati molti gli sforzi per creare dei tool per facilitare la scrittura di codice parallelo per GPU.

OpenAcc e OpenMP sono I tool maggiormente usati per questo compito.

Il candidato dovrà effettuare uno studio approfondito di questi tool (confrontandoli anche con approcci di più basso livello) per capirne I punti di forza e di debolezza.
Inoltre dovrà scrivere degli esempi con entrambi I tool per avere un confronto completo sia sull’usabilità che sulle prestazioni.
Al candidato verrà fornito Spray-web, un codice scientifico che simula la dispersione di inquinanti in un ambiente 3D. Esistono diverse versioni di questo codice: OpenMP, OpenACC, CUDA e FPGA. Il candidato potrà testare le varie versioni per avere esperienza con un codice reale che gli permetta di avere una comprensione ancora più completa su tali tool.