Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT -Sumanth Kandagatla Instructor: Prof. Yanqing Zhang Advanced Operating Systems (CSC 8320)

Similar presentations


Presentation on theme: "Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT -Sumanth Kandagatla Instructor: Prof. Yanqing Zhang Advanced Operating Systems (CSC 8320)"— Presentation transcript:

1 Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT -Sumanth Kandagatla Instructor: Prof. Yanqing Zhang Advanced Operating Systems (CSC 8320)

2 What is Replication? Replication is the process of having multiple copies of identical data and computations in distributed systems. Data Replication Computation/Service Replication Space : executed on separate devices Time: executed repeatedly on single device Reliability and Performance

3 Why do we need replication?
Improves reliability of system Facilitates scaling over time and space Better accessibility with faster response time Better Fault tolerance

4 Distributed Services & Replication
Distributed systems structured as clients and services. Clients invoke server operations by making requests. Using single server will be simple but only as fault tolerant as the processor. Alternatives

5 Consistency Models

6 Consistency Models DATA-CENTRIC CONSISTENCY MODELS
Continuous Consistency Consistent Ordering of Operations CLIENT-CENTRIC CONSISTENCY MODELS Eventual Consistency Monotonic Reads Monotonic Writes Read Your Writes Writes Follow Reads

7 Replication Models State machine: model assumes that replicated process is a deterministic finite automata. one machine is the master and the others are slaves. Master is in charge of receiving requests from clients and executing them on all replicas. To ensure all replicas have identical state, the replicas must execute all requests in the same order and all requests must produce the same result on all replicas.

8 Replication Models Virtual Synchrony: model is used when group of processes cooperate to coordinate actions. programs running in a network organize themselves into process groups . Messages are sent to groups instead of specific processes. Each message is delivered to all group members. Every group member sees the same events (group membership changes and incoming messages) in the same order.

9 Replication Management & Issues
Mechanism to keep replicas consistent Replica placement Placement of replica servers: best location to place server Content replication: best server to place content

10 Replica-Server Placement
Place servers such that average distance between server and its clients is minimal. Disadvantage: High complexity. Too many locations to inspect. Alternative solution: Identify a region where a collection of nodes access the same content and internode latency is low. Select the most demanding regions( the one with the most nodes). One of the nodes in such a region act as replica server.

11 Content replication & placement…

12 Content replication & placement…
Permanent replicas: Process/machine always having a replica the initial set of replicas that constitute a distributed data store. Created by the data store owner. The data store can be replicated across a cluster of servers at a single location or across a number of geographically dispersed servers (called mirror sites). the number of permanent replicas is small.

13 Content replication & placement…
Server-initiated replicas: Process that can dynamically host a replica on request of another server in the data store replicas created in order to enhance the performance of the system Created at the request of the data store owner, often placed on servers maintained by others Server‐initiated replicas are placed close to large concentrations of clients Dynamic replication algorithms are used to decide where to place content

14 Content replication & placement…
Client-initiated replicas: Process that can dynamically host a replica on request of a client temporary copies created by clients to improve their access times to the data (commonly known as client caches)

15 Content Distribution Deals with propagation of updated content to the relevant replica servers. Three possible propagations: Propagate only an invalidation/notification of an update along with the part of data that has been updated. Transferring modified data among replicas. Propagate the update operation to other copies. None of the approaches are best. Depends on available bandwidth and read-to-write ratio at replicas.

16 Push Control & Pull Control
Push protocol: Server-initiated approach Update is propagated regardless of whether target asks for it. Multicasting is used. Pull protocol: Client-initiated approach Client requests to be updated Unicasting is used. Only a single client or server requests its copy to be updated.

17 Leases Dynamically switch between pulling and pushing using leases
Lease is a contract during which the server will keep pushing updates to the client until lease expires. When a client is interested in receiving updates from the server, it requests a lease When a lease expires, the client must poll the server for updates, or it can renew its lease Adaptive leases: Lease expiration will depend on system behavior.

18 Leases Age-based leases: Objects that have not changed for long, will not change in the near future. Such leases will be long lasting. Renewal-frequency based leases: The more often a client requests a specific object, the expiration time will be longer for the client. State-based leases: The more loaded a server is, the expiration time becomes shorter.

19 Summary & Future Work Replica management involves keeping replicas consistent and for this periodic updates need to be propagated across the system. There is a need to determine what, where and by whom update is propagated. Not all replicas need to be updated immediately. Finally, a choice can be made to either push updates to all or update can be pulled from one replica to another. Future work: Currently research for replica management is on building multi-layered replica management systems to improve write performance. Asynchronous update. Maintains replica consistency using version number Recovery strategy for failing replica points

20 References https://en.wikipedia.org/wiki/Replication_(computing)

21 Thanks! ANY QUESTIONS? You can find me at


Download ppt "Chapter 7: Consistency & Replication IV - REPLICATION MANAGEMENT -Sumanth Kandagatla Instructor: Prof. Yanqing Zhang Advanced Operating Systems (CSC 8320)"

Similar presentations


Ads by Google