Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins 1 Purpose of Quorum Systems Used as coordination tool Data Replication Protocols Location Management Algorithms Masking Byzantine Failures 2 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) 3 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 4 Quorum System Topologies Triangle Diamond Grid Hierarchical 5 Preliminary Information Simplistic probabilistic failure model Only crash failures Only in transient 6 Failure probability p <= 0.5 If p > 0.5, then impossible to improve the availability when introducing new elements into quorum system 7 Grid Quorums 8 Operational Quorums Read Write Read-Write 9 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 10 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 11 Read-Write Quorum Combination of both read and write Full-line and row-cover Note: creates conflict when mutual exclusion is only operation necessary 12 Hierarchical Quorum System Quorum created recursively from root Obtain quorum in majority of subtrees Changes: 1. 2. 3. Quorum size smaller than average Improve availability Reduce load size for system 13 Hierarchical T-grid Algorithm Obtaining Grid Quorum Obtain quorum in majority of subtrees Changes: 1. 2. 3. Quorum size smaller than average Improve availability Reduce load size for system 14 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 15 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 16 Hierarchical T-grid Two sub-triangles and a sub-grid Recursive 17 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. 2. 3. 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 18 Hierarchical Triangle 19 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 20 Final Notes Larger quorums -> larger loads Majority and HQS at top h-T-grid h-triang at bottom 21 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 22 Comprenez-vous? 23
© Copyright 2024 Paperzz