SlideShare a Scribd company logo
1 of 18
Download to read offline
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 1
Sistemi Distribuiti
Corso di Laurea in Ingegneria
Prof. Paolo Nesi
2013 Parte 4b: Clock e ordinamenti
Department of Systems and Informatics
University of Florence
Via S. Marta 3, 50139, Firenze, Italy
tel: +39-055-4796523, fax: +39-055-4796363
Lab: DISIT, Sistemi Distribuiti e Tecnologie Internet
paolo.nesi@unifi.it
http://www.disit.dsi.unifi.it
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 2
Clock e ordinamenti
G Motivazioni
G Problemi di sincronizzazione fra nodi
G Algoritmi di sincronizzazione
G Sincronizzazione di tempo assoluto fra nodi
G Ordinamento di eventi sui nodi
G Per riferimenti si veda il libro.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 3
Problemi di Sincronizzazione fra Nodi
G Differenze di tempo fra Clock/Orologi (valore assoluto del
tempo) nei vari nodi/processi sulla rete
Network
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 4
Motivazioni
G I nodi di un sistema distribuito possono avere necessità di
effettuare azioni sincronizzate rispetto allo stesso tempo
assoluto e non a fronte di un semplice comando d sinc.
 Il comando su TCP/IP può arrivare con un ritardo (anche non
predicibile) e questo in molti casi non e’ accettabile
 Per questo fine si possono inviare comandi su canali I/O specifici o
tramite protocolli deterministici…….. ma se si ha solo la rete….
G In sistemi distribuiti i messaggi arrivano con dei
TimeStamp in modo che si possa sapere in che ordine
devono essere eseguiti (sono stati inviati)
 I TimeStamp provenienti da nodi diversi devono riferirsi allo stesso
tempo assoluto altrimenti il loro ordinamento (assoluto) non e’
possibile, non ha senso, puo’ essere errato.
 L’ordinamento serve per ordinare in modo Causale i Comandi
G In sistemi distribuiti si effettuano anche misure del tempo
per programmare delle durate, dei ritardi
 Nelle stima delle durate (delta t) gli errori sono minori
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 5
Problemi di Sincronizzazione fra Nodi
G La precisione degli orologi al quarzo e’ dell’ordine di
10-6 , quelli molto precisi sono anche 10-7 o 10-8
 Drift o deriva
G Un quarzo che ha precisione 10-6 puo’ produrre uno
scarto di un secondo ogni 11.6 giorni circa
 Pertanto si ha circa un decimo di secondo ogni giorno
G In certe applicazioni real time una differenza di un
decimo di secondo non e’ accettabile,
 per esempio quando devo far partire due audio insieme, un
grande stadio, una stazione, etc.
 un umano non addestrato sente differenze di 10 ms
G Questi problemi producono uno SKEW / deriva fra clock
 differenza di tempo assoluto o comunque di tempo fra clock
sincronizzati
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 6
Clock Propagation
I Skew
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 7
Problemi di Sincronizzazione fra Nodi
G I singoli processi possono avere un proprio clock
G certamente usare quello del sistema che e’ HW e’ meglio
poiche’ qualsiasi orologio SW dipende da eventuali ritardi
di accesso al processo del clock alla CPU
G Se due HW clock hanno una deriva:
(1-d)(t’-t) <= H(t’)-H(t) <= (1+d)(t’-t)
Dove:
 H(t) e’ il valore del clock del computer H al tempo t.
 d e’ il valore della deriva per esempio 10-6
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 8
Sincronizzazione fra Nodi, MODO A
p1
p2
p3
Sinc(100+off)T=100
T=102
T=103
Sinc(105=102+off+d)
Sinc(105=100+off+d+dr)
off d drT
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 9
G d: delay di andata
G dr: delay di ritorno
G T: tempo di esecuzione, reazione
G off: offset, scarto di sincronizzazione reale
G Di Seguito vediamo modelli di correzione:
 MODO A
 MODO B
 Modello C
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 10
Sincronizzazione fra Nodi, MODO A
G Da un nodo Server di sincronizza gli altri nodi con dei messaggi
G I messaggi arrivano ai nodi con
tempi non predicibili: d(i), dove i e’ il nodo
G Le risposte arrivano al Server dai nodi con
tempi non predicibili: dr(i), dove i e’ il nodo
G Tramite varie iterazioni e’ possibile stimare per ogni nodo
 valori medi, minimi e massimi per: d(i) e dr(i), certamente per
