Corsi di Laurea Corsi di Laurea Magistrale Corsi di Laurea Magistrale
a Ciclo Unico
Scuola di Scienze
INFORMATICA
Insegnamento
SISTEMI CONCORRENTI E DISTRIBUITI
SCP6076340, A.A. 2018/19

Informazioni valide per gli studenti immatricolati nell'A.A. 2018/19

Principali informazioni sull'insegnamento
Corso di studio Corso di laurea magistrale in
INFORMATICA
SC1176, ordinamento 2014/15, A.A. 2018/19
N0
porta questa
pagina con te
Crediti formativi 6.0
Tipo di valutazione Voto
Denominazione inglese CONCURRENT AND DISTRIBUTED SYSTEMS
Sito della struttura didattica http://informatica.scienze.unipd.it/2018/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 6.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
LEZIONE 6.0 48 102.0

Calendario
Inizio attività didattiche 01/10/2018
Fine attività didattiche 18/01/2019
Visualizza il calendario delle lezioni Lezioni 2018/19 Ord.2014

Commissioni d'esame
Commissione Dal Al Membri
2 a.a. 2018/2019 01/10/2018 28/02/2020 VARDANEGA TULLIO (Presidente)
CRAFA SILVIA (Membro Effettivo)
BALDAN PAOLO (Supplente)
BUJARI ARMIR (Supplente)
SPERDUTI ALESSANDRO (Supplente)
1 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.
Purtuttavia, l’insegnamento non prevede propedeuticità, perché le attività d'aula sono disegnate per aiutare lo studente con lacune a rinfrescare le proprie conoscenze di dominio.
Conoscenze e abilita' da acquisire: Il corso si propone di:
1) illustrare problematiche e modelli di base e avanzati di concorrenza intesa come parallelismo potenziale, realizzata a software, illustrando e studiando, dal punto di vista del sistema a run-time, le soluzioni proposte da Ada, Java e altri linguaggio dotati di supporto diretto alla concorrenza, come strumenti di sperimentazione e di confronto;
2) 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, su larga o larghissima scala fino al paradigma del Cloud Computing, anch'essi studiati dal punto di vista del run-time support.
Modalita' di esame: L'esame di profitto consiste nella redazione e nella discussione di una relazione scritta che illustri le problematiche affrontate nello svolgimento di un tema didattico (pratico o teorico) concordato con lo studente, e le soluzioni tecniche adottate per risolverle.
Criteri di valutazione: Il lavoro assegnato in sede d'esame viene accompagnato da intenso dialogo con il docente, che consente allo studente di approfondire le principali problematiche affrontate a lezione e associarle alla realizzazione del progetto assegnato.
La stesura della relazione tecnica mette alla prova la capacità di sintesi e di astrazione dello studente; le argomentazioni tecniche sostenute nella relazione consentono 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 e la nozione di statelessness
- Soluzioni concrete: Java RMI, Ada DSA, CORBA
La frontiera del Cloud Computing
- Origini del paradigma
- Caratteristiche di applicazioni cloud-native
- Le dimensioni della scalabilità.
Attivita' di apprendimento previste e metodologie di insegnamento: Il corso si compone di due segmenti principali e di un terzo e ultimo tratto.
- 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, ma estendendo l'attenzione ad altri paradigmi linguistici.
- Nel secondo segmento si affronta invece l'evoluzione architetturale tecnologica dei sistemi distribuiti, toccando CORBA come paradigma di interconnessione di sistemi eterogenei secondo il modello cliente-servente.
- Nel terzo e ultimo tratto, l'insegnamento culmina con l'illustrazione di approcci particolarmente avanzati come virtualizzazione e cloud computing.
Nell'ambito di ciascun segmento 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

Didattica innovativa: Strategie di insegnamento e apprendimento previste
  • Working in group
  • Flipped classroom
  • Work-integrated learning