Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Replicated abstract data types: building blocks for collaborative applications
Roh H., Jeon M., Kim J., Lee J. Journal of Parallel and Distributed Computing71 (3):354-368,2011.Type:Article
Date Reviewed: Jul 21 2011

Collaborative distributed applications trade off local responsiveness with global consistency. Optimistic replication favors responsiveness by assuming inconsistency won’t happen, or happens infrequently with modest consequences. The many projects involved with optimistic replication differ in how they mutate distributed state to provide infrequent, benign, and easily resolvable inconsistency.

A replicated abstract data type (RADT) is an ADT (an array, a linked list, or a hash table) extended so that mutating an RADT instance consistently mutates all instance copies. Storing distributed shared state in RADTs provides eventual consistency: if mutations in the application stop, the shared state eventually becomes consistent.

Mutations on an RADT are operation commutative, which allows noncausally related mutations to be executed in any order to the same effect. Each RADT instance uses precedence transitivity to order noncausal mutations, producing a result consistent with all other instance copies. The information exchanged among RADT instance copies is based on vector clocks modified to provide a scalable and reliable coordination protocol. Experiments with the linked list RADT show good performance, scalable with RADT size and count.

The paper is well written, although the coordination details get murky, as vector clock algorithms tend to do. The underlying theories are clearly motivated, and proofs are sketched with citations to further details. The implementation details are clear, and the reliability arguments are plausible; however, the failure assumptions could be more prominent. The bibliography is necessarily selective and appropriately up to date.

Reviewer:  R. Clayton Review #: CR139265 (1111-1189)
Bookmark and Share
 
Distributed Data Structures (E.1 ... )
 
 
Distributed Objects (D.2.12 ... )
 
Would you recommend this review?
yes
no
Other reviews under "Distributed Data Structures": Date
Making data structures confluently persistent
Fiat A., Kaplan H. Journal of Algorithms 48(1): 16-58, 2003. Type: Article
Aug 5 2004
LH*RS--a highly-available scalable distributed data structure
Litwin W., Moussa R., Schwarz T. ACM Transactions on Database Systems 30(3): 769-811, 2005. Type: Article
Jan 19 2006
Skip graphs
Aspnes J., Shah G. ACM Transactions on Algorithms 3(4): 37-es, 2007. Type: Article
Apr 16 2008
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy