Tesi Magistrali

Il gruppo di Distributed System dell’Università di Ferrara è attivo su molteplici argomenti di ricerca, sia scientifica che industriale. 

Qui di seguito vengono riportati alcuni ambiti di interesse scientifico all’interno dei quali è possibile svolgere l’attività di tirocinio/tesi magistrale.

Le attività di ricerca industriale variano in relazione alle necessità delle aziende; se interessati, contattare il prof. Cesare Stefanelli.

BDMaaS+

Referente: prof. Mauro Tortonesi

BDMaaS+ è un framework per l’ottimizzazione business-driven di componenti IT in ambienti Cloud federati e ibridi. I componenti IT sono installati su Virtual Machine (VM) di diverso tipo (secondo una classificazione EC2) in esecuzione su un pool di data center privati e pubblici. L’obiettivo di BDMaaS+ è quello di trovare una configurazione di costo minimo e aderente a Service Level Agreement (SLA).

L’utente di BDMaaS+ è il service provider che vuole trovare la configurazione di costo ottimale che gli consente di distribuire il proprio servizio a una platea globale di utenti.

Progetto di ricerca

BDMaaS+ adotta un framework di ottimizzazione basato su un algoritmo memetico basato su Quantum Particle Swarm Optimization (QPSO) e una local search. Un’interessante alternativa è rappresentata dalla Surrogate optimization, una tecnica che consente di creare un surrogato del modello matematico complesso al fine di velocizzarne i tempi di ottimizzazione. A tal fine, si consultino anche librerie software che consentono di utilizzare surrogate optimization come black box. Valutare la fattibilità di una possibile integrazione all’interno del framework di ottimizzazione. Si realizzi un prototipo per validare l’approccio su un modello simulato.

Materiale utile:

KubeTwin

Referente: prof. Mauro Tortonesi

Kubernetes (K8S) is everywhere. Sicuramente avrete sentito parlare di una delle soluzioni di orchestrazione più utilizzate al giorno d’oggi. Kubernetes permette di eseguire il deploy (orchestrazione / gestione) di un servizio container-based su un cluster (pool di macchine fisiche e/o virtuali) affidando parte della loro gestione a Kubernetes. Si parta dall’orchestratore Kubernetes e si cerchi di modellare il design di un Digital Twin che permetta di simulare le sue funzionalità principali, utilizzando anche parte dell’esperienza del progetto BDMaaS+:

  • Pod management.
  • Network management.
  • Failure management.

Materiale utile:

Service Management in Edge / Fog Computing

Referente: prof. Mauro Tortonesi

Phileas, da Phileas Fogg, nasce come un simulatore per soluzioni middleware basate sul concetto di Value-of-Information (VoI) in ambienti di tipo fog computing. Phileas permette di modellare servizi IoT modulari composti da più componenti (detti service component), che verranno messi in esecuzione su dispositivi edge computing (a bordo della rete)  o su piattaforme Cloud. Attualmente, Phileas adotta un modello lossiness per il processamento dei dati raccolti da sensori IoT, in modo da poter adeguare la capacità computazionale assegnata ai diversi service components in esecuzione su un dispositivo alle risorse computazionali a disposizione.

Progetti di Ricerca

Al fine di estendere il simulatore si pensi ad altri modelli di processamento dati per dispositivi edge, quali la modellazione di code (M/M/1, M/M/G, …), che ben si prestano a simulare l’esecuzione di servizi su dispositivo edge multi-core moderno. Si cerchi poi di validare sperimentalmente i diversi modelli. In alternativa,  si analizzi anche lo standard Multi-access Edge Computing (MEC) basato su task offloading. MEC è uno standard definito da ETSI al fine di fornire capacità computazionale on-demand direttamente nella rete cellulare edge. Si consulti la recente letteratura in merito e lo standard ETSI.

Reinforcement Learning (RL)

Referente: prof. Mauro Tortonesi

