| | | 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 parallele in ambiente di metacomputing e grid
computing. La popolarità di Internet e la disponibilità di potenti elaboratori e di reti veloci stanno cambiando il modo con il quale oggi noi usiamo i calcolatori. Queste opportunità tecnologiche permettono di accoppiare una sempre piú vasta varietà di risorse quali, supercomputer, sistemi di memorizzazione, sorgenti di dati e classi speciali di dispositivi (es. sofisticati sensori) formando quella che viene comunemente chiamata una “griglia” (Grid) e che ha dato origine ad un nuovo paradigma computazionale definito “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
1. Parallelismo e computing
2. Evoluzione delle applicazioni richiedenti elevate prestazioni
3. Nuovi orizzonti e scenari per le architetture ad elevate prestazioni
Lezione n. 2
1. Grid Computing: Concetti fondamentali
2. Architettura di una piattaforma Grid
Lezione n. 3
1. Classificazione delle applicazioni per Grid Computing
2. Principali progetti di Grid Computing a confronto
Lezione n. 4
1. Globus Toolkit (GT2)
2. Principali componenti
3. Information Systems: Rappresentazione delle risorse Grid>
4. Globus MDS (Monitoring and Discovery System) – Introduzione>
Lezione n. 5
1. Globus MDS (Monitoring and Discovery System)
Lezione n. 6
1. Il problema della sicurezza: Autenticazione, integrità, non-ripudio, riservatezza
2. Introduzione al problema della sicurezza in ambiente Grid
3. Globus GSI (Grid Security Infrastructure)
Lezione n. 7
1. Resource Specification Language (RSL)
2. Introduzione al Grid Resource Allocation Manager (GRAM)
Lezione n. 8
1. GASS (Global Access to Secondary Storage)
2. GridFTP
Lezione n. 9
1. PVM (1)
Lezione n. 10
1. PVM (2)
Lezione n. 11
1. PVM (3)
Lezione n. 12
1. Grid programming: introduzione
Lezione n. 13
1. Grid-enabled message passing libraries: MPI-G2, PACX-MPI
Lezione n. 14
1. Globus Administration (esercitazione)
Lezione n. 15
1. Grid Computing mediante utilizzo di tecnologie Web Services (XML-Based)
2. SOAP
3. WSDL
4. UDDI
Lezione n. 16
3. Grid programming: continuazione
4. Grid-enabled RPC (NetSolve, NINF)
5. Cactus
6. Common Component Architecture
Lezione n. 17
1. Presentazione del progetto d’esame
2. Assegnazione dei lavori oggetto di esame orale
Lezione n. 18
1. Esercitazione di programmazione GRID usando MPI-G2 e ASSIST
Lezione n. 19
1. Esercitazione di GLOBUS-CoG
Lezione n. 20
2. Esercitazione di GLOBUS: GT4
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. 5
* Grafical User Interface di PVM
* XPVM
* WAMM
Bibliografia
Testi di consultazione
Durante lo svolgimento del corso il docente distribuirá materiale didattico necessario (piccole dispense, fotocopie di articoli pubblicati su argomenti specifici, ecc.). Inoltre, i lucidi presentati a lezione verranno via via resi disponibili sul presente sito web.
I testi di consultazione consigliati, in ordine di importanza per il corso in questione (10 max - 1 min) sono:
The GRID - Blueprint for a new Computing Infrastructure (10)
Edited by Ian Foster and Carl Kesselman., Morgan Kaufmann Press 1998
Introduction to Grid Computing with Globus (10)
IBM Redbooks http://ibm.com/redbooks
PVM: Parallel Virtual Machine (10)
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 (5)
Barry Wilkinson, Michael Allen, Prentice Hall, 1998
Parallel Computing Works (5)
Geoffrey C. Fox, Roy D. Williams, Paul C. Messina, Morgan Kaufmann, 1994
Modalità di esame
Modalita' d'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).