Corsi di Laurea Corsi di Laurea Magistrale Corsi di Laurea Magistrale
a Ciclo Unico
Scuola di Scienze
INFORMATICA
Insegnamento
SISTEMI CONCORRENTI E DISTRIBUITI
SC02111804, A.A. 2015/16

Informazioni valide per gli studenti immatricolati nell'A.A. 2015/16

Principali informazioni sull'insegnamento
Corso di studio Corso di laurea magistrale in
INFORMATICA
SC1176, ordinamento 2014/15, A.A. 2015/16
N0
porta questa
pagina con te
Crediti formativi 8.0
Tipo di valutazione Voto
Denominazione inglese CONCURRENT AND DISTRIBUTED SYSTEMS
Sito della struttura didattica http://informatica.scienze.unipd.it/2015/laurea_magistrale
Dipartimento di riferimento Dipartimento di Matematica
Obbligo di frequenza No
Lingua di erogazione ITALIANO
Sede PADOVA
Corso singolo È possibile iscriversi all'insegnamento come corso singolo
Corso a libera scelta È possibile utilizzare l'insegnamento come corso a libera scelta

Docenti
Responsabile TULLIO VARDANEGA INF/01

Dettaglio crediti formativi
Tipologia Ambito Disciplinare Settore Scientifico-Disciplinare Crediti
CARATTERIZZANTE Discipline Informatiche INF/01 8.0

Organizzazione dell'insegnamento
Periodo di erogazione Primo semestre
Anno di corso I Anno
Modalità di erogazione frontale

Tipo ore Crediti Ore di
didattica
assistita
Ore Studio
Individuale
ESERCITAZIONE 1.5 12 25.5
LEZIONE 6.5 52 110.5

Calendario
Inizio attività didattiche 01/10/2015
Fine attività didattiche 28/01/2016
Visualizza il calendario delle lezioni Lezioni 2019/20 Ord.2014

Commissioni d'esame
Commissione Dal Al Membri
7 a.a. 2017/2018 01/10/2017 28/02/2019 VARDANEGA TULLIO (Presidente)
BALDAN PAOLO (Membro Effettivo)
BUJARI ARMIR (Membro Effettivo)
CRAFA SILVIA (Membro Effettivo)
SPERDUTI ALESSANDRO (Membro Effettivo)

Syllabus
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 abilita' 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.
Modalita' 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
Attivita' 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:
  • Alan Burns and Andy Wellings, Concurrent and Real-Time Programming in Ada. --: Cambridge University Press, 2007. Cerca nel catalogo
  • Andrew S Tanenbaum, Maarten van Steen, Distributed Systems - Principles and paradigms. --: Pearson Education International, 2006. Cerca nel catalogo