Chapter6 - Chapter 6: Message Ordering and Group...

Info iconThis preview shows pages 1–6. Sign up to view the full content.

View Full Document Right Arrow Icon
Chapter 6: Message Ordering and Group Communication Ajay Kshemkalyani and Mukesh Singhal Distributed Computing: Principles, Algorithms, and Systems Cambridge University Press Message Ordering and Group Commnication CUP 2008 1 / 52
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Distributed Computing: Principles, Algorithms, and Systems Outline and Notations Outline I Message orders: non-FIFO, FIFO, causal order, synchronous order I Group communication with multicast: causal order, total order I Expected behaviour semantics when failures occur I Multicasts: application layer on overlays; also at network layer Notations I Network ( N , L ); event set ( E , ) I message m i : send and receive events s i and r i I send and receive events: s and r . I M , send ( M ), and receive ( M ) I Corresponding events : a b denotes a and b occur at the same process I send-receive pairs T = { ( s , r ) E i × E j | s corresponds to r } Message Ordering and Group Commnication CUP 2008 2 / 52
Background image of page 2
Distributed Computing: Principles, Algorithms, and Systems Asynchronous and FIFO Executions (b) s r s P P r r r r s s s m m m m m 1 2 1 2 1 2 1 2 3 2 1 3 3 1 2 1 2 (a) Figure 6.1: (a) A -execution that is FIFO (b) A -execution that is not FIFO Asynchronous executions A -execution: ( E , ) for which the causality relation is a partial order. no causality cycles on any logical link, not necessarily FIFO delivery, e.g., network layer IPv4 connectionless service All physical links obey FIFO FIFO executions an A -execution in which: for all ( s , r ) and ( s 0 , r 0 ) ∈ T , ( s s 0 and r r 0 and s s 0 ) = r r 0 Logical link inherently non-FIFO Can assume connection-oriented service at transport layer, e.g., TCP To implement FIFO over non-FIFO link: use h seq num, conn id i per message. Receiver uses buffer to order messages. Message Ordering and Group Commnication CUP 2008 3 / 52
Background image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Distributed Computing: Principles, Algorithms, and Systems Causal Order: Definition Causal order (CO) A CO execution is an A -execution in which, for all ( s , r ) and ( s 0 , r 0 ) ∈ T , ( r r 0 and s s 0 ) = r r 0 If send events s and s 0 are related by causality ordering (not physical time ordering) , their corresponding receive events r and r 0 occur in the same order at all common dests. If s and s 0 are not related by causality, then CO is vacuously satisfied. 1 s s r r r (a) (b) (c) (d) s r r r s s s s s s s s s r r r r r m m m m m m m m m m m P 1 P 2 P 3 1 2 3 1 3 3 2 2 1 3 1 3 1 1 3 r 3 3 3 1 1 1 3 3 3 2 2 2 2 2 2 2 2 m 2 1 1 Figure 6.2: (a) Violates CO as s 1 s 3 ; r 3 r 1 (b) Satisfies CO. (c) Satisfies CO. No send events related by causality. (d) Satisfies CO. Message Ordering and Group Commnication CUP 2008 4 / 52
Background image of page 4
Distributed Computing: Principles, Algorithms, and Systems Causal Order: Definition from Implementation Perspective CO alternate definition If send ( m 1 ) send ( m 2 ) then for each common destination d of messages m 1 and m 2 , deliver d ( m 1 ) deliver d ( m 2 ) must be satisfied.
Background image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
Image of page 6
This is the end of the preview. Sign up to access the rest of the document.

Page1 / 52

Chapter6 - Chapter 6: Message Ordering and Group...

This preview shows document pages 1 - 6. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online