Sistemi di elaborazione

Prof. Gianni Conte  
   
  E-mail: gianni.conte@unipr.it


Finalità

Il corso si propone di illustrare i concetti sui quali si basano i più recenti sistemi di elaborazione distribuiti e paralleli e di preparare l'allievo ad utilizzarli in modo efficace. L'utilizzo di sistemi di calcolo di questo tipo è ormai ampiamente diffuso sia per applicazioni di tipo scientifico che in ambiente industriale e gestionale.
Nella prima parte verro considerati i principi generali e le caratteristiche dei sistemi distribuiti e paralleli con particolare attenzione ai problemi di connessione fra gli elaboratori e quindi ai problemi di rete.
La parte di esercitazione del corso consiste nello sviluppo sperimentale di un progetto con riferimento all'utilizzazione di sistemi distribuiti e/o paralleli per una specifica applicazione.
Sono prerequisiti necessari al corso i concetti fondamentali sulle architetture dei sistemi di calcolo e dei sistemi operativi e la familiarità con il linguaggio C e il sistema operativo UNIX.

Programma

La prima parte del corso è una introduzione ai sistemi distribuiti: introduzione e motivazioni, esempi, caratteristiche principali , cenni storici.
Caratteristiche dei sistemi distribuiti:condivisione delle risorse ( Resource sharing ), apertura (Openness), concorrenza (Concurrency), scalabilità (Scalability), tolleranza ai guasti (Fault tolerance), trasparenza (Transparency).
Tecniche legate alla distribuzione: gestione dei nomi delle risorse, caratteristiche del sistema di comunicazione, struttura del software, distribuzione del carico, gestione della consistenza.
Richieste dell'utilizzatore: funzionalità, riconfigurabilità, qualità del servizio, costi.
La seconda parte del corso riguarderà le principali tecnologie delle reti di calcolatori e i protocolli più comuni ai vari livelli ISO/OSI. Livello fisico, livello data link, livello rete e livello trasporto. Verro considerati con particolare attenzione i protocolli della famiglia TCP/IP. Saro analizzati casi applicativi con riferimento a sistemi reali e ai problemi dei protocolli per applicazioni multimediali.
Nella terza parte verro analizzate le caratteristiche generali delle architetture parallele sia di tipo SIMD che di tipo MIMD. Verro discussi gli specifici aspetti HW e SW di alcune architetture di riferimento dei due tipi. Verro discussi i modelli e le tecniche di programmazione in ambiente SIMD e MIMD considerando problemi applicativi specifici. Verrà presentata la libreria MPI come modello base di programmazione in ambiente distribuito.
La quarta parte consiste in esercitazioni che ho come sbocco lo svolgimento di una tesina nei settori di interesse del corso. Le esercitazioni verro svolte utilizzando le architetture distribuite attualmente disponibili presso il Dipartimento di Ingegneria dell'Informazione.
Le tesine verro svolte utilizzando i sistemi paralleli e/o distribuiti disponibili presso il Dipartimento di Ingegneria dell'Informazione o presso altre strutture dell'Università.

Attività d'esercitazione

 

Modalità d'esame

L'esame consiste in una prova scritta sulle prime due parti del corso e nello svolgimento di una tesina scritta con presentazione orale.

Propedeuticità

Fondamenti di informatica I e II, Calcolatori elettronici e Sistemi operativi.

Testi consigliati

D.E.CULLER, J.P. SINGH: " Parallel Computer Architectures", Morgan Kaufman Publ. 1999
G.COULOURIS, J.DOLLIMORE e T.KINDBERG:" Distributed Systems: Concepts and Design ", Addison-Wesley, 1994.

Testi d'approfondimento

 


Aggiornato