Early Measurements of a Cluster-based Architecture for P2P Systems

Similar documents
A Framework for Peer-To-Peer Lookup Services based on k-ary search

Building a low-latency, proximity-aware DHT-based P2P network

LessLog: A Logless File Replication Algorithm for Peer-to-Peer Distributed Systems

DYNAMIC TREE-LIKE STRUCTURES IN P2P-NETWORKS

Athens University of Economics and Business. Dept. of Informatics

A Survey of Peer-to-Peer Content Distribution Technologies

Distributed Hash Table

Simulations of Chord and Freenet Peer-to-Peer Networking Protocols Mid-Term Report

Effect of Links on DHT Routing Algorithms 1

Challenges in the Wide-area. Tapestry: Decentralized Routing and Location. Global Computation Model. Cluster-based Applications

A Chord-Based Novel Mobile Peer-to-Peer File Sharing Protocol

Overlay Networks for Multimedia Contents Distribution

A New Adaptive, Semantically Clustered Peer-to-Peer Network Architecture

Peer Clustering and Firework Query Model

Modifying the Overlay Network of Freenet-style Peer-to-Peer Systems after Successful Request Queries

Query Processing Over Peer-To-Peer Data Sharing Systems

March 10, Distributed Hash-based Lookup. for Peer-to-Peer Systems. Sandeep Shelke Shrirang Shirodkar MTech I CSE

Subway : Peer-To-Peer Clustering of Clients for Web Proxy

BOOTSTRAPPING LOCALITY-AWARE P2P NETWORKS

Challenges in the Wide-area. Tapestry: Decentralized Routing and Location. Key: Location and Routing. Driving Applications

Dynamic Load Sharing in Peer-to-Peer Systems: When some Peers are more Equal than Others

Should we build Gnutella on a structured overlay? We believe

Flexible Information Discovery in Decentralized Distributed Systems

DATA. The main challenge in P2P computing is to design and implement LOOKING UP. in P2P Systems

Architectures for Distributed Systems

Kademlia: A peer-to peer information system based on XOR. based on XOR Metric,by P. Maymounkov and D. Mazieres

Application Layer Multicast For Efficient Peer-to-Peer Applications

Decentralized Object Location In Dynamic Peer-to-Peer Distributed Systems

A Directed-multicast Routing Approach with Path Replication in Content Addressable Network

A Hybrid Peer-to-Peer Architecture for Global Geospatial Web Service Discovery

Survey of DHT Evaluation Methods

Content Overlays. Nick Feamster CS 7260 March 12, 2007

Evolution of Peer-to-peer algorithms: Past, present and future.

Flooded Queries (Gnutella) Centralized Lookup (Napster) Routed Queries (Freenet, Chord, etc.) Overview N 2 N 1 N 3 N 4 N 8 N 9 N N 7 N 6 N 9

A Super-Peer Based Lookup in Structured Peer-to-Peer Systems

Understanding Chord Performance

Data Indexing and Querying in DHT Peer-to-Peer Networks

Scalability In Peer-to-Peer Systems. Presented by Stavros Nikolaou

Comparing Chord, CAN, and Pastry Overlay Networks for Resistance to DoS Attacks

Data Replication under Latency Constraints Siu Kee Kate Ho

Location Efficient Proximity and Interest Clustered P2p File Sharing System

INF5071 Performance in distributed systems: Distribution Part III

ReCord: A Distributed Hash Table with Recursive Structure

Distriubted Hash Tables and Scalable Content Adressable Network (CAN)

A Square Root Topologys to Find Unstructured Peer-To-Peer Networks

A Server-mediated Peer-to-peer System

Security Considerations for Peer-to-Peer Distributed Hash Tables

Addressed Issue. P2P What are we looking at? What is Peer-to-Peer? What can databases do for P2P? What can databases do for P2P?

P2P: Distributed Hash Tables

Distributed Meta-data Servers: Architecture and Design. Sarah Sharafkandi David H.C. Du DISC

A Scalable Content- Addressable Network

FUtella Analysis and Implementation of a Content- Based Peer-to-Peer Network

A Search Theoretical Approach to P2P Networks: Analysis of Learning

Exploiting the Synergy between Peer-to-Peer and Mobile Ad Hoc Networks

Distributed Systems. 17. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2016

! Naive n-way unicast does not scale. ! IP multicast to the rescue. ! Extends IP architecture for efficient multi-point delivery. !

Lecture-2 Content Sharing in P2P Networks Different P2P Protocols

