/26 Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano.

Slides:



Advertisements
Presentazioni simili
Capitolo 4 Logica sequenziale
Advertisements

Il livello di trasporto
Il Mot.
Concetti fondamentali
1. Classificazione dei sistemi e dei modelli
6. Catene di Markov a tempo continuo (CMTC)
1 Il punto di vista Un sistema è una parte del mondo che una persona o un gruppo di persone, durante un certo intervallo di tempo, sceglie di considerare.
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Sistemi e Tecnologie della Comunicazione
1 9: Progettazione Architetturale Obiettivo: stabilire la struttura globale di un sistema software Descriveremo diversi tipi di modello di architettura,
Il Tempo – 17 marzo 2010 OROLOGIO ATOMICO Roberto Francini.
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 29/05/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Algoritmi Paralleli e Distribuiti a.a. 2008/09
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 10/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
Università di Padova Dipartimento di Ingegneria dellInformazione Analisi della Qualità del Servizio in Reti Radio Ad Hoc Special Interest Group on NEtworking.
Memorie Condivise Distribuite
Ricerca della Legge di Controllo
Ing. Sara Tucci Piergiovanni
IDUL 2010 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
IDUL 2012 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
IDUL 2009 RETI E PROTOCOLLI. INTERNET. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto logico della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
Parte I (introduzione) Taratura degli strumenti (cfr: UNI 4546) Si parla di taratura in regime statico se lo strumento verrà utilizzato soltanto per misurare.
Univ. Studi di Roma FORO ITALICO Prof. Stefano Razzicchia 1 UNIVERSITA STUDI DI ROMA FORO ITALICO Corso di Laurea Triennale INFORMATICA Lez. 6.
Proxy-based infrastructure for LBS availability Reti di Calcolatori L-S Andrea Licastro
Progetto di una architettura per lesecuzione distribuita e coordinata di azioni Progetto per lesame di Reti di Calcolatori L-S Prof. Antonio Corradi Finistauri.
Reti di Calcolatori L-S Un Sistema Decentrato di Allocazione del Carico per Applicazioni di Calcolo Distribuito Mauro Bampo.
Distributed File System Service Dario Agostinone.
Architettura e protocolli di distribuzione dello stato in videogiochi Multiplayer distribuiti Michele Pace Esame di Reti di Calcolatori LS Aa
GPS.
INTRODUZIONE l sistema operativo è il primo software che lutente utilizza quando accende il computer; 1)Viene caricato nella memoria RAM con loperazione.
Modulo 1 – Reti Informatiche u.d. 4 (syllabus – 1.4.4)
U N INFRASTRUTTURA DI SUPPORTO PER SERVIZI DI FILE HOSTING Matteo Corvaro Matricola Corso di Reti di Calcolatori LS – Prof. A. Corradi A.A.
Sistemi di comunicazione
Modulo 2 - U.D. 3 - L.4 Ernesto Damiani - Sistemi di eleborazione dell'informazione.
Reti di calcolatori 14 novembre 2003 INFORMATICA GENERALE Scienze per Operatori dei Servizi Giuridici Anno Accademico
Informatica Lezione 9 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
INTERNET e RETI di CALCOLATORI
Sistema GPS Il NAVSTAR/GPS (NAVigation Satellite Timing And Ranging/Global Positioning Sistem) è un sistema di posizionamento continuo e tridimensionale.
Applicazione dei protocolli TPSN ed FTSP per la sincronizzazione di smart sensor nelle reti wireless.
Nemesi Creazione e pubblicazione di una rivista online tramite l’utilizzo di Java Message Service.
1 Esercitazione Sistemi distribuiti: sistemi che risisedono su più calcolatori interconnessi da una rete di comunicazione Algoritmi distribuiti: programmi.
Misure ed Errori.
(descrizione quantitativa del moto dei corpi)
IDUL 2013 RETI E PROTOCOLLI. INTERNET.. IDEE PRINCIPALI IN QUESTA LEZIONE Reti: Aspetto ‘logico’ della rete e tipologie: peer-to-peer, a hub, a bus Trasmissione.
Producer – Consumer System Di Carlo Matteo CdLS Ingegneria Informatica (0234) Reti di Calcolatori LS A.A. 2004/2005.
Reti di computer Condivisione di risorse e
Studio di una soluzione distribuita per la gestione di un centro sondaggi.
Supporto per la replicazione attiva di servizi Progetto per il corso di Reti di Calcolatori LS Montanari Mirko Matr:
Sistema di replicazione master-multislave con server di backup per un servizio di chat di Marco Andolfo matr
Progetto di un Group Communication System Reti di Calcolatori LS A.A Giampaolo Capelli.
STUDIO SULLA REPLICAZIONE DEGLI AGENTI NEL SISTEMA SOMA Andrea Sambi.
Bonjour Post-It servizio di post-it distribuito di Elisa Rondini.
P2P Reliable Multicast Messenger Progetto e realizzazione di un software peer to peer per comunicazioni di gruppo.
Progetto di un sistema di comunicazione di gruppo con multicast causale Reti di Calcolatori L-S Marco Canaparo Matricola
PERMESSO PERsistent MESSaging in ad hOc networks Corso di Reti di Calcolatori LS – AA Presentazione di Davide Sansovini Professore: Antonio Corradi.
Servizio di newsgroup con replicazione dei server Studente: Letizia Cheng Cheng Sun Matricola: Reti di Calcolatori LS – Prof. A. Corradi A.A. 2003/2004.
Progetto di un Gestore di Nomi Corso di Reti di Calcolatori L-S prof. Antonio Corradi A.A 2003/2004 Autore: Molesini Ambra.
Prof. ing. Paolo Bidello AA 2005/2006 Laboratorio Informatico Promemoria degli argomenti: Reti locali (LAN)
Progetto RE.VE.N.GE. MQ REliable and VErsatile News delivery support for aGEncies Sistema di Distribuzione Reti di Calcolatori LS – Prof. Antonio Corradi.
Automi temporizzati.
SnippetSearch Database di snippet bilanciato e replicato di Gianluigi Salvi Reti di calcolatori LS – Prof. A.Corradi.
Informatica Lezione 8 Psicologia dello sviluppo e dell'educazione (laurea magistrale) Anno accademico:
Pari Gioia Reti Di Calcolatori LS A.A. 2003/04.
La comunicazione attraverso la rete
Applicazione Presentazione Sessione Trasporto Rete Data link Fisico OSI Processo / Applicazione Trasporto Rete- Internet Interfaccia di.
Implementazioni di un analizzatore di protocollo Esistono quattro fondamentali tradeoff per la realizzazione di un analizzatore di protocollo:  Analisi.
Gli strumenti di misura
DDBMS Distributed database system. DDB Una base di dati distribuita è una collezione di dati che appartengono logicamente allo stesso sistema informativo.
GPS. Orbite ellittiche – leggi di Keplero (valide per masse a simmetria sferica – soddisfatte approssimativamente)
Algoritmi Avanzati a.a.2011/2012 Prof.ssa Rossella Petreschi Algoritmi distribuiti Lezione n°9.
Transcript della presentazione:

