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.
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 Affidabilità
Esame orale
Progetto di laboratorio
******** CSS e script comuni siti DOL - frase 9957 ********p>