1 revisiting hierarchical quorum systems nuno preguiça, j. legatheaux martins henry canivel

23
1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

Upload: delilah-cobb

Post on 20-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

Page 2: 1 Revisiting Hierarchical Quorum Systems Nuno 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

Page 3: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

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)

Page 4: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

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

Page 5: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

5

Quorum System Topologies

Quorum System Topologies

TriangleDiamondGridHierarchical

TriangleDiamondGridHierarchical

Page 6: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

6

Preliminary InformationPreliminary Information

Simplistic probabilistic failure modelOnly crash failuresOnly in transient

Simplistic probabilistic failure modelOnly crash failuresOnly in transient

Page 7: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

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

Page 8: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

8

Grid QuorumsGrid Quorums

Page 9: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

9

Operational QuorumsOperational Quorums

Read WriteRead-Write

Read WriteRead-Write

Page 10: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

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

Page 11: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

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

Page 12: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

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

Page 13: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

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

Page 14: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

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

Page 15: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

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

Page 16: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

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

Page 17: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

17

Hierarchical T-gridHierarchical T-grid

Two sub-triangles and a sub-grid

Recursive

Two sub-triangles and a sub-grid

Recursive

Page 18: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

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

Page 19: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

19

Hierarchical TriangleHierarchical Triangle

Page 20: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

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

Page 21: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

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

Page 22: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

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

Page 23: 1 Revisiting Hierarchical Quorum Systems Nuno Preguiça, J. Legatheaux Martins Henry Canivel

23

Comprenez-vous?Comprenez-vous?