/26 Corso Sistemi Distribuiti 6 cfu Docente: Prof. Marcello Castellano

/26 Sincronizzazione dei Clock- 3 Orologi Fisici- 7 Sincronizzazione di Orologi Fisici- 10 Sincronizzazione dei Clock - Algoritmi- 11 Orologi logici - 17 Timestamp di Lamport - 18 Totally-Ordered Multicasting- 21 Clock Vettoriali- 23 Conclusioni 26 Indice dei Contenuti Sistemi Distribuiti, LM Ing. Informatica – 6 CFU – Docente: Marcello Castellano2

/26 Sincronizzazione dei Clock In un sistema centralizzato la funzione precedenza non presenta ambiguità. (è il kernel a mantenere una data ed un’ora comuni a tutte le macchine) In un sistema distribuito definire un tempo globale non è semplice. - È impossibile garantire che i vari clock avanzino tutti alla stessa esatta frequenza (unico clock fisico condiviso da tutti i processi) Soluzioni: - Clock Synchronization: Il middleware di ogni nodo del SD aggiusta il valore del suo clock fisico in modo coerente con quello degli altri o con quello di un clock di riferimento - Logical Clocks: in un SD non è necessario l’accordo degli orologi fisici ma solo l’ordine relativo nel tempo degli eventi Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano3

/26 Sincronizzazione dei Clock(2)-Timestamping Tecnica del timestamping: ogni processo etichetta (con un timestamp) gli eventi – In questo modo è possibile realizzare una storia globale del sistema Soluzione banale: ogni processo etichetta gli eventi con il proprio clock fisico Problematiche: – L’ordinamento degli eventi di uno stesso processo si può ricostruire – Ma non è sempre valido per l’ordinamento di eventi tra processi diversi – In un sistema distribuito è impossibile avere un unico clock fisico condiviso da tutti i processi Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano4

