Laboratorio software A.A. 2009-2010
Hardware testing with software T1. RAM Testing Il progetto ha lo scopo di studiare e sviluppare alcune delle tecniche note per il testing della memoria RAM di un sistema basato su microcontrollore. Il testing deve essere svolto durante il normale funzionamento del sistema. Questo progetto può portare allo sviluppo di eventuali nuove tecniche. T2. FLASH Testing Il progetto ha lo scopo di studiare e sviluppare alcune delle tecniche note per il testing della memoria FLASH di un sistema basato su microcontrollore. Il testing deve essere svolto durante il normale funzionamento del sistema e non deve pregiudicare la vita media della memoria. Questo progetto può portare allo sviluppo di eventuali nuove tecniche. T3. Data protection Alcuni dati di applicazioni safety critical (tipicamente dati di stato) sono particolarmente importanti e devobo pertanto essere protetti da eventuali errori dovuti a malfunzionamenti di natura hardware (transient faults, SEU,...). Il progetto ha l obiettivo di studiare e implementare alcune tecniche per la protezione di tali dati. Questo progetto può portare allo sviluppo di eventuali nuove tecniche. 2 Laboratorio Software 2008-2009
Hardware testing with software T4. CPU Self-Test Il progetto ha lo scopo di studiare e sviluppare alcune delle tecniche per il self-test della CPU di un sistema basato su microcontrollore. Il testing deve essere svolto durante il normale funzionamento del sistema. Di particolare rilevanza è la definizione di opportuni modelli della CPU, dell instruction set e dei guasti e la definizione di una opportuna metrica di copertura. Inoltre, dovendo essere eseguita con una elevata frequenza, la routine di self-test deve essere particolarmente efficiente. Questo progetto può portare allo sviluppo di eventuali nuove tecniche. 3 Laboratorio Software 2008-2009
Fixed-Point Arithmetic M1. Fixed/Floating Point Library Nello sviluppo di applicazioni numeriche si pone molto spesso il problema di passare dalla formulazione dell algoritmo floating-point alla versione fixed-point. Questo passaggio comporta diverse scelte relatie alla dimensione dei dati e allo specifico formato fixedpoint. Il progetto ha l obiettivo di sviluppare una libreria C++ di oggetti misti floating-point e fixed-point grazie ai quali sia possibile eseguire contemporaneamete le due versioni dell algoritmo e al tempo stesso sia possibile variare in modo semplice la precisione dei dati utilizzati, valutando l impatto sulla precisione. M2. Fixed point function generator Nello sviluppo di applicazioni numeriche si pone molto spesso il problema di semplificare funzioni complesse mediante opportune approssimazioni di diversa natura: lineare, lineare a tratti, polinomiale, tabellare, interpolata, ecc. Il progetto ha lo scopo di sviluppare un sistema di generazione di codice per l implementazione automatica di tali funzioni sulla base di opportuni parametri forniti dall utente. 4 Laboratorio Software 2008-2009
Wireless Sensor Networks W1. Benchmark Applications Il progetto richiede la realizzazione di un applicazione dimostrativa su rete di sensori. Lo scopo è quello di famigliarizzare con architetture e ambienti di sviluppo nell ambito delle reti di sensori wireless ed al tempo stesso di produrre un insieme di applicazioni utili ai fini di benchmarking e di analisi delle prestazioni. W2. Compression/Transmission Tradeoff Nell ambito dello sviluppo di applicazioni su reti di sensori wireless, uno dei punti più critici è legato al consumo di potenza relativo alla sezione RF del nodo, ovvero alla trasmissione e ricezione dei dati. Il progetto si propone di studiare come utilizzare opportuni algoritmi di compressione lossless al fine di bilanciare il consumo energetico relativo al maggiore carico computazionale con la riduzione della potenza di trasmissione. 5 Laboratorio Software 2008-2009
Mult-Core Architectures for Networking Le reti per il trasporto dei pacchetti hanno l'obiettvo di aggregare e trasmettere a distanza il traffico a pacchetti appartenente a diverse tipologie. In un nodo si possono isolare funzionalità quali classificazione dei pacchetti, forwarding (instradamento), policing (elimnazione del traffico che eccede il contratto), shaping (regolazione del traffico), processing (elaborazione del pacchetto quali update dell header ed encription del payload), e traffic management (definizione della priorità del traffico). Scopo dell'attività' proposta è la valutazione dell'applicabilità di microprocessori multi-core per la realizzazione di un nodo per la rete di trasporto dei pacchetti. N1. Comparative multi-core analysis Analisi comparativa delle soluzoni multi-core oggi disponibili sul mercato, con particolare attenzione agli aspetti rilevanti dello specifico campo applicativo. N2. Use case definition Sviluppo di un insieme di casi d uso per eseguire becnhmarking e confrontare le prestazioni ottenute mediante architetture multicore con quelle delle classiche soluzioni ASIC, FPGA e Network Processor. N3. Benckmark application development Sviluppo e testing dell applicazione di benchmark selezionata su almeno due diverse architetture multi-core. 6 Laboratorio Software 2008-2009
Miscellanea M1. Scheduler simulator Il progetto richiede la realizzazione di un simulatore di uno scheduler di breve periodo utilizzabile allo scopo di verificare le prestazioni di diversi algoritmi di scheduling. La sua funzione di base deve essere quella di interagire con un generatore di processi (in realtà di oggetti che rappresentano i processi) e procedere allo scheduling secondo l algortimo specificato. Ogni oggetto processo è descritto da alcuni parametri tra cui la durata, la modalità di esecuzione (user o kernel) ed una statistica delle chiamate bloccanti di sistema. Lo scheduler stesso deve essere espandibile per potervi aggiungere caratterizazioni di dettaglio quali, ad esempio, il tempo di esecuzione dello scheduler stesso, il tempo di context switch, il consumo di potenza, ecc. 7 Laboratorio Software 2008-2009