BALLS Simulator: Evaluator of a Structured Peer-to-peer System with Integrated Load Balancing

Simulation is an efficient way to evaluate new peer-to-peer models. It requires two implicit properties: large scale and high dynamicity. In the context of our work that proposes a peer-to-peer structure based on partitioning a de Bruijn graph and its load balancing algorithms, we developed a simulator for evaluation purposes. This paper introduces a three- layer architecture of the simulator. This architecture allows to support simulations in two modes: centralized (where all peers are simulated on one physical machine) and decentralized (where the peers run on separate machines communicating through the underlying network). I. I NTRODUCTION The recent appearance of structured peer-to-peer (P2P) systems (e.g., (1)-(6)) proposed interesting solutions to the routing problem resulting from the lack of a centralized control. Such a system manages objects by distributing the responsibility of the object keys (usually produced by hashing the object id) over the available peers. The peers connect according to the set of keys each one holds. The distribution of the key responsibility in a structured P2P system introduces a problem of load unbalance, which critically affects the system's performance. In this context of load balancing in a structured P2P system, we have proposed a P2P structure and algorithms for the index management load balancing and the storage load balancing. The index man- agement load represents the rate of bandwidth consumption on each peer for routing, whereas the storage load implies the usage of each peer's resources for object accommodation. The proposed structure (namely BALLS - Balanced Load Supported P2P Structure) partitions a de Bruijn graph layered over the P2P network. It achieves the simultaneous index management load balancing and storage load balancing by separating the peer id, object key, and storage location. Details of this system were described in (7). The practical performance of our proposed P2P system must of course be evaluated. A P2P system usually displays two properties: large scale and high dynamicity. Therefore, using simulators is an efficient method for evaluating P2P systems. There exist P2P simulators. Peersim (8) supports simulation of several P2P protocols as part of the BISON (Biology- Inspired techniques for Self-Organization in dynamic Net- works) project. The simulator manages an array of peers and performs the peer operations sequentially. It provides the following main Java classes and interfaces: Node, CDProtocol, Linkable, Observer, and Dynamics to model respectively the peer, protocol, network, data collection, and dynamicity. Another P2P simulator is the NeuroGrid simulator (9), which was originally designed to compare the Freenet, Gnutella, and NeuroGrid (10) systems. This simulator supports abstract classes intended to be generic for different P2P sim- ulations. The classes Network, Node, Document, and Keyword represent, respectively, the P2P network, peer, document, and keyword. Nodes interact through instances of class Message. The p-sim simulator (11) was developed in C. It is based on the event-driven simulation technique. The supported events (including Peer Arrival/Departure, Search Query, and Evalu- ation) have a time-stamp. The simulation executes the events sequentially according to the order of their time-stamp. The simulation components include topology, peer dynamics, file search protocol, and evaluation metrics.

[1]  Mark Handley,et al.  A scalable content-addressable network , 2001, SIGCOMM '01.

[2]  Hanan Samet,et al.  A distributed quadtree index for peer-to-peer settings , 2005, 21st International Conference on Data Engineering (ICDE'05).

[3]  Krishna P. Gummadi,et al.  Measurement, modeling, and analysis of a peer-to-peer file-sharing workload , 2003, SOSP '03.

[4]  Nick Roussopoulos An Extendible Open Source P 2 P Simulator , 2003 .

[5]  Jean-Claude Bermond,et al.  De Bruijn and Kautz bus networks , 1997 .

[6]  Mark Handley,et al.  A scalable content-addressable network , 2001, SIGCOMM 2001.

[7]  Robert Morris,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM 2001.

[8]  Ben Y. Zhao,et al.  Towards a Common API for Structured Peer-to-Peer Overlays , 2003, IPTPS.

[9]  Ellen W. Zegura,et al.  P-sim: a simulator for peer-to-peer networks , 2003, 11th IEEE/ACM International Symposium on Modeling, Analysis and Simulation of Computer Telecommunications Systems, 2003. MASCOTS 2003..

[10]  Donald F. Towsley,et al.  Modeling peer-peer file sharing systems , 2003, IEEE INFOCOM 2003. Twenty-second Annual Joint Conference of the IEEE Computer and Communications Societies (IEEE Cat. No.03CH37428).

[11]  Qi He,et al.  Mapping peer behavior to packet-level details: a framework for packet-level simulation of peer-to-peer systems , 2003, 11th IEEE/ACM International Symposium on Modeling, Analysis and Simulation of Computer Telecommunications Systems, 2003. MASCOTS 2003..

[12]  Fan Chung Graham,et al.  The forwarding index of communication networks , 1987, IEEE Trans. Inf. Theory.

[13]  Viet-Dung Le,et al.  A Structured Peer-to-Peer System with Integrated Index and Storage Load Balancing , 2005, IICS.

[14]  Allen B. Downey,et al.  The structural cause of file size distributions , 2001, MASCOTS 2001, Proceedings Ninth International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems.

[15]  David R. Karger,et al.  Koorde: A Simple Degree-Optimal Distributed Hash Table , 2003, IPTPS.

[16]  Antony I. T. Rowstron,et al.  Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems , 2001, Middleware.

[17]  Richard M. Karp,et al.  Load Balancing in Structured P2P Systems , 2003, IPTPS.

[18]  David R. Karger,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM '01.

[19]  Krishna P. Gummadi,et al.  An analysis of Internet content delivery systems , 2002, OPSR.

[20]  David R. Karger,et al.  Chord: a scalable peer-to-peer lookup protocol for internet applications , 2003, TNET.

[21]  Antony I. T. Rowstron,et al.  Storage management and caching in PAST, a large-scale, persistent peer-to-peer storage utility , 2001, SOSP.

[22]  Sam Joseph,et al.  NeuroGrid: Semantically Routing Queries in Peer-to-Peer Networks , 2002, NETWORKING Workshops.

[23]  Ophir Frieder,et al.  Finding rare data objects in P2P file-sharing systems , 2005, Fifth IEEE International Conference on Peer-to-Peer Computing (P2P'05).

[24]  Scott Shenker,et al.  Can Heterogeneity Make Gnutella Scalable? , 2002, IPTPS.

[25]  Ben Y. Zhao,et al.  An Infrastructure for Fault-tolerant Wide-area Location and Routing , 2001 .

[26]  Friedhelm Meyer auf der Heide,et al.  Shortest-Path Routing in Arbitrary Networks , 1999, J. Algorithms.