SlideShare una empresa de Scribd logo
1 de 39
1
Chapter 6 - Consistency and Replication
 why replication is useful and its relation with scalability; in
particular object-based replication
 consistency models
 Data –Centric consistency Model
 client–centric consistency models
 how consistency and replication are implemented
Objectives
3
6.1 Reasons for Replication
 two major reasons: reliability and performance
 reliability
 if a file is replicated, we can switch to other replicas if
there is a crash on our replica
 we can provide better protection against corrupted data;
similar to mirroring in non-distributed systems
 performance
 if the system has to scale in size and geographical area
 place a copy of data in the proximity of the process using
them, reducing the time of access and increasing its
performance; for example a Web server is accessed by
thousands of clients from all over the world
4
 Replication as Scaling Technique
 replication and caching are widely applied as scaling techniques
 processes can use local copies and limit access time and traffic
 however, we need to keep the copies consistent; but this may requires
more network bandwidth
 if the copies are refreshed more often than used (low access-to-
update ratio), the cost (bandwidth) is more expensive than the
benefits;
 Dilemma( tradeoff)
 scalability problems can be improved by applying replication and caching,
leading to a better performance
 but, keeping copies consistent requires global synchronization, which is
generally costly in terms of performance
 solution: loosen the consistency constraints
 updates do not need to be executed as atomic operations (no more
instantaneous global synchronization); but copies may not be always the
same everywhere
 to what extent the consistency can be loosened depends on the specific
application (the purpose of data as well as access and update patterns)
5
6.2 Data-Centric Consistency Models
 consistency has always been discussed
 in terms of read and write operations on shared data
available by means of (distributed) shared memory, a
(distributed) shared database, or a (distributed) file
system
 we use the broader term data store, which may be
physically distributed across multiple machines
 assume also that each process has a local copy of the data
store and write operations are propagated to the other
copies
the general organization of a logical data store, physically distributed and
replicated across multiple processes
6
 a consistency model is a contract between processes and the
data store
 processes agree to obey certain rules
 then the data store promises to work correctly
 ideally, a process that reads a data item expects a value that
shows the results of the last write operation on the data
 in a distributed system and in the absence of a global clock
and with several copies, it is difficult to know which is the
last write operation
 to simplify the implementation, each consistency model
restricts what read operations return
 data-centric consistency models to be discussed
1. strict consistency
2. sequential consistency
3. weak consistency
4. release consistency
7
 the following notations and assumptions will be used
 Wi(x)a means write by Pi to data item x with the value a has been done
 Ri(x)b means a read by Pi to data item x returning the value b has been
done
 Assume that initially each data item is NIL
 consider the following example; write operations are done locally and
later propagated to other replicas
behavior of two processes operating on the same data item
a) a strictly consistent data store
b) a data store that is not strictly consistent; P2’s first read may be, for example, after 1 nanosecond of
P1’s write
 the solution is to relax absolute time and consider time intervals
1. Strict Consistency
 the most stringent consistency model and is defined by the following
condition:
 Any read on a data item x returns a value corresponding to the result
of the most recent write on x.
8
2.Sequential Consistency
 strict consistency is the ideal but impossible to implement
 fortunately, most programs do not need strict consistency
 sequential consistency is a slightly weaker consistency
 a data store is said to be sequentially consistent when it
satisfies the following condition:
 The result of any execution is the same as if the (read
and write) operations by all processes on the data store
were executed in some sequential order and the
operations of each individual process appear in this
sequence in the order specified by its program
 i.e., all processes see the same interleaving of operations
 time does not play a role; no reference to the “most recent”
write operation
9
a data store that is not
sequentially consistent
a sequentially consistent data
store
 the write operation of P2 appears
to have taken place before that of
P1; but for all processes
 to P3, it appears as if the data item
has first been changed to b, and
later to a; but P4 , will conclude that
the final value is b
 not all processes see the same
interleaving of write operations
 example: four processes operating on the same data item x
10
3.Weak Consistency
 there is no need to worry about intermediate results in a
critical section since other processes will not see the data
until it leaves the critical section; only the final result need to
be seen by other processes
 this can be done by a synchronization variable, S, that has
only a single associated operation synchronize(S), which
synchronizes all local copies of the data store
 a process performs operations only on its locally available
copy of the store
 when the data store is synchronized, all local writes by
process P are propagated to the other copies and writes by
other processes are brought into P’s copy
11
 this leads to weak consistency models which have three
properties
1. Accesses to synchronization variables associated with a
data store are sequentially consistent (all processes see all
operations on synchronization variables in the same order)
2. No operation on a synchronization variable is allowed to be
performed until all previous writes have been completed
everywhere
3. No read or write operation on data items are allowed to be
performed until all previous operations to synchronization
variables have been performed.All previous
synchronization will have been completed; by doing a
synchronization a process can be sure of getting the most
recent values)
12
 weak consistency enforces consistency on a group of
operations, not on individual reads and writes
 e.g., S stands for synchronizes; it means that a local copy
of a data store is brought up to date
a) a valid sequence of events for weak consistency
b) an invalid sequence for weak consistency; P2 should get b
13
4. Release Consistency
 with weak consistency model, when a synchronization
variable is accessed, the data store does not know whether it
is done because the process has finished writing the shared
data or is about to start reading
 if we can separate the two (entering a critical section and
leaving it), a more efficient implementation might be possible
 the idea is to selectively guard shared data; the shared data
that are kept consistent are said to be protected
 release consistency provides mechanisms to separate the
two kinds of operations or synchronization variables
 an acquire operation is used to tell that a critical region is
about to be entered
 a release operation is used to tell that a critical region
