Scalable consistency protocols for distributed services
- 1 January 1999
- journal article
- Published by Institute of Electrical and Electronics Engineers (IEEE) in IEEE Transactions on Parallel and Distributed Systems
- Vol. 10 (9) , 888-903
- https://doi.org/10.1109/71.798314
Abstract
A common way to address scalability requirements of distributed services is to employ server replication and client caching of objects that encapsulate the service state. The performance of such a system could depend very much on the protocol implemented by the system to maintain consistency among object copies. We explore scalable consistency protocols that never require synchronization and communication between all nodes that have copies of related objects. We achieve this by developing a novel approach called local consistency (LC). LC based protocols can provide increased flexibility and efficiency by allowing nodes control over how and when they become aware of updates to cached objects. We develop two protocols for implementing strong consistency using this approach and demonstrate that they scale better than a traditional invalidation based consistency protocol along the system load and geographic distribution dimensions of scale.Keywords
This publication has 22 references indexed in Scilit:
- Dynamic self-invalidation: reducing coherence overhead in shared-memory multiprocessorsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- Mobile computing with the Rover toolkitIEEE Transactions on Computers, 1997
- Safe and efficient sharing of persistent objects in ThorACM SIGMOD Record, 1996
- Plausible clocks: Constant size logical clocks for Distributed SystemsPublished by Springer Nature ,1996
- Managing update conflicts in Bayou, a weakly connected replicated storage systemACM SIGOPS Operating Systems Review, 1995
- Causal memory: definitions, implementation, and programmingDistributed Computing, 1995
- Linearizability: a correctness condition for concurrent objectsACM Transactions on Programming Languages and Systems, 1990
- Scale and performance in a distributed file systemACM Transactions on Computer Systems, 1988
- Axioms for memory access in asynchronous hardware systemsACM Transactions on Programming Languages and Systems, 1986
- The notions of consistency and predicate locks in a database systemCommunications of the ACM, 1976