14.01.2014 Views

1 Quorum System

1 Quorum System

1 Quorum System

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

• replicated databases,<br />

• mutual exclusion,<br />

• read/write storage, and<br />

• group communication.<br />

We’ll cover classical quorum systems in the class and evaluate the quorum systems using<br />

various measures. Specifically, we’ll look into following two applications of quorum systems:<br />

1. distributed read/write storage (Lamport’s register) and<br />

2. consensus.<br />

1.2.1 Replicated Databases<br />

A major goal of the Replicated databases is to ensure consistency in the context of failures,<br />

and <strong>Quorum</strong> system was first used to implement them by [Thomas, 1979]. He proposed a<br />

majority approach to achieve the consensus in order to maintain the concurrency control<br />

over multiple copies of a replicated database. The majority approach works as follows. To<br />

write data into database, the writer would timestamp the data (Lamport timestamp) and<br />

write it to a majority of servers. Then to read data from the database, the reader would<br />

contact a majority (possibly different) and return the data with the highest timestamp.<br />

Later, arbitrary quorum sizes (not just majority) were also allowed, but all of them required<br />

the non-empty pairwise intersections between quorums (the main reason behind consistency<br />

of <strong>Quorum</strong> system). In fact, separate read and write quorums are also studied where only<br />

quorum of different classes need to intersect (for example, among read and write quorums,<br />

but not among read quorums).<br />

1.3 <strong>System</strong> Model<br />

Let S = {s 1 , s 2 , . . . , s n } be the set of n processes that constitute the distributed system.<br />

Each process is running its own protocol. For now, we assume a fixed set of processes, but<br />

this model can be extended to deal with system with dynamic process membership, where<br />

processes join or leave the system (and hence S is not fixed).<br />

Definition 2 A process is a state machine (or I/O automaton), which can be in various<br />

states following the various process actions (called transitions), as defined below. Every<br />

process has input, internal, and output actions, defined by in(s), int(s), out(s) respectively,<br />

for a given process s. External actions to a process are either the input to it (recv) or output<br />

to other process (send). More formally,<br />

2

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!