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