Le comunicazioni ordinate. Comunicazioni Ordinate E importante (e utile) definire delle primitive di comunicazione che diano qualche garanzia sullordine.

Slides:



Advertisements
Presentazioni simili
Primary Italian Saying How You Are.
Advertisements

SEI IN FORMA? Mercoledì, ventisette gennaio Objectives - focus on speaking skills: develop confidence - use modal verbs (can/be able/must/have to) - use.
                      Insertion-Sort
DG Ricerca Ambientale e Sviluppo FIRMS' FUNDING SCHEMES AND ENVIRONMENTAL PURPOSES IN THE EU STRUCTURAL FUNDS (Monitoring of environmental firms funding.
Each student will be able to ask an adult or stranger: What do you like to do? and What dont you like to …?
Progetto Mini di Sistemi Distribuiti – AA 2007/08 Secure Group Communication with GDH.1 Alessandro Licata Caruso Matr:
Simmetria Traslazioni (Lattices) Traslazione 1-D = un filare
Routing Crediti Parte delle slide seguenti sono adattate dalla versione originale di J.F Kurose and K.W. Ross (© All Rights Reserved)
Algoritmi Paralleli e Distribuiti a.a. 2008/09 Lezione del 10/03/2009 Prof. ssa ROSSELLA PETRESCHI a cura del Dott. SAVERIO CAMINITI.
1 Capitolo 2: Semplificazione, Ottimizzazione e Implicazione.
Memorie Condivise Distribuite
BRISCOLA GO ON AVANTI. Storia I giochi di carte hanno le origini più disparate e vengono collocati in differenti epoche, la Briscola risale al La.
Queuing or Waiting Line Models
Fonti, metodi e strumenti per lanalisi dei flussi turistici A.A Prof.ssa Barbara Baldazzi Corso di Laurea PROGEST Facoltà di Lettere e Filosofia.
11 1 Roma, 11 dicembre 2006 Laura Gasparini Garanzia su Portafogli Estero.
Intelligenza Artificiale
Modello di replicazione attivo e di supporto alla tolleranza ai guasti in ambito MOM Autore: Claudio Fusconi Matricola: Esame: Reti di calcolatori.
La sicurezza può essere fornita in ciascuno degli strati: applicazione, trasporto, rete. Quando la sicurezza è fornita per uno specifico protocollo dello.
Capitolo 20: Sistemi multimediali
Secure Socket Layer (SSL) Transport Layer Security (TLS)
Teoremi di Lieb Permette di stabilire l’esistenza di
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
Project Review byNight byNight December 21th, 2011.
Project Review byNight byNight December 21th, 2011.
Architettura software La scelta architetturale: MVA (Model – View – Adapter/Control) The view is completely decoupled from the model such that view and.
Project Review byNight byNight December 21th, 2011.
EMINEM CINDERELLA MEN Cinderella man Send the fellow Shady dang came to wrap the game up in cellophane, Raise hell from hell he came, But didn't come.
PINK FLOYD DOGS You gotta be crazy, you gotta have a real need. You gotta sleep on your toes. And when you're on the street. You gotta be able to pick.
Ontologia AA F. Orilia. Lez. 16 Discussione dell'approccio controfattualista di lewis condotta da Antonio De Grandis.
4/20/20151 Metodi formali dello sviluppo software a.a.2013/2014 Prof. Anna Labella.
SCOPA Avanti.
( Art. 14 ) 1. Ogni bambino ha diritto all’istruzione senza distinzioni razziali. 1. Every child has the right to be brought up without.
Taccani1 7.4 Identification ANALISI DEI PERICOLI Hazard Analysis Identificazione Valutazione Misure di Controllo Control Measures Assessment.
Successione degli Stati nei trattati Successione di Stati = mutamento di sovranità territoriale. Conseguenze di tale mutamento sui diritti ed obblighi.
MyEconLab_Univerità degli studi di Milano, corso Prof.ssa Valentina Raimondi How to Access MyEconLab 1.
Capitolo 14 Il presente del congiuntivo (the present subjunctive)
© and ® 2011 Vista Higher Learning, Inc.6B.1-1 The imperfetto can be translated into English in several ways. Lia piangeva. Lia cried. Lia used to cry.
4/26/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof.Anna Labella.
ANNUNCIO DI SEMINARIO Il giorno Venerdi' 21 Maggio 2004 alle ore 11:30 presso l'Aula C3.4 della Facolta' di Scienze Matematiche Fisiche e Naturali dell'Universita'
Specifiche. Scopo e significato delle specifiche (1) Lo scopo di una specifica è di definire il comportamento di un ’ astrazione. Gli utenti si baseranno.
Progetto di un Group Communication System Reti di Calcolatori LS A.A Giampaolo Capelli.
Progetto di un sistema di comunicazione di gruppo con multicast causale Reti di Calcolatori L-S Marco Canaparo Matricola
Il Consenso. Problema del Consenso Il gruppo di processi devono mettersi d’accordo su un valore (es. commit/abort di una transazione). E’ l’astrazione.
Università degli studi di L’Aquila Anno Accademico 2006/2007 Corso di: Algoritmi e Dati Distribuiti Titolare: Prof. Guido Proietti Orario: Martedì:
Accoppiamento scalare
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
SUMMARY Time domain and frequency domain RIEPILOGO Dominio del tempo e della frequenza RIEPILOGO Dominio del tempo e della frequenza.
Each student will be able to ask an adult or stranger: What do you like to do? and What don’t you like to …?
THE LIGHT How does the light propagate?. 1)To verify that light propagates in straight lines 2)To compare an object with its projection on a rigid screen.
Mobilità tra i Paesi del Programma KA103 A.A. 2014/2015 (KA103) Mobility Tool+ e il Rapporto Finale Claudia Peritore Roma luglio 2015.
SUMMARY High efficiency motors RIEPILOGO Motori ad alta efficienza RIEPILOGO Motori ad alta efficienza.
SUMMARY Different classes and distortions RIEPILOGO Le diverse classi e le distorsioni RIEPILOGO Le diverse classi e le distorsioni.
Project Review Novembrer 17th, Project Review Agenda: Project goals User stories – use cases – scenarios Project plan summary Status as of November.
SUMMARY Interconnection of quadripoles RIEPILOGO Interconnessione di quadripoli RIEPILOGO Interconnessione di quadripoli.
Texts are cooperatively generated by the addressee.
Imperfect Tense Transformation Italian 2. Fate Adesso Conjugate to Imperfect Tense 1. parlare (Sandra ed io / noi) ___________________ 2. sentire (Maria.
Oggi è l’undici febbraio 2015.
Il partitivo Italian 3 – Cap. 9. Il partitivo To express indefinite quantities in Italian – the equivalent of some, any, a few, in English – you can use.
Buon giorno, ragazzi oggi è il quattro aprile duemilasedici.
Ci and ne. Ci Ci is used to replace nouns or expressions that refer to places or locations that have just been mentioned. Ci is roughly equivalent to.
Lina, Paolo, Tonino, Riccardo.   An assessment of the need for a photo-production facility and its design  The neutron part should not exceed 20 pages.
SUMMARY Checking RIEPILOGO Verifiche RIEPILOGO Verifiche.
A Tiny Voice Inside Una piccola Voce interiore By Carole Smith Gaetano Lastilla.
Project IOLI Practical exemple in Italy and in Sicily Il presente progetto è finanziato con il sostegno della Commissione europea. L’autore è il solo responsabile.
MSc in Communication Sciences Program in Technologies for Human Communication Davide Eynard Facoltà di scienze della comunicazione Università della.
Do You Want To Pass Actual Exam in 1 st Attempt?.
WRITING – EXERCISE TYPES
PROGETTO SOCRATES Dante Alighieri Primary School Classes 2A-B-C GENERAL OBJECTIVES: -To increase the motivation and the pleasure for reading -To pass.
X. Specifications (IV).
A comparison between day and night cosmic muons flux
Transcript della presentazione:

Le comunicazioni ordinate

Comunicazioni Ordinate E importante (e utile) definire delle primitive di comunicazione che diano qualche garanzia sullordine di consegna dei messaggi inviati allinterno di un gruppo di processi Vedremo le seguenti: Comunicazione che rispetta lordine FIFO di invio dei messaggi Comunicazione che rispetta lordine causale Comunicazione che rispetta un ordine totale

Comunicazione in un gruppo di processi Comunicazione di gruppo: gruppo definito di processi. Primitive di gruppo che garantiscono vari tipi di reliability: (1) Best-effort broadcast (2) (Regular) reliable broadcast (3) Uniform (reliable) broadcast Rivediamo la specifica del (Regular) reliable brodcast, (dora in poi solo Reliable broadcast) : Safety Safety. Integrity (No Duplication, No Creation): per qualsiasi messaggio m, ogni processo corretto consegna m al più una volta, e solo se m è stato precedentemente inviato in broadcast da un processo mittente Liveness Liveness: Validity: se un processo corretto invia in broadcast un messaggio m, allora tutti i processi corretti alla fine consegnano m. Agreement : se un processo corretto consegna un messaggio m, allora tutti i processi corretti alla fine consegnano m.

Utilità della comunicazione ordinata Nel Reliable broadcast non cè alcun requisito sullordine in cui i messaggi sono consegnati Per alcune applicazioni ciò può portare ad anomalie... Esempio: sistema di prenotazione aerea. Lanomalia consiste in una consegna di un msg di cancellazione di una prenotazione che il server non ha ancora registrato! t client server reservecancel Prices 15% off

FIFO Broadcast\specifica Qual è la soluzione? Occorre che i messaggi di broadcast inviati dallo stesso mittente vengano consegnati nello stesso ordine in cui i messaggi sono stati inviati. A questo scopo introduciamo una nuova primitiva di comunicazione di gruppo in grado di implementare questa soluzione: FIFO Broadcast Safety La specifica del FIFO broadcast è costituita dalle proprietà viste per il Reliable broadcast alle quali si aggiunge unaltra proprietà di Safety per catturare la nozione di ordine: FIFO Order: se un processo invia in broadcast un messaggio m prima di un messaggio m, allora nessun processo corretto consegna m a meno che non abbia precedentemente consegnato m. FIFO Broadcast = Reliable Broadcast + FIFO Order

Each process q holds: S p a count of messages broadcast by p R p the sequence number of the latest message sent by p and delivered by q For p to FO-multicast a message to g, it piggybacks S p on the message, rbBroadcasts it and increments S p by 1 On receipt of a message from q sent by p with sequence number S, p checks whether S = R p + 1. If so, q FO-delivers it if S > R p + 1 then q places message in hold-back queue until intervening messages have been delivered. (note that rbBroadcast does eventually deliver messages unless the sender crashes) FIFO Broadcast\algoritmo

Utilità della comunicazione ordinata(2) Il FIFO order non preclude tutte le anomalie dovute ad uno strano ordine di consegna… Es: Applicazione di tipo newsgroup. Anche se il FIFO order è soddisfatto (banalmente), cosa non va? m2 dipende da m1 ma Student 2 consegna m2 prima di m1 Qual è la soluzione? Poiché m1 precede causalmente m2, allora m2 non deve essere consegnato finchè prima non viene consegnato m1 A questo scopo introduciamo una nuova primitiva alle comunicazioni di gruppo in grado di implementare questa soluzione: Causal Broadcast Prof. Student 2 m 1 : Fri exam cancelled Student 1 m 2 : lets party on Thu night m 3 : but we have an exam on Fri!

Causal Order FIFO Order, ma FIFO Order Causal Order Quindi, Causal Order = FIFO Order + ? Causal Broadcast\specifica Safety La specifica del Causal broadcast è costituita dalle proprietà viste per il Reliable broadcast alle quali si aggiunge unaltra proprietà di Safety per catturare la nozione di ordine: Causal Order: se il broadcast di un messaggio m precede causalmente il broadcast di un messaggio m, allora nessun processo corretto consegna m a meno che non abbia precedentemente consegnato m. Causal Broadcast = Reliable Broadcast+Causal Order

Causal Broadcast\specifica Causal Order = FIFO Order + Local Order. Local Order : se un processo consegna un msg m prima di inviare in broadcast un msg m, allora nessun processo corretto consegna m a meno che non abbia precedentemente consegnato m. Esempio: p q r t m m Viene ritardato e consegnato solo dopo la consegna di m

Causal Broadcast\ implementazioni Due implementazioni Un algoritmo blocking che usa vector clocks Un algoritmo non-blocking che usa il passato p1p1 p2p2 p3p3 COBcast(m 1 ) CObcast(m 2 ) COBcast(m 3 ) m 1 m 2 m 1,m 2, m 3 COdelv(m 1 ) COdelv(m 3 ) m 2 già COdelivered! COdelv(m 1 ) COdelv(m 2 ) COdelv(m 3 ) COdelv(m 2 ) scarta IDEA DI BASE: PIGGYBACKING DEI MESSAGGI che fanno parte del PASSATO del msg inviato

Utilità della comunicazione ordinata(3) Anche il Causal Order non è abbastanza forte per assicurare lassenza di anomalie Es. Applicazione banking. Conto bancario replicato su due siti R1R1 R2R2 A:£100 Deposit £20 Add 10% interest A:£120 A:£110 A:£132 A:£130 Sebbene le repliche siano inizialmente identiche alla fine sono inconsistenti anche se il Causal Order è soddisfatto (banalmente) Qual è la soluzione? per garantire che le repliche siano sempre identiche, si deve assicurare che tutti gli update siano consegnati nel medesimo ordine anche quando non sono causalmente dipendenti. A questo scopo introduciamo una nuova primitiva comunicazione di gruppo in grado di implementare questa soluzione : Total Order (Atomic) Broadcast

Atomic Broadcast\specifica Safety La specifica del Total Order broadcast è costituita dalle proprietà viste per il Reliable broadcast alle quali si aggiunge unaltra proprietà di Safety per catturare la nozione di ordine: Total Order: se due processi corretti p e q consegnano entrambi m ed m, allora p consegna m prima di m se e solo se q consegna m prima di m Si noti che la proprietà di total order è una proprietà ortogonale rispetto a FIFO order e causal order. Quindi il total order non è una proprietà più forte rispetto alle altre due. Ad esempio tutti i processi potrebbero consegnare due messaggi, inviati dallo stesso processo, in ordine inverso rispetto a quello di invio.

Causal Atomic broadcast Gerarchia delle Primitive di Broadcast Reliable broadcast FIFO broadcast Causal broadcast FIFO Atomic broadcast Atomic broadcast Total Order Causal Order Total Order FIFO Order Local Order Causal Order Local Order

Atomic Broadcast e Consenso Si può realizzare il Consenso con latomic broadcast Si può realizzare latomic broadcast con Consenso e reliable broadcast: il messaggio viene inviato in Reliable Broadcast, i processi riceventi propongono un numero di sequenza per il messaggio (in realtà per tutti quelli in coda non ancora ordinati) facendo partire un Consenso. Alla fine decideranno per la stessa sequenza di consegna per i messaggi. Quindi si può dimostrare che lAtomic Broadcast e il Consenso sono problemi equivalenti in un sistema con canali affidabili Ciò significa che non esiste alcun algoritmo che soddisfa la specifica dellatomic broadcast in un modello di sistema asincrono con guasti di tipo crash: FLP per ATOMIC BROADCAST!!

System model Static set of processes Π = {p 1 … p n } Message passing over perfect channels (message exchanging between correct processes is reliable) Asynchronous Crash fault model for processes We characterize the system in terms of its possible runs R R p1p1 p2p2 pnpn TOcast(m) m m m TOdeliver(m) crash r

A few notation Property P: predicate on the system, identifying a set of runs R P R P P iff R P R P Specification S(P 1,…,P m ): logical and of m properties, identifying a set of runs R S =R P 1 … R P m R S S iff R S R S RPRP RPRP RSRS RSRS R P1 R Pn RSRS R R R

TO specifications Total order specifications are usually composed by four properties, namely Validity, Integrity,Agreement, and Order. A Validity property guarantees that messages sent by correct processes will eventually be delivered at least by correct processes; An Integrity property guarantees that no spurious or duplicate messages are delivered; An Agreement property ensures that (at least correct) processes deliver the same set of messages; An Order property constrains (at least correct) processes delivering the same messages to deliver them in the same order.

TO specifications Total Order Broadcast = S(V,I,A,O) V = Validity I = Integrity A = Agreement O = Order Distinct specifications arise from distinct formulations of each property uniform vs non-uniform A uniform property imposes restrictions on the behavior of (at least) correct processes on the basis of events occurred in some process NUV UI TO(A,O)

TO Specifications Crash failure + Perfect channels NUV. if a correct process TOCAST a message m then some correct process will eventually deliver m UI. For any message m, every process p delivers m at most once and only if m was previously tocast by some (correct or not) process.

The Agreement property (Uniform Agreement, UA) If a process (correct or not) todelivers a message m, then all correct processes will eventually todeliver m; (Non-uniform Agreement, NUA) If a correct process todelivers a message m, then all correct processes will eventually todeliver m

The Agreement property Constrains the set of delivered messages Correct processes always deliver the same set of messages M Each faulty process p delivers a set M p UA: M p M NUA: M p can be s.t. M p - M m2m2 m4m4 p1p1 p2p2 p3p3 m2m2 m4m4 m1m1 m1m1 m3m3 m3m3 m3m3 m4m4 m1m1 m2m2 UA m4m4 p1p1 p2p2 p3p3 m2m2 m4m4 m1m1 m1m1 m3m3 m3m3 m3m3 m4m4 m1m1 m2m2 m5m5 NUA

The Order property Constrains the order of message deliveries and possibly the set of delivered messages SUTO: if p delivers m<m, q delivers m only after m same order same prefix of the set of delivered messages after an omission, disjoint sets of delivered messages WUTO: if p,q deliver m,m, they get the same order no restrictions on the set of delivered messages p1p1 p2p2 p3p3 m2m2 m2m2 m2m2 m1m1 m1m1 m1m1 m4m4 m3m3 m3m3 m7m7 m6m6 m5m5 p1p1 p2p2 p3p3 m2m2 m2m2 m1m1 m1m1 m1m1 m4m4 m3m3 m3m3 m7m7 m6m6 m5m5 SUTO WUTO

The Order property (2) SUTO and WUTO are uniform They both have a non-uniform counterparts: SNUTO and WNUTO (Strong Non-uniform Total Order, SNUTO). If some correct process todelivers some message m before message m', then a correct process todelivers m only after it has todelivered m. (Weak Non-uniform Total Order, WNUTO) If correct processes p and q both todeliver messages m and m', then p todelivers m before m' if and only if q todelivers m before m

The Order property (2) SUTO WUTO SNUTO WNUTO p1p1 p2p2 p3p3 m1m1 m2m2 m2m2 m1m1 m1m1 m2m2 m4m4 m3m3 m3m3 m7m7 m6m6 m5m5 SNUTO p1p1 p2p2 p3p3 m1m1 m2m2 m1m1 m1m1 m2m2 m4m4 m3m3 m3m3 m7m7 m6m6 m5m5 WNUTO m2m2

TO specifications TO(UA,SUTO) The strongest TO spec. p1p1 p2p2 p3p3 m2m2 m2m2 m2m2 m1m1 m1m1 m1m1 m3m3 m3m3 m4m4 m4m4 p1p1 p2p2 p3p3 m2m2 m2m2 m2m2 m1m1 m1m1 m1m1 m4m4 m3m3 m3m3 m6m6 m6m6 m5m5 TO(NUA,SUTO) TO(UA,SUTO) (Strongest total order) TO(NUA,SUTO)

TO specifications (2) TO(UA,WUTO) m3m3 p1p1 p2p2 p3p3 m2m2 m2m2 m1m1 m1m1 m1m1 m3m3 m3m3 m4m4 m4m4 m4m4 m3m3 p1p1 p2p2 p3p3 m2m2 m1m1 m1m1 m1m1 m3m3 m4m4 m4m4 m2m2 m3m3 m4m4 m5m5 m6m6 m6m6 m6m6 m2m2 m2m2 TO(NUA,WUTO) TO(UA,WUTO) TO(UA,SUTO) (Strongest total order) TO(NUA,SUTO) TO(NUA,WUTO)

TO specifications (3) TO(UA,WNUTO) m4m4 p1p1 p2p2 p3p3 m2m2 m2m2 m1m1 m1m1 m1m1 m3m3 m3m3 m3m3 m4m4 m4m4 m2m2 TO(NUA,WNUTO) m4m4 p1p1 p2p2 p3p3 m2m2 m1m1 m1m1 m1m1 m3m3 m3m3 m4m4 m2m2 m3m3 m4m4 m5m5 m6m6 m6m6 m6m6 m2m2 TO(UA,WNUTO) TO(UA,SUTO) (Strongest total order) TO(NUA,SUTO) TO(UA,WUTO) TO(NUA,WUTO)