Upload
alexis-chen
View
33
Download
0
Embed Size (px)
DESCRIPTION
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 - PowerPoint PPT Presentation
Citation preview
Refined Quorum Refined Quorum SystemsSystems
Rachid Guerraoui and Marko VukoliRachid Guerraoui and Marko Vukolićć
Ecole Polytechnique Federale de LausanneEcole Polytechnique Federale de Lausanne
School of Computer and Communication SciencesSchool of Computer and Communication Sciences
EPFL / ICEPFL / IC
PODC ’07: Refined Quorum Systems
Slide 2
" Plan for the worst, hope for " Plan for the worst, hope for the best.« the best.«
English proverbEnglish proverb
PODC ’07: Refined Quorum Systems
Slide 3
Distributed algorithmsDistributed algorithms
Plan for:Plan for:• Many failures• Asynchrony• Contention
Hope for:Hope for:• Few (no) failures• Synchrony• No Contention
Resilient algorithmsResilient algorithms Optimistic algorithmsOptimistic algorithmsoptimize w.r.t complexity optimize w.r.t complexity
(e.g., latency)(e.g., latency)
PODC ’07: Refined Quorum Systems
Slide 4
ContributionContribution
An abstraction to deviseAn abstraction to devise
resilient & optimistic algorithmsresilient & optimistic algorithms
Refined Quorum Systems Refined Quorum Systems
(RQS)(RQS)
PODC ’07: Refined Quorum Systems
Slide 5
The paperThe paper
• RQS definitionRQS definition
• Optimal algorithms built around Optimal algorithms built around RQSRQS• Atomic storage (register abstraction)• Consensus (state machine replication)
PODC ’07: Refined Quorum Systems
Slide 6
This talkThis talk
• Why RQS? Why RQS?
• What is RQS?What is RQS?
• How to use RQS?How to use RQS?
PODC ’07: Refined Quorum Systems
Slide 7
A simple exampleA simple example• Single writer crash-tolerant atomic storageSingle writer crash-tolerant atomic storage• Implemented over 5 serversImplemented over 5 servers• Any majority is a quorum (2 servers may Any majority is a quorum (2 servers may crash)crash)
R1R1
R2R2
WWWRITE (v1)WRITE (v1)
SS
EE
RR
VV
EE
RR
SS
11
22
33
44
55
READ -> v1READ -> v1
READREAD
PODC ’07: Refined Quorum Systems
Slide 8
A simple exampleA simple exampleWhat if we want to expedite only best-case What if we want to expedite only best-case
operations operations
that access that access allall (5) servers? (5) servers?
R1R1
R2R2
WWWRITE (v1)WRITE (v1)
SS
EE
RR
VV
EE
RR
SS
11
22
33
44
55
READ -> v1READ -> v1
READREAD
PODC ’07: Refined Quorum Systems
Slide 9
A simple exampleA simple exampleDo we really need to access all servers?Do we really need to access all servers?
Is it sufficient to access only 4?Is it sufficient to access only 4?
R1R1
R2R2
WWWRITE (v1)WRITE (v1)
SS
EE
RR
VV
EE
RR
SS
11
22
33
44
55
READ -> v1READ -> v1
READREAD
PODC ’07: Refined Quorum Systems
Slide 10
What is really going on?What is really going on?• Traditional quorum intersections are too Traditional quorum intersections are too small for building optimistic, yet small for building optimistic, yet resilient, atomic storageresilient, atomic storage
11
22
3344
55
W QuorumW Quorum R1 QuorumR1 Quorum
R2 QuorumR2 Quorum
PODC ’07: Refined Quorum Systems
Slide 11
What is really going on?What is really going on?• Intuitively, if all servers are accessed Intuitively, if all servers are accessed operations can be expeditedoperations can be expedited
11
22
3344
55
W QuorumW QuorumR1 QuorumR1 Quorum
R2 QuorumR2 Quorum
PODC ’07: Refined Quorum Systems
Slide 12
What is really going on?What is really going on?• In a set of 5 servers, an intersection of In a set of 5 servers, an intersection of any 2 subsets of 4 servers, intersects any 2 subsets of 4 servers, intersects with a subset of 3 serverswith a subset of 3 servers
11
22
3344
55
W QuorumW Quorum R1 QuorumR1 Quorum
R2 QuorumR2 Quorum
PODC ’07: Refined Quorum Systems
Slide 13
QuestionQuestion
• What mathematical abstraction What mathematical abstraction captures these "larger" captures these "larger" intersections in the general intersections in the general context of context of • Byzantine failures (w/o authentication)?
• Non-threshold quorums/failures?• Graceful degradation?Answer:Answer:
Refined Quorum SystemsRefined Quorum Systems
PODC ’07: Refined Quorum Systems
Slide 14
Refined Quorum SystemsRefined Quorum Systems• Consider object O implemented over a set of Consider object O implemented over a set of processes S processes S
• RQS: 3 classes of refined quorums (subsets of S) RQS: 3 classes of refined quorums (subsets of S) Class 3 Class 2 Class 1
• Let lLet l1 1 be the best possible latency for O: be the best possible latency for O: no no failures, synchrony and no-contentionfailures, synchrony and no-contention• Let l2, l3 be the next best possible latencies
SynchronSynchronyy
++++ no no contenticontenti
onon
Class j quorum Class j quorum
correctcorrect==
== Latency lLatency ljj is is achieved!achieved!
PODC ’07: Refined Quorum Systems
Slide 15
Back to the exampleBack to the example• Any quorum that contains at least 4 Any quorum that contains at least 4 servers is servers is class 1class 1
• Other quorums (simple majorities) are Other quorums (simple majorities) are class 2class 2
11
22
3344
55
W quorumW quorum
(Class 1)(Class 1)R1 quorumR1 quorum
(Class 1)(Class 1)
R2 quorumR2 quorum
(Class 2)(Class 2)
• ll1 1 – 1 round trip– 1 round trip
• ll2 2 – 2 round trips– 2 round trips
PODC ’07: Refined Quorum Systems
Slide 16
Refined Quorum SystemsRefined Quorum Systems(definition)(definition)
Consider a set Consider a set SS, let RQS be any set of quorums , let RQS be any set of quorums (subsets of S)(subsets of S)
Consider Consider an adversary structure an adversary structure BB forfor SS:: BB is a set of subsets of is a set of subsets of SS such that: such that: BB’’B: B: B’’B’’ B’ B’ B’’ B’’BB
RQS is a refined quorum system, if:RQS is a refined quorum system, if: QC1, QC2: QC1 QC1, QC2: QC1 QC2 QC2 QC3 QC3 == RQS, such that: RQS, such that:
((elements ofelements of QCiQCi are called class i quorumsare called class i quorums))
P1) P1) QQ33, Q, Q33’ ’ QC3: QC3: QQ33 Q Q33’ ’ BBP2) P2) QQ11, Q, Q11’ ’ QC1, QC1, QQ33 QC3 , QC3 , BB11, B, B22 B: B:
QQ11 Q Q11’ ’ Q Q33 B B1 1 B B22
P3) P3) QQ22 QC2, QC2, QQ33 QC3 , QC3 , BB11, B, B22 B: B: QQ22 Q Q33 B B1 1 B B22
QQ11 QC1: QC1: QQ11 Q Q22 Q Q33 BB
PODC ’07: Refined Quorum Systems
Slide 17
Application 1: StorageApplication 1: Storage• Single writer atomic storage (register)Single writer atomic storage (register)• ClientsClients
• Crash faulty (non-Byzantine)• ServersServers
• RQS formed around servers • Do not communicate among themselves• Send messages only in response to clients
• SafetySafety• Byzantine server failures: adversary B• Any number of crash failures!
• LivenessLiveness• As long as there is (any) quorum of correct servers
PODC ’07: Refined Quorum Systems
Slide 18
Application 1: StorageApplication 1: StorageClientClient
(reader or writer)(reader or writer)
SS
EE
RR
VV
EE
RR
SS
llii = i round-trips (i=1..3) = i round-trips (i=1..3)
Class 1 quorumClass 1 quorum
Class 2 Class 2
quorumquorum
2nd round-trip2nd round-trip
Class 3 quorumClass 3 quorum
3rd round-trip3rd round-trip
Synchrony + no contentionSynchrony + no contention
PODC ’07: Refined Quorum Systems
Slide 19
Application 2: ConsensusApplication 2: Consensus• Consensus (Lamport’s SMR framework)Consensus (Lamport’s SMR framework)• Proposers, learnersProposers, learners
• Any number may be Byzantine
• AcceptorsAcceptors• RQS formed around acceptors• may communicate among each other
• SafetySafety• Byzantine acceptor failures: adversary B
• LivenessLiveness• As long as there is (any) quorum of correct acceptors
• Eventual synchrony (FLP)
PODC ’07: Refined Quorum Systems
Slide 20
Application 2: ConsensusApplication 2: Consensus
AA
CC
CC
EE
PP
TT
OO
RR
SS
Synchrony + no contentionSynchrony + no contention
proposerproposer
learnerslearners
propose(v)propose(v)
Class 1 quorumClass 1 quorum
learn vlearn v
Class 2 quorumClass 2 quorum
learn vlearn v
Class 3 quorumClass 3 quorum
learn vlearn v
llii = i+1 message delays (i=1..3) = i+1 message delays (i=1..3)
PODC ’07: Refined Quorum Systems
Slide 21
(Some) Open questions(Some) Open questions
• Authentication and weaker Authentication and weaker semanticssemantics
• Number of RQS given a set S and Number of RQS given a set S and adversaryadversary
• Opaque RQSOpaque RQS
PODC ’07: Refined Quorum Systems
Slide 22
SummarySummary
An abstraction to deviseAn abstraction to devise
resilient & optimistic algorithmsresilient & optimistic algorithms
Refined Quorum Systems Refined Quorum Systems
(RQS)(RQS)