Lo scenario delle programmazione concorrente
•Il concetto di programma concorrente
•Architetture hardware
•Applicazioni e stili di programmazione
•Tecniche per sfruttare il parallelismo (parallelismo iterativo, ricorsivo, produttori e consumatori, client/server, peer-to-peer)
La programmazione basata su shared memory
•I processi e la sincronizzazione
•Locks e barriere
•I semafori
•I monitor
La programmazione distribuita
•Message-passing
•RPC e Rendezvous
•Paradigmi per l’interazione dei processi
La programmazione parallela
Scientific computing
Sistemi concorrenti, ambienti e linguaggi di programmazione
•OpenMP
•MPI
•Performance analysis e tool di supporto
•Classificazione delle architetture parallele
•Architetture vettoriali, SIMD, GPU e chip DSA
•Il modello roofline
•Programmazione delle GPU (CUDA, OpenACC)
•La virtualizzazione e i container
Mobirise.com