230 likes | 363 Views
Henry Canivel. Revisiting Hierarchical Quorum Systems. Nuno Pregui ç a, J. Legatheaux Martins. Purpose of Quorum Systems. Used as coordination tool Data Replication Protocols Location Management Algorithms Masking Byzantine Failures. Quorum System Characteristics.
E N D
Henry Canivel Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins
Purpose of Quorum Systems • Used as coordination tool • Data Replication Protocols • Location Management Algorithms • Masking Byzantine Failures
Quorum System Characteristics • Quorum size: number of nodes that need to be contacted to form a quorum • Basic: smallest majority vote • Advanced: majority vote dependent on structure • Grid: 2 n - 1 (size = n nodes or processes) • Unstructured: n/2 + 1 (size = n)
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
Quorum System Topologies • Triangle • Diamond • Grid • Hierarchical
Preliminary Information • Simplistic probabilistic failure model • Only crash failures • Only in transient
Failure probability • p <= 0.5 • If p > 0.5, then impossible to improve the availability when introducing new elements into quorum system
Operational Quorums • Read • Write • Read-Write
Read Quorum • Formed by obtaining a row-cover in the logical object on top of hierarchy • an 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
Write Quorum • Formed by obtaining a full-line in the logical object on top of hierarchy • Full-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
Read-Write Quorum • Combination of both read and write • Full-line and row-cover • Note: creates conflict when mutual exclusion is only operation necessary
Hierarchical Quorum System • Quorum created recursively from root • Obtain quorum in majority of subtrees • Changes: • Quorum size smaller than average • Improve availability • Reduce load size for system
Hierarchical T-grid Algorithm • Obtaining Grid Quorum • Obtain quorum in majority of subtrees • Changes: • Quorum size smaller than average • Improve availability • Reduce load size for system
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
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
Hierarchical T-grid • Two sub-triangles and a sub-grid • Recursive
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: • If A is a quorum in T1 and B is quorum in T2, A U B in triangle of level m • 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 • 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
Hierarchical Triangle • Minimizes load • Easier to introduce new nodes (expand system) • All quorums have the same size • Minimize volume of messages passed on scaling system
Final Notes • Larger quorums -> larger loads • Majority and HQS at top • h-T-grid • h-triang at bottom
Final 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