Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Skip graphs
Aspnes J., Shah G. ACM Transactions on Algorithms3 (4):37-es,2007.Type:Article
Date Reviewed: Apr 16 2008

Peer-to-peer (P2P) systems based on distributed hash tables (DHTs) are starting to deliver desirable features such as decentralization, scalability, fault tolerance, self stabilization, data availability, load balancing, and dynamic addition and deletion of peer nodes. However, as keys are hashed, they can only provide hash-table functionality, thereby limiting the types of search queries. Skip graphs are a new distributed data structure that can form the basis of P2P systems. Since they are not based on the hashing of resource keys, related resources are near each other in a skip graph, which allows the P2P system to support complex queries, such as range queries. This is useful for applications such as the prefetching of Web pages, enhanced browsing, and efficient searching.

Skip graphs are a generalization of skip lists. A skip list is a randomized balanced tree data structure organized into levels of increasingly sparse doubly linked lists. A skip graph has multiple lists at any given level of a skip list, and this redundancy aids tolerance of single points of failure and congestion. Simple algorithms for search, insert, and delete operations for a skip graph are presented. In a skip graph with n nodes, search and insert take O(log n) messages and O(log n) time, while delete takes O(log n) messages and O(1) time. Fault-tolerant properties of a skip graph are evaluated under two fault models. Experimental results for a random failure model, and theoretical results for a worst-case failure model, show that search on skip graphs can succeed by using redundant links, making it fairly resilient to node failures in the absence of repair. The redundant links also provide congestion control. Theoretical results are presented to show that the probability that a particular node is traversed during various search conditions is low.

The skip graph is a novel data structure that is worth investigating in the context of distributed data store implementations that require good search performance and high resilience.

Reviewer:  Suma Adabala Review #: CR135480 (0902-0173)
Bookmark and Share
 
Distributed Data Structures (E.1 ... )
 
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
Replicated abstract data types: building blocks for collaborative applications
Roh H., Jeon M., Kim J., Lee J. Journal of Parallel and Distributed Computing 71(3): 354-368, 2011. Type: Article
Jul 21 2011
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, Inc.®
Terms of Use
| Privacy Policy