Transactions for Distributed Wikis on Structured Overlays

We present a transaction processing scheme for structured overlay networks and use it to develop a distributed Wiki application based on a relational data model. The Wiki supports rich metadata and additional indexes for navigation purposes. Ensuring consistency and durability requires handling of node failures. We mask such failures by providing high availability of nodes by constructing the overlay from replicated state machines (cell model). Atomicity is realized using two phase commit with additional support for failure detection and restoration of the transaction manager. The developed transaction processing scheme provides the application with a mixture of pessimistic, hybrid optimistic and multiversioning concurrency control techniques to minimize the impact of replication on latency and optimize for read operations. We present pseudocode of the relevant Wiki functions and evaluate the different concurrency control techniques in terms of message complexity.

[1]  Jim Gray,et al.  The Transaction Concept: Virtues and Limitations (Invited Paper) , 1981, VLDB.

[2]  A Transactional System for Structured Overlay Networks , 2005 .

[3]  Leslie Lamport,et al.  Fast Paxos , 2006, Distributed Computing.

[4]  Seif Haridi,et al.  Symmetric Replication for Structured Peer-to-Peer Systems , 2005, DBISP2P.

[5]  R. E. Gruber OPTIMISTIC CONCURRENCY CONTROL FOR NESTED DISTRIBUTED TRANSACTIONS , 1989 .

[6]  Artur Andrzejak,et al.  Scalable, efficient range queries for grid information services , 2002, Proceedings. Second International Conference on Peer-to-Peer Computing,.

[7]  Ben Y. Zhao,et al.  Pond: The OceanStore Prototype , 2003, FAST.

[8]  Jim Gray,et al.  The Transaction Concept: Virtues and Limitations (Invited Paper) , 1981, VLDB.

[9]  Robert Tappan Morris,et al.  Comparing the Performance of Distributed Hash Tables Under Churn , 2004, IPTPS.

[10]  Ben Y. Zhao,et al.  Awarded Best Student Paper! - Pond: The OceanStore Prototype , 2003 .

[11]  Divyakant Agrawal,et al.  Distributed optimistic concurrency control with reduced rollback , 2005, Distributed Computing.

[12]  Alexander Thomasian Distributed Optimistic Concurrency Control Methods for High-Performance Transaction Processing , 1998, IEEE Trans. Knowl. Data Eng..

[13]  Robert Morris,et al.  Etna: A Fault-tolerant Algorithm for Atomic Mutable DHT Data , 2005 .

[14]  Witold Litwin,et al.  LH*RS: a high-availability scalable distributed data structure using Reed Solomon Codes , 2000, SIGMOD '00.

[15]  André Schiper Dynamic group communication , 2005, Distributed Computing.

[16]  Fred B. Schneider,et al.  Implementing fault-tolerant services using the state machine approach: a tutorial , 1990, CSUR.

[17]  David P. Reed,et al.  Naming and synchronization in a decentralized computer system , 1978 .

[18]  Seif Haridi,et al.  Atomic Commitment in Transactional DHTs , 2007, CoreGRID.

[19]  Hamid Pirahesh,et al.  Efficient and flexible methods for transient versioning of records to avoid locking by read-only transactions , 1992, SIGMOD '92.

[20]  Scott Shenker,et al.  Peer-to-Peer Systems III, Third International Workshop, IPTPS 2004, La Jolla, CA, USA, February 26-27, 2004, Revised Selected Papers , 2005, IPTPS.

[21]  Ali Ghodsi,et al.  Distributed k-ary System: Algorithms for Distributed Hash Tables , 2006 .

[22]  Florian Schintke,et al.  Structured Overlay without Consistent Hashing: Empirical Results , 2006, Sixth IEEE International Symposium on Cluster Computing and the Grid (CCGRID'06).