RL è una branca del Machine Learning che si propone di risolvere un problema con un approccio non supervisionato e reward-oriented. Lo scopo del RL è quello di addestrare un agente software in modo autonomo, lasciando interagire l’agente software con un “ambiente” da cui è legato da un rapporto di causa effetto. Per ogni interazione tra l’agente e l’ambiente (azione), l’agente percepisce un reward, che rappresenta un feedback dell’azione appena compiuta. L’obiettivo ultimo dell’agente è quello di massimizzare il reward ottenuto.

Si consulti il recente e interessante articolo su RL (Reward is enough): Link articolo

Nel definire un framework per la gestione di servizi e risorse in ambito Fog Computing, RL è stato applicato come strumento decisionale per il simulatore Phileas al fine di cercare una allocazione performante di servizi su pool di nodi edge / fog in termini di Value of Information (VoI).

Si consulti: paper IM 2021

Progetto di Ricerca

Analizzare ed estendere il modello attualmente implementato per cercare di applicare altri algoritmi di RL e Deep RL (DRL). L’estensione deve considerare anche una diversa modellazione del problema in termini di stato e azioni. Infine, si valuti come tali metodologie si comportano in un ambiente altamente dinamico. Si considerino anche altri elementi per valutare il reward di uno stato: latenza complessiva, latenza di una classe di richieste, etc. Un agente addestrato all’interno di uno scenario statico come si comporta in uno scenario leggermente modificato? La conoscenza ottenuta durante un primo addestramento può essere utilizzata in una nuova fase di apprendimento?

Beyond Reinforcement Learning

Seguendo il successo e l’interesse verso il RL, sono state proposte diverse varianti che cercano di distribuire/federare il processo di addestramento. Tra queste abbiamo reinforcement learning distribuito, federazione della conoscenza di più agenti; 

Come superare il problema della conoscenza limitata al singolo task / problema?

Si consulti: Improving Generalization in Reinforcement Learning using Policy Similarity Embeddings

Software-Defined Networking

Referente: prof. Carlo Giannelli

Con Software-Defined Networking (SDN)  si intende un moderno paradigma di rete che disaccoppia Forwarding Plane (FP) e Control Plane (CP). Segue che il paradigma SDN sposta la logica di controllo dai dispositivi di rete (i.e., router e switch) a un’entità logicamente, ma non necessariamente fisicamente, centralizzata: l’SDN Controller. La definizione canonica di SDN implica che i dispositivi di rete si occupino del mero inoltro (forwarding) mentre le decisioni di instradamento (routing) vengano prese dall’SDN Controller, un’entità software in esecuzione su server out-of-network.

L’attività proposta è incentrata su ricerca e sperimentazione di software open-source e general-purpose relativi a:

  • SDN Controller (e.g., Floodlight, ONOS, POX, Ryu).
  • SDN Switch (e.g., Open vSwitch).
  • Linguaggi di programmazione per controllare il forwarding in dispositivi di rete (e.g., P4).

Inoltre, si propone un’attività di analisi che comprende (ma non è esclusivamente limitata a) studio di punti di forza e criticità con conseguente  analisi delle performance in scenari “non ortodossi” di protocolli utilizzati in ambito SDN. Su tutti:

  • OpenFlow, protocollo standard de facto in ambito SDN.

L’attività di ricerca proposta in ambito SDN è soprattutto di tipo implementativo/sperimentale. Per quanto concerne la parte di valutazione sperimentale si propongono software open-source per il setup dell’ambiente di networking ampiamente riconosciuti in ambito accademico e non solo, quali:

  • Mininet.
  • Mininet-WiFi.

Infine, si propone la progettazione e costruzione di un testbed con Raspberry Pi o prodotti simili per sperimentazione parallele a Mininet(-WiFi). Tale testbed deve essere configurabile automaticamente utilizzando Ansible.

In-Network Processing

Referente: prof. Carlo Giannelli