/26 Sincronizzazione dei Clock(3)-SD sinc/asinc SD sincroni – La velocità di esecuzione di ciascun processo deve essere determinabile Il tempo di esecuzione di ciascuno passo è limitato, sia con lower bound che con upper bound – Ciascun messaggio trasmesso su un canale di comunicazione deve essere ricevuto in un tempo limitato e conosciuto (determinato) – Ciascun processo ha un clock locale con un tasso di scostamento del clock (clock drift rate) dal clock reale conosciuto e limitato SD asincroni − Non ci sono vincoli sulla velocità di esecuzione dei processi, sul ritardo di trasmissione dei messaggi e sul tasso di scostamento dei clock Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano5

/26 Sincronizzazione dei Clock (4) Esempio: il programma make Fig. 1 – discrepanze temporali possono causare azioni non volute Quando ogni macchina ha il proprio clock, è possibile che ad un evento temporalmente successivo a quello di riferimento venga assegnato un tempo anteriore Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano6

/26 Orologi Fisici All’istante di tempo reale t, il sistema operativo legge il tempo dal clock hardware H i (t) dell’ i-mo computer Quindi produce il clock software C i (t)= aH i (t) + b che è una misura approssimata di t a cui può far riferimento il processo P i - In generale il clock software non è completamente accurato e pertanto potrebbe misurare un tempo diverso dal tempo vero t - Diversamente, C i potrebbe essere usato come timestamp per gli eventi che occorrono in P i Risoluzione del Clock: periodo che intercorre tra due aggiornamenti del valore del clock Quale deve essere la risoluzione del clock per poter distinguere due eventi? T risoluzione < ΔT tra due eventi rilevanti Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano7

/26 Orologi Fisici (2) Valori Diversi per Diversi clock locali Skew: differenza istantanea fra il valore di due qualsiasi clock Drift: i clock contano il tempo con frequenze differenti (fenomeno dovuto a variazioni fisiche dell’orologio), quindi divergono nel tempo rispetto al tempo reale Drift Rate: differenza per unità di tempo di un clock rispetto ad un orologio ideale – Ad es. drift rate di 2 μsec/sec significa che il clock incrementa il suo valore di 1 sec+2 μsec ogni secondo – I normali orologi al quarzo deviano di circa 1 sec in giorni (10 -6 sec/sec) – Orologi al quarzo ad alta precisione hanno un drift rate di circa o sec/sec – Anche se i differenti clock di un SD vengono sincronizzati in un certo istante, a causa del drift rate, dopo un certo intervallo di tempo, saranno di nuovo disallineati quindi occorre eseguire una sincronizzazione periodica per riallineare i clock Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano8

/26 Orologi Fisici (3) uno standard internazionale utile alle compagnie elettriche per sincronizzare la cadenza dei loro clock è il Universal Time Coordinated (UTC) Basato ( Numero di transizioni al secondo dell’atomo di cesio 133 ) sul tempo atomico ma occasionalmente aggiustato utilizzando il tempo astronomico: I clock fisici che usano oscillatori atomici sono i più accurati (drift rate = ) L’output dell’orologio atomico è inviato in broadcast da stazioni radio e da satelliti su terra (es. GPS) – In Italia: Istituto Galileo Ferraris Computer con ricevitori possono sincronizzare i loro clock con questi segnali – Segnali da stazioni radio su terra hanno un’accuratezza di circa 0,1- 10 msec – Segnali da GPS hanno un’accuratezza di circa 1 μsec Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano9

/26 Sincronizzazione di Orologi Fisici Sincronizzazione interna: un insieme di N computer si dicono sincronizzati internamente quando: - | C i (t) - C j (t)| < D per ogni i,j = 1, 2, … N - In questo caso i due clock C i e C j si accordano all’interno del bound Sincronizzazione esterna: I clock C i (per i = 1, 2, … N ) sono sincronizzati con una sorgente di tempo S (UTC), in modo che, dato un intervallo I di tempo reale: - |S(t) - C i (t)| < D per i = 1, 2, … N e per tutti gli istanti in I - I clock C i hanno un’accuratezza nel range del bound D I clock sincronizzati internamente non sono necessariamente sincronizzati esternamente. Tutti i clock possono deviare collettivamente da una sorgente esterna sebbene rimangano sincronizzati entro il bound D Se l’insieme dei processi P e’ sincronizzato esternamente entro un bound D allora segue dalle definizioni che e’ anche internamente sincronizzato entro un bound 2D Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano10

