PROGRAMMAZIONE CONCORRENTE E PARALLELA

Vittorio SCARANO PROGRAMMAZIONE CONCORRENTE E PARALLELA

0522500018
DIPARTIMENTO DI INFORMATICA
CORSO DI LAUREA MAGISTRALE
INFORMATICA
2016/2017

ANNO ORDINAMENTO 2015
SECONDO SEMESTRE
CFUOREATTIVITÀ
756LEZIONE
216LABORATORIO
Obiettivi
PRINCIPI DI PROGRAMMAZIONE CONCORRENTE E DI PROGRAMMAZIONE PARALLELA CON L’ANALISI DELLE PROBLEMATICHE E DELLE STRUTTURE DATI CONCORRENTI PIÙ NOTE (LISTE, CODE,TABELLE HASH, CODE A PRIORITÀ, ETC.). SCHEDULING PARALLELO. ARCHITETTURA DI BASE DEI MULTIPROCESSORI E ARCHITETTURE MULTI-CORE
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
•INTRODUZIONE ALLA PROGRAMMAZIONE CONCORRENTE
•MUTUA ESCLUSIONE
•OGGETTI CONCORRENTI
•SPIN LOCKS
•MONITORS
•LINKED LIST
•CONCURRENT QUEUE
•SCHEDULING E WORK DISTRIBUTION
•TRANSACTIONAL MEMORY
•AMDHAL LAW
•INTRODUZIONE ALLA PROGRAMMAZIONE PARALLELA
•MPI: CONCETTI
•COMUNICAZIONE POINT-TO-POINT IN MPI: BLOCCANTE E NON BLOCCANTE
•DATI NON CONTIGUI IN MPI
•COMUNICAZIONE COLLETTIVA IN MPI
•USO DEL CLUSTER IN MPI
•PROGRAMMAZIONE MULTITHREAD IN JAVA
•THREAD SAFETY
•SHARING OBJECTS
•COMPOSING OBJECTS
•FORK/JOIN
•CLOSURES E LAMBDA EXPRESSIONS
•CLOUD COMPUTING
•MAP-REDUCE

Metodi Didattici
IL CORSO DI PROGRAMMAZIONE CONCORRENTE E PARALLELA COMPRENDE UNA PARTE DI BASE IN CUI VENGONO SPIEGATI I PRINCIPI DEL CALCOLO CONCORRENTE (ALGORITMI E STRUTTURE DATI CONCORRENTI) E PARALLELO (PROGRAMMAZIONE MPI) E DI UN PARTE PRATICA IN CUI VENGONO ILLUSTRATI DIVERSI ESEMPI DI APPLICAZIONI PARALLELE IN C-MPI E DI APPLICAZIONI CONCORRENTI IN JAVA.
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: 2019-03-11]