has just been exited
14
 when a process does an acquire, the store will ensure that all
copies of the protected data are brought up to date to be
consistent with the remote ones; does not guarantee that
locally made changes will be sent to other local copies
immediately
 when a release is done, protected data that have been
changed are propagated out to other local copies of the store;
it does not necessarily import changes from other copies
a valid event sequence for release consistency
 a distributed data store is release consistent if it obeys the
following:
 Before a read or write operation on shared data is performed,
all previous acquires done by the process must have
completed successfully.
 Before a release is allowed to be performed, all previous reads
and writes by the process must have been completed.
15
 implementation algorithm :
i. Eager release consistency
 to do an acquire, a process sends a message to a central
synchronization manager requesting an acquire on a particular lock
 if there is no competition, the request is granted
 then, the process does reads and writes on the shared data, locally
 when the release is done, the modified data are sent to the other
copies that use them
 after each copy has acknowledged receipt of the data, the
synchronization manager is informed of the release
ii.Lazy release consistency
 at the time of release, nothing is sent anywhere
 instead, when an acquire is done, the process trying to do an
acquire has to get the most recent values of the data
 this avoids sending values to processes that don’t need them
thereby reducing wastage of bandwidth
16
6.3 Client-Centric Consistency Models
 with many applications, updates happen very rarely
 for these applications, data-centric models where high importance is
given for updates are not suitable
 Eventual Consistency
 there are many applications where few processes (or a single
process) update the data while many read it and there are no
write-write conflicts; we need to handle only read-write conflicts;
e.g., DNS server, Web site
 for such applications, it is even acceptable for readers to see old
versions of the data (e.g., cached versions of a Web page) until the
new version is propagated
 with eventual consistency, it is only required that updates are
guaranteed to gradually propagate to all replicas
 the problem with eventual consistency is when different replicas are
accessed, e.g., a mobile client accessing a distributed database may
acquire an older version of data when it uses a new replica as a
result of changing location
17
the principle of a mobile user accessing different replicas of a distributed
database
 the solution is to introduce client-centric consistency
 it provides guarantees for a single client concerning the
consistency of accesses to a data store by that client; no
guaranties are given concerning concurrent accesses by
different clients
18
1.Monotonic Reads
 a data store is said to provide monotonic-read consistency if the
following condition holds:
 If a process reads the value of a data item x, any successive
read operation on x by that process will always return that same
value or a more recent value
 i.e., a process never sees a version of data older than what it has already seen
2. Writes Follow Reads
 a data store is said to provide writes-follow-reads consistency, if:
 A write operation by a process on a data item x following a previous
read operation on x by the same process, is guaranteed to take place
on the same or a more recent value of x that was read
 i.e., any successive write operation by a process on a data item x will be
performed on a copy of x that is up to date with the value most recently
read by that process
 this guaranties, for example, that users of a newsgroup see a posting of a
reaction to an article only after they have seen the original article; if B is a
response to message A, writes-follow-reads consistency guarantees that B
will be written to any copy only after A has been written
19
6.4 Distribution Protocols
 there are different ways of propagating, i.e., distributing
updates to replicas, independent of the consistency
model
 we will discuss
1. replica placement
2. update propagation
3. epidemic protocols
1. Replica Placement
 a major design issue for distributed data stores is
deciding where, when, and by whom copies of the data
store are to be placed
 three types of copies:
i. permanent replicas
ii. server-initiated replicas
iii. client-initiated replicas
20
i. Permanent Replicas
 the initial set of replicas that constitute a distributed data store;
normally a small number of replicas
 e.g., a Web site
 the files that constitute a site are replicated across a limited number
of servers on a LAN; a request is forwarded to one of the servers
 mirroring: a Web site is copied to a limited number of servers, called
mirror sites, which are geographically spread across the Internet;
clients choose one of the mirror sites
ii. Server-Initiated Replicas (push caches)
 Web Hosting companies dynamically create replicas to improve
performance (e.g., create a replica near hosts that use the Web site very often)
iii. Client-Initiated Replicas (client caches or simply caches)
 to improve access time
 a cache is a local storage facility used by a client to temporarily store a
copy of the data it has just received
 managing the cache is left entirely to the client; the data store from
which the data have been fetched has nothing to do with keeping
cached data consistent
21
2. Update Propagation
 updates are initiated at a client, forwarded to one of the
copies, and propagated to the replicas ensuring
consistency
 some design issues in propagating updates
i. state versus operations
ii. pull versus push protocols
iii. unicasting versus multicasting
i. State versus Operations
 what is actually to be propagated? three possibilities
 send notification of update only (for invalidation
protocols - useful when read/write ratio is small); use of
little bandwidth
 transfer the modified data (useful when read/write ratio
is high)
 transfer the update operation (also called active
replication); it assumes that each machine knows how
to do the operation; use of little bandwidth, but more
processing power needed from each replica
22
ii. Pull versus Push Protocols
 push-based approach (also called server- based protocols):
propagate updates to other replicas without those replicas
even asking for the updates (used when high degree of
consistency is required and there is a high read/write ratio)
 pull-based approach (also called client-based protocols):
often used by client caches; a client or a server requests
for updates from the server whenever needed (used when
the read/write ratio is low)
23
iii. Unicasting versus Multicasting
 multicasting can be combined with push-based
approach; the underlying network takes care of sending a
message to multiple receivers
 unicasting is the only possibility for pull-based
approach; the server sends separate messages to each
receiver
3. Epidemic Protocols
 update propagation in eventual consistency is often
implemented by a class of algorithms known as epidemic
protocols
 updates are aggregated into a single message and then
exchanged between two servers
24
6.5 Consistency Protocols
 so far we have concentrated on various consistency
