Sistemi distribuiti dedicati (2008/2009)

Corso a esaurimento

Codice insegnamento
4S01924
Crediti
5
Coordinatore
Andrea Acquaviva
L'insegnamento è organizzato come segue:
Modulo Crediti Settore disciplinare Periodo Docenti
Teoria 4 ING-INF/05-SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI 2° Q Andrea Acquaviva
Laboratorio 1 ING-INF/05-SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI 2° Q Andrea Acquaviva

Obiettivi formativi

Modulo: Teoria
-------
Il corso si propone di fornire una panoramica sui sistemi distribuiti dedicati, dalle piattaforme multiprocessore per gateway multimediali alle reti di sensori per automotive, industriali e per monitoraggio personale e ambientale, per poi concentrarsi sulle problematiche di scalabilità della applicazioni, del bilanciamento del carico di lavoro e della efficienza della comunicazione. Per ognuna di queste problematiche verranno analizzate le strategie utilizzate a livello di compilatori, sistema operativo e librerie di comunicazione per fornire un adeguato livello di qualità del servizio e il soddisfacimento dei requisiti di tempo reale.


Modulo: Laboratorio
-------
Il laboratorio si propone di fornire allo studente gli strumenti pratici necessari per configurare, controllare e ottimizzare il software per sistemi distribuiti embedded

Programma

Modulo: Teoria
-------
0 Introduzione

0.1 Architettura delle reti ad elevata qualità per servizi multimediali e personalizzati: reti aziendali, small office and home networks, body area networks
0.2 Applicazioni di rete e multimediali: routing, packet filtering, security, video-conferencing, video-transcoding.


1 Architetture

1.1 Sistemi distribuiti on-chip: media gateway, routers, base stations
1.2 Sistemi distribuiti sulla rete: sensor networks


2 Sviluppo di software

2.1 Tecniche di modellazione delle applicazioni: data-flow, control-flow
2.2 Compilatori paralleli: OpenMP, MachSuif
2.3 Modelli di programmazione: Pthreads, message passing, shared memory


3 Sistemi operativi e middleware

3.1 Sistemi operativi per multiprocessori: Linux SMP, embedded RTOS
3.2 Middleware e librerie per la comunicazione, sincronizzazione e distribuzione della computazione
3.3 Macchine virtuali: Hypervisor, JVM
3.4 Object oriented computation per distributed systems


4 Ottimizzazione

4.1 Scalabilità
4.2 Bilanciamento del carico: tecniche SMP, BMP, AMP
4.3 Ottimizzazione energetica e termica
4.4 Variabilità e affidabilità nei sistemi distribuiti embedded


Modulo: Laboratorio
-------
Lab.0 Familiarizzazione con simulatori di sistemi distribuiti

Lab.1 Utilizzo di compilatori paralleli (OpenMP, Sieve)

Lab.2 Linux SMP: configurazione e controllo delle decisioni dello scheduler SMP

Lab.3 Parallelizzazione e analisi di scalabilità di applicazioni multimediali di rete per media gateways su piattaforme multicore

Modalità d'esame

Modulo: Teoria
-------
Esame orale
Progetto di laboratorio


Modulo: Laboratorio
-------
--