PROGRAMMAZIONE CONCORRENTE, PARALLELA E SU CLOUD

CARMINE SPAGNUOLO PROGRAMMAZIONE CONCORRENTE, PARALLELA E SU CLOUD

0522500102
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA MAGISTRALE
INFORMATICA
2024/2025



OBBLIGATORIO
ANNO CORSO 1
ANNO ORDINAMENTO 2016
SECONDO SEMESTRE
CFUOREATTIVITÀ
432LEZIONE
216LABORATORIO
Obiettivi
IL CORSO MIRA A FORNIRE AGLI STUDENTI LE COMPETENZE NECESSARIE PER PROGETTARE E SVILUPPARE
SOLUZIONI SOFTWARE CHE SFRUTTANO IL CALCOLO PARALLELO E/O DISTRIBUITO SPERIMENTANDO SU SISTEMI DI CLOUD
COMPUTING ATTRAVERSO IL MODELLO DI SERVIZIO INFRASTRUCTURE AS A SERVICE (IAAS).


[CONOSCENZA E CAPACITÀ DI COMPRENSIONE]

LO STUDENTE:
- COMPRENDERÀ I PRINCIPI DELLA PROGRAMMAZIONE CONCORRENTE;
- COMPRENDERÀ LA STRUTTURA DEI SISTEMI DI CALCOLO A MEMORIA DISTRIBUITA;
- CONOSCERÀ I FONDAMENTI DELLA PROGETTAZIONE E SVILUPPO DI SISTEMI DI CALCOLO SCALABILI A MEMORIA
DISTRIBUITA CHE POSSONO SFRUTTARE IL CLOUD COMPUTING.

[CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE]
LO STUDENTE SARÀ IN GRADO DI:
- PROGETTARE UN SISTEMA SOFTWARE IN GRADO DI SFRUTTARE L'ELABORAZIONE PARALLELA E DISTRIBUITA;
- SVILUPPARE APPLICAZIONI A MEMORIA DISTRIBUITA UTILIZZANDO GLI STANDARD DI PROGRAMMAZIONE HPC;
- ESEGUIRE APPLICAZIONI AD ALTE PRESTAZIONI SU CLUSTER VIRTUALI IN ESECUZIONE SU SISTEMI DI CLOUD
COMPUTING.

[AUTONOMIA DI GIUDIZIO]

LO STUDENTE SARÀ IN GRADO DI:
- VALUTARE LE PRESTAZIONI E L'AFFIDABILITÀ DI SISTEMI SCALABILI CHE UTILIZZANO IL CALCOLO PARALLELO E
DISTRIBUITO;
- STIMARE IL COSTO ECONOMICO E LA GESTIONE DEI CLUSTER VIRTUALI IN ESECUZIONE SU SISTEMI DI CLOUD
COMPUTING.

[ABILITÀ COMUNICATIVE]

LO STUDENTE SARÀ IN GRADO DI:
- COMUNICARE I RISULTATI PROGETTUALI E LE SCELTE SOTTOSTANTI PER UN SISTEMA CHE UTILIZZA MEMORIA
CONDIVISA E/O DISTRIBUITA PER GARANTIRE SCALABILITÀ ED EFFICIENZA.

[CAPACITÀ DI APPRENDIMENTO]

