Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci...

24
Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani

Transcript of Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci...

Page 1: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Sistemi Distribuiti

Reti di Calcolatori a.a. 2003/2004

Prof. Roberto BaldoniIng. Sara Tucci PiergiovanniIng Alessia Milani

Page 2: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Una definizione

Un sistema distribuito è costituito da un insieme di computers spazialmente separati dove sono dislocati componenti hardware e software che comunicano e coordinano tra loro le loro azioni attraverso scambio di messaggi

Page 3: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Obiettivo primario: Condivisione dati/risorse Condivisione dei dati come in

database distribuiti. In questo modo più organizzazioni possono condividere i propri dati.

Problemi: esempio sincronizzazione e coordinamento

Page 4: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Conseguenze

nei sistemi distribuiti le precedenti tecniche devono essere implementate tenendo presente:

1. Concorrenza spaziale oltre che temporale

2. No clock globale

3. Guasti indipendenti

Page 5: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Esempi di sistemi distribuito

inte

rnet

intr

anet

sist

ema

mob

ile

Ma anche.....ExtranetsOverlay NetworksGridUbiquitous Computing

Page 6: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Caratteristiche..e Sfide Eterogeneità Openess Sicurezza Scalabilità Gestione dei guasti Concorrenza Trasparenza

Page 7: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Eterogeneità Networks Hardware Operating Systems Programming Languages Implementations from different Developers

Soluzioni Middleware Mobile code and Virtual Machine

Page 8: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Openess Caratteristica di un sistema di essere esteso e re-implementato Condizione necessaria documentazione e specifica delle interfacce software chiave dei componenti di un sistema ...ma questo è solo il punto di partenza

Il numero a volte elevatissimo (a volte ordine di decine di migliaia) di sviluppatori di software indipendenti rende lo sviluppo di una piattaforma distribuita un lavoro molto complesso e difficile da gestire

Esempi: RFC per internet JBoss per le piattaforme J2EE

Page 9: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Sicurezza Confidenzialità (protezione contro l’intercettazione di dati da parte di

individui non autorizzati)

Integrity (protezione contro l’alterazione di dati)

Availability (protezione contro l’interferenza nell’accesso ad una risorsa)

Page 10: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Scalabilità Un sistema è scalabile se rimane operativo con

adeguate prestazioni anche se il numero di risorse e di utenti aumenta sensibilmente

Date Computers Web servers

1979, Dec. 188 0

1989, July 130,000 0

1999, July 56,218,000 5,560,866

Computers connected to the internet

Page 11: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Scalabilità (ii) Il progetto di un sistema scalabile presenta quattro principali problemi:

Estendibilità del sistema Aggiungere server al volo

Controllare le perdite di prestazioni Usare algoritmi che non richiedono di dialogare con tutto il set di user di un sistema distribuito Usare algoritmi che non richiedono di accedere all’intero set di dati

Prevenire che finiscano le risorse software del sistema Indirizzi IP

Evitare i colli di bottiglia nel sistema Centralizzato vs distributed DNS

Page 12: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Gestione dei Guasti Scoperta dei guasti

Esempio: Checksum per scoprire pacchetti corrotti Mascheramento dei guasti

Esempio: Ritrasmissione sui canali Tolleranza ai guasti

Esempio: intrusion tolerant system Recupero da guasti

Esempio: completamento di long running computation Ridondanza

Esempio: DNS

Page 13: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Concorrenza

Accesso multiplo a risorse condivise Se clienti accedono metodi di read e write di una variabile condivisa Che valori ritornano le read?

Coordinamento Sincronizzazione

Page 14: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Trasparenza Accesso: permette di accedere a risorse locali e remote con le stesse modalità Locazione: permettere di accedere alle risorse senza conoscerne la locazione Concorrenza: permette ad un insieme di processi di operare concorrentemente su

risorse condivise senza interferire tra loro Guasti: permette il mascheramento dei guasti in modo che gli utenti possano

completare le operazioni richieste anche se occorrono guasti hw e/o sw Mobilità: permette di spostare risorse senza influenzare le operazioni utente Prestazioni: permette di riconfigurare il sistema al variare del carico Scalabilità: permette al sistema e alle applicazioni di espandersi in modo scalabile

senza modificare la struttura del sistema e degli algoritmi applicativi

Le prestazioni di una soluzione basata su sistema distribuito non sempre migliorano rispetto ad una basata su sistema centralizzato. Il middleware, necessario per fornire servizi che sfruttano le caratteristiche di un sistema distribuito, in generale può diminuire le prestazioni

Page 15: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Stratificazione hw e sw

Page 16: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Modelli di interazione

client/server peer-to-peer

Page 17: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Modelli di interazione La scelta del modello di interazione impatta su

scalabilità, disponibilità, costo, sicurezza, prestazioni Es. client/server con servizio replicato:

Affidabilità, Scalabilità

Prestazioni: la replicazione impone un lavoro extra per: mantenere la consistenza delle repliche, gestione dei guasti

Page 18: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Web proxy server

Client

Proxy

Web

server

Web

server

serverClient

Page 19: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Web appletsa) client request results in the downloading of applet code

Web server

ClientWeb serverApplet

Applet code

Client

b) client interacts with the applet

Page 20: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Thin clients and compute servers

ThinClient

ApplicationProcess

Network computer or PCCompute server

network

Page 21: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Spontaneous networking in a hotel

Internet

gateway

PDA

service

Music service

serviceDiscovery

Alarm

Camera

Guestsdevices

LaptopTV/PC

Hotel wirelessnetwork

Page 22: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Real-time ordering of eventssend

receive

send

receive

m1 m2

2

1

3

4X

Y

Z

Physical time

Am3

receive receive

send

receive receive receivet1 t2 t3

receive

receive

m2

m1

Page 23: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Processes and channels

process p process q

Communication channel

send

Outgoing message buffer Incoming message buffer

receivem

Page 24: Sistemi Distribuiti Reti di Calcolatori a.a. 2003/2004 Prof. Roberto Baldoni Ing. Sara Tucci Piergiovanni Ing Alessia Milani.

Middleware: problemi da affrontare Eterogeneità: OS, velocità dei clock, rappresentazione dei dati, memoria,

architettura hw Asincronia locale: anche se i clock fossero gli stessi, il carico (diverso per ogni

nodo), le diverse configurazioni di OS, e gli interrupt creano schedulazioni diverse dei processi in esecuzione (nondeterminismo)

Mancanza di conoscenza globale: la conoscenza si propaga attraverso messaggi i cui tempi di propagazione sono MOLTO più lenti degli eventi interni.

Asincronia di rete: i tempi di propagazione dei messaggi potrebbero essere impredicibili.

Guasti di nodi e/o parti di rete Sicurezza: nei sistemi centralizzati non si espone informazione al mondo esterno

attraverso comunicazioni. Mancanza di un ordinamento globale degli eventi

CIO’ LIMITA L’INSIEME dei problemi computazionalmente risolvibili (algoritmi deterministici) su alcuni SISTEMI DISTRIBUITI