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

Slides:



Advertisements
Similar presentations
Numerical Linear Algebra in the Streaming Model Ken Clarkson - IBM David Woodruff - IBM.
Advertisements

Dr. Kalpakis CMSC 621, Advanced Operating Systems. Distributed Mutual Exclusion.
Computer Network Topologies
Scalable and Dynamic Quorum Systems Moni Naor & Udi Wieder The Weizmann Institute of Science.
Chapter 8 Fault Tolerance
An Array-Based Algorithm for Simultaneous Multidimensional Aggregates By Yihong Zhao, Prasad M. Desphande and Jeffrey F. Naughton Presented by Kia Hall.
Copyright 2004 Koren & Krishna ECE655/DataRepl.1 Fall 2006 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Fault Tolerant Computing.
1 Greedy Forwarding in Dynamic Scale-Free Networks Embedded in Hyperbolic Metric Spaces Dmitri Krioukov CAIDA/UCSD Joint work with F. Papadopoulos, M.
5-1 Chapter 5 Tree Searching Strategies. 5-2 Satisfiability problem Tree representation of 8 assignments. If there are n variables x 1, x 2, …,x n, then.
Branch & Bound Algorithms
Lecture 7 Data distribution Epidemic protocols. EECE 411: Design of Distributed Software Applications Epidemic algorithms: Basic Idea Idea Update operations.
1 Carnegie Mellon Robust Distributed Services in Embedded Networks Michael Reiter.
QUORUMS By gil ben-zvi. definition Assume a universe U of servers, sized n. A quorum system S is a set of subsets of U, every pair of which intersect,
1 School of Computing Science Simon Fraser University, Canada PCP: A Probabilistic Coverage Protocol for Wireless Sensor Networks Mohamed Hefeeda and Hossein.
1 Sorting Problem: Given a sequence of elements, find a permutation such that the resulting sequence is sorted in some order. We have already seen: –Insertion.
Database Replication techniques: a Three Parameter Classification Authors : Database Replication techniques: a Three Parameter Classification Authors :
Branch and Bound Searching Strategies
Quorum Systems. 2 Quorum minimum number of people who must be present at a meeting (of a committee, etc) before it can proceed and its decisions, etc.
4. Ad-hoc I: Hierarchical clustering
Oct 1999SRDS 991 On Diffusing Updates in a Byzantine Environment Dahlia Malkhi Yishay Mansour Michael K. Reiter.
Vassilios V. Dimakopoulos and Evaggelia Pitoura Distributed Data Management Lab Dept. of Computer Science, Univ. of Ioannina, Greece
Timed Quorum Systems … for large-scale and dynamic environments Vincent Gramoli, Michel Raynal.
Ordinary least squares regression (OLS)
Programming Logic and Design Fourth Edition, Comprehensive
5.6 Maximization and Minimization with Mixed Problem Constraints
P2P Course, Structured systems 1 Introduction (26/10/05)
Long Multiplication What is long multiplication?
DETERMINATION OF THE TOPOLOGY OF HIGH SURVIVAL HF RADIO COMMUNICATION NETWORK Andrea Abrardo.
Statistical Analysis. Purpose of Statistical Analysis Determines whether the results found in an experiment are meaningful. Answers the question: –Does.
Dr. Kalpakis CMSC 621, Advanced Operating Systems. Fall 2003 URL: Distributed Mutual Exclusion.
Statistical Analysis Statistical Analysis
On Probabilistic Snap-Stabilization Karine Altisen Stéphane Devismes University of Grenoble.
Introduction to variable selection I Qi Yu. 2 Problems due to poor variable selection: Input dimension is too large; the curse of dimensionality problem.
1 Time Analysis Analyzing an algorithm = estimating the resources it requires. Time How long will it take to execute? Impossible to find exact value Depends.
Topology aggregation and Multi-constraint QoS routing Presented by Almas Ansari.
CS4231 Parallel and Distributed Algorithms AY 2006/2007 Semester 2 Lecture 10 Instructor: Haifeng YU.
Lecture 10 Trees –Definiton of trees –Uses of trees –Operations on a tree.
CSCI 115 Chapter 3 Counting. CSCI 115 §3.1 Permutations.
A Graph-based Friend Recommendation System Using Genetic Algorithm
MUTUAL EXCLUSION AND QUORUMS CS Distributed Mutual Exclusion Given a set of processes and a single resource, develop a protocol to ensure exclusive.
P p Chapter 10 has several programming projects, including a project that uses heaps. p p This presentation shows you what a heap is, and demonstrates.
Sorting. Pseudocode of Insertion Sort Insertion Sort To sort array A[0..n-1], sort A[0..n-2] recursively and then insert A[n-1] in its proper place among.
Hierarchical Quorum Consensus: A New Algorithm for Managing Replicated Data Akhil Kumar IEEE TRANSACTION ON COMPUTERS, VOL.40, NO.9, SEPTEMBER 1991.
The virtue of dependent failures in multi-site systems Flavio Junqueira and Keith Marzullo University of California, San Diego Workshop on Hot Topics in.
Essential Question:  How do scientists use statistical analyses to draw meaningful conclusions from experimental results?
S-Paxos: Eliminating the Leader Bottleneck
MACHINE LEARNING 10 Decision Trees. Motivation  Parametric Estimation  Assume model for class probability or regression  Estimate parameters from all.
Duy & Piotr. How to reconstruct a high quality image with the least amount of samples per pixel the least amount of resources And preserving the image.
1 30 November 2006 An Efficient Nearest Neighbor (NN) Algorithm for Peer-to-Peer (P2P) Settings Ahmed Sabbir Arif Graduate Student, York University.
An Efficient and Fault-Tolerant Solution for Distributed Mutual Exclusion by D. Agrawal, A.E. Abbadi Presentation by Peter Tsui for COEN 317, F/03.
Distributed Storage Systems: Data Replication using Quorums.
A Torus Quorum Protocol for Distributed Mutual Exclusion A Torus Quorum Protocol for Distributed Mutual Exclusion S.D. Lang and L.J. Mao School of Computer.
CSCI 115 Chapter 3 Counting. CSCI 115 §3.1 Permutations.
Algorithms for hard problems Parameterized complexity Bounded tree width approaches Juris Viksna, 2015.
Probability. Contents 1. Introduction to probability terminology 2. Probability models to compare relative frequency of events with theoretical probability.
Compression for Fixed-Width Memories Ori Rottenstriech, Amit Berman, Yuval Cassuto and Isaac Keslassy Technion, Israel.
The geometric GMST problem with grid clustering Presented by 楊劭文, 游岳齊, 吳郁君, 林信仲, 萬高維 Department of Computer Science and Information Engineering, National.
Revisiting Logical Clocks: Mutual Exclusion Problem statement: Given a set of n processes, and a shared resource, it is required that: –Mutual exclusion.
5.5 Dual problem: minimization with problem constraints of the form Associated with each minimization problem with constraints is a maximization problem.
CSC 421: Algorithm Design & Analysis
CSC 421: Algorithm Design & Analysis
Pastry Scalable, decentralized object locations and routing for large p2p systems.
CSC 421: Algorithm Design & Analysis
Chapter 8 – Binary Search Tree
Approximation algorithms
Lectures on Graph Algorithms: searching, testing and sorting
CSC 421: Algorithm Design & Analysis
Topic 5: Heap data structure heap sort Priority queue
CSC 421: Algorithm Design & Analysis
Copyright 2004 Koren & Krishna ECE655/DataRepl.1 Fall 2006 UNIVERSITY OF MASSACHUSETTS Dept. of Electrical & Computer Engineering Fault Tolerant Computing.
Presentation transcript:

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