/26 Sincronizzazione dei Clock - Algoritmi Un clock hardware H si dice corretto se il suo drift rate si mantiene all’interno di un bound ρ > 0 limitato (es secs/ sec), il drift rate di un clock corretto è compreso tra -ρ e + ρ Se il clock H è corretto, allora l’errore che si commette nel misurare un intervallo di istanti reali [t, t’] (con t’>t) è limitato: (1 - ρ) (t’ - t) ≤ H(t’) - H(t) ≤ (1 + ρ) (t’ - t) – Si evitano “salti” del valore del clock Per il clock software C spesso basta una condizione di monotonicità : t' > t → C(t’) > C(t) Un approccio comune a molti algoritmi è quello proposto da Cristian nel 1989 secondo il quale i client possono contattare un time server Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano11

/26 Sincronizzazione dei Clock – Algoritmi (2) Se esiste una costante ρ tale che 1- ρ<= dC/dt <= 1 + ρ (maximum drift rate) dopo ∆t la differenza tra due clock può essere al massimo: 2ρ ∆t - In questo caso si dice che il clock sta funzionando secondo le sue specifiche (ρ è definito dal costruttore e specifica di quanto può oscillare il disallineamento del clock) Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano12 Fig. 2 – Clock time e UTC con i clocks tick a 3 differenti velocità

/26 Sincronizzazione dei Clock – Algoritmi (3) Ipotesi: I computer ricevono periodicamente il tempo corrente da un time server Due problemi: Il tempo non deve mai scorrere all’indietro (per il clock del server più lento) La risposta del server del C UTC richiede un tempo pari a : (T1 -T0 -I)/2 Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano13 Fig. 3 – Algoritmo di Cristian

/26 Algoritmo di Berkeley Algoritmo per la sincronizzazione interna di un gruppo di macchine Il master (time server attivo) richiede, attraverso broadcast, il valore dei clock delle altre macchine (slave) Il master usa i RTT (il Round Trip Time o Round Trip Delay è una misura del tempo impiegato da un pacchetto di dimensione trascurabile per viaggiare da un computer della rete ad un altro e tornare indietro) per stimare i valori dei clock degli slave Il server ha un ruolo attivo, ma non ha il valore esatto del tempo da fornire alle macchine: 1) Il server chiede a tutte le macchine il valore del loro clock. 2) Ogni macchina risponde al server. 3) Il server invia a tutte le macchine il nuovo valore medio del clock Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano14

/26 Algoritmo di Berkeley(2) L’accuratezza dell’algoritmo dipende da un RTT nominale massimo: il master non considera valori di clock associati a RTT superiori al massimo Tolleranza ai guasti – Se il master cade, un’altra macchina viene eletta master – Tollerante a comportamenti arbitrari (slave che inviano valori errati di clock) Il master prende un certo numero valori di clock (da un sottoinsieme di slave); questi valori non differiscono tra loro per una quantità specificata Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano15

/26 Algoritmo di Berkeley – Sincronizzazione nelle reti senza fili 1. Il time daemon richiede a tutte le altre macchine i valori dei loro orologi 2. Le macchine rispondono 3. Il time daemon indica a tutti come corregere i loro orologi Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano16 Fig. 4 – Sincronizzazione di una rete senza fili

/26 Orologi logici I Clock Logici sono usati quando è necessario avere un valore del tempo consistente per tutti i nodi del sistema distribuito, ma questo non necessariamente deve essere il valore del tempo reale assoluto Proposta di Lamport: a) Se due processi non interagiscono non è necessario sincronizzare i loro clock. b) Quello che è importante per due o più processi interagenti è rispettare l’ordine corretto in cui gli eventi avvengono Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano17

/26 Timestamp di Lamport Per sincronizzare i clock logici è stata definita la relazione: happens-before o “di precedenza” ( → ) a → b significa “a avviene prima di b” Se a e b sono due eventi nello stesso processo e a avviene prima di b, allora: a → b è vera In due processi, se a è l’evento di invio di un messaggio m e b è l’evento di ricezione di un messaggio m, allora: a → b è vera Se a → b e b → c, allora: a → c Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano18