models and general design issues
 consistency protocols describe an implementation of a
specific consistency model
 there are three types
1. primary-based protocols
 remote-write protocols
 local-write protocols
2. replicated-write protocols
 active replication
 quorum-based protocols
3. cache-coherence protocols
25
1. Primary-Based Protocols
 each data item x in the data store has an associated
primary, which is responsible for coordinating write
operations on x
 two approaches: remote-write protocols, and local-write
protocols
a. Remote-Write Protocols
 all read and write operations are carried out at a
(remote) single server; in effect, data are not
replicated; traditionally used in client-server systems,
where the server may possibly be distributed
26
primary-based remote-write protocol with a fixed server to which all read
and write operations are forwarded
27
 another approach is primary-backup protocols where reads
can be made from local backup servers while writes should
be made directly on the primary server
 the backup servers are updated each time the primary is
updated
the principle of primary-backup protocol
28
 may lead to performance problems since it may take time
before the process that initiated the write operation is
allowed to continue - updates are blocking
 primary-backup protocols provide straightforward
implementation of sequential consistency; the primary can
order all incoming writes
b.Local-Write Protocols
 two approaches
i. there is a single copy; no replicas
 when a process wants to perform an operation on some
data item, the single copy of the data item is transferred
to the process, after which the operation is performed
29
primary-based local-write protocol in which a single copy is migrated
between processes
 consistency is straight forward
 keeping track of the current location of each data item is a
major problem
30
ii. primary-backup local-write protocol
 the primary migrates between processes that wish to
perform a write operation
 multiple, successive write operations can be carried out
locally, while (other) reading processes can still access their
local copy
 such improvement is possible only if a nonblocking protocol
is followed
31
primary-backup protocol in which the primary migrates to the process
wanting to perform an update
32
2.Replicated-Write Protocols
 unlike primary-based protocols, write operations can be
carried out at multiple replicas; two approaches: Active
Replication and Quorum-Based Protocols
a. Active Replication
 each replica has an associated process that carries out
update operations
 updates are generally propagated by means of write
operations (the operation is propagated); also possible to
send the update
 the operations need to be done in the same order
everywhere; totally-ordered multicast
 two possibilities to ensure that the order is followed
 Lamport’s timestamps, or
 use of a central sequencer that assigns a unique
sequence number for each operation; the operation is
first sent to the sequencer then the sequencer forwards
the operation to all replicas
33
the problem of replicated invocations
 a problem is replicated invocations
 suppose object A invokes B, and B invokes C; if object B is
replicated, each replica of B will invoke C independently
 this may create inconsistency and other effects; what if the
operation on C is to transfer $10
34
 one solution is to have a replication-aware communication
layer that avoids the same invocation being sent more than
once
 when a replicated object B invokes another replicated object C,
the invocation request is first assigned the same, unique
identifier by each replica of B
 a coordinator of the replicas of B forwards its request to all
replicas of object C; the other replicas of object B hold back;
hence only a single request is sent to each replica of C
 the same mechanism is used to ensure that only a single reply
message is returned to the replicas of B
35
a) forwarding an invocation request from a replicated object
b) returning a reply to a replicated object
36
b.Quorum-Based Protocols
 use of voting: clients are required to request and acquire
the permission of multiple servers before either reading or
writing a replicated data item
 e.g., assume a distributed file system where a file is
replicated on N servers
 a client must first contact at least half + 1 (majority)
servers and get them to agree to do an update
 the new update will be done and the file will be given a
new version number
 to read a file, a client must also first contact at least half
+ 1 and ask them to send version numbers; if all version
numbers agree, this must be the most recent version
 a more general approach is to arrange a read quorum (a
collection of any NR servers, or more) for reading and a
write quorum (of at least NW servers) for updating
37
three examples of the voting algorithm (N = 12)
a) a correct choice of read and write sets; any subsequent read quorum of three
servers will have to contain at least one member of the write set which has a higher
version number
b) a choice that may lead to write-write conflicts; if a client chooses {A,B,C,E,F,G} as
its write set and another client chooses {D,H,I,J,K,L) as its write set, the two updates
will both be accepted without detecting that they actually conflict
c) a correct choice, known as ROWA (read one, write all)
 the values of NR and Nw are subject to the following two
constraints
 NR + Nw > N ; to prevent read-write conflicts
 Nw > N/2 ; to prevent write-write conflicts
38
3. Cache-Coherence Protocols
 cashes form a special case of replication as they are
controlled by clients instead of servers
 cache-coherence protocols ensure that a cache is
consistent with the server-initiated replicas
 two design issues in implementing caches: coherence
detection and coherence enforcement
 coherence detection strategy: when inconsistencies are
actually detected
 static solution: prior to execution, a compiler performs
the analysis to determine which data may lead to
inconsistencies if cached and inserts instructions that
avoid inconsistencies
 dynamic solution: at runtime, a check is made with the
server to see whether a cached data have been
modified since they were cached
39
 coherence enforcement strategy: how caches are kept
consistent with the copies stored at the servers
 simplest solution: do not allow shared data to be
cached; suffers from performance improvement
 allow caching shared data and
 let a server send an invalidation to all caches
whenever a data item is modified
or
 propagate the update

Más contenido relacionado

La actualidad más candente

distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memoryAshish Kumar
 
Models of Distributed System
Models of Distributed SystemModels of Distributed System
Models of Distributed SystemAshish KC
 
Distributed file system
Distributed file systemDistributed file system
Distributed file systemAnamika Singh
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed SystemRKGhosh3
 
Processes and Processors in Distributed Systems
Processes and Processors in Distributed SystemsProcesses and Processors in Distributed Systems
Processes and Processors in Distributed SystemsDr Sandeep Kumar Poonia
 
