Algoritmi paralleli. Sincromi. Concorrenti. Distribuiti

Algoritmi paralleli. Sincromi. Concorrenti. Distribuiti

di Alan A. Bertossi

Il presente testo è dedicato alla progettazione ed all'analisi della complessità di algoritmi paralleli, dove è ammessa l'esecuzione contemporanea di più istruzioni dello stesso algoritmo da parte di più esecutori distinti. Sono trattati i principali modelli di parallelismo, che dipendono dal fatto che ci sia o no sincronismo tra le istruzioni eseguite contemporaneamente e che la memoria sia o no condivisa tra tutti gli esecutori. Sono considerati algoritmi per modelli PRAM (sincroni con memoria condivisa), reti a grado limitato (sincroni senza memoria condivisa), concorrenti (asincroni con memoria condivisa), e distribuiti (asincroni senza memoria condivisa). Tra i modelli sincroni senza memoria condivisa, sono trattati anche il modello VLSI e quello delle mesh riconfigurabili, mentre tra quelli distribuiti sono considerate anche le reti non cablate ("wireless") di calcolatori. Per rendere il testo autosufficiente, sono riassunte brevemente in un capitolo introduttivo le necessarie nozioni di base, riguardanti sia la progettazione ed l'analisi degli usuali algoritmi sequenziali sia nozioni elementari di matematica discreta.

Nel testo sono proposti circa 80 esercizi d'esame, dei quali circa 60 sono completamente svolti.