d(i)+T+dr(i). Dove T e’ il tempo di risposta del nodo, non noto.
 Alla fine e’ possibile considerare anche:
 ritardo(i) = [ mean(d(i)+T+dr(i)) ] / 2
 Come valore medio di ritardo, che può essere comunicato al
momento della sincronizzazione dal Server:
 Sinc(i,ritardo(i))
G Quando si comunica Sinc() non e’ detto che si abbia un tempo
effettivo simile a quello medio, da questo nascono degli errori.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 11
MODO B, Cristian (1989)
G E’ il client P che chiede al Server S il tempo assoluto T
G P misura il tempo che passa da quando si manda mr a quando
si riceve mt:
 detto Tround (tempo per fare il giro)
G P impone/setta il suo tempo assoluto pari a (T+Tround/2)
G Errore pari a ±(Tround/2 - Tmin)
 Tmin e’ il minimo dei Tround possibili
 Pertanto in questo modo e’ possibile capire se l’errore e’
accettabile per il tipo di applicazioni in cui si vuole utilizzare tale
metodo
mr
mt
p Time server,S
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 12
Sincronizzazione
Peer1 Peer2
T1
T2
T1
T1
T3
T4
1
12
2
d
TT


T3 + d1, T3
T3
2
34
2
d
TT


T’1
T’2
T’3
T’4
Se T3 + d1 > T’3 → Nuovo
tempo di Peer2 = T3 + d1
Se |d2 – d1|> δ:
nuova iterazione
Se |d2 – d1|< δ:
fine
• Il peer con Clock Logico più elevato
impone il tempo agli altri peer.
• Il nuovo tempo impostato non può
mai essere inferiore al precedente
(funzione monotona crescente).
• Alla connessione ogni peer imposta a
0 il suo clock logico e viene
‘contattato’ dagli altri peer attivi per
essere sincronizzato.
• Si tenta di minimizzare l’errore nella
comunicazione del ritardo di rete
(d1).
• δ si rilassa per raggiungere la
convergenza.
• Necessaria periodica ri-
sincronizzazione a causa della deriva
dei clock fisici.
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 13
Risultati: Sincronizzazione
• Test di sincronizzazione tramite impulsi audio.
• Delay di esecuzione di 1 secondo.
• Mixer collegato a macchina in registrazione.
• Ingressi al mixer: altoparlanti di 2 pc (uno
connesso tramite wifi, l’altro tramite cavo).
• Misura del ritardo nell’esecuzione dell’impulso.
• 0,2ms < Ritardo < 2,5ms
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 14
Altri Metodi
G Modo B non porta a risultati soddisfacenti quando i tempi
di trasmissione sulla rete (Tround) sono elevati,
 valido per Intranet
G In reti geografiche sono necessarie altre soluzioni
 le soluzioni iterative permettono di ridurre l’errore tramite
approssimazioni successive con l’incrocio di messaggi fra i
vari nodi della rete
G In generale la precisione infinita/assoluta non e’ possibile
G L’ordinamento di eventi e’ però possibile per garantire la
causalità fra comandi in sistemi di tempo reale stretto per
CSCW o che altro
 Queste cose sono impossibili da realizzare con una base
dei tempi assoluta
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 15
a b
c d
e f
m1
m2
(2,0,0)(1,0,0)
(2,1,0) (2,2,0)
(2,2,2)(0,0,1)
p1
p2
p3
Physical
time
Ordinamento tramite vettori di TimeStamp
G Ogni nodo riceve eventi con un TimeStamp/Lable ereditato da
altri eventi (P1, P2, P3)
G Ogni nodo tiene conto di tutti i TimeStamp/lable degli altri N nodi
G Si crea una catena di eventi gollegati ed etichettati
G I comandi sono ordinabili (2,2,0) e’ successivo a (2,1,0)
G E’ possibile in questo modo creare degli ordinamenti
(3,2,2)
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 16
Sequenza di eventi
G Eventi:
 (1,0,0): evento a T=1 di P1
 (2,0,0): evento a T=2 di spedizione di P1, succ a (1,0,0)
 (2,1,0): evento succ a (2,0,0) di P2, ricezione, a T=1 di P2
 (2,2,0): evento succ a (2,1,0) di P2, invio, a T=2 di P2
 (2,2,2): evento a T=2 di P3, ricezione di (2,2,0), succ a (0,0,1) T=1 di P3
 …...
 (3,2,2) potrebbe arrivare prima di (3,2,0) su P1, ma se questo accade P1