System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed systemishapadhy
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitivesStudent
 
Remote invocation
Remote invocationRemote invocation
Remote invocationishapadhy
 
file sharing semantics by Umar Danjuma Maiwada
file sharing semantics by Umar Danjuma Maiwada file sharing semantics by Umar Danjuma Maiwada
file sharing semantics by Umar Danjuma Maiwada umardanjumamaiwada
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure callSunita Sahu
 
File models and file accessing models
File models and file accessing modelsFile models and file accessing models
File models and file accessing modelsishmecse13
 
Election algorithms
Election algorithmsElection algorithms
Election algorithmsAnkush Kumar
 
2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software conceptsPrajakta Rane
 
Distributed operating system
Distributed operating systemDistributed operating system
Distributed operating systemudaya khanal
 
4.file service architecture
4.file service architecture4.file service architecture
4.file service architectureAbDul ThaYyal
 

La actualidad más candente (20)

distributed shared memory
 distributed shared memory distributed shared memory
distributed shared memory
 
Naming in Distributed System
Naming in Distributed SystemNaming in Distributed System
Naming in Distributed System
 
Models of Distributed System
Models of Distributed SystemModels of Distributed System
Models of Distributed System
 
Process Management-Process Migration
Process Management-Process MigrationProcess Management-Process Migration
Process Management-Process Migration
 
message passing
 message passing message passing
message passing
 
Distributed file system
Distributed file systemDistributed file system
Distributed file system
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed System
 
Processes and Processors in Distributed Systems
Processes and Processors in Distributed SystemsProcesses and Processors in Distributed Systems
Processes and Processors in Distributed Systems
 
6.Distributed Operating Systems
6.Distributed Operating Systems6.Distributed Operating Systems
6.Distributed Operating Systems
 
System models in distributed system
System models in distributed systemSystem models in distributed system
System models in distributed system
 
Communication primitives
Communication primitivesCommunication primitives
Communication primitives
 
Remote invocation
Remote invocationRemote invocation
Remote invocation
 
file sharing semantics by Umar Danjuma Maiwada
file sharing semantics by Umar Danjuma Maiwada file sharing semantics by Umar Danjuma Maiwada
file sharing semantics by Umar Danjuma Maiwada
 
RPC: Remote procedure call
RPC: Remote procedure callRPC: Remote procedure call
RPC: Remote procedure call
 
File models and file accessing models
File models and file accessing modelsFile models and file accessing models
File models and file accessing models
 
Election algorithms
Election algorithmsElection algorithms
Election algorithms
 
Distributed DBMS - Unit 6 - Query Processing
Distributed DBMS - Unit 6 - Query ProcessingDistributed DBMS - Unit 6 - Query Processing
Distributed DBMS - Unit 6 - Query Processing
 
2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts2. Distributed Systems Hardware & Software concepts
2. Distributed Systems Hardware & Software concepts
 
Distributed operating system
Distributed operating systemDistributed operating system
Distributed operating system
 
4.file service architecture
4.file service architecture4.file service architecture
4.file service architecture
 

Similar a Chapter 6-Consistency and Replication.ppt

Talon systems - Distributed multi master replication strategy
Talon systems - Distributed multi master replication strategyTalon systems - Distributed multi master replication strategy
Talon systems - Distributed multi master replication strategySaptarshi Chatterjee
 
DC_M5_L2_Data Centric Consistency (1).pdf
DC_M5_L2_Data Centric Consistency (1).pdfDC_M5_L2_Data Centric Consistency (1).pdf
DC_M5_L2_Data Centric Consistency (1).pdfDhruvSingh266810
 
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DEMC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DEAravind NC
 
Distributed Shared Memory-jhgfdsserty.pdf
Distributed Shared Memory-jhgfdsserty.pdfDistributed Shared Memory-jhgfdsserty.pdf
Distributed Shared Memory-jhgfdsserty.pdfRichardMathengeSPASP
 
Distributed database
Distributed databaseDistributed database
Distributed databasesanjay joshi
 
What is active-active
What is active-activeWhat is active-active
What is active-activeSaif Ahmad
 
This is introduction to distributed systems for the revised curiculum
This is introduction to distributed systems for the revised curiculumThis is introduction to distributed systems for the revised curiculum
This is introduction to distributed systems for the revised curiculummeharikiros2
 
HIGH AVAILABILITY AND LOAD BALANCING FOR POSTGRESQL DATABASES: DESIGNING AND ...
HIGH AVAILABILITY AND LOAD BALANCING FOR POSTGRESQL DATABASES: DESIGNING AND ...HIGH AVAILABILITY AND LOAD BALANCING FOR POSTGRESQL DATABASES: DESIGNING AND ...
HIGH AVAILABILITY AND LOAD BALANCING FOR POSTGRESQL DATABASES: DESIGNING AND ...ijdms
 
PARALLEL ARCHITECTURE AND COMPUTING - SHORT NOTES
PARALLEL ARCHITECTURE AND COMPUTING - SHORT NOTESPARALLEL ARCHITECTURE AND COMPUTING - SHORT NOTES
PARALLEL ARCHITECTURE AND COMPUTING - SHORT NOTESsuthi
 
Real time eventual consistency
Real time eventual consistencyReal time eventual consistency
Real time eventual consistencyijfcstjournal
 

Similar a Chapter 6-Consistency and Replication.ppt (20)

Oracle Coherence
Oracle CoherenceOracle Coherence
Oracle Coherence
 
Talon systems - Distributed multi master replication strategy
Talon systems - Distributed multi master replication strategyTalon systems - Distributed multi master replication strategy
Talon systems - Distributed multi master replication strategy
 
