240 likes | 252 Views
Providing Fault-Tolerant Group Membership into JuxMem. Sébastien Monnet GDS Meeting May 4th, Rennes. Motivations. Fault tolerance. Data replication Active Passive Quorum More than one copy up-to-date Guaranties are needed Multiple updates Consistency. Active data replication.
E N D
Providing Fault-Tolerant Group Membership into JuxMem Sébastien Monnet GDS Meeting May 4th, Rennes
Fault tolerance • Data replication • Active • Passive • Quorum • More than one copy up-to-date • Guaranties are needed • Multiple updates • Consistency GDS meeting, Rennes
Active data replication GDS meeting, Rennes
Active data replication GDS meeting, Rennes
Goals • Mechanism that ensures messages are delivered • By every peers in a group • In the same order • Atomic multicast • Keep the replication degree even in case of failure • Fault-tolerant group membership GDS meeting, Rennes
Goals: atomic multicast Group GDS meeting, Rennes
Goals: conserve replication degree Group • Failure detection • Support for join& leave GDS meeting, Rennes
What’s new ? • Relies on the existing architecture • New design (more modular) • Plug different • Failure detectors • Replication strategies • Mainly: Reliable atomic multicast • All members deliver the same set of messages • Messages are delivered in the same order GDS meeting, Rennes
Fault-tolerant group membership (FTGM) • Associated with an ID • Messages delivered in the same order to all members • Peers can join or leave the FTGM • Faulty peers detection and replacement Fault-tolerant group membership GDS meeting, Rennes
Adapter Failure detector FTGM needs Fault-tolerant group membership Group membership GDS meeting, Rennes
Adapter Failure detector Failure detector (FD) • Configurable QoS • Suspected peers list GDS meeting, Rennes
Adapter Failure detector FTGM needs Fault-tolerant group membership Group membership GDS meeting, Rennes
Group membership (GM) Group membership • Associated with an ID • Messages delivered in the same order to all members • Peers can join or leave the GM • Implementation • Stores a member list • Ordered message queue GDS meeting, Rennes
Group membership needs Group membership Atomic multicast Communications GDS meeting, Rennes
Atomic multicast (AMCAST) • API: send(Message m) • Number message • Multicast it • May be partitioned in • Atomic multicast • Multicast Atomic multicast GDS meeting, Rennes
Atomic multicast needs Atomic multicast Consensus Communications GDS meeting, Rennes
Consensus Consensus • API: Object decide(Object proposition) • Real consensus • Efficiency • 3 peers needed at least • Replicated serialization peer • Less powerful • Enough GDS meeting, Rennes
Adapter Failure detector Consensus needs Consensus Communications GDS meeting, Rennes
Send(ID, message) Recv(ID, message) Communications • Unreliable • Reliable Communications GDS meeting, Rennes
The big picture Communications Fault-tolerant group membership Adapter Group membership Atomic multicast Consensus Adapter Failure detector GDS meeting, Rennes
members num Sample : atomic multicast FTGM Adap GM AMCAST Consensus Adap FD GDS meeting, Rennes
Sample: atomic multicast (continued) Group GDS meeting, Rennes
Current state: Non fault-tolerant • Network • JXTA Pipes considered as reliable • Peers • No failure detection • 1 peer numbers all group messages • 1 peer receives and atomic multicast in the group all external messages GDS meeting, Rennes