puo’ riordinare tali eventi
G Da un eventuale non corretto ordinamento e’ possibile
riportarsi all’ordine corretto
 creare degli ordinamenti
 Complessità o(N)
 Ha senso solo per comandi dipendenti e collegati, dovrebbe
essere evitato per comandi indipendenti
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 17
Ordinamento di comandi/eventi
G Un sistema gode della proprieta’ di convergenza se:
 si accorge di condizioni di disordine temporale e riporta con delle
operazioni di ordinamenti in uncerto tempo ad uno stato ordinato
uguale per tutti
 (importante per sistemi cooperativi, vi sono degli esempi nelle
slide dei sistemi collaborativi)
G Non e’ detto che il sistema possa rimettere semplicemente in
ordine i comandi quando se ne accorge,
 il danno potrebbe essere gia’ stato fatto, per esempio in un
sistema di controllo per macchine obliteratrici
Muovi e poi buca e’ diverso da buca e poi muovi
Il buco si trovera’ in posizioni diverse 
 se si parla di dati si dovrebbe garantire l’UNDO di ogni comando,
in certi casi fisici non e’ possibile, il buco e’ fatto 
Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 18
fine

More Related Content

Viewers also liked

Unidad educativa municipal quitumbe
Unidad educativa municipal  quitumbeUnidad educativa municipal  quitumbe
Unidad educativa municipal quitumbeSteven Lalvay
 
Arezzo Frameless Bypass Door Catalog Sheet
Arezzo Frameless Bypass Door Catalog SheetArezzo Frameless Bypass Door Catalog Sheet
Arezzo Frameless Bypass Door Catalog SheetMeghan (Cory) Morgan
 
One piece volume 06(045-053)
One piece volume 06(045-053)One piece volume 06(045-053)
One piece volume 06(045-053)Marcos Donato
 
Aggregatore di Open Data del territorio fiorentino e toscano
Aggregatore di Open Data del territorio fiorentino e toscano Aggregatore di Open Data del territorio fiorentino e toscano
Aggregatore di Open Data del territorio fiorentino e toscano Paolo Nesi
 
048.guerra.civil. .o.espetacular.homem.-.aranha.535.hq.br.28 jun07.os.impossi...
048.guerra.civil. .o.espetacular.homem.-.aranha.535.hq.br.28 jun07.os.impossi...048.guerra.civil. .o.espetacular.homem.-.aranha.535.hq.br.28 jun07.os.impossi...
048.guerra.civil. .o.espetacular.homem.-.aranha.535.hq.br.28 jun07.os.impossi...Marcos Donato
 
"Support" als ideale Anwendung für Social Media - auch und gerade als Einstieg
"Support" als ideale Anwendung für Social Media - auch und gerade als Einstieg"Support" als ideale Anwendung für Social Media - auch und gerade als Einstieg
"Support" als ideale Anwendung für Social Media - auch und gerade als EinstiegScribbleLive
 
هل ستيفين ساكر مقدم برنامج "هارد توك" متحيز بلغة جسده ضد خالد مشعل؟؟
هل ستيفين ساكر مقدم برنامج "هارد توك"  متحيز بلغة جسده ضد خالد مشعل؟؟هل ستيفين ساكر مقدم برنامج "هارد توك"  متحيز بلغة جسده ضد خالد مشعل؟؟
هل ستيفين ساكر مقدم برنامج "هارد توك" متحيز بلغة جسده ضد خالد مشعل؟؟اسماء الشرباتي
 
Parrilla programacion del 03 al 09 de diciembre 2012 mod
Parrilla programacion del 03 al 09 de diciembre 2012 modParrilla programacion del 03 al 09 de diciembre 2012 mod
Parrilla programacion del 03 al 09 de diciembre 2012 modcanalwebpdf
 
