Adlib : A Self-Tuning Index for Dynamic Peer-to-Peer Systems Proceedings of the 21st International Conference on Data Engineering(ICDE'05) Prasanna Ganesan.

Slides:



Advertisements
Similar presentations
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Advertisements

Evaluation of a Scalable P2P Lookup Protocol for Internet Applications
Scalable Content-Addressable Network Lintao Liu
Fast Algorithms For Hierarchical Range Histogram Constructions
©Silberschatz, Korth and Sudarshan12.1Database System Concepts Chapter 12: Part C Part A:  Index Definition in SQL  Ordered Indices  Index Sequential.
Quick Review of Apr 10 material B+-Tree File Organization –similar to B+-tree index –leaf nodes store records, not pointers to records stored in an original.
CHORD – peer to peer lookup protocol Shankar Karthik Vaithianathan & Aravind Sivaraman University of Central Florida.
Chapter 11 Indexing and Hashing (2) Yonsei University 2 nd Semester, 2013 Sanghyun Park.
©Silberschatz, Korth and Sudarshan12.1Database System Concepts Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B+-Tree Index Files B-Tree.
Node Lookup in Peer-to-Peer Network P2P: Large connection of computers, without central control where typically each node has some information of interest.
Self-Organizing Hierarchical Routing for Scalable Ad Hoc Networking David B. Johnson Department of Computer Science Rice University Monarch.
1 Accessing nearby copies of replicated objects Greg Plaxton, Rajmohan Rajaraman, Andrea Richa SPAA 1997.
LightFlood: An Optimal Flooding Scheme for File Search in Unstructured P2P Systems Song Jiang, Lei Guo, and Xiaodong Zhang College of William and Mary.
Denial-of-Service Resilience in Peer-to-Peer Systems D. Dumitriu, E. Knightly, A. Kuzmanovic, I. Stoica and W. Zwaenepoel Presenter: Yan Gao.
Common approach 1. Define space: assign random ID (160-bit) to each node and key 2. Define a metric topology in this space,  that is, the space of keys.
1 One Torus to Rule Them All: Multi-dimensional Queries in P2P Systems Prasanna Ganesan Beverly Yang Hector Garcia-Molina Stanford University.
YAPPERS: A Peer-to-Peer Lookup Service over Arbitrary Topology Qixiang Sun Prasanna Ganesan Hector Garcia-Molina Stanford University.
B+-tree and Hashing.
Temporal Indexing MVBT. Temporal Indexing Transaction time databases : update the last version, query all versions Queries: “Find all employees that worked.
©Silberschatz, Korth and Sudarshan12.1Database System Concepts Chapter 12: Part B Part A:  Index Definition in SQL  Ordered Indices  Index Sequential.
Quick Review of material covered Apr 8 B+-Tree Overview and some definitions –balanced tree –multi-level –reorganizes itself on insertion and deletion.
1 Indexing Structures for Files. 2 Basic Concepts  Indexing mechanisms used to speed up access to desired data without having to scan entire.
Efficient Search in Peer to Peer Networks By: Beverly Yang Hector Garcia-Molina Presented By: Anshumaan Rajshiva Date: May 20,2002.
E.G.M. PetrakisHashing1 Hashing on the Disk  Keys are stored in “disk pages” (“buckets”)  several records fit within one page  Retrieval:  find address.
Wide-area cooperative storage with CFS
P2P Course, Structured systems 1 Skip Net (9/11/05)
Homework #3 Due Thursday, April 17 Problems: –Chapter 11: 11.6, –Chapter 12: 12.1, 12.2, 12.3, 12.4, 12.5, 12.7.
P2P Course, Structured systems 1 Introduction (26/10/05)
Improving Data Access in P2P Systems Karl Aberer and Magdalena Punceva Swiss Federal Institute of Technology Manfred Hauswirth and Roman Schmidt Technical.
Peer-to-peer file-sharing over mobile ad hoc networks Gang Ding and Bharat Bhargava Department of Computer Sciences Purdue University Pervasive Computing.
1CS 6401 Peer-to-Peer Networks Outline Overview Gnutella Structured Overlays BitTorrent.
SIMULATING A MOBILE PEER-TO-PEER NETWORK Simo Sibakov Department of Communications and Networking (Comnet) Helsinki University of Technology Supervisor:
Roger ZimmermannCOMPSAC 2004, September 30 Spatial Data Query Support in Peer-to-Peer Systems Roger Zimmermann, Wei-Shinn Ku, and Haojun Wang Computer.
ICS 220 – Data Structures and Algorithms Week 7 Dr. Ken Cosh.
Database Management 8. course. Query types Equality query – Each field has to be equal to a constant Range query – Not all the fields have to be equal.
Multi-level Hashing for Peer-to-Peer System in Wireless Ad Hoc Environment Dewan Tanvir Ahmed and Shervin Shirmohammadi Distributed & Collaborative Virtual.
09/07/2004Peer-to-Peer Systems in Mobile Ad-hoc Networks 1 Lookup Service for Peer-to-Peer Systems in Mobile Ad-hoc Networks M. Tech Project Presentation.
1 Reading Report 5 Yin Chen 2 Mar 2004 Reference: Chord: A Scalable Peer-To-Peer Lookup Service for Internet Applications, Ion Stoica, Robert Morris, david.
Chapter 11 Indexing & Hashing. 2 n Sophisticated database access methods n Basic concerns: access/insertion/deletion time, space overhead n Indexing 
Canon in G Major: Designing DHTs with Hierarchical Structure Prasanna Ganesan, Krishna Gummadi, Hector Garcia-Molina ICDCS2004 報告者 : 陳奕鈞.
Content Addressable Network CAN. The CAN is essentially a distributed Internet-scale hash table that maps file names to their location in the network.
A Scalable Content-Addressable Network (CAN) Seminar “Peer-to-peer Information Systems” Speaker Vladimir Eske Advisor Dr. Ralf Schenkel November 2003.
12.1 Chapter 12: Indexing and Hashing Spring 2009 Sections , , Problems , 12.7, 12.8, 12.13, 12.15,
Presentation 1 By: Hitesh Chheda 2/2/2010. Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT Laboratory for Computer Science.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications.
Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan Presented.
Indexing and hashing Azita Keshmiri CS 157B. Basic concept An index for a file in a database system works the same way as the index in text book. For.
Peer to Peer A Survey and comparison of peer-to-peer overlay network schemes And so on… Chulhyun Park
LightFlood: An Efficient Flooding Scheme for File Search in Unstructured P2P Systems Song Jiang, Lei Guo, and Xiaodong Zhang College of William and Mary.
Marwan Al-Namari Hassan Al-Mathami. Indexing What is Indexing? Indexing is a mechanisms. Why we need to use Indexing? We used indexing to speed up access.
Spring 2003 ECE569 Lecture 05.1 ECE 569 Database System Engineering Spring 2003 Yanyong Zhang
Session 1 Module 1: Introduction to Data Integrity
BATON A Balanced Tree Structure for Peer-to-Peer Networks H. V. Jagadish, Beng Chin Ooi, Quang Hieu Vu.
Indexing Database Management Systems. Chapter 12: Indexing and Hashing Basic Concepts Ordered Indices B + -Tree Index Files File Organization 2.
LOOKING UP DATA IN P2P SYSTEMS Hari Balakrishnan M. Frans Kaashoek David Karger Robert Morris Ion Stoica MIT LCS.
Database System Concepts, 6 th Ed. ©Silberschatz, Korth and Sudarshan See for conditions on re-usewww.db-book.com Module D: Hashing.
1 Plaxton Routing. 2 History Greg Plaxton, Rajmohan Rajaraman, Andrea Richa. Accessing nearby copies of replicated objects, SPAA 1997 Used in several.
Chord: A Scalable Peer-to-Peer Lookup Service for Internet Applications * CS587x Lecture Department of Computer Science Iowa State University *I. Stoica,
CS Spring 2010 CS 414 – Multimedia Systems Design Lecture 24 – Introduction to Peer-to-Peer (P2P) Systems Klara Nahrstedt (presented by Long Vu)
Database Applications (15-415) DBMS Internals- Part III Lecture 13, March 06, 2016 Mohammad Hammoud.
CS 540 Database Management Systems
Azita Keshmiri CS 157B Ch 12 indexing and hashing
Pastry Scalable, decentralized object locations and routing for large p2p systems.
Dynamic Hashing (Chapter 12)
Controlling the Cost of Reliability in Peer-to-Peer Overlays
Temporal Indexing MVBT.
Database Applications (15-415) DBMS Internals- Part III Lecture 15, March 11, 2018 Mohammad Hammoud.
Indexing and Hashing Basic Concepts Ordered Indices
Indexing and Hashing B.Ramamurthy Chapter 11 2/5/2019 B.Ramamurthy.
Presentation transcript:

Adlib : A Self-Tuning Index for Dynamic Peer-to-Peer Systems Proceedings of the 21st International Conference on Data Engineering(ICDE'05) Prasanna Ganesan Qixiang Sun Hector Garcia-Molina 鄭達成

Outline Motivation Adlib Structure Modeling and Optimizing Cost Make it self-tunable Evaluation Conclusion

Motivation A P2P system consists of a large, dynamic set of computers spread over a wide-area network. Nodes are interconnected in an overlay network, we focus on the nodes that contain related data. There are two fundamental operations – partial query and total query. Consider two common indexing structures that have been proposed in past literature. Gnutella – High query cost, but index maintenance is free. Hash/range partitioning – Efficient query, but index maintenance cost is high.

Trade-off index-maintenance and query cost Such a global index offers efficient querying; a query is just answered by contacting the managing node. In such systems, the index-maintenance cost of the global-index approach can be very high. Worse still, as the data scale up, the cost of index maintenance grows much faster than cost of queries. Therefore, Adlib provide a self-tuning index that can minimize the cost of index maintenance and query execution.

Adlib Structure Adlib can be viewed as a two-tier structure. Intra-domain : Nodes within each domain construct a distributed index over the content in that domain. Inter-domain : Some particular nodes in a domain connecting to nodes in other domains

Intra Domain structure – 1/2 Partition indices into different domains using Consistent-Hashing. Each node in a domain chooses a unique intra-domain ID, at random, from a large, circular space of IDs. A node stores index entries for all values that hash to a number between the node’s ID and the next larger node ID in the domain. Recall that the index entry for a value is a list of all nodes in the domain that have a tuple with that value.

Intra Domain structure – 2/2 Nodes are interconnected so they are able to route a query q to the manager of the index entry for q. Two operations need to take place when new node joins: (a) the overlay network structure needs to be modified suitably. (b) index entries need to be re-distributed across nodes. (c) the index needs to be updated so that the new node’s content is indexed, or that the old node’s content is removed from the index. Updating the index when a node leaves is more interesting. We now describe two approaches to this problem.

Intra Domain – timeout & update broadcast The timeout mechanism – Each inserted index has a T 0 period, after this period, it “times out” and being deleted. The size of the time period T 0 offers a trade-off between the cost of maintaining the index and query accuracy. The update-broadcast mechanism – Whenever a node N leaves, its successor broadcast the departure information of N to all the nodes. How does N’s successor know? -by exchanging periodic heartbeat. The cost for broadcasting the failure of a node is completely independent of the number of tuple owned by each node.

Inter Domain structure Executing a partial or total lookup requires nodes to be able to gather results from some or all domains. Partial querying procedure : (a) a node first find all answers to a partial lookup query within its own domain. (b) while the answers are insufficient, the node keeps doubling the number of domains. (c) until either a sufficient number are found, or all the domains have been searched. When a node desires a total lookup, the query is simply sent to all the domains.

Adlib validation The optimal number of domains is proportional to √n for total lookup queries, and proportional to n for partial lookup queries. (horrible math being skipped! ) Evaluation background : (a) 3791 nodes (gathered by Saroiu et al. in Gnutella) (b) 400,000 files (each filename keyword as a tuple) (c) t=307 on average (t=tuple) (d) queries per node per second (one query per node per 20 minutes) We simulate an n-node Adlib with k-domains, assigning each node to a random domain.

Adlib validation – update costs Our first undertaking is to evaluate the relative costs of index maintenance with time-outs and update broadcast. We see that if T 0 is 1 hour, the stale answers exceed 40%, in order to achieve a staleness of under 10%, T 0 needs to be smaller than 10 minutes.

Adlib validation – cost of update broadcast The cost of broadcast increases linearly with the size of the domain, and exceeds time-out mechanism for domain size larger than We conclude, that update broadcast is better than time- outs for reasonably sized domains.

Adlib validation – cost of queries Both partial and total lookups terminated after finding the first 20 answers. Not surprisingly, we see that the cost of queries decreases as the domain size increases.

Adlib validation – overall cost We define the overall cost as the sum of the query cost, the index-maintenance cost, and the cost of maintaining the interconnection structure. On the right extreme, nodes process an average of 0.6msg/sec, where a partial lookup with 256 domains need only 0.15msg/sec.

Adlib validation – optimal domain size For a total lookup, we observe that the optimal domain size is almost exactly proportional to √n. The ideal domains size for partial lookup is almost a fixed constant.

Designing a self-tuning Adlib In Adlib, we split a domain into two whenever domains is too few, and to merge two domains whenever there are too many domains. Performing such domain splitting (and merging) introduces multiple challenges : (a) The overlay problem (b) The re-indexing problem (c) The atomic-split problem The following pages will presently show how each of the above challenges may be handled.

Domains as a binary tree Initially, all nodes are in a single “root” domain D. As the domain grows larger, it splits into D0 and D1. Domain D0 may itself grows larger over time, and split into D00, D01 and so on. Similarly, two sibling domains may merge into a single domain. (delete two leaves from the tree)

The overlay problem – intra domain structure In standard overlay networks such as Chord, the set of links for the D0 and D1 are very different from the set of the links in the original network for D. (In expectation, half the links in D will exist in D0 or D1, while the other half are new links) Our problem is : devise an overlay network that allows domains to split and merge without changing any links. Crescendo – A node first join and sets up links to other nodes at the lowest lever in the hierarchy, and progressively adds few more links at each higher level. goto22

The overlay problem – inter domain structure Consider a node m with hierarchy ID b 1,b 2,…,b N, let S i denote the set of nodes with hierarchy ID prefix b 1,b 2,…,b i. Node m establishes a set of N inter-domains links, with the i th link being to the closest predecessor of m in the set S i. The link not just to any node in the subtree, but to the node whose intra-domain ID is closest in value to m’s ID while being less than or equal to it. The total number of inter-domain links per node is at most the number of non-empty levels in the domain hierarchy.

optional Query routing for partial lookup Let us first consider partial lookup queries. D D0D1 D00D01D10 D11 a b c d e f level-1Inter domain link level-2 Inter domain link lntra domain link

Query routing for total lookup The first step in a total lookup is the same as the partial lookup. Node 0 then sends the query using all “inter-domain” links that connect to nodes outside its current domain. For example, node 13, it is responsible to broadcasting the query to all domains in the entire D1 subtree. Node 0 also sends the query to its predecessor in D01, designating it responsible to broadcasting to all domains in D01 subtree. The primary difference from the partial lookup algo is that node 0 uses all its inter-domain links simultaneously.

The Re-indexing problem When domain D splits into D0 and D1, index entries need to be moved since the D0 nodes should now index only content in D0. (while D1 index contents only in D1) When the domain splits, node 0 should index only D0 content in range [0,3), while node 2 indexes D1 content in [2,5). Node 0 obtain index entries for D0 content in [2,3) by communicating with node 2. Similarly, node 2 communicates with node 3 to obtain all its index entries. Such data exchange is easy by the fact that these pairs of nodes also have interconnection links. goto18

The Atomic-split problem When to split ? – we can estimate the domain size by “Network size estimation”, to determine is it too big or too small. Path Convergence- S : l-bit prefix in their hierarchy ID. m : a node not in S that shares a prefix of length l’<l The routing path from every node in S to node m, using intra-domain links, must go thru some common node c in S. This common node c is the closest predecessor of node m in S.

Evaluation The cost shows a step-like behavior, dropping every time domain splits occur at network sizes close to a power of 2.

Conclusion This paper introduced a self-tuning index structure that trades off index-maintenance cost against the benefit for query. We have shown that Adlib can reduce the system overhead by a factor of four, compare to the global index.