1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel.
-
Upload
delilah-cobb -
Category
Documents
-
view
215 -
download
0
Transcript of 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel.
1
Revisiting Hierarchical Quorum SystemsRevisiting Hierarchical Quorum SystemsNuno Preguiça, J. Legatheaux MartinsNuno Preguiça, J. Legatheaux Martins
Henry Canivel
2
Purpose of Quorum Systems
Purpose of Quorum Systems
Used as coordination toolData Replication ProtocolsLocation Management AlgorithmsMasking Byzantine Failures
Used as coordination toolData Replication ProtocolsLocation Management AlgorithmsMasking Byzantine Failures
3
Quorum System Characteristics
Quorum System Characteristics
Quorum size: number of nodes that need to be contacted to form a quorumBasic: smallest majority voteAdvanced: majority vote dependent
on structureGrid: 2 n - 1 (size = n nodes or
processes)Unstructured: n/2 + 1 (size = n)
Quorum size: number of nodes that need to be contacted to form a quorumBasic: smallest majority voteAdvanced: majority vote dependent
on structureGrid: 2 n - 1 (size = n nodes or
processes)Unstructured: n/2 + 1 (size = n)
4
Quorum System Characteristics
Quorum System Characteristics
Failure probability: chance that all quorums are unavailable (I.e. the system is unusable)
General: p < 0.5
Load of a system: frequency of access of each element in the system
Failure probability: chance that all quorums are unavailable (I.e. the system is unusable)
General: p < 0.5
Load of a system: frequency of access of each element in the system
5
Quorum System Topologies
Quorum System Topologies
TriangleDiamondGridHierarchical
TriangleDiamondGridHierarchical
6
Preliminary InformationPreliminary Information
Simplistic probabilistic failure modelOnly crash failuresOnly in transient
Simplistic probabilistic failure modelOnly crash failuresOnly in transient
7
Failure probabilityFailure probability
p <= 0.5If p > 0.5, then impossible to improve
the availability when introducing new elements into quorum system
p <= 0.5If p > 0.5, then impossible to improve
the availability when introducing new elements into quorum system
8
Grid QuorumsGrid Quorums
9
Operational QuorumsOperational Quorums
Read WriteRead-Write
Read WriteRead-Write
10
Read QuorumRead Quorum
Formed by obtaining a row-cover in the logical object on top of hierarchyan object in level i is formed by
obtaining a row-cover in at least 1 object of every row of the level i-1 grid
Formed by obtaining a row-cover in the logical object on top of hierarchyan object in level i is formed by
obtaining a row-cover in at least 1 object of every row of the level i-1 grid
11
Write QuorumWrite Quorum
Formed by obtaining a full-line in the logical object on top of hierarchyFull-line in an object in level i is
formed by obtaining a full-line in at least 1 object of every row of the level i-1 grid
Formed by obtaining a full-line in the logical object on top of hierarchyFull-line in an object in level i is
formed by obtaining a full-line in at least 1 object of every row of the level i-1 grid
12
Read-Write QuorumRead-Write Quorum
Combination of both read and writeFull-line and row-cover
Note: creates conflict when mutual exclusion is only operation necessary
Combination of both read and writeFull-line and row-cover
Note: creates conflict when mutual exclusion is only operation necessary
13
Hierarchical Quorum System
Hierarchical Quorum System
Quorum created recursively from root
Obtain quorum in majority of subtrees
Changes:1. Quorum size smaller than average2. Improve availability3. Reduce load size for system
Quorum created recursively from root
Obtain quorum in majority of subtrees
Changes:1. Quorum size smaller than average2. Improve availability3. Reduce load size for system
14
Hierarchical T-grid Algorithm
Hierarchical T-grid Algorithm
Obtaining Grid Quorum Obtain quorum in majority of subtrees
Changes:1. Quorum size smaller than average2. Improve availability3. Reduce load size for system
Obtaining Grid Quorum Obtain quorum in majority of subtrees
Changes:1. Quorum size smaller than average2. Improve availability3. Reduce load size for system
15
Hierarchical T-grid Algorithm
Hierarchical T-grid Algorithm
Obtaining Grid Quorum Intersection of full-line and partial
row cover
Partial row-cover vs. Full row cover
Full: level i object and at least 1 of every row in level i-1
Partial: sans level i
Obtaining Grid Quorum Intersection of full-line and partial
row cover
Partial row-cover vs. Full row cover
Full: level i object and at least 1 of every row in level i-1
Partial: sans level i
16
Hierarchical T-grid Algorithm
Hierarchical T-grid Algorithm
h-T-grid algorithm still intersects with full cover
Improves failure probability by approximately 7.5-10%
h-T-grid algorithm holds greater improvements for rectangular grids
Failure probability = 1/3 of h-grid # lines > # columns
Variable load and quorum size
h-T-grid algorithm still intersects with full cover
Improves failure probability by approximately 7.5-10%
h-T-grid algorithm holds greater improvements for rectangular grids
Failure probability = 1/3 of h-grid # lines > # columns
Variable load and quorum size
17
Hierarchical T-gridHierarchical T-grid
Two sub-triangles and a sub-grid
Recursive
Two sub-triangles and a sub-grid
Recursive
18
Hierarchical T-grid Quorum
Hierarchical T-grid Quorum
If triangle has a single line, quorum composed by element in the line
If more than one line, quorum can be obtained one of three methods:
1. If A is a quorum in T1 and B is quorum in T2, A U B in triangle of level m
2. If A is a quorum in T1 and B is a row cover in G, A U B is a quorum in triangle of level m
3. If A is a quorum in T2, B is a full-line in G, A U B is a quorum in triangle in level m
If triangle has a single line, quorum composed by element in the line
If more than one line, quorum can be obtained one of three methods:
1. If A is a quorum in T1 and B is quorum in T2, A U B in triangle of level m
2. If A is a quorum in T1 and B is a row cover in G, A U B is a quorum in triangle of level m
3. If A is a quorum in T2, B is a full-line in G, A U B is a quorum in triangle in level m
19
Hierarchical TriangleHierarchical Triangle
20
Hierarchical TriangleHierarchical Triangle
Minimizes loadEasier to introduce new nodes
(expand system)All quorums have the same size
Minimize volume of messages passed on scaling system
Minimizes loadEasier to introduce new nodes
(expand system)All quorums have the same size
Minimize volume of messages passed on scaling system
21
Final NotesFinal Notes
Larger quorums -> larger loadsMajority and HQS at toph-T-gridh-triang at bottom
Larger quorums -> larger loadsMajority and HQS at toph-T-gridh-triang at bottom
22
Final NotesFinal Notes
Modifications to HQS Reduce quorum size Improve availability and load Maintains stability at the least for slightly
rectangular grids Introduction to triangular QS
Better availability and load than grid-based Quorum size always constant and smaller
than avg quorum size in grid Load almost optimal when analyzed from
high availability
Modifications to HQS Reduce quorum size Improve availability and load Maintains stability at the least for slightly
rectangular grids Introduction to triangular QS
Better availability and load than grid-based Quorum size always constant and smaller
than avg quorum size in grid Load almost optimal when analyzed from
high availability
23
Comprenez-vous?Comprenez-vous?