Università di Bologna · Prof. Alessandro Ricci · a.a. 2025/2026

Programmazione Concorrente e Distribuita

19 capitoli4 pagine di prep esame~6 ore di lettura
Tavola tecnica: tracce di istruzioni indipendenti convergono in un interleaving e si risolvono in una struttura ordinata
Tavola 00 — Tracce indipendenti → interleaving → ordine. Il percorso del corso in una figura.

Come studiare

Domande d'orale — le domande che Ricci ha fatto o annunciato, con risposta breve e link al capitolo

I

Concorrenza a memoria condivisa

  1. 01Introduzione: concorrenza, parallelismo e architetture15 min
  2. 02Modellazione dell'esecuzione concorrente18 min
  3. 03Correttezza: safety, liveness, fairness e LTL10 min
  4. 04Il problema della sezione critica10 min
  5. 05Semafori e problemi classici15 min
  6. 06Deadlock12 min
  7. 07Monitor e variabili condizione18 min
  8. 08Progettare programmi concorrenti15 min
  9. 09Formalismi visuali: reti di Petri e statechart18 min
  10. 10Concorrenza in Java: thread, sincronizzazione, task ed executor35 min
  11. 11Verifica formale e model checking20 min
  12. P1Prep esame · Assignment 1 — Pooolorale
Tavola: tre processi a un gate, uno attraversa la sezione critica, due attendono
Tav. I — Mutua esclusione
II

Programmazione asincrona e reattiva

  1. 12Programmazione asincrona25 min
  2. 13Programmazione reattiva20 min
  3. P2Prep esame · Assignment 2 — FSStatorale
Tavola: un flusso di elementi trasformato da tre stadi operatore
Tav. II — Flussi e operatori
III

Message passing e attori

  1. 14Message passing e canali30 min
  2. 15Il modello ad attori25 min
  3. 16Attori avanzati: timer e cluster15 min
  4. P3Prep esame · Assignment 3 — Smart Home Alarm + Odds-and-Evensorale
Tavola: processi isolati che si scambiano messaggi con mailbox in coda
Tav. III — Scambio di messaggi
IV

Sistemi distribuiti

  1. 17Computazione distribuita: modelli e orologi logici15 min
  2. 18Algoritmi distribuiti30 min
  3. 19Oggetti distribuiti, servizi e middleware25 min
  4. P4Prep esame · Assignment 4 — Alarm distribuito + RMI TTTorale
Tavola: nodi con orologi sfasati e una partizione raggiungono un ordine condiviso
Tav. IV — Consenso e tempo logico
+

Bonus

  1. GPUGPU kernels: a campaign (experiment, in English). Data parallelism on a GPU: warps, coalescing, shared memory, barriers.~70 min