|
|
Sito aggiornato al
04 Agosto 2010 |
Ecco una lista degli argomenti di tesi disponibili, nelle aree di ricerca di mia competenza, per il Corso di Laurea Specialistica in Ingegneria Informatica dell'Università degli studi di Pisa. Le tesi potranno essere svolte presso il laboratorio di sistemi in tempo reale (ReTiS) della Scuola Superiore Sant'Anna (sede in Via Moruzzi 1, all'interno dell'area CNR, Pisa). Se siete interessati ad uno degli argomenti disponibili, mandatemi un'e-mail per prendere un appuntamento.
Per una lista dei progetti di tesi completati, fate riferimento alla pagina dedicata.
| Sistemi Operativi e scheduling per sistemi multicore scalabili |
|---|
| I sistemi multicore stanno prendendo piede ad un ritmo
incalzante. In un prossimo futuro, il mondo del computing
sarà dominato da dispositivi mobili che costituiranno il
punto d'accesso ad applicativi completamente distribuiti messi a
disposizione remotamente da opportuni provider. Le applicazioni
di Cloud Computing di domani faranno largo uso di sistemi
massicciamente paralleli, i cosiddetti sistemi many-core,
per i quali i Sistemi Operativi di oggi risultano inadeguati per
una gestione ottimale delle risorse. In quest'ambito si propone di investigare su problematiche di scalabilità a livello di kernel di Sistema Operativo. In particolare, le possibilità di lavori di tesi in quest'area sono molteplici:
Requisiti.In generale, per tutte le tesi che si collocano in quest'area, è necessaria un'ottima conoscenza dei sistemi operativi e delle architetture dei calcolatori. Inoltre, per ciascuna proposta di tesi specifica, possono essere richieste ulteriori conoscenze e capacità individuali.Benefici.Lo studente avrà l'opportunità di acquisire competenze ed esperienza nel mondo del calcolo parallelo, della programmazione concorrente e distribuita, del supporto a livello di Sistema Operativo per sistemi massivamente paralleli, con particolare riferimento alla progettazione di algoritmi di scheduling e primitive di sincronizzazione scalabili ed efficienti, grazie anche al lavoro sperimentale che potrà essere condotto su di una piattaforma a 48 core disponibile in laboratorio. |
| Predicibilità temporale di applicazioni real-time distribuite e virtualizzate |
| Negli ultimi anni le tecnologie di virtualizzazione si stanno
imponendo come una soluzione efficace per fornire servizi software
anche complessi ad applicazioni distribuite. Le suddette tecnologie
permettono di astrarre la reale macchina fisica su cui avvengono le
elaborazioni, creando un insieme di macchine virtuali (VM) e
permettendo quindi di eseguire più di un sistema operativo (con
relative applicazioni) sulla stessa macchina fisica. Sfortunatamente,
però, le tecnologie di virtualizzazione attualmente esistenti
sono spesso inadeguate per supportare applicazioni con vincoli
temporali e non permettono di garantire stabilmente all'utente finale
dei livelli di qualità del servizio prefissati. Oggigiorno,
molte applicazioni distribuite richiedono tempi di risposta limitati e
predicibili per poter fornire i propri servizi in modo corretto: ad
esempio, applicazioni di realtà virtuale, telepresenza o
generalmente per la collaborazione on-line, che richiedono di
acquisire, elaborare e visualizzare dati con una temporizzazione
abbastanza precisa.
Il problema di garantire una quantità sufficiente di risorse, e con la giusta granularità temporale, a questo tipo di applicazioni diventa ancor più spinoso a causa delle interferenze che possono crearsi fra VM che impegnano risorse diverse, tipicamente di elaborazione e di rete. Ad es., una VM con un traffico di I/O pesante può influenzare negativamente la performance di elaborazione di altre VM. In questa tesi, si propone di investigare sulle problematiche che impediscono di avere una performance real-time e predicibile di componenti software virtualizzate, nonché di sperimentare alcuni dei meccanismi per l'isolamento temporale all'avanguardia nel mondo dei sistemi soft real-time. Requisiti.Ottima conoscenza del linguaggio C, dello stack TCP/IP, e dei cosiddetti "server" nella letteratura degli scheduler real-time. Buona dimestichezza con il Sistema Operativo Linux, interesse per la sperimentazione di feature non standard del kernel.Benefici.Lo studente avrà l'opportunità di applicare concretamente alcuni aspetti della teoria dei sistemi real-time, nel contesto estremamente spinoso delle applicazioni real-time distribuite virtualizzate, utilizzando meccanismi per l'isolamento temporale che costituiranno le fondamenta per il supporto alla Quality of Service nei Sistemi Operativi di domani. Inoltre, prenderà dimestichezza con strumenti di virtualizzazione come KVM, che sono alla base delle infrastrutture di rete allo stato dell'arte. |
| Meccanismi di protezione del bytecode di Java. |
|
Come è noto, nel linguaggio di programmazione Java le caratteristiche
di modularità e binding dinamico del codice obbligano a mantenere
nel bytecode compilato moltissime informazioni sul sorgente Java (ad esempio,
i nomi delle classi e dei metodi). Questo rende abbastanza facile fare il
reverse engineering di un software Java, dato che decompilando il bytecode
si ottiene qualcosa che è abbastanza simile al sorgente Java originale.
Questo porta a problematiche nella protezione del software e dei diritti di
autore, che possono essere affrontate mediante meccanismi di offuscamento
dei sorgenti prima della compilazione, nonchè di cifratura del bytecode
compilato. Tecniche di questo tipo di solito scoraggiano il pirata occasionale,
ma sono del tutto inefficaci contro il pirata ostinato.
In questa tesi, si propone di studiare qual'è lo stato dell'arte nelle metodologie di protezione del bytecode Java nella pratica industriale, e di realizzare un meccanismo prototipale. Requisiti.Conoscenza del linguaggio Java, interesse per le problematiche di protezione del software.Benefici.Conoscenza avanzata di alcune caratteristiche del linguaggio Java e del funzionamento della Java Virtual Machine, metodologie di offuscamento e cifratura del bytecode, sistema di compilazione Ant. |
|
|
Sito aggiornato al
04 Agosto 2010 |