Distributed hash table - Wikipedia, the free encyclopedia

Peer-to-Peer Systems and Distributed Hash Tables

MULTI-DOMAIN VoIP PEERING USING OVERLAY NETWORK

A Structured Overlay for Non-uniform Node Identifier Distribution Based on Flexible Routing Tables

PAPER A Proximity-Based Self-Organizing Hierarchical Overlay Framework for Distributed Hash Tables

A Scalable and Robust QoS Architecture for WiFi P2P Networks

Adaptive Load Balancing for DHT Lookups

Time-related replication for p2p storage system

Effective File Replication and Consistency Maintenance Mechanism in P2P Systems

Implementing Range Queries with a Decentralized Balanced Tree Over Distributed Hash Tables

EE 122: Peer-to-Peer (P2P) Networks. Ion Stoica November 27, 2002

Proximity Based Peer-to-Peer Overlay Networks (P3ON) with Load Distribution

Evaluation and Comparison of Mvring and Tree Based Application Layer Multicast on Structured Peer-To-Peer Overlays

Cycloid: A Constant-Degree and Lookup-Efficient P2P Overlay Network

IN recent years, the amount of traffic has rapidly increased

CS555: Distributed Systems [Fall 2017] Dept. Of Computer Science, Colorado State University

Today. Why might P2P be a win? What is a Peer-to-Peer (P2P) system? Peer-to-Peer Systems and Distributed Hash Tables

Neighborhood Signatures for Searching P2P Networks

Making Gnutella-like P2P Systems Scalable

Brocade: Landmark Routing on Overlay Networks

Scalable overlay Networks

Variable Length and Dynamic Addressing for Mobile Ad Hoc Networks

CS 640 Introduction to Computer Networks. Today s lecture. What is P2P? Lecture30. Peer to peer applications

Advanced Computer Networks

Designing Peer-to-Peer Systems for Business-to-Business Environments

A P2P File Sharing Technique by Indexed-Priority Metric

Design of a New Hierarchical Structured Peer-to-Peer Network Based On Chinese Remainder Theorem

: Scalable Lookup

RAQ: A Range-Queriable Distributed Data Structure

Chapter 10: Peer-to-Peer Systems

Chapter 6 PEER-TO-PEER COMPUTING

Fault Resilience of Structured P2P Systems

PChord: Improvement on Chord to Achieve Better Routing Efficiency by Exploiting Proximity

Telematics Chapter 9: Peer-to-Peer Networks

Introduction to P2P Computing

Small World Overlay P2P Networks

Shaking Service Requests in Peer-to-Peer Video Systems

AOTO: Adaptive Overlay Topology Optimization in Unstructured P2P Systems

Self-Correcting Broadcast in Distributed Hash Tables

The Design and Implementation of a Next Generation Name Service for the Internet (CoDoNS) Presented By: Kamalakar Kambhatla

CTracker: a Distributed BitTorrent Tracker Based on Chimera

Distributed Systems. 16. Distributed Lookup. Paul Krzyzanowski. Rutgers University. Fall 2017

Searching for Shared Resources: DHT in General

Transcription:

