| | | corso | | | |
Applicazioni Parallele e Distribuite
Codice: | AA277 | Crediti: | 6 | Semestre: | 2 | Sigla: | APD | |
|
Settore disciplinare: | INF/01 - Informatica |
Docente
Domenico Laforenza
Tel. 0503152992Obiettivi di apprendimento
I principali obiettivi del corso riguardano lo studio delle metodologie e degli strumenti per la
progettazione ed implementazione di applicazioni parall ele in ambiente di metacomputing e grid
computing.
Descrizione
Durante il presente corso, dopo una introduzione di carattere generale al metacomputing, verranno
trattate specificamente le metodologie e gli strumenti per la progettazione ed implementazione di
applicazioni parallele in ambiente di metacomputing e grid computing. Contestualmente, verranno
presentate alcune delle piu' importanti tematiche di ricerca correlate a questo emergente filone
tecnico-scientifico e verranno presi in esame alcuni tra i piu' attuali e significativi progetti
sull'argomento.
La parte finale del corso sara' dedicata ai trend futuri di questo settore e, in particolare, al crescente
interesse verso un approccio indicato come W eb-based Parallel Computing. Infatti, anche in virtu'
del rapido ed imponente sviluppo di Internet, alcuni ricercatori ipotizzano lo sfruttamento del World
Wide Web visto come una infrastruttura per eseguire applicazioni multi-disciplinari, utilizzando un
elevato numero di risorse computazionali eterogenee. Secondo questa visione il WWW e' inteso
come un metacalcolatore, conveniente e potenzialmente illimitato.
English Description
In this course, after an overview of the main research issues concerning
metacomputing and grid computing, some of the most important experiments
and projects conducted in this field worldwide will be presented. Moreover,
the course will provide a comprehensive overview of the methodologies and
the tools to design and implement parallel applications for metacomputers.
Lectures will be divided into two components, one part covers the theoretical
background; the other part covers the parallel programming environment.
Some lectures will be dedicated to the future trends and in particular to the
rising interest towards the so-called Web-based Parallel Computing. In fac t,
mainly due to the rapid and impressive spreading of Internet, some
researchers are becoming to exploit the World Wide Web seen as an
infrastructure for running coarse grained parallel applications
(meta-applications, multi-disciplinary applications) on numerous machines.
In this view, the WWW has the capabilities to become a suitable and
potentially infinite scaleable metacomputer for parallel and collaborative
work.
The practical parts of the course will be dedicated to PVM (Parallel V irtual
Machine), a consolidated parallel programming tool used to develop parallel
applications. The hardware environment will be a Linux-based cluster of
workstations.
Programma
Lezione n. 1
Presentazione del Corso
Brevi di richiamo sull'elaborazione parallela
* Parallelismo e computing.
* Evoluzione delle applicazioni richiedenti elevate prestazioni.
* Nuovi orizzonti e scenari per le architetture ad elevate prestazioni
Lezione n. 2
* Dal palm top alla TeraFlop/s Machine
Lezione n. 3
* Metacomputing, Heterogeneous Computing, Seamless
Computing, Computational Grids
* Perchè il metacomputing è necessario
* Architettura di un metacalcolatore
* Differenti approcci al metacomputing
* Introduzione ad alcuni dei principali progetti di ricerca
sul metacomputing
Lezione n. 4
Applicazioni per metacomputing: meta-applicazioni,
applicazioni multi-disciplinari
* Distributed supercomputing
* Real-time distributed Instrumentation systems
* Data-intensive computing
Lezione n. 5
Metodologie e problematiche per la progettazione di
applicazioni multi-disciplinari
* Esplicitazione del Parallelismo
* Partizionamento dei dati e del controllo
* Cooperazione: comunicazione/località
* Scheduling e bilanciamento del carico
* Portabilità
* Performance tuning
Lezione n. 6
* Stato dell'arte degli strumenti per lo sviluppo di
applicazioni parallele
* Librerie message passing
* PVM, MPI, PACX-MPI
* Linguaggi paralleli ad alto livello
* Modello data-parallel
* Strumenti per il debugging e la valutazione delle
prestazioni
* Librerie parallele
* Compilatori, linguaggi e librerie
* Tecnologie attuali
* Direzioni future
Lezione n. 7
Scheduling in ambiente di meta-computing
* Introduzione al problema
* Caso di studio: il progetto AppleS
Lezione n. 8
* Cluster Computing
Lezione n. 9
High-Throughput Computing
* Caso di stu dio: Condor
Lezione n. 10
Il progetto GLOBUS
* Introduzione
* Resource Mangement
* Comunicazione
* Informazione
* Sicurezza
Lezione n. 11
Ambienti di Proble m-Solving
* Application Toolkits
Lezione n. 12
Web Metacomputing
* High-Performance Commodity Computing
* Java: un linguaggio per metacomputi ng?
* Interoperabilità: CORBA
* CORBA per High Performance Computing
Lezione n. 13
Infrastrutture di rete
* Test beds per metacalcolatori
Lezione n. 14
Il problema della sicurezza in ambiente di
metacomputing
* Introduzione al problema della sicurezza
* Autenticazione, integrità, non-ripudio, riservatezza
* Tecnologie per la sicurezza
Lezione n. 15
* Introduzione al Data Mining
Esercitazione n. 1-2
Librerie per message passing: PVM (Parallel Virtual
Machine)
* Descrizione del sistema
* Download e installazione di PVM
* Esecuzione di programmi in PVM
* Tecniche di programmazione di base
* PVM User Interface
* Esempi di programmi
Esercitazione n. 3-4
PVM (Parallel Virtual Machine)
* Come funziona PVM: dettagli implementativi
* PVM User Interface
* Componenti
* Messaggi
* PVM daemon
* La libreria Libpvm
* protocolli
* L'ambiente dei task
* PVM User Interface
* Controllo dei processi
* Informazioni
* Configurazione dinamica
* Signaling
* Message Passing
Esercitazione n. 4-5
* Come funziona PVM
* Componenti
* Messaggi
* PVM daemon
* La libreria Libpvm
* Protocolli
L'ambiente dei task
Esercitazione n. 6-7
* Grafical User Interface di PVM
* XPVM
* WAMM
Bibliografia
The GRID - Blueprint for a new Computing Infrastructure
Edited by Ian Foster and Carl Kesselman., Morgan Kaufmann Press 1998
PVM: Parallel Virtual Machine
Al Geist, Adam Beguelin, Jack Dongarra, Weicheng Jiang, Robert Manchek,
and Vaidy Sunderam, MIT Press 1994
Parallel Programming: Techniques and Applications Using Networked
Workstations and Parallel Computers
Barry Wilkinson, Michael Allen, Prentice Hall, 1998
***** Modalita' di esame *****
L'esame prevede una parte progettuale e una prova orale.
Gli studenti si organizzaranno in gruppi (tipicamente 2 persone max per
gruppo).
A ciascun gruppo sara' assegnato un progetto che consistera' nella
progettazione-prototipazione-valuatazione di una meta-applicazione.
Al termine del progetto, gli studenti sosterranno una prova orale individuale
(una discussione su un articolo di ricerca o tecnico, assegnato a ciascuno
studente al termine del corso).
Modalità di esame
Scritto e orale