CARMINE SPAGNUOLO | PROGRAMMAZIONE CONCORRENTE, PARALLELA E SU CLOUD
CARMINE SPAGNUOLO PROGRAMMAZIONE CONCORRENTE, PARALLELA E SU CLOUD
cod. 0522500102
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 |
SSD | CFU | ORE | ATTIVITÀ | |
---|---|---|---|---|
INF/01 | 4 | 32 | LEZIONE | |
INF/01 | 2 | 16 | LABORATORIO |
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]