DC_M5_L2_Data Centric Consistency (1).pdf
DC_M5_L2_Data Centric Consistency (1).pdfDC_M5_L2_Data Centric Consistency (1).pdf
DC_M5_L2_Data Centric Consistency (1).pdf
 
ds7_con.ppt
ds7_con.pptds7_con.ppt
ds7_con.ppt
 
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DEMC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
MC0085 – Advanced Operating Systems - Master of Computer Science - MCA - SMU DE
 
Chap 4
Chap 4Chap 4
Chap 4
 
Document 22.pdf
Document 22.pdfDocument 22.pdf
Document 22.pdf
 
Operating system
Operating systemOperating system
Operating system
 
Distributed shared memory ch 5
Distributed shared memory ch 5Distributed shared memory ch 5
Distributed shared memory ch 5
 
Advance DBMS
Advance DBMSAdvance DBMS
Advance DBMS
 
Distributed Shared Memory-jhgfdsserty.pdf
Distributed Shared Memory-jhgfdsserty.pdfDistributed Shared Memory-jhgfdsserty.pdf
Distributed Shared Memory-jhgfdsserty.pdf
 
Dos unit3
Dos unit3Dos unit3
Dos unit3
 
chen-06.ppt
chen-06.pptchen-06.ppt
chen-06.ppt
 
Distributed database
Distributed databaseDistributed database
Distributed database
 
What is active-active
What is active-activeWhat is active-active
What is active-active
 
This is introduction to distributed systems for the revised curiculum
This is introduction to distributed systems for the revised curiculumThis is introduction to distributed systems for the revised curiculum
This is introduction to distributed systems for the revised curiculum
 
Database System Architectures
Database System ArchitecturesDatabase System Architectures
Database System Architectures
 
HIGH AVAILABILITY AND LOAD BALANCING FOR POSTGRESQL DATABASES: DESIGNING AND ...
HIGH AVAILABILITY AND LOAD BALANCING FOR POSTGRESQL DATABASES: DESIGNING AND ...HIGH AVAILABILITY AND LOAD BALANCING FOR POSTGRESQL DATABASES: DESIGNING AND ...
HIGH AVAILABILITY AND LOAD BALANCING FOR POSTGRESQL DATABASES: DESIGNING AND ...
 
PARALLEL ARCHITECTURE AND COMPUTING - SHORT NOTES
PARALLEL ARCHITECTURE AND COMPUTING - SHORT NOTESPARALLEL ARCHITECTURE AND COMPUTING - SHORT NOTES
PARALLEL ARCHITECTURE AND COMPUTING - SHORT NOTES
 
Real time eventual consistency
Real time eventual consistencyReal time eventual consistency
Real time eventual consistency
 

Más de sirajmohammed35

Wireless Local area networking power point
Wireless Local area networking  power pointWireless Local area networking  power point
Wireless Local area networking power pointsirajmohammed35
 
CSCI 5235_Present WiMax_[Zhen-Yu Fang].ppt
CSCI 5235_Present WiMax_[Zhen-Yu Fang].pptCSCI 5235_Present WiMax_[Zhen-Yu Fang].ppt
CSCI 5235_Present WiMax_[Zhen-Yu Fang].pptsirajmohammed35
 
ITN_instructorPPT_Chapter1.pptx
ITN_instructorPPT_Chapter1.pptxITN_instructorPPT_Chapter1.pptx
ITN_instructorPPT_Chapter1.pptxsirajmohammed35
 
Chapter 5-Synchronozation.ppt
Chapter 5-Synchronozation.pptChapter 5-Synchronozation.ppt
Chapter 5-Synchronozation.pptsirajmohammed35
 
Chapter 2B-Communication.ppt
Chapter 2B-Communication.pptChapter 2B-Communication.ppt
Chapter 2B-Communication.pptsirajmohammed35
 
Chapter 2A-Architectures.ppt
Chapter 2A-Architectures.pptChapter 2A-Architectures.ppt
Chapter 2A-Architectures.pptsirajmohammed35
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.pptsirajmohammed35
 

Más de sirajmohammed35 (9)

Wireless Local area networking power point
Wireless Local area networking  power pointWireless Local area networking  power point
Wireless Local area networking power point
 
CSCI 5235_Present WiMax_[Zhen-Yu Fang].ppt
CSCI 5235_Present WiMax_[Zhen-Yu Fang].pptCSCI 5235_Present WiMax_[Zhen-Yu Fang].ppt
CSCI 5235_Present WiMax_[Zhen-Yu Fang].ppt
 
ITN_instructorPPT_Chapter1.pptx
ITN_instructorPPT_Chapter1.pptxITN_instructorPPT_Chapter1.pptx
ITN_instructorPPT_Chapter1.pptx
 
Chapter 5-Synchronozation.ppt
Chapter 5-Synchronozation.pptChapter 5-Synchronozation.ppt
Chapter 5-Synchronozation.ppt
 
Chapter 4-Naming.ppt
Chapter 4-Naming.pptChapter 4-Naming.ppt
Chapter 4-Naming.ppt
 
Chapter 3-Processes.ppt
Chapter 3-Processes.pptChapter 3-Processes.ppt
Chapter 3-Processes.ppt
 
Chapter 2B-Communication.ppt
Chapter 2B-Communication.pptChapter 2B-Communication.ppt
Chapter 2B-Communication.ppt
 
Chapter 2A-Architectures.ppt
Chapter 2A-Architectures.pptChapter 2A-Architectures.ppt
Chapter 2A-Architectures.ppt
 
