230 likes | 341 Views
Refined Quorum Systems. Rachid Guerraoui and Marko Vukoli ć. Ecole Polytechnique Federale de Lausanne School of Computer and Communication Sciences EPFL / IC. " Plan for the worst, hope for the best.« English proverb. Distributed algorithms. Hope for: Few (no) failures Synchrony
E N D
Refined Quorum Systems Rachid Guerraoui and Marko Vukolić Ecole Polytechnique Federale de Lausanne School of Computer and Communication Sciences EPFL / IC
" Plan for the worst, hope for the best.« English proverb PODC ’07: Refined Quorum SystemsSlide 2
Distributed algorithms Hope for: • Few (no) failures • Synchrony • No Contention Plan for: • Many failures • Asynchrony • Contention Optimistic algorithms optimize w.r.t complexity (e.g., latency) Resilient algorithms PODC ’07: Refined Quorum SystemsSlide 3
Contribution An abstraction to devise resilient & optimistic algorithms Refined Quorum Systems (RQS) PODC ’07: Refined Quorum SystemsSlide 4
The paper • RQS definition • Optimal algorithms built around RQS • Atomic storage (register abstraction) • Consensus (state machine replication) PODC ’07: Refined Quorum SystemsSlide 5
This talk • Why RQS? • What is RQS? • How to use RQS? PODC ’07: Refined Quorum SystemsSlide 6
A simple example • Single writer crash-tolerant atomic storage • Implemented over 5 servers • Any majority is a quorum (2 servers may crash) WRITE (v1) W S E R V E R S 1 2 3 4 5 R1 R2 READ -> v1 READ PODC ’07: Refined Quorum SystemsSlide 7
A simple example What if we want to expedite only best-case operations that access all (5) servers? WRITE (v1) W S E R V E R S 1 2 3 4 5 R1 R2 READ -> v1 READ PODC ’07: Refined Quorum SystemsSlide 8
A simple example Do we really need to access all servers? Is it sufficient to access only 4? WRITE (v1) W S E R V E R S 1 2 3 4 5 R1 R2 READ -> v1 READ PODC ’07: Refined Quorum SystemsSlide 9
What is really going on? • Traditional quorum intersections are too small for building optimistic, yet resilient, atomic storage W Quorum R1 Quorum 3 4 2 5 1 R2 Quorum PODC ’07: Refined Quorum SystemsSlide 10
What is really going on? • Intuitively, if all servers are accessed operations can be expedited W Quorum R1 Quorum 3 4 2 5 1 R2 Quorum PODC ’07: Refined Quorum SystemsSlide 11
What is really going on? • In a set of 5 servers, an intersection of any 2 subsets of 4 servers, intersects with a subset of 3 servers R1 Quorum W Quorum 3 4 2 5 1 R2 Quorum PODC ’07: Refined Quorum SystemsSlide 12
Question • What mathematical abstraction captures these "larger" intersections in the general context of • Byzantine failures (w/o authentication)? • Non-threshold quorums/failures? • Graceful degradation? Answer: Refined Quorum Systems PODC ’07: Refined Quorum SystemsSlide 13
Refined Quorum Systems • Consider object O implemented over a set of processes S • RQS: 3 classes of refined quorums (subsets of S) Class 3 Class 2 Class 1 • Let l1 be the best possible latency for O: no failures, synchrony and no-contention • Let l2,l3 be the next best possible latencies Class j quorum correct Synchrony no contention = + + = Latency lj is achieved! PODC ’07: Refined Quorum SystemsSlide 14
Back to the example • Any quorum that contains at least 4 servers is class 1 • Other quorums (simple majorities) are class 2 W quorum (Class 1) R1 quorum (Class 1) 3 4 2 5 • l1 – 1 round trip • l2 – 2 round trips 1 R2 quorum (Class 2) PODC ’07: Refined Quorum SystemsSlide 15
Refined Quorum Systems(definition) Consider a set S, let RQS be any set of quorums (subsets of S) Consider an adversary structure BforS: Bis a set of subsets of S such that: B’B: B’’ B’ B’’B RQS is a refined quorum system, if: QC1, QC2: QC1 QC2 QC3 = RQS, such that: (elements ofQCiare called class i quorums) P1) Q3, Q3’ QC3: Q3 Q3’ B P2) Q1, Q1’ QC1, Q3QC3 , B1, B2B: Q1 Q1’ Q3 B1 B2 P3) Q2QC2, Q3QC3 , B1, B2B: Q2 Q3 B1 B2 Q1QC1: Q1 Q2 Q3 B PODC ’07: Refined Quorum SystemsSlide 16
Application 1: Storage • Single writer atomic storage (register) • Clients • Crash faulty (non-Byzantine) • Servers • RQS formed around servers • Do not communicate among themselves • Send messages only in response to clients • Safety • Byzantine server failures: adversary B • Any number of crash failures! • Liveness • As long as there is (any) quorum of correct servers PODC ’07: Refined Quorum SystemsSlide 17
Application 1: Storage Client (reader or writer) 2nd round-trip 3rd round-trip Class 2 quorum S E R V E R S Class 3 quorum Class 1 quorum li = i round-trips (i=1..3) Synchrony + no contention PODC ’07: Refined Quorum SystemsSlide 18
Application 2: Consensus • Consensus (Lamport’s SMR framework) • Proposers, learners • Any number may be Byzantine • Acceptors • RQS formed around acceptors • may communicate among each other • Safety • Byzantine acceptor failures: adversary B • Liveness • As long as there is (any) quorum of correct acceptors • Eventual synchrony (FLP) PODC ’07: Refined Quorum SystemsSlide 19
Application 2: Consensus propose(v) proposer Class 1 quorum Class 2 quorum Class 3 quorum A C C E P T O R S learners learn v learn v learn v li = i+1 message delays (i=1..3) Synchrony + no contention PODC ’07: Refined Quorum SystemsSlide 20
(Some) Open questions • Authentication and weaker semantics • Number of RQS given a set S and adversary • Opaque RQS PODC ’07: Refined Quorum SystemsSlide 21
Summary An abstraction to devise resilient & optimistic algorithms Refined Quorum Systems (RQS) PODC ’07: Refined Quorum SystemsSlide 22
Thank you PODC ’07: Refined Quorum SystemsSlide 23