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
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 |
---|
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.
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.
Solo alcune parti, specificate a lezione.
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.
L'elenco delle lezioni svolte è disponibile alla pagina apposita.
CCP 2007/2008 | pagina Dokuwiki 07/08 | |
---|---|---|
CCP 2006/2007 | pagina web del docente | pagina Dokuwiki 06/07 |
CCP 2005/2006 | pagina web del docente |