Home » Archivo » Archvio 2013 » SISTEMI CONCORRENTI E DISTRIBUITI - 2013/2014

Laurea Magistrale

Salta il menu di secondo livello

SISTEMI CONCORRENTI E DISTRIBUITI - 8 CFU - A.A. 2013/2014

Insegnante

Prof. Tullio Vardanega

Periodo

I Anno - 1 Trimestre | 01/10/2013 - 07/12/2013

Ore: 64 (12 esercitazione, 52 lezione)

Torna su ▲

Prerequisiti

L’insegnamento assume familiarità con l’architettura degli elaboratori tradizionali, con la struttura e le attività dei loro sistemi operativi, particolarmente per quanto attiene a concorrenza, sincronizzazione e gestione dell’I/O, e dei fondamenti delle reti. L’insegnamento non prevede propedeuticità.

Conoscenze e abilità da acquisire

Il corso si propone di:
- illustrare problematiche e modelli di base e avanzati di concorrenza (intesa come parallelismo potenziale) realizzata a software, studiando le soluzioni proposte da Java e Ada, in quanto linguaggi riccamente dotati di supporto diretto alla concorrenza, come strumenti di sperimentazione e di confronto;
- analizzare i principi costruttivi e i paradigmi architetturali e realizzativi che stanno alla base dei sistemi distribuiti, nella loro evoluzione da sistemi multiprocessori omogenei a sistemi multicomputer eterogenei lascamente interconnessi.

Modalità di esame

L'esame di profitto consiste nella redazione e nella discussione di una relazione scritta che illustri le problematiche affrontate nello svolgimento del progetto didattico assegnato dal docente, e le soluzioni adottate per risolverle. La presentazione della relazione viene accompagnata da una dimostrazione pratica del prodotto software realizzato in risposta ai requisiti del progetto.

Criteri di valutazione

Lo sviluppo del progetto didattico viene accompagnato da intenso dialogo con il docente, che consente allo studente di approfondire le principali problematiche affrontate a lezione e associate alla realizzazione del progetto. La stesura della relazione tecnica mette alla prova la capacità di sintesi e di astrazione dello studente. La presentazione e discussione del progetto di fronte al docente consente di completare la valutazione il grado di apprendimento complessivo dello studente rispetto ai principali temi della materia.

contenuti

Problematiche di concorrenza
- Introduzione storica e metodologica
- Nozione di processo e modalità di sincronizzazione
- Un modello concreto e sue progressive estensioni
- La dimensione temporale
- Cenni sulla virtualizzazione
Problematiche di distribuzione
- Definizioni fondamentali
- Comunicazione e sincronizzazione in distribuito
- Il sistema dei nomi
- Soluzioni concrete: Java RMI, Ada DSA, CORBA
- La frontiera del cloud computing

Attività di apprendimento previste e metodologie di insegnamento

Il corso si compone di due segmenti complementari. Nel primo segmento si prendono in esame modelli e paradigmi di programmazione concorrente, concentrandosi sulla concorrenza direttamente esprimibile a linguaggio (ossia senza ricorso a librerie esterne), utilizzando Java e Ada come linguaggi di sperimentazione.
Nel secondo segmento si affronta invece l'evoluzione architetturale tecnologica dei sistemi distribuiti, culminando nell'analisi di CORBA come paradigma di interconnessione di sistemi eterogenei secondo il modello cliente-servente. In questa parte del corso si illustrano anche i fondamenti di approcci particolarmente avanzati come virtualizzazione e cloud computing. Nell'ambito di entrambi i segmenti del corso, il docente propone allo studente esercizi da realizzare in proprio in laboratorio per sperimentare direttamente le problematiche progettuali e realizzative e i paradigmi di soluzione illustrati a lezione.

Eventuali indicazioni sui materiali di studio

Il docente pubblica regolarmente tutte le diapositive utilizzate a lezione e anche materiale supplementare utile per l'approfondimento dei temi trattati in aula.

Testi di riferimento

Torna su ▲