Thu Moi Ky Niem 10 Nam PFIEV - BKTPHCM
Thu Moi Ky Niem 10 Nam PFIEV - BKTPHCMThu Moi Ky Niem 10 Nam PFIEV - BKTPHCM
Thu Moi Ky Niem 10 Nam PFIEV - BKTPHCMpicvendor
 
Incluir es sumar
Incluir es sumarIncluir es sumar
Incluir es sumaremmsantboi
 
prof. Milan Konvit: Nove medium a clovek
prof. Milan Konvit: Nove medium a clovekprof. Milan Konvit: Nove medium a clovek
prof. Milan Konvit: Nove medium a clovekKISK FF MU
 
Matchmaking multiplace, piattaforma di APREToscana
Matchmaking multiplace, piattaforma di APREToscanaMatchmaking multiplace, piattaforma di APREToscana
Matchmaking multiplace, piattaforma di APREToscanaPaolo Nesi
 
Automatické zpracování a dolování informací z audiovizuálních záznamů
Automatické zpracování a dolování informací z audiovizuálních záznamůAutomatické zpracování a dolování informací z audiovizuálních záznamů
Automatické zpracování a dolování informací z audiovizuálních záznamůKISK FF MU
 

Viewers also liked (20)

Unidad educativa municipal quitumbe
Unidad educativa municipal  quitumbeUnidad educativa municipal  quitumbe
Unidad educativa municipal quitumbe
 
Arezzo Frameless Bypass Door Catalog Sheet
Arezzo Frameless Bypass Door Catalog SheetArezzo Frameless Bypass Door Catalog Sheet
Arezzo Frameless Bypass Door Catalog Sheet
 
One piece volume 06(045-053)
One piece volume 06(045-053)One piece volume 06(045-053)
One piece volume 06(045-053)
 
Aggregatore di Open Data del territorio fiorentino e toscano
Aggregatore di Open Data del territorio fiorentino e toscano Aggregatore di Open Data del territorio fiorentino e toscano
Aggregatore di Open Data del territorio fiorentino e toscano
 
Presentacion grupo 159_ aporte
Presentacion grupo 159_ aportePresentacion grupo 159_ aporte
Presentacion grupo 159_ aporte
 
Informaticaa
InformaticaaInformaticaa
Informaticaa
 
048.guerra.civil. .o.espetacular.homem.-.aranha.535.hq.br.28 jun07.os.impossi...
048.guerra.civil. .o.espetacular.homem.-.aranha.535.hq.br.28 jun07.os.impossi...048.guerra.civil. .o.espetacular.homem.-.aranha.535.hq.br.28 jun07.os.impossi...
048.guerra.civil. .o.espetacular.homem.-.aranha.535.hq.br.28 jun07.os.impossi...
 
"Support" als ideale Anwendung für Social Media - auch und gerade als Einstieg
"Support" als ideale Anwendung für Social Media - auch und gerade als Einstieg"Support" als ideale Anwendung für Social Media - auch und gerade als Einstieg
"Support" als ideale Anwendung für Social Media - auch und gerade als Einstieg
 
هل ستيفين ساكر مقدم برنامج "هارد توك" متحيز بلغة جسده ضد خالد مشعل؟؟
هل ستيفين ساكر مقدم برنامج "هارد توك"  متحيز بلغة جسده ضد خالد مشعل؟؟هل ستيفين ساكر مقدم برنامج "هارد توك"  متحيز بلغة جسده ضد خالد مشعل؟؟
هل ستيفين ساكر مقدم برنامج "هارد توك" متحيز بلغة جسده ضد خالد مشعل؟؟
 
Kwl
KwlKwl
Kwl
 
Parrilla programacion del 03 al 09 de diciembre 2012 mod
Parrilla programacion del 03 al 09 de diciembre 2012 modParrilla programacion del 03 al 09 de diciembre 2012 mod
Parrilla programacion del 03 al 09 de diciembre 2012 mod
 
Thu Moi Ky Niem 10 Nam PFIEV - BKTPHCM
Thu Moi Ky Niem 10 Nam PFIEV - BKTPHCMThu Moi Ky Niem 10 Nam PFIEV - BKTPHCM
Thu Moi Ky Niem 10 Nam PFIEV - BKTPHCM
 
Incluir es sumar
Incluir es sumarIncluir es sumar
Incluir es sumar
 