Il concetto di In-Network Processing ha come scenario di riferimento le Wireless Sensor Networks (WSNs), dove, solitamente, i sensori inviano i dati rilevati nella fase di monitoring verso il sink di riferimento senza alcuna attività di processamento in situ. Al contrario, l’In-Network Processing indica la capacità dei sensori di processare i dati (raccolti direttamente o ricevuti da sensori vicini), applicando, ad esempio, funzioni di aggregazione o filtraggio. Un esempio di funzione di aggregazione consiste nel trasmettere un solo pacchetto contenente la media di un certo numero di rilevazioni anziché un pacchetto per ciascuna rilevazione. Invece, un esempio di funzione di filtraggio consiste nel non inviare valori che sono al di sopra o al di sotto di un certo valore di soglia. In entrambi i casi, si ha il vantaggio di trasmettere meno pacchetti e, di conseguenza, limitare il consumo di energia dei sensori.

L’attività proposta è incentrata sulla valutazione, progettazione, implementazione e sperimentazione di soluzioni di In-Network Processing in reti edge in contesti di  Industria 4.0.

Nello specifico, si propone l’implementazione di:

  • Framework per iniettare funzioni di In-Network Processing dinamicamente (possibile soluzione container-based).
  • Funzioni di In-Network Processing per cyber security, come (de)cifratura del contenuto dei pacchetti o rivelazione di blacklisted pattern.
  • Funzioni di In-Network Processing per diminuire il traffico di rete.
  • Meccanismi distribuiti necessari per abilitare funzioni avanzate di In-Network Processing.

L’attività di ricerca proposta in ambito In-Network Processing è soprattutto di tipo implementativo/sperimentale. Per quanto concerne la parte di valutazione sperimentale si propongono software open-source per il setup dell’ambiente di networking ampiamente riconosciuti in ambito accademico e non solo, quali:

  • Mininet.
  • Mininet-WiFi.

Infine, si propone la progettazione e costruzione di un testbed con Raspberry Pi o prodotti simili per sperimentazione parallele a Mininet(-WiFi). Tale testbed deve essere configurabile automaticamente utilizzando Ansible.

Blockchain

Referente: prof. Carlo Giannelli

Blockchain è una tecnologia per archiviare in modo sicuro e immutabile qualsiasi tipo di informazione (le informazioni non sono né cancellabili né modificabili) su una base di dati distribuita, utilizzando congiuntamente meccanismi di crittografia e algoritmi di consenso. Essenzialmente, Blockchain non è altro che un registro (o “libro mastro”) in cui le informazioni sono logicamente raggruppate in blocchi collegati a catena, ma, a differenza dei registri tradizionali, non necessita di alcuna entità terza che ne garantisca il contenuto. Principalmente associata al mondo delle criptovalute, con l’introduzione degli smart contract Blockchain ha iniziato ad affermarsi anche in scenari alternativi, come quello dell’Industria 4.0. In particolare, gli smart contract non sono altro che programmi memorizzati nella Blockchain eseguiti al verificarsi di certe condizioni per portare a termine in modo automatico, irreversibile e trasparente i termini di un accordo tra più parti senza il bisogno di intermediari. L’attività proposta è incentrata sulla progettazione, implementazione e sperimentazione di soluzioni basate su Blockchain per scenari di Industria 4.0.

Nello specifico, si propone l’utilizzo di Blockchain per:

  • Smart contracts.
  • Cyber security.

L’attività di ricerca proposta in ambito Blockchain è soprattutto di tipo implementativo/sperimentale. Come software di riferimento per l’implementazione dei progetti si propone:

Inoltre, specialmente per le soluzioni Blockchain in ambito cyber security per reti edge industriali si propone un’attività di sperimentazione su dispositivi con capacità computazionali (relativamente) limitate (e.g., Raspberry Pi) e la valutazione di algoritmi di consenso alternativi a quelli tradizionali con annessa valutazione dei relativi trade-off.