View
96
Download
6
Category
Tags:
Preview:
Citation preview
Topics Covered:
O What is replication?
O Concept of system model in replication
O Concept of group communication
O Fault-tolerant services
O Highly available services
O Transactions with replicated data.
O Maintenance of copies of data at multiple
computers.
O Provides-
O Enhanced performance
O High availability
O High fault tolerance.
O Issues in replication-
O Transparency
O Consistency of data
O RM provides service to client. O Clients see service to access logical objects.(Replicated to
manager) O Clients request are handled by front ends. A front end makes
replication transparent.
FE
Requests and replies
C
Replica C
Service Clients
Front ends
managers
RM
RM FE
RM
O process groups are useful for managing replicated data
O group membership service provides:
O interface for adding/removing members
O implements a failure detector
O notifies members of changes in membership
O expands group addresses
Join
Group
address
expansion
Multicast
communication
Group
send
Fail Group membership
management
Leave
Process group
Membership service
provides leave and
join operations
Members are
informed when
processes join/leave Failure detector notes
failures and evicts failed
processes from the group
The group
address is
expanded
O provision of a service that is correct even if f
processes fail
O by replicating data and functionality at
RMs
O assume communication reliable and no
partitions
O For example; Bank accounts transactions
Fault tolerance service
Passive backup
Active backup
O a single primary RM and one or more secondary (backup, slave) RMs
O FEs communicate with the primary O if the primary fails, one of the backups is promoted to
act as the primary
FE C
FE C
RM
Primary
Backup
Backup
RM
RM
Request •FE issues a request
with unique ID to primary RM
Coordination •If identifier is old>>
resend response
Execution
•Primary exe request and store the response
Agreement •For new update
backups are updated & backup send ack.
Response
•Primary response to FE,FE to Client
11
F
E C
F
E C
R
M
R
M
R
M
•
a FE multicasts each
request to the group of
RMs
the RMs process each request identically and reply
byzantine failures because
the FE can collect and
compare the replies
If( RM fails)
{
no impact on
performance; RM
responds in same way;
}
Request •FE multicasts
request with unique ID to RM’s
Coordination
•Group comm. Sys sends req to correct RM in same order of request
Execution
•Every replica exe request and store the response
Agreement •NO AGREEMENT IS NEEDED
Response
•Each RM send its response to the front end.
O replication techniques to make services
highly available~
O RESPONSE TIME: AS less as much
poosible
O Even on the cost of consistency
O Consistency can be maintain later.
O Terms introduced -> EAGER V/S LAZY
UPDATES
O The service consists of a collection of RMs that exchange gossip
messages
O Queries and updates are sent by a client via an FE to an RM
14
•
Query Val
FE
RM RM
RM
Query, prev Val, new
Update
FE
Update, prev Update id
Service
Clients
prev is a vector timestamp for the latest version seen by the FE (and client)
new is the vector
timestamp of the
resulting value, val
update id is the vector
timestamp of the
update
Gossip
O High availability with weaker guarantees of
consistency
O RM cope with varible connectivity
O Apply “domain-specific detection ” &
“Conflict resolution”
O AFS: andrew file system
O Don’t deal with disconnected operation
O CODA: CONSISTENT DATA AVAILABILITY
O deal with disconnected operation
O Save all updates in local cache of client
O After re-connection , changes are
replicated
O Basic diff. is lies in “REPLICATION METHOD”
O objects in transactional systems are replicated to enhance availability and performance
O one-copy serializability.
O each RM provides concurrency control and recovery of its own objects
O replication makes recovery more complicated
O when an RM recovers, it restores its objects with information from other RMs
O the primary copy approach, all FEs communicate with a single RM which propagates updates to back-ups.
O In other schemes, FEs may communicate with any RM O an RM that receives a request is responsible for getting
cooperation from the other RMs ?? O propagate requests immediately or at the end of a
transaction? O In primary scheme??? O In other scheme???
O USE 2PC protocol for proper communication b/w RMs
Recommended