Indice

Applicazioni Parallele e Distribuite

Docente: Massimo Coppola

Questa Pagina è relativa al corso di APD per l'A.A. 2008-2009

La pagina si evolverà durante il corso, a partire dal programma del corso di CCP degli anni passati, con cui il APD condivide una parte importante degli argomenti trattati.

Sono previsti maggiori approfondimenti, nel corso o per mezzo dei progetti individuali di fine corso, sulle seguenti tematiche:

Nel frattempo invito gli studenti


Corso 2008-2009 (secondo semestre)

Orario delle lezioni

Giovedì 11-13 Aula B
Venerdì 9-11 Aula D1

Aggiornato al 25/02/09

Ricevimento Di regola il ricevimento si svolge su appuntamento (meglio via e-mail). L'orario riportato è indicativo.

Giovedì 14:30-16:30 Dipartimento stanza 385

Obiettivo del corso

L'obiettivo del corso è introdurre un insieme di tecnologie in evoluzione o già utilizzate ad oggi nella realizzazione di applicazioni parallele e distribuite; la presentazione delle tecnologie avviene fondamentalmente grazie alla discussione di un insieme di esempi di applicazioni di particolare rilievo. Lo studente dovrà maturare capacità di analisi e padronanza tecnologica, ed essere in grado di riconoscere i problemi legati alla implementazione di A.P.D., individuare schemi di soluzioni note e saper scegliere gli strumenti di sviluppo appropriati.

Conoscenze.

Al termine del corso lo studente avrà acquisito la conoscenza di tecnologie standard di basso ed alto livello (message passing, skeleton paralleli, component-oriented, stream-oriented) e di loro paradigmi di utilizzo nelle applicazioni. La preparazione di base fornita comprenderà sia strumenti di programmazione programmazione largamente diffusi (MPI) sia prototipi più avanzati allo stato dell'arte nella ricerca e nell'industria.

Programma Preliminare

Sono affrontati modelli di programmazione diversi per tipo e livello di di astrazione (message passing vs shared memory, primitive vs skeleton e pattern), e per ambito applicativo (parallelismo on-chip, parallelismo su cluster, Grid/Cloud Computing). Sono fondamentali sia l'approfondimento individuale, sia l'utilizzo pratico degli strumenti via via presentati; alcune delle lezioni saranno per questo impostate sotto forma di esercitazione, o presupporranno una attività di programmazione ed uso individuale da parte degli studenti.

Materiale didattico

Solo alcune parti, specificate a lezione.

Prerequisiti

Il corso assume come note le basi della programmazione parallela e distribuita, delle architetture di calcolo sequenziali e parallele e delle reti di interconnessione, ed una buona padronanza dei linguaggi C/C++ e Java.

Elenco delle lezioni

L'elenco delle lezioni svolte è disponibile alla pagina apposita.

Prove d'esame

Archivio dei Corsi di CCP 2006-07-08