80 likes | 190 Views
Optimal Atomic Broadcast and Multicast Algorithms for Wide Area Networks. Nicolas Schiper Fernando Pedone University of Lugano Switzerland. m 3. m 1. m 3. ABCast m 1. m 1. AMCast m 1 to g 1 , g 2. ABCast m 2. m 3. m 1. m 2. m 2. m 3. m 1. ABCast m 3. m 3. m 2.
E N D
Optimal Atomic Broadcast and Multicast Algorithms forWide Area Networks Nicolas Schiper Fernando Pedone University of Lugano Switzerland
m3 m1 m3 ABCast m1 m1 AMCast m1 tog1, g2 ABCast m2 m3 m1 m2 m2 m3 m1 ABCast m3 m3 m2 m1 < m2 <=> ∃p : p A-Delivers m1 before m2 The relation < is acyclic m3 m2 Atomic Broadcast and Multicast • Atomic Multicast: m2 m1 • Atomic Broadcast: g1 AMCastm2tog2, g3 server 1 m2 m1 server 2 g2 m2 m1 AMCastm3toall groups server 3 m2 m1 server 4 g3 m2 m1 server 5 m2 m1 server 6
Problem (2) • Atomic multicast is reducible to atomic broadcast: • Every multicast msg. is broadcast, only addresses of the msg. deliver it • Solution of no practical interest: • Communication among processes unrelated to msg. • Genuine atomic multicast: • Only processes addressed by the message take part in the protocol
Toronto Melbourne Lugano Beijing Context • Wide Area Networks: Fast and cheap Slow and expensive
A-Del(m) A-Del(m) A-Del(m) Goal • Minimize number of inter-group msg. delays between multicast and deliver A-XCast(m) => 2 inter-group msg. delays for delivery
In The Full Paper (1) … • Genuine atomic multicast lower bound: • Minimum 2 inter-group msg. delay • We present an algorithm that achieves this lower bound • Based on Skeen’s multicast algorithm (not fault-tolerant) • Optimized version of Fritzke et al’s. (SRDS’98)
In The Full Paper (2) … • Atomic Broadcast: • We present an atomic broadcast algorithm that needs only 1 inter-group msg. delay • The algorithm is proactive, nevertheless quiescent • Msg. broadcast after algo. quiescent => 2 inter-group msg. delay for delivery • Quiescence has an inherent cost: • Our algorithm is optimal
A, B A,B A A A, B A B, C B, C D, B B, C D, B B, C D, B Final Remarks • Latency degree vs. msg. complexity tradeoff for data replication: • Update data item A • Optimize latency => atomic broadcast … but high msg. complex. • Optimize msg. complex. => atomic multicast … but at least 2 inter-group msg. delays