/26 Timestamp di Lamport(2) Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano19 Fig. 5 – a)Tre processi, ognuno con il proprio clock. I clock hanno diverse velocità. b)L’algoritmo di Lamport corregge i clock Considerando due eventi x e y in due processi non-interagenti, allora x → y non è vero, ma neanche y → x è vero x e y sono detti concorrenti. Per ogni evento non concorrente a è necessaria una misura globale del tempo da assegnare ad a : C(a) valido in tutti i nodi di un sistema distribuito o concorrente (processi/processori) Se a → b allora C(a) < C(b)

/26 Timestamp di Lamport(3) Total ordering può essere definito se : Ogni messaggio contiene il tempo del suo invio sul mittente (basato sul clock del nodo mittente) Quando un messaggio arriva il clock del ricevente deve essere maggiore di almeno un tick del tempo del mittente (segnato sul messaggio). Tra due eventi il clock deve avanzare almeno di un tick Non si possono avere due eventi che accadono nello stesso esatto istante di tempo Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano20 Fig. 6 – Orologi Logici di Lamport nei SD

/26 un’operazione di multicast attraverso la quale tutti i messaggi sono consegnati nello stesso ordine a tutti i destinatari Due aggiornamenti contemporanei su repliche diverse, possono portare ad uno stato inconsistente. La tecnica del timestamp di Lamport garantisce l’operazione di multicast con la caratteristica del “totally-ordered” Esempio: Totally-Ordered Multicasting Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano21 Fig. 7 – Database Replicato in due siti

/26 Totally-Ordered Multicasting (2) Come si applica la tecnica del multicasting totalmente ordinato: Un gruppo di processi comunica tramite multicast tra loro nel seguente modo: 1. Ogni messaggio è inviato a tutti i processi in multicast e con un timestamp del logical time del mittente e poi messo in coda dai processi in ricezione nell’ordine del timestamp. 2. Si supponga che messaggi sono consegnati nell’ordine in cui vengono inviati e che non ne vengano perso 3. Ogni processo destinatario invia un acknowledgement in multicast agli altri processi 4. Non è possibile che due messaggi abbiamo lo stesso timestamp Ogni processo avrà la stessa copia della coda locale dei messaggi quindi tutti i messaggi sono consegnati ovunque nello stesso ordine Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano22

/26 Clock Vettoriali Il clock logico vettoriale per un sistema di N processi è dato da un vettore di N interi Ciascun processo pi mantiene il proprio clock vettoriale V i Per il processo p i, V i [ i ] è il clock logico locale Ciascun processo usa il suo clock vettoriale per assegnare il timestamp agli eventi Analogamente al clock scalare di Lamport, il clock vettoriale viene allegato al messaggio m ed il timestamp diviene vettoriale Con il clock vettoriale si catturano completamente le caratteristiche della relazione happended-before Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano23

/26 Clock Vettoriali (2) Ogni processo p i inizializza il proprio clock vettoriale V i V i [ j ]=0 per ogni j = 1, 2, …, N Prima di eseguire un evento (interno o esterno), p i incrementa la sua componente del clock vettoriale V i [ i ]= V i [ i ] + 1 Quando p i invia il messaggio m a p j – Incrementa il valore di Vi per la sua componente – Allega al messaggio m il timestamp t = V i – Esegue l’evento send(m) Quando pj riceve il messaggio m con timestamp t – Aggiorna il proprio clock logico V j [ j ] = max(t[ j ], V j [ j ]) per ogni j = 1, 2, …, N – Incrementa il valore di V j per la sua componente – Esegue l’evento receive(m) Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano24

/26 Clock Vettoriali (3) Dato un clock vettoriale V i – V i [ i ] è il numero di eventi generati da p i – V i [ j ] con i ≠ j è il numero di eventi occorsi a p j di cui p i potrebbe avere conoscenza V = V’ se e solo se V [ j ] = V’ [ j ] per ogni j = 1, 2, …, N V ≤ V’ se e solo se V [ j ] ≤ V’ [ j ] per ogni j = 1, 2, …, N V < V’ e quindi l’evento associato a V precede quello associato a V’ se e solo se V ≤ V’ and V ≠ V’ – per ogni i = 1, 2, …, N V’[ i ] ≥ V [ i ] – Э i є {1, …, N} | V’[ i ] > V [ i ] Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano25

/26 Conclusioni Lasciate ai discenti del Corso … Sistemi Distribuiti, LM Ing. Informatica – 6 CFU –Docente: Marcello Castellano26