Epeerdemics: A Peer-to-Peer Simulator Targeting Epidemic-Based Protocols.
Patrizio Dazzi, Emanuele Carlini · ERCIM news/ERCIM news online edition · 2013
Since the late nineties, peer-to-peer (P2P) protocols have become increasingly popular. Traditionally, these systems have been used to implement widely distributed applications, such as file-sharing services, as they provide efficient support for the discovery and distribution of information. Several different structured P2P protocols have been proposed for distributed networks. Structured, in this context, refers to the protocols ability to organize network links and data to provide specific guarantees and bounds on performances. Recently, P2P protocols have also been exploited for information diffusion and aggregation, including resource discovery and system monitoring and community-based information dissemination. These applications introduce new requirements to P2P protocols, since information freshness, rather than information precision, is their main focus. Epidemic-based (also known as gossip-based) P2P protocols are unstructured communication approaches that disseminate information in a manner similar to the spread of viruses in a biological community. They are often used to solve problems that might be difficult to tackle in other ways owing to the complex structure and dimension of the network and the fast rate of information change. These developments have fostered an increasing interest within the research community in the conception and design of novel epidemic protocols. A typical issue is the need to consider classical non-functional requirements, such as scale and performance as foundational aspects of protocol design. Indeed, these protocols fit networks comprising hundreds of thousands of nodes characterized by frequent changes in shared data and affected by considerable churn rates. Since it is unfeasible to obtain access to thousands of machines worldwide, the performances and limits of epidemic protocols are normally studied through simulations. In this sense, well-designed simulators facilitate the development of new protocols allowing for the simulation of many nodes within limited computational units. Properly designed simulators also ease the deployment of the protocols on a real infrastructure with minimal disruption to the code. In the last decade, several P2P simulators have been proposed. Essentially, they differ in the level of abstraction provided, the programming language used and flexibility in developing protocols. To ease the evaluation and comparison of protocols, these simulators