prof. Milan Konvit: Nove medium a clovek
prof. Milan Konvit: Nove medium a clovekprof. Milan Konvit: Nove medium a clovek
prof. Milan Konvit: Nove medium a clovek
 
Presentació
PresentacióPresentació
Presentació
 
Matchmaking multiplace, piattaforma di APREToscana
Matchmaking multiplace, piattaforma di APREToscanaMatchmaking multiplace, piattaforma di APREToscana
Matchmaking multiplace, piattaforma di APREToscana
 
Jobs stories
Jobs storiesJobs stories
Jobs stories
 
Automatické zpracování a dolování informací z audiovizuálních záznamů
Automatické zpracování a dolování informací z audiovizuálních záznamůAutomatické zpracování a dolování informací z audiovizuálních záznamů
Automatické zpracování a dolování informací z audiovizuálních záznamů
 
resume
resumeresume
resume
 
New temper
New temperNew temper
New temper
 

Recently uploaded

IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaRafael Figueredo
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaStefano Lariccia
 
Ticonzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaTiconzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaPierLuigi Albini
 
Corso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativoCorso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativovaleriodinoia35
 
CON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla CresimaCON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla CresimaRafael Figueredo
 
La seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieLa seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieVincenzoPantalena1
 
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.giuliofiorerm
 
lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldivaleriodinoia35
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiorevaleriodinoia35
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaStefano Lariccia
 

Recently uploaded (10)

IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla CresimaIL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
IL CHIAMATO ALLA CONVERSIONE - catechesi per candidati alla Cresima
 
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia RomanaXI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
XI Lezione - Arabo LAR Giath Rammo @ Libera Accademia Romana
 
Ticonzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza culturaTiconzero news 148.pdf aprile 2024 Terza cultura
Ticonzero news 148.pdf aprile 2024 Terza cultura
 
Corso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativoCorso di digitalizzazione e reti per segretario amministrativo
Corso di digitalizzazione e reti per segretario amministrativo
 
CON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla CresimaCON OCCHI DIVERSI - catechesi per candidati alla Cresima
CON OCCHI DIVERSI - catechesi per candidati alla Cresima
 
La seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medieLa seconda guerra mondiale per licei e scuole medie
La seconda guerra mondiale per licei e scuole medie
 
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
RICERCA_SUGLI ANFIBI PER LA PRIMA MEDIA.
 
lezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldilezione di fisica_I moti nel piano_Amaldi
lezione di fisica_I moti nel piano_Amaldi
 
Esperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superioreEsperimenti_laboratorio di fisica per la scuola superiore
Esperimenti_laboratorio di fisica per la scuola superiore
 
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia RomanaXIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
XIII Lezione - Arabo G.Rammo @ Libera Accademia Romana
 