Early Measurements of a Cluster-based Architecture for P2P Systems Balachander Krishnamurthy, Jia Wang, Yinglian Xie I. INTRODUCTION Peer-to-peer applications such as Napster [4], Freenet [1], and Gnutella [2], [7] have gained much attention recently. These applications are mainly designed and used for largescale sharing of MP3 files. In such systems, end-hosts self-organize into an overlay network and share content with each other. Compared to the traditional client-server model, files are served in a distributed manner and replicated among the network on demand. Since hosts participating in peer-to-peer (P2P) networks also devote some computing resources, such systems scale with the number of hosts in terms of hardware, bandwidth, and disk space. With the wide deployment of P2P applications, the P2P traffic is becoming a growing portion of the Internet traffic. There has been very little examination of P2P traffic patterns and how they differ from traditional service models. Studying and understanding P2P traffic is thus important to provide efficient application-level content location and routing within the network. The existing applications use their own approach to do content location and routing and none of them are scalable. Napster uses a centralized server to locate content, while Gnutella clients broadcast queries to all their neighbors. [8] discusses the query locality observed in Gnutella traces and suggests caching as a short-term approach to increase Gnutella s scalability. Recent designs such as CAN [5], Chord [9], Pastry [6], and Tapestry [1] propose distributed indexing schemes based on hashing to locate content. These systems assume a flat content delivery mesh. Each object s location is stored at one or more nodes selected deterministically by a uniform hash function; queries for the object will be routed incrementally to the node. Although hash functions can help locate content deterministically, they lack the flexibility of keyword searching a useful operation to find content without prior knowledge of exact object names. There is no real deployment at present and thus no measurement information is available for understanding the usability and scalability of The authors are with AT&T Labs Research, Florham Park, NJ, USA. email: bala,jiawang,ylxie @research.att.com. Contact author: Balachander Krishnamurthy, Fax: 973-36-877, 18 Park Avenue, Florham Park, NJ 7932. Yinglian Xie is a student at CMU interning at AT&T Labs Research such systems. We present some early measurements of a Cluster-based Architecture for P2P (CAP) systems a decentralized, peer-to-peer content location and sharing system that uses network-aware clustering [3]. Network-aware clustering is an effective technique to group clients that are topologically close and under common administrative control. The introduction of one more hierarchy is aimed at scaling up query lookup and forwarding. CAP would also be more stable since clusters join and leave the network less frequently than individual clients. CAP also does not use hash functions to map objects to locations deterministically. Instead, CAP behaves more like a distributed searching system such as Gnutella. We modified Gnutella and collected P2P traces from a variety of places. We analyze the trace data using network-aware clustering. We use the Gnutella trace in our simulations to measure and compare the performance of CAP and Gnutella. The implementation of CAP is currently ongoing and we plan to measure the system based on real deployment. Our trace analysis and preliminary simulation results show that the P2P network can be very dynamic, and CAP is promising in increasing the stability and scalability of such distributed applications. We are now carrying out a longer and broader study. II. CAP CAP employs network-aware clustering technique for content location and routing. A user query consists of names of the files to be retrieved or keywords to be searched. The query response is a tuple: (timestamp, query, object, location). Given a user query, CAP locates nearby copies of object that satisfy the query. The actual data retrieval will be performed by the user who initiated the query. CAP uses a centralized server (called clustering server) to perform network-aware clustering and cluster registration. Based on the information provided by the clustering server, users are grouped into clusters and self-organize into an overlay network. The two basic operations performed in CAP are: node joining and leaving, and query lookup and routing. Users (also called nodes) can join and leave the overlay network dynamically. A query for an

object will be routed through the overlay network until locations of the desired object are found, and the location information is returned directly to the initiating node. To help distributed query lookup and forwarding, there are one or more delegate nodes within each cluster. The clustering server keeps track of the existing clusters and the corresponding delegate node s information. The delegate node acts as a directory server for the objects stored at nodes within the same cluster. Queries will be submitted to the cluster delegate node first; if it cannot be resolved at the delegate directory, the delegate node forwards the query to other nodes in either a recursive or iterative way until an answer is found. To reduce query latency, delegate nodes maintain a cache of recently received queries, with each entry consisting of a query and the corresponding response. Thus the location information of popular objects will be replicated at multiple places and can be found quickly. The delegate node also performs node membership registration. It maintains information about each active node within a cluster to distinguish queries from inside and outside a cluster. In case of delegate node failure, each node independently resorts to the clustering server for the new delegate node. The first node asking for the clustering server will become the newly selected delegate node. A bootstrap mechanism is required to set up the directories at the new delegate node. III. EXPERIMENTS We modified an open source Gnutella client [7] to passively monitor and log all Gnutella messages that were routed through it. The end host running the modified Gnutella client joins Gnutella using Clip2 s gnutellahosts.com [2] service. Each entry in the trace has the following fields: (1) Time stamp. (2) IP address of the neighbor host. (3) Message ID. (4) Type of message. There are four types of messages recorded: ping request (Gnutella init message), ping reply (Gnutella init response), search request, and search reply. In addition to the above fields, we also recorded other fields, which are specific to different types of messages, including query strings, number of results found, file names of returned results, etc. Five traces were collected independently at CMU(Pennsylvania), AT&T(New Jersey), ACIRI(California), WPI(Massachusetts), and UKY(Kentucky). The data gathering in the first three sites ran with unlimited number of concurrent connections. When an intrusion detection system was triggered (incorrectly), we rate-limited our experiments (reducing number of concurrent connections and the number of hosts contacted) and ran it on two other sites. The average number of neighbors of the Gnutella client in the trace can be con- Location Trace length Number of IPs CMU 1 hours 799,386 ATT 14 hours 32,262 ACIRI 6 hours 185,95 TABLE I GNUTELLA TRACES WITH UNLIMITED CONNECTIONS. Location Trace length Number of IPs CMU 89 hours 31,25 ATT 139 hours 261,94 WPI 1 hours 69,285 UKY 96 hours 49,84 UKY 75 hours 292,759 TABLE II GNUTELLA TRACES WITH LIMITED CONNECTIONS. trolled by the number of concurrent connections, with up to four neighbors as default. Table I and II summarize the traces we have collected. We are installing this client in several places around the world and gathering traces for extended durations. We observed that some clients had used private IP addresses in the collected Gnutella traces. These private IP addresses are in the following ranges: 1.x.x.x, 172.16.. - 172.31.255.255, and 192.168.x.x. Since private IP addresses are designed for use on internal networks and cannot be clustered using network-aware clustering, we remove them from the traces before applying networkaware clustering and present our results below. There are 8% - 16% of all IP addresses identified as private IPs in the traces. We clustered the user IP addresses extracted from the traces. Figure 1 plots the distributions of the number of hosts and the number of messages of the CMU trace (we show results from one trace, other results are similar). The distribution of the number of hosts in a cluster is nonuniform: more than half of the clusters have a small number of clients, with some issuing a large number of messages. Figure 2 plots the client and cluster distributions observed every 3 minutes. The number of clients observed in each 3-minute period varies between 5% - 1% of all clients in the trace, which implies that the Gnutella network is very dynamic, with peers joining and leaving frequently. The percentages of clients observed in the trace during each 3-minute period is much smaller than that of clusters, indicating the number of clusters in the network is more stable. Thus, network-aware clustering based scheme helps reduce dynamism in the P2P network.