LO STUDENTE SARÀ IN GRADO DI:
- SVOLGERE ATTIVITÀ DI PROGETTAZIONE PER SISTEMI SCALABILI ED AFFIDABILI PER IL CALCOLO AD ALTE
PRESTAZIONI ANCHE IN ESECUZIONE SU PIATTAFORME DI CLOUD COMPUTING;
- UTILIZZARE STRUMENTI DI SVILUPPO SOFTWARE PER SISTEMI AD ALTE PRESTAZIONI;
- AGGIORNARE CONTINUAMENTE LE PROPRIE CONOSCENZE UTILIZZANDO LA LETTERATURA TECNICA E SCIENTIFICA.
Prerequisiti
LO STUDENTE DEVE AVERE ACQUISITO CONOSCENZE SULL’ARCHITETTURA DELLE RETI E SUI PROTOCOLLI TCP/IP E SULLA PROGRAMMAZIONE CLIENT/SERVER. LO STUDENTE DEVE AVERE ANCHE UNA SIGNIFICATIVA ESPERIENZA DI PROGRAMMAZIONE IN JAVA E C, E SISTEMI OPERATIVI E DEVE SAPERE USARE IN MANIERA ESPERTA UN INTEGRATED DEVELOPMENT
Contenuti
PER OGNI ARGOMENTO SONO INDICATE LE ORE DI LEZIONE FRONTALE (F) E DI LABORATORIO (L))

•INTRODUZIONE ALLA PROGRAMMAZIONE CONCORRENTE 2F
•MUTUA ESCLUSIONE 4F
•OGGETTI CONCORRENTI 2F
•SPIN LOCKS 2F
•MONITORS 4F
•LINKED LIST 4F
•CONCURRENT QUEUE 4F
•SCHEDULING E WORK DISTRIBUTION 4F
•INTRODUZIONE ALLA PROGRAMMAZIONE PARALLELA 2F
•MPI: CONCETTI 1F
•COMUNICAZIONE POINT-TO-POINT IN MPI: BLOCCANTE E NON BLOCCANTE 1F+4L
•DATI NON CONTIGUI IN MPI 1F + 4L
•COMUNICAZIONE COLLETTIVA IN MPI 1F + 4L
•USO DEL CLUSTER IN MPI 2L
•CLOUD COMPUTING ON AWS 2L
Metodi Didattici
IL CORSO COMPRENDE UNA PARTE DI BASE (4 CFU 32 ORE) IN CUI VENGONO SPIEGATI I PRINCIPI DEL CALCOLO CONCORRENTE (ALGORITMI E STRUTTURE DATI CONCORRENTI), PARALLELO (PROGRAMMAZIONE MPI) E SU CLOUD (AMAZON AWS) E DI UN PARTE PRATICA (2 CFU 16 ORE) IN CUI VENGONO ILLUSTRATI DIVERSI ESEMPI DI APPLICAZIONI PARALLELE IN C-MPI E DEL LORO BENCHMARKING IN AMAZON AWS.
Verifica dell'apprendimento
SEI APPELLI DISTRIBUITI NEL CORSO DELL’ANNO ACCADEMICO, OLTRE A DUE APPELLI RISERVATI AGLI STUDENTI FUORI CORSO. PER OGNI APPELLO È PREVISTA UNA PROVA PROGETTUALE (PROGETTO DA COMPLETARE IN UN MESE) ED UNA PROVA ORALE. IL VOTO VIENE CALCOLATO CON UNA MEDIA PESATA DEI VOTI DELLE DUE PROVE SOSTENUTE.
Testi
•"THE ART OF MULTIPROCESSOR PROGRAMMING", M. HERLIHY E N. SHAVIT.
•"JAVA CONCURRENCY IN PRACTICE". BRIAN GOETZ ET AL.
•"PARALLEL PROGRAMMING IN C WITH MPI AND OPENMP", MICHAEL J. QUINN
•"AN INTRODUCTION TO PARALLEL PROGRAMMING", PETER PACHECO
•MPI TUTORIAL, ARTICLES AND ADDITIONAL MATERIAL ON THE WEBSITE
Altre Informazioni
SONO DISPONIBILI INFORMAZIONI PER OGNI LEZIONE, I CODICI DEGLI ESEMPI DISCUSSI NELLE LEZIONI DI LABORATORIO, TRACCE DI ESAMI E ALTRO MATERIALE DI SUPPORTO (MANUALI DI PROGRAMMAZIONE, TUTORIAL, ARTICOLI A SUPPORTO) SULLA
HTTP://ELEARNING.INFORMATICA.UNISA.IT/EL-PLATFORM
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2024-11-18]