Obiettivi formativi
L’obiettivo del corso è fornire allo studente la capacità di operare su sistemi di elaborazione complessi in ambito distribuito. Vengono quindi illustrate le evoluzioni tecnologiche e architetturali principali e presentati alcuni strumenti sia di programmazione parallela e distribuita (MPI) sia di soluzioni middleware (sistemi GRID) atti a operare e a costruire soluzioni in tali ambienti.
Contenuti dell'insegnamento
<br />1. Sistemi a scambio di Messaggi<br />· Introduzione alla programmazione parallela<br />· Modello di programmazione a scambio di messaggi<br />· Message Passing Interface (MPI): comunicazione punto-a-punto, operazioni non bloccanti, tipi di dati derivati, topologie virtuali, comunicazioni collettive<br /> <br />2. Sistemi Grid<br />· Introduzione al Grid Computing<br />· Stato dell'arte nella tecnologia Grid: OGSA e OGSI, Globus Toolkit<br />· Grid Service: concetto di Web Service, strumenti per lo sviluppo di Web Service (XML, WSDL, SOAP), definizione di Grid Service <br />· Globus Toolkit: installazione,realizzazione di un Grid Service (definizione dell'interfaccia, implementazione e deploy del servizio) <br />· GSI: meccanismi di sicurezza<br /> <br />3. Sistemi Peer-to-Peer<br />· Introduzione ai sistemi peer-to-peer (P2P): confronto tra i paradigmi P2P e Client/Server, applicazioni del P2P, architetture P2P, algoritmi per il message routing nei sistemi P2P, protocolli più diffusi<br />· JXTA: introduzione, elementi fondamentali: ID, advertisement, service e PIPE, peergroup, realizzazione di un sistema JXTA, analisi dei meccanismi per peer discovery, peergroup creation, peergroup discovery<br /> <br />Attività di esercitazione<br /> <br />E prevista un’attività di laboratorio sulla programmazione dei sistemi paralleli con le librerie MPI e l’installazione di un ambiente distribuito basato su tecnologie GRID che verrà utilizzato per lo sviluppo di semplici applicazioni.<br /> <br />
Bibliografia
<br />I lucidi delle lezioni e altro materiale per il corso è disponibile sul portale my.unipr.it