Distributed Systems, Sync Time and Time ordering

  • 1. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 1 Sistemi Distribuiti Corso di Laurea in Ingegneria Prof. Paolo Nesi 2013 Parte 4b: Clock e ordinamenti Department of Systems and Informatics University of Florence Via S. Marta 3, 50139, Firenze, Italy tel: +39-055-4796523, fax: +39-055-4796363 Lab: DISIT, Sistemi Distribuiti e Tecnologie Internet paolo.nesi@unifi.it http://www.disit.dsi.unifi.it
  • 2. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 2 Clock e ordinamenti G Motivazioni G Problemi di sincronizzazione fra nodi G Algoritmi di sincronizzazione G Sincronizzazione di tempo assoluto fra nodi G Ordinamento di eventi sui nodi G Per riferimenti si veda il libro.
  • 3. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 3 Problemi di Sincronizzazione fra Nodi G Differenze di tempo fra Clock/Orologi (valore assoluto del tempo) nei vari nodi/processi sulla rete Network
  • 4. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 4 Motivazioni G I nodi di un sistema distribuito possono avere necessità di effettuare azioni sincronizzate rispetto allo stesso tempo assoluto e non a fronte di un semplice comando d sinc.  Il comando su TCP/IP può arrivare con un ritardo (anche non predicibile) e questo in molti casi non e’ accettabile  Per questo fine si possono inviare comandi su canali I/O specifici o tramite protocolli deterministici…….. ma se si ha solo la rete…. G In sistemi distribuiti i messaggi arrivano con dei TimeStamp in modo che si possa sapere in che ordine devono essere eseguiti (sono stati inviati)  I TimeStamp provenienti da nodi diversi devono riferirsi allo stesso tempo assoluto altrimenti il loro ordinamento (assoluto) non e’ possibile, non ha senso, puo’ essere errato.  L’ordinamento serve per ordinare in modo Causale i Comandi G In sistemi distribuiti si effettuano anche misure del tempo per programmare delle durate, dei ritardi  Nelle stima delle durate (delta t) gli errori sono minori
  • 5. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 5 Problemi di Sincronizzazione fra Nodi G La precisione degli orologi al quarzo e’ dell’ordine di 10-6 , quelli molto precisi sono anche 10-7 o 10-8  Drift o deriva G Un quarzo che ha precisione 10-6 puo’ produrre uno scarto di un secondo ogni 11.6 giorni circa  Pertanto si ha circa un decimo di secondo ogni giorno G In certe applicazioni real time una differenza di un decimo di secondo non e’ accettabile,  per esempio quando devo far partire due audio insieme, un grande stadio, una stazione, etc.  un umano non addestrato sente differenze di 10 ms G Questi problemi producono uno SKEW / deriva fra clock  differenza di tempo assoluto o comunque di tempo fra clock sincronizzati
  • 6. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 6 Clock Propagation I Skew
  • 7. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 7 Problemi di Sincronizzazione fra Nodi G I singoli processi possono avere un proprio clock G certamente usare quello del sistema che e’ HW e’ meglio poiche’ qualsiasi orologio SW dipende da eventuali ritardi di accesso al processo del clock alla CPU G Se due HW clock hanno una deriva: (1-d)(t’-t) <= H(t’)-H(t) <= (1+d)(t’-t) Dove:  H(t) e’ il valore del clock del computer H al tempo t.  d e’ il valore della deriva per esempio 10-6
  • 8. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 8 Sincronizzazione fra Nodi, MODO A p1 p2 p3 Sinc(100+off)T=100 T=102 T=103 Sinc(105=102+off+d) Sinc(105=100+off+d+dr) off d drT
  • 9. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 9 G d: delay di andata G dr: delay di ritorno G T: tempo di esecuzione, reazione G off: offset, scarto di sincronizzazione reale G Di Seguito vediamo modelli di correzione:  MODO A  MODO B  Modello C
  • 10. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 10 Sincronizzazione fra Nodi, MODO A G Da un nodo Server di sincronizza gli altri nodi con dei messaggi G I messaggi arrivano ai nodi con tempi non predicibili: d(i), dove i e’ il nodo G Le risposte arrivano al Server dai nodi con tempi non predicibili: dr(i), dove i e’ il nodo G Tramite varie iterazioni e’ possibile stimare per ogni nodo  valori medi, minimi e massimi per: d(i) e dr(i), certamente per d(i)+T+dr(i). Dove T e’ il tempo di risposta del nodo, non noto.  Alla fine e’ possibile considerare anche:  ritardo(i) = [ mean(d(i)+T+dr(i)) ] / 2  Come valore medio di ritardo, che può essere comunicato al momento della sincronizzazione dal Server:  Sinc(i,ritardo(i)) G Quando si comunica Sinc() non e’ detto che si abbia un tempo effettivo simile a quello medio, da questo nascono degli errori.
  • 11. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 11 MODO B, Cristian (1989) G E’ il client P che chiede al Server S il tempo assoluto T G P misura il tempo che passa da quando si manda mr a quando si riceve mt:  detto Tround (tempo per fare il giro) G P impone/setta il suo tempo assoluto pari a (T+Tround/2) G Errore pari a ±(Tround/2 - Tmin)  Tmin e’ il minimo dei Tround possibili  Pertanto in questo modo e’ possibile capire se l’errore e’ accettabile per il tipo di applicazioni in cui si vuole utilizzare tale metodo mr mt p Time server,S
  • 12. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 12 Sincronizzazione Peer1 Peer2 T1 T2 T1 T1 T3 T4 1 12 2 d TT   T3 + d1, T3 T3 2 34 2 d TT   T’1 T’2 T’3 T’4 Se T3 + d1 > T’3 → Nuovo tempo di Peer2 = T3 + d1 Se |d2 – d1|> δ: nuova iterazione Se |d2 – d1|< δ: fine • Il peer con Clock Logico più elevato impone il tempo agli altri peer. • Il nuovo tempo impostato non può mai essere inferiore al precedente (funzione monotona crescente). • Alla connessione ogni peer imposta a 0 il suo clock logico e viene ‘contattato’ dagli altri peer attivi per essere sincronizzato. • Si tenta di minimizzare l’errore nella comunicazione del ritardo di rete (d1). • δ si rilassa per raggiungere la convergenza. • Necessaria periodica ri- sincronizzazione a causa della deriva dei clock fisici.
  • 13. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 13 Risultati: Sincronizzazione • Test di sincronizzazione tramite impulsi audio. • Delay di esecuzione di 1 secondo. • Mixer collegato a macchina in registrazione. • Ingressi al mixer: altoparlanti di 2 pc (uno connesso tramite wifi, l’altro tramite cavo). • Misura del ritardo nell’esecuzione dell’impulso. • 0,2ms < Ritardo < 2,5ms
  • 14. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 14 Altri Metodi G Modo B non porta a risultati soddisfacenti quando i tempi di trasmissione sulla rete (Tround) sono elevati,  valido per Intranet G In reti geografiche sono necessarie altre soluzioni  le soluzioni iterative permettono di ridurre l’errore tramite approssimazioni successive con l’incrocio di messaggi fra i vari nodi della rete G In generale la precisione infinita/assoluta non e’ possibile G L’ordinamento di eventi e’ però possibile per garantire la causalità fra comandi in sistemi di tempo reale stretto per CSCW o che altro  Queste cose sono impossibili da realizzare con una base dei tempi assoluta
  • 15. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 15 a b c d e f m1 m2 (2,0,0)(1,0,0) (2,1,0) (2,2,0) (2,2,2)(0,0,1) p1 p2 p3 Physical time Ordinamento tramite vettori di TimeStamp G Ogni nodo riceve eventi con un TimeStamp/Lable ereditato da altri eventi (P1, P2, P3) G Ogni nodo tiene conto di tutti i TimeStamp/lable degli altri N nodi G Si crea una catena di eventi gollegati ed etichettati G I comandi sono ordinabili (2,2,0) e’ successivo a (2,1,0) G E’ possibile in questo modo creare degli ordinamenti (3,2,2)
  • 16. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 16 Sequenza di eventi G Eventi:  (1,0,0): evento a T=1 di P1  (2,0,0): evento a T=2 di spedizione di P1, succ a (1,0,0)  (2,1,0): evento succ a (2,0,0) di P2, ricezione, a T=1 di P2  (2,2,0): evento succ a (2,1,0) di P2, invio, a T=2 di P2  (2,2,2): evento a T=2 di P3, ricezione di (2,2,0), succ a (0,0,1) T=1 di P3  …...  (3,2,2) potrebbe arrivare prima di (3,2,0) su P1, ma se questo accade P1 puo’ riordinare tali eventi G Da un eventuale non corretto ordinamento e’ possibile riportarsi all’ordine corretto  creare degli ordinamenti  Complessità o(N)  Ha senso solo per comandi dipendenti e collegati, dovrebbe essere evitato per comandi indipendenti
  • 17. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 17 Ordinamento di comandi/eventi G Un sistema gode della proprieta’ di convergenza se:  si accorge di condizioni di disordine temporale e riporta con delle operazioni di ordinamenti in uncerto tempo ad uno stato ordinato uguale per tutti  (importante per sistemi cooperativi, vi sono degli esempi nelle slide dei sistemi collaborativi) G Non e’ detto che il sistema possa rimettere semplicemente in ordine i comandi quando se ne accorge,  il danno potrebbe essere gia’ stato fatto, per esempio in un sistema di controllo per macchine obliteratrici Muovi e poi buca e’ diverso da buca e poi muovi Il buco si trovera’ in posizioni diverse   se si parla di dati si dovrebbe garantire l’UNDO di ogni comando, in certi casi fisici non e’ possibile, il buco e’ fatto 
  • 18. Sistemi Distribuiti, Univ. Firenze, Paolo Nesi 2012-2013 18 fine