| | | corso | | | |
Architetture parallele e distribuite
Codice: | AA024 | Crediti: | 9 | Semestre: | 2 | Sigla: | ASE | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Marco Vanneschi
Tel. 0502212700Ultima versione disponibile: programma da confermare per l’a.a. 2008/2009
Prerequisiti
Il corso assume l’esistenza della propedeuticità di Architettura degli Elaboratori per tutti gli aspetti riguardati la strutturazione a livelli di interpretazione ed a moduli, architettura firmware, assembler, architettura di processori general-purpose, gerarchie di memoria, valutazione delle prestazioni, concetti di concorrenza, modelli di sistema operativo, relazioni tra architettura, sistema operativo, compilazione e supporto a tempo di esecuzione.
Obiettivi di apprendimento
Il corso studia modelli, metodologie e tecniche per la progettazione di sistemi ed applicazioni avanzate ad alte prestazioni. A questo scopo, viene data particolare enfasi ai modelli di rappresentazione in parallelo di computazioni secondo metodologie che siano il più possibile sistematiche e che si prestino a ricavare valutazioni di prestazioni ed ottimizzazioni sia in fase di predizione che di verifica. Le metodologie studiate permetteranno di acquisire questa padronanza, che potrà essere sfruttata tanto nel progetto di applicazioni su macchine parallele e/o sistemi distribuiti, quanto nella valutazione di soluzioni esistenti e nella loro eventuale ottimizzazione.
Il corso intende fornire una conoscenza sufficientemente approfondita, dal punto di vista tecnologico, delle principali architetture parallele e distribuite ad alte prestazioni: multiprocessor a memoria condivisa (SMP, NUMA), multicomputer, sistemi di tipo cluster di PC/workstation, con particolare enfasi sulle piattaforme abilitanti più diffuse, anche a livello commerciale, e previste nel breve termine.
Al tempo stesso, il corso pone le basi per la comprensione e lo studio delle evoluzioni che la tecnologia del calcolo ad alte prestazioni avrà nel medio-lungo termine (architetture a componenti, Grid, ambienti di sviluppo applicazioni).
Le metodologie di parallelizzazione e valutazione delle prestazioni saranno inizialmente esemplificate a sistemi a livello firmware, allo scopo di acquisire padronanza dei concetti in casi relativamente semplici da valutare, per poi passare alle computazioni parallele a livello di processi comunicanti eseguibili sulle architetture parallele e distribuite suddette.
L’aspetto dell’implementazione dei meccanismi di parallelizzazione sfrutterà tutti i più recenti risultati, scientifici e tecnologici, nel campo delle comunicazioni tra processi, processori di comunicazione e reti ad alta banda.
L’approfondimento, professionale e di ricerca, delle tematiche del corso è effettuato, in particolare, nei corsi dell’indirizzo Piattaforme ad Alte Prestazioni della Laurea Specialistica in Tecnologie Informatiche.
Conoscenze. Le conoscenze richieste sono quelle contenute nel materiale didattico del corso di Architettura degli Elaboratori:
Appunti di Architettura degli Elaboratori I, Servizio Editoriale Universitario, e sue
integrazioni con il materiale disponibile nella sezione
Teaching – Architettura degli Elaboratori in
www.di.unipi.it/~vanneschi Capacità. Capacità di apprendimento e di presentazione di risultati dello studio / lavoro, innalzamento del livello culturale, dal punto di vista scientifico e tecnologico, in modo consono ad un corso di studi universitario, capacità di analisi e sintesi.
Comportamenti. Comportamenti etici e di organizazzione del lavoro.
Descrizione
Il corso intende fornire una conoscenza sufficientemente approfondita:
- dal punto di vista metodologico, dei concetti e delle tecniche fondamentali per lo sviluppo e la valutazione di applicazioni parallele ad alte prestazioni,
- dal punto di vista tecnologico, delle principali architetture parallele e distribuite ad alte prestazioni: multiprocessor a memoria condivisa (SMP, NUMA), multicomputer, sistemi di tipo cluster di PC/workstation, con particolare enfasi sulle piattaforme abilitanti più diffuse, anche a livello commerciale, e previste nel breve/medio/lungo termine.
English Description
The main topics of "Parallel and Distribuited Architectures" are:
- from a methodological point of view, fundamental concepts and techniques for the development and evaluation of high-performance parallel applications,
- from a technological point of view, the main parallel and distributed architectures, including shared memory multiprocessors (SMP, NUMA), multicomputers and clusters of PC/workstations, with special emphasis on enabling platforms, also at the commercial level and their trend in the short/medium/long term.
Indicazioni metodologiche
- Processo di apprendimento organizzato in moduli sequenziali e interrelati.
- Verifiche intermedie continue.
- Collegamenti agli altri corsi della Laurea specialistica ed alle teamtiche di ricerca.
Programma
- Metodologie di strutturazione e valutazione di sistemi e computazioni in parallelo
- Architettura CPU pipeline ad alte prestazioni
- Spazi di indirizzamento e strutturazione protetta a livello di processi
- Architetture multiprocessor a memoria condivisa
- Strutture di interconnessione complesse per architetture ad alto parallelismo
- Meccanismi, costrutti linguistici e supporto per le comunicazioni in programmi paralleli
- Piattaforme distribuite ad alte prestazioni, network computers e cluster di PC/Workstation
Ore lezione: | 30 | Ore esercitazione: | 30 | | | |
Bibliografia
Materiale didattico:
- M. Vanneschi, Architetture Parallele e Distribuite Servizio Editoriale Universitario, Università di Pisa, 2006-07, nuova edizione.
Eventuale materiale integrativo fornito direttamente attraverso la pagina Web
www.di.unipi.it/~vanneschi Modalità di esame
Scritto e orale