Percentage of clients 1 2 Number of queries 25 2 15 1 5 Number of all queries Number of unique queries Number of all repeated queries Number of unique repeated queries Percentage of messages 1 4 1 5 Cluster sorted by number of clients 1 2 1 4 1 6 1 5 Cluster sorted by number of clients Fig. 1. The cluster distribution of the CMU trace (in log scale). The clusters are sorted by number of clients. Percentage 35 3 25 2 15 1 5 Percentage of messages Percentage of hosts Percentage of host clusters 5 5 2 x 3 minutes Fig. 2. The client and cluster distribution per 3 minutes in the CMU trace. The distribution of replies observed in the trace is generally proportional to the number of clients within a cluster. We noticed several exceptions where small clusters generate a large number of replies. Two possibile reasons for this are: (1) The cluster has a large number of files and is able to reply to many of the search requests. (2) The cluster has a few popular files that are requested by many clients. Because a ping reply Gnutella message tells us how many files a host is willing to share, we extract the IP addresses from ping reply messages and match them to those in the search reply messages. There are 54,743 such IP addresses matched in the CMU trace. We observe that clusters with more files usually generate more replies. There are also some clusters with smaller number of files that generate a 2 4 6 8 1 Cluster sorted by number of all queries Fig. 3. Query distribution using network-aware clustering lot of replies, implying the existence of popular files. We observe that there are popular queries in the Gnutella traces which can be cached to reduce query latency. We sample the CMU trace and take the first 47,1 search request messages with 8,878 unique queries. Up to 26% of the unique queries from each cluster are submitted more than once; while up to 48% of all queries from each cluster are repeated ones and can be cached. Figure 3 plots the number of queries and repeated queries from each cluster. A query is considered to be from a cluster if a user within the cluster either submits or forwards the query (we cannot differentiate query initiator from the client who forwarded the query based on the Gnutella message). A query is considered to be repeated if it is observed more than once in the trace. We compare the performance of CAP and Gnutella via a trace-driven simulation. We assume the user joins the network when its IP address appears in the trace for the first time. If a user does not send a message for a certain period of time, we assume the user has left. We extract filenames from the search reply messages and assign them to the corresponding users. We generate queries by randomly picking users requesting for files existing in the system. We also assume the query popularity distribution follows the file popularity distribution, i.e., a file is queried multiple times if it appears in the multiple replies in the Gnutella traces. This assumption is validated by examining the query popularity distribution and the file popularity distribution using the same trace. We sample the first 1, nodes in the CMU trace and Figure 4 plots the two distributions. To forward queries, each delegate node keeps a list of neighbor delegate nodes and their cluster prefixes. Each query also has a maximum search depth. If a query cannot be resolved at the delegate node, it will be forwarded to the neighbors in the list using the depth-first search algorithm until the object is found or the delegate node has tried all