Chapter 1-Introduction.ppt
Chapter 1-Introduction.pptChapter 1-Introduction.ppt
Chapter 1-Introduction.ppt
 

Último

Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITMgdsc13
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作ys8omjxb
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Excelmac1
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Sonam Pathan
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 
Elevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New OrleansElevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New Orleanscorenetworkseo
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一Fs
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)Christopher H Felton
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 

Último (20)

Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
Git and Github workshop GDSC MLRITM
Git and Github  workshop GDSC MLRITMGit and Github  workshop GDSC MLRITM
Git and Github workshop GDSC MLRITM
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
 
Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...Blepharitis inflammation of eyelid symptoms cause everything included along w...
Blepharitis inflammation of eyelid symptoms cause everything included along w...
 
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 
Elevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New OrleansElevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New Orleans
 
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
定制(Lincoln毕业证书)新西兰林肯大学毕业证成绩单原版一比一
 
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
A Good Girl's Guide to Murder (A Good Girl's Guide to Murder, #1)
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 

Chapter 6-Consistency and Replication.ppt

  • 1. 1 Chapter 6 - Consistency and Replication
  • 2.  why replication is useful and its relation with scalability; in particular object-based replication  consistency models  Data –Centric consistency Model  client–centric consistency models  how consistency and replication are implemented Objectives
  • 3. 3 6.1 Reasons for Replication  two major reasons: reliability and performance  reliability  if a file is replicated, we can switch to other replicas if there is a crash on our replica  we can provide better protection against corrupted data; similar to mirroring in non-distributed systems  performance  if the system has to scale in size and geographical area  place a copy of data in the proximity of the process using them, reducing the time of access and increasing its performance; for example a Web server is accessed by thousands of clients from all over the world
  • 4. 4  Replication as Scaling Technique  replication and caching are widely applied as scaling techniques  processes can use local copies and limit access time and traffic  however, we need to keep the copies consistent; but this may requires more network bandwidth  if the copies are refreshed more often than used (low access-to- update ratio), the cost (bandwidth) is more expensive than the benefits;  Dilemma( tradeoff)  scalability problems can be improved by applying replication and caching, leading to a better performance  but, keeping copies consistent requires global synchronization, which is generally costly in terms of performance  solution: loosen the consistency constraints  updates do not need to be executed as atomic operations (no more instantaneous global synchronization); but copies may not be always the same everywhere  to what extent the consistency can be loosened depends on the specific application (the purpose of data as well as access and update patterns)
  • 5. 5 6.2 Data-Centric Consistency Models  consistency has always been discussed  in terms of read and write operations on shared data available by means of (distributed) shared memory, a (distributed) shared database, or a (distributed) file system  we use the broader term data store, which may be physically distributed across multiple machines  assume also that each process has a local copy of the data store and write operations are propagated to the other copies the general organization of a logical data store, physically distributed and replicated across multiple processes
  • 6. 6  a consistency model is a contract between processes and the data store  processes agree to obey certain rules  then the data store promises to work correctly  ideally, a process that reads a data item expects a value that shows the results of the last write operation on the data  in a distributed system and in the absence of a global clock and with several copies, it is difficult to know which is the last write operation  to simplify the implementation, each consistency model restricts what read operations return  data-centric consistency models to be discussed 1. strict consistency 2. sequential consistency 3. weak consistency 4. release consistency
  • 7. 7  the following notations and assumptions will be used  Wi(x)a means write by Pi to data item x with the value a has been done  Ri(x)b means a read by Pi to data item x returning the value b has been done  Assume that initially each data item is NIL  consider the following example; write operations are done locally and later propagated to other replicas behavior of two processes operating on the same data item a) a strictly consistent data store b) a data store that is not strictly consistent; P2’s first read may be, for example, after 1 nanosecond of P1’s write  the solution is to relax absolute time and consider time intervals 1. Strict Consistency  the most stringent consistency model and is defined by the following condition:  Any read on a data item x returns a value corresponding to the result of the most recent write on x.
  • 8. 8 2.Sequential Consistency  strict consistency is the ideal but impossible to implement  fortunately, most programs do not need strict consistency  sequential consistency is a slightly weaker consistency  a data store is said to be sequentially consistent when it satisfies the following condition:  The result of any execution is the same as if the (read and write) operations by all processes on the data store were executed in some sequential order and the operations of each individual process appear in this sequence in the order specified by its program  i.e., all processes see the same interleaving of operations  time does not play a role; no reference to the “most recent” write operation
  • 9. 9 a data store that is not sequentially consistent a sequentially consistent data store  the write operation of P2 appears to have taken place before that of P1; but for all processes  to P3, it appears as if the data item has first been changed to b, and later to a; but P4 , will conclude that the final value is b  not all processes see the same interleaving of write operations  example: four processes operating on the same data item x
  • 10. 10 3.Weak Consistency  there is no need to worry about intermediate results in a critical section since other processes will not see the data until it leaves the critical section; only the final result need to be seen by other processes  this can be done by a synchronization variable, S, that has only a single associated operation synchronize(S), which synchronizes all local copies of the data store  a process performs operations only on its locally available copy of the store  when the data store is synchronized, all local writes by process P are propagated to the other copies and writes by other processes are brought into P’s copy
  • 11. 11  this leads to weak consistency models which have three properties 1. Accesses to synchronization variables associated with a data store are sequentially consistent (all processes see all operations on synchronization variables in the same order) 2. No operation on a synchronization variable is allowed to be performed until all previous writes have been completed everywhere 3. No read or write operation on data items are allowed to be performed until all previous operations to synchronization variables have been performed.All previous synchronization will have been completed; by doing a synchronization a process can be sure of getting the most recent values)
  • 12. 12  weak consistency enforces consistency on a group of operations, not on individual reads and writes  e.g., S stands for synchronizes; it means that a local copy of a data store is brought up to date a) a valid sequence of events for weak consistency b) an invalid sequence for weak consistency; P2 should get b
  • 13. 13 4. Release Consistency  with weak consistency model, when a synchronization variable is accessed, the data store does not know whether it is done because the process has finished writing the shared data or is about to start reading  if we can separate the two (entering a critical section and leaving it), a more efficient implementation might be possible  the idea is to selectively guard shared data; the shared data that are kept consistent are said to be protected  release consistency provides mechanisms to separate the two kinds of operations or synchronization variables  an acquire operation is used to tell that a critical region is about to be entered  a release operation is used to tell that a critical region has just been exited
  • 14. 14  when a process does an acquire, the store will ensure that all copies of the protected data are brought up to date to be consistent with the remote ones; does not guarantee that locally made changes will be sent to other local copies immediately  when a release is done, protected data that have been changed are propagated out to other local copies of the store; it does not necessarily import changes from other copies a valid event sequence for release consistency  a distributed data store is release consistent if it obeys the following:  Before a read or write operation on shared data is performed, all previous acquires done by the process must have completed successfully.  Before a release is allowed to be performed, all previous reads and writes by the process must have been completed.
  • 15. 15  implementation algorithm : i. Eager release consistency  to do an acquire, a process sends a message to a central synchronization manager requesting an acquire on a particular lock  if there is no competition, the request is granted  then, the process does reads and writes on the shared data, locally  when the release is done, the modified data are sent to the other copies that use them  after each copy has acknowledged receipt of the data, the synchronization manager is informed of the release ii.Lazy release consistency  at the time of release, nothing is sent anywhere  instead, when an acquire is done, the process trying to do an acquire has to get the most recent values of the data  this avoids sending values to processes that don’t need them thereby reducing wastage of bandwidth
  • 16. 16 6.3 Client-Centric Consistency Models  with many applications, updates happen very rarely  for these applications, data-centric models where high importance is given for updates are not suitable  Eventual Consistency  there are many applications where few processes (or a single process) update the data while many read it and there are no write-write conflicts; we need to handle only read-write conflicts; e.g., DNS server, Web site  for such applications, it is even acceptable for readers to see old versions of the data (e.g., cached versions of a Web page) until the new version is propagated  with eventual consistency, it is only required that updates are guaranteed to gradually propagate to all replicas  the problem with eventual consistency is when different replicas are accessed, e.g., a mobile client accessing a distributed database may acquire an older version of data when it uses a new replica as a result of changing location
  • 17. 17 the principle of a mobile user accessing different replicas of a distributed database  the solution is to introduce client-centric consistency  it provides guarantees for a single client concerning the consistency of accesses to a data store by that client; no guaranties are given concerning concurrent accesses by different clients
  • 18. 18 1.Monotonic Reads  a data store is said to provide monotonic-read consistency if the following condition holds:  If a process reads the value of a data item x, any successive read operation on x by that process will always return that same value or a more recent value  i.e., a process never sees a version of data older than what it has already seen 2. Writes Follow Reads  a data store is said to provide writes-follow-reads consistency, if:  A write operation by a process on a data item x following a previous read operation on x by the same process, is guaranteed to take place on the same or a more recent value of x that was read  i.e., any successive write operation by a process on a data item x will be performed on a copy of x that is up to date with the value most recently read by that process  this guaranties, for example, that users of a newsgroup see a posting of a reaction to an article only after they have seen the original article; if B is a response to message A, writes-follow-reads consistency guarantees that B will be written to any copy only after A has been written
  • 19. 19 6.4 Distribution Protocols  there are different ways of propagating, i.e., distributing updates to replicas, independent of the consistency model  we will discuss 1. replica placement 2. update propagation 3. epidemic protocols 1. Replica Placement  a major design issue for distributed data stores is deciding where, when, and by whom copies of the data store are to be placed  three types of copies: i. permanent replicas ii. server-initiated replicas iii. client-initiated replicas
  • 20. 20 i. Permanent Replicas  the initial set of replicas that constitute a distributed data store; normally a small number of replicas  e.g., a Web site  the files that constitute a site are replicated across a limited number of servers on a LAN; a request is forwarded to one of the servers  mirroring: a Web site is copied to a limited number of servers, called mirror sites, which are geographically spread across the Internet; clients choose one of the mirror sites ii. Server-Initiated Replicas (push caches)  Web Hosting companies dynamically create replicas to improve performance (e.g., create a replica near hosts that use the Web site very often) iii. Client-Initiated Replicas (client caches or simply caches)  to improve access time  a cache is a local storage facility used by a client to temporarily store a copy of the data it has just received  managing the cache is left entirely to the client; the data store from which the data have been fetched has nothing to do with keeping cached data consistent
  • 21. 21 2. Update Propagation  updates are initiated at a client, forwarded to one of the copies, and propagated to the replicas ensuring consistency  some design issues in propagating updates i. state versus operations ii. pull versus push protocols iii. unicasting versus multicasting i. State versus Operations  what is actually to be propagated? three possibilities  send notification of update only (for invalidation protocols - useful when read/write ratio is small); use of little bandwidth  transfer the modified data (useful when read/write ratio is high)  transfer the update operation (also called active replication); it assumes that each machine knows how to do the operation; use of little bandwidth, but more processing power needed from each replica
  • 22. 22 ii. Pull versus Push Protocols  push-based approach (also called server- based protocols): propagate updates to other replicas without those replicas even asking for the updates (used when high degree of consistency is required and there is a high read/write ratio)  pull-based approach (also called client-based protocols): often used by client caches; a client or a server requests for updates from the server whenever needed (used when the read/write ratio is low)
  • 23. 23 iii. Unicasting versus Multicasting  multicasting can be combined with push-based approach; the underlying network takes care of sending a message to multiple receivers  unicasting is the only possibility for pull-based approach; the server sends separate messages to each receiver 3. Epidemic Protocols  update propagation in eventual consistency is often implemented by a class of algorithms known as epidemic protocols  updates are aggregated into a single message and then exchanged between two servers
  • 24. 24 6.5 Consistency Protocols  so far we have concentrated on various consistency models and general design issues  consistency protocols describe an implementation of a specific consistency model  there are three types 1. primary-based protocols  remote-write protocols  local-write protocols 2. replicated-write protocols  active replication  quorum-based protocols 3. cache-coherence protocols
  • 25. 25 1. Primary-Based Protocols  each data item x in the data store has an associated primary, which is responsible for coordinating write operations on x  two approaches: remote-write protocols, and local-write protocols a. Remote-Write Protocols  all read and write operations are carried out at a (remote) single server; in effect, data are not replicated; traditionally used in client-server systems, where the server may possibly be distributed
  • 26. 26 primary-based remote-write protocol with a fixed server to which all read and write operations are forwarded
  • 27. 27  another approach is primary-backup protocols where reads can be made from local backup servers while writes should be made directly on the primary server  the backup servers are updated each time the primary is updated the principle of primary-backup protocol
  • 28. 28  may lead to performance problems since it may take time before the process that initiated the write operation is allowed to continue - updates are blocking  primary-backup protocols provide straightforward implementation of sequential consistency; the primary can order all incoming writes b.Local-Write Protocols  two approaches i. there is a single copy; no replicas  when a process wants to perform an operation on some data item, the single copy of the data item is transferred to the process, after which the operation is performed
  • 29. 29 primary-based local-write protocol in which a single copy is migrated between processes  consistency is straight forward  keeping track of the current location of each data item is a major problem
  • 30. 30 ii. primary-backup local-write protocol  the primary migrates between processes that wish to perform a write operation  multiple, successive write operations can be carried out locally, while (other) reading processes can still access their local copy  such improvement is possible only if a nonblocking protocol is followed
  • 31. 31 primary-backup protocol in which the primary migrates to the process wanting to perform an update
  • 32. 32 2.Replicated-Write Protocols  unlike primary-based protocols, write operations can be carried out at multiple replicas; two approaches: Active Replication and Quorum-Based Protocols a. Active Replication  each replica has an associated process that carries out update operations  updates are generally propagated by means of write operations (the operation is propagated); also possible to send the update  the operations need to be done in the same order everywhere; totally-ordered multicast  two possibilities to ensure that the order is followed  Lamport’s timestamps, or  use of a central sequencer that assigns a unique sequence number for each operation; the operation is first sent to the sequencer then the sequencer forwards the operation to all replicas
  • 33. 33 the problem of replicated invocations  a problem is replicated invocations  suppose object A invokes B, and B invokes C; if object B is replicated, each replica of B will invoke C independently  this may create inconsistency and other effects; what if the operation on C is to transfer $10
  • 34. 34  one solution is to have a replication-aware communication layer that avoids the same invocation being sent more than once  when a replicated object B invokes another replicated object C, the invocation request is first assigned the same, unique identifier by each replica of B  a coordinator of the replicas of B forwards its request to all replicas of object C; the other replicas of object B hold back; hence only a single request is sent to each replica of C  the same mechanism is used to ensure that only a single reply message is returned to the replicas of B
  • 35. 35 a) forwarding an invocation request from a replicated object b) returning a reply to a replicated object
  • 36. 36 b.Quorum-Based Protocols  use of voting: clients are required to request and acquire the permission of multiple servers before either reading or writing a replicated data item  e.g., assume a distributed file system where a file is replicated on N servers  a client must first contact at least half + 1 (majority) servers and get them to agree to do an update  the new update will be done and the file will be given a new version number  to read a file, a client must also first contact at least half + 1 and ask them to send version numbers; if all version numbers agree, this must be the most recent version  a more general approach is to arrange a read quorum (a collection of any NR servers, or more) for reading and a write quorum (of at least NW servers) for updating
  • 37. 37 three examples of the voting algorithm (N = 12) a) a correct choice of read and write sets; any subsequent read quorum of three servers will have to contain at least one member of the write set which has a higher version number b) a choice that may lead to write-write conflicts; if a client chooses {A,B,C,E,F,G} as its write set and another client chooses {D,H,I,J,K,L) as its write set, the two updates will both be accepted without detecting that they actually conflict c) a correct choice, known as ROWA (read one, write all)  the values of NR and Nw are subject to the following two constraints  NR + Nw > N ; to prevent read-write conflicts  Nw > N/2 ; to prevent write-write conflicts
  • 38. 38 3. Cache-Coherence Protocols  cashes form a special case of replication as they are controlled by clients instead of servers  cache-coherence protocols ensure that a cache is consistent with the server-initiated replicas  two design issues in implementing caches: coherence detection and coherence enforcement  coherence detection strategy: when inconsistencies are actually detected  static solution: prior to execution, a compiler performs the analysis to determine which data may lead to inconsistencies if cached and inserts instructions that avoid inconsistencies  dynamic solution: at runtime, a check is made with the server to see whether a cached data have been modified since they were cached
  • 39. 39  coherence enforcement strategy: how caches are kept consistent with the copies stored at the servers  simplest solution: do not allow shared data to be cached; suffers from performance improvement  allow caching shared data and  let a server send an invalidation to all caches whenever a data item is modified or  propagate the update