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

** 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