170 likes | 251 Views
A Method For Combining Replication With Cacheing Class Presentation cs-755 Speaker : Subhash Adapala. Introduction. Object replication and cacheing have been implemented individually in distributed systems for many years.
E N D
A Method For Combining Replication With CacheingClass Presentation cs-755Speaker : Subhash Adapala
Introduction Object replication and cacheing have been implemented individually in distributed systems for many years. Both allow for the creation and maintenance of multiple copies of objects(a resource), but replication for availability and cacheing for performance. A unifying approach to both replication and cacheing
Replication • To increase the availability of resources (services) • Objects are created ,Replicas are treated as a single abstract entity, the replica group
Replica Group Replica consistency protocol Client
Replication (cont’d) • Replication protocols can be categorized by type of consistency they maintain: > strong consistency, where all replicas have identical states > weak consistency, where replica states are allowed to diverge. • With in these categories, are basically two classes: > active replication: more than one copy of an object is activated on distinct nodes and all copies perform processing. > passive replication : only a single copy performs processing,and regularly checkpoints its state with other members of the group.
Ga GbDrawback of using strong consistency is the overhead increased for ensuring that all replicas have the same state.Weak consistency offers a trade-off between consistency and performance. a1 a2
Cacheing • caheing protocols are used to improve performance • A cache is essentially a copy of the object which resides with the users, or physically closer than the original object. • In a distributed system the network is often a bottleneck and cacheing reduces thefrequency of network interactions .
Original Object Cache Client cache consistency protocol • Unlike replication clients know only a single cache copy and its failure may prevent it from being able to access.
Unifying Replication and Cacheing • Describe a model that provides the benefits of both replication and cacheing, by allowing both protocols to co-exist. • Essentially propose replacing an original object and its cache by corresponding replica groups. • Consistency domain is a grouping of replicas which have the same state i.e., strong consistent replica groups.
Cont’d • no restrictions on the locations of the members of a consistency domain, or on the size of the domain and need not be static. • Does not impose restrictions on intra-domain consistency protocols. One could use active replication whereas the other could use passive. • To maintain levels of consistency between object copies, domain must co-operate to propagate update • Protocols used to connect domains maintain consistency are essentially cacheing protocols
Consistency Domain Client Consistency Protocol • Domain configuration of one object need not be exactly same as other and it can be changed • New consistency domain may be formed by merging or splitting existing domains
Cont’d • By structuring object replicas into different, co-operating consistency domains, possible to guarantee that clients which require consistency can observe same replica states • Application overhead can be reduced by not requiring all replicas to be consistent, allowing replicas to be co-located with clients
Consistency Objects. • Assume all objects contain persistent state and that have operations for obtaining and updating their states to/from object store. • Each domain must posses sufficient information about which other domains it is connected and membership information to maintain its internal consistency. • Consistency object, is responsible for managing the consistency between the domains.
(cont’d) UserClass API Replica Consistency Object • Cache consistency object is maintained by domain, responsible for guaranteeing consistency; giving the system flexibility to configure the responsibility for maintaining consistency. • Intra-domain consistency is managed by replica consistency object. State Manager getState() UpdateState() Cache ConsistencyObject
(cont’d) • When an object is initially connected in single domain, has only replica consistency object, responsible for managing the intra-domain consistency. • To maintain inter-domain consistency, a cache consistency object is maintained with domain
A A B B Push PullReplication consistency Protocol Cache consistency Protocol
Conclusion: • A Simple model,but still powerful and flexible, combining object replication and cacheing to enable, simultaneous benefit from availability and performance. • Can continue to use existing replication and cacheing protocols, enabling structuring of replicas into different consistency domains. • Domains configured to offer clients different levels of consistency, performance and availability. • Importantly, this is transparent to clients.Reference: • http://arjuna.ncl.ac.uk/ • http://arjuna.ncl.ac.uk/group/papers/p087.pdf