Number of appearances Number of appearances 1 3 1 4 Queries sorted by number of appearances 1 3 1 4 Files sorted by number of appearances Fig. 4. Query popularity distribution and file popularity distribution its neighbors in the list. The neighbor list can be obtained initially from the clustering server and be improved gradually based on the application requirements. In our simulation, the neighbor list is assigned randomly when the delegate node joins; it is then updated with the neighbor who finds the largest percentage of requested objects ranking first. This is a heuristic based on the assumption that the neighbor who finds the most number of requested objects is likely to find more objects in the future. Other ways to improve the neighbor list could involve use of search latency. For simplicity, we assume current directory information is stored at each delegate node. Since CAP does not guarantee that an existing object will be found, we examine the probability for finding an object. Again, using the CMU trace to illustrate the results, we consider a network of 1, nodes with 311 clusters. There are 4,615 queries in our trace requesting 3,793 unique files. Each data point in our graphs is the average of 1 runs. Figure 5 plots the percentage of successful queries by varying the maximum search depths in CAP and in Gnutella. We observe that the percentages of successful queries in CAP are much higher than that in Gnutella. We measure the search latency in terms of the number of hops traversed before an object is found with a fixed maximum search depth of five hops. Figure 6 shows the search path length of successful queries using the CAP algorithm. Most of the successful queries are resolved within twenty Percentage of successful queries 1 8 6 4 2 2 4 6 8 Fig. 5. Percentage of successful queries using the CAP algorithm and the Gnutella algorithm. Number of successful queries 3 25 2 15 1 5 3 neighbors 5 neighbors less than 3 3 to 5 greater than 5 Search path length(number of hops) Fig. 6. Search path length of successful queries in CAP. hops, indicating that a query message will not affect many nodes in the network, as opposed to Gnutella, which will affect all the nodes in the tree rooted at the initiating node. Figure 7 plots the average number of messages due to each query and the average number of forwarding operations performed at each delegate node in CAP or node in Gnutella algorithm, respectively. Because queries are flooded in Gnutella, the number of messages per search and the number of forwarding operations performed per node grow exponentially with search depth; while in CAP, both of them grow linearly. IV. CONCLUSION AND FUTURE WORK We have analyzed Gnutella traces using network-aware clustering. We outlined the design of a Cluster-based Architecture for P2P systems and our early measurements show that CAP is scalable and stable. We are carrying out a broad study of P2P traces using network-aware clustering and plan to examine the performance of CAP based on real deployment. We are also examining a number of issues such as routing queries within and between clusters, handling updates, as well as how cluster diameters, latencies, and workload affect the performance and P2P traffic.

Number of messages per search Number of forward per delegate or node 1 4 1 3 2 4 6 8 1 5 1 4 1 3 2 4 6 8 Fig. 7. Number of messages per search and number of forwarding operations performed by each delegate in CAP or node in Gnutella. REFERENCES [1] I. Clarke, O. Sandberg, B. Wiley, and T.W. Hong. Freenet: A Distributed Anonymous Information Storage and Retrieval System. In Designing Privacy Enhancing Technologies:International Workshop on Design Issues in Anonymity and Unobservability, LNCS 2, December 2. [2] Gnutella hosts. http://www.gnutellahosts.com. [3] B. Krishnamurthy and J. Wang. On Network-Aware Clustering of Web Clients. In Proceedings of ACM Sigcomm, August 2. [4] Napster. http://www.napster.com. [5] S. Ratnasamy, P. Francis, M. Handley, R. Karp, and S. Shenker. A Scalable Content-Addressable Network. In Proceedings of ACM Sigcomm, August 21. [6] A. Rowstron and Druschel P. Pastry: Scalable, distributed object location and routing for large-scale peer-to-peer systems. In under conference submission, February 21. [7] GNUT-gnutella. http://www.gnutelliums.com/linux_unix/gnut/. [8] K. Sripanidkulchai. The popularity of Gnutella queries and its implications on scalability. In The O Reilly Peer-to-Peer and Web Services Conference, September 21. [9] I. Stoica, R. Morris, D. Karger, M.F. Kaashoek, and H. Balakrishnan. Chord: A scalable peer-to-peer lookup service for Internet applications. In Proceedings of ACM Sigcomm, August 21. [1] Y. Zhao, John D. Kubiatowicz, and Anthony Joseph. Tapestry: An Infrastructure for Fault-tolerant Wide-area Location and Routing. Technical Report UCB//CSD-1-1141, U. C. Berkeley, April 2.