2 Purpose of Quorum Systems Used as coordination tool Data Replication Protocols Location Management Algorithms Masking Byzantine Failures Used as coordination tool Data Replication Protocols Location Management Algorithms Masking Byzantine Failures

3 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 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)

4 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 Triangle Diamond Grid Hierarchical Triangle Diamond Grid Hierarchical

6 Preliminary Information Simplistic probabilistic failure model Only crash failures Only in transient Simplistic probabilistic failure model Only crash failures Only in transient

7 Failure probability p <= 0.5 If p > 0.5, then impossible to improve the availability when introducing new elements into quorum system p <= 0.5 If p > 0.5, then impossible to improve the availability when introducing new elements into quorum system

8 Grid Quorums

9 Operational Quorums Read Write Read-Write Read Write Read-Write

10 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 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

11 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 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

12 Read-Write Quorum Combination of both read and write Full-line and row-cover Note: creates conflict when mutual exclusion is only operation necessary Combination of both read and write Full-line and row-cover Note: creates conflict when mutual exclusion is only operation necessary

13 Hierarchical Quorum System Quorum created recursively from root Obtain quorum in majority of subtrees Changes: 1. Quorum size smaller than average 2. Improve availability 3. Reduce load size for system Quorum created recursively from root Obtain quorum in majority of subtrees Changes: 1. Quorum size smaller than average 2. Improve availability 3. Reduce load size for system

14 Hierarchical T-grid Algorithm Obtaining Grid Quorum Obtain quorum in majority of subtrees Changes: 1. Quorum size smaller than average 2. Improve availability 3. Reduce load size for system Obtaining Grid Quorum Obtain quorum in majority of subtrees Changes: 1. Quorum size smaller than average 2. Improve availability 3. Reduce load size for system

15 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 h-T-grid algorithm still intersects with full cover Improves failure probability by approximately % 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 % 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-grid Two sub-triangles and a sub-grid Recursive Two sub-triangles and a sub-grid Recursive

18 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 Triangle

20 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 Minimizes load Easier to introduce new nodes (expand system) All quorums have the same size Minimize volume of messages passed on scaling system

21 Final Notes Larger quorums -> larger loads Majority and HQS at top h-T-grid h-triang at bottom Larger quorums -> larger loads Majority and HQS at top h-T-grid h-triang at bottom

22 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 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?