Research Article
ProtoPeer: A P2P Toolkit Bridging the Gap Between Simulation and Live Deployement
@INPROCEEDINGS{10.4108/ICST.SIMUTOOLS2009.5681, author={Wojciech Galuba and Karl Aberer and Zoran Despotovic and Wolfgang Kellerer}, title={ProtoPeer: A P2P Toolkit Bridging the Gap Between Simulation and Live Deployement}, proceedings={2nd International ICST Conference on Simulation Tools and Techniques}, publisher={ICST}, proceedings_a={SIMUTOOLS}, year={2010}, month={5}, keywords={distributed systems peer-to-peer systems prototyping toolkit framework simulator}, doi={10.4108/ICST.SIMUTOOLS2009.5681} }
- Wojciech Galuba
Karl Aberer
Zoran Despotovic
Wolfgang Kellerer
Year: 2010
ProtoPeer: A P2P Toolkit Bridging the Gap Between Simulation and Live Deployement
SIMUTOOLS
ICST
DOI: 10.4108/ICST.SIMUTOOLS2009.5681
Abstract
Simulators are a commonly used tool in peer-to-peer systems research. However, they may not be able to capture all the details of a system operating in a live network. Transitioning from the simulation to the actual system implementation is a non-trivial and time-consuming task. We present ProtoPeer, a peer-to-peer systems prototyping toolkit that allows for switching between the event-driven simulation and live network deployment without changing any of the application code. ProtoPeer defines a set of APIs for message passing, message queuing, timer operations as well as overlay routing and managing the overlay neighbors. Users can plug in their own custom implementations of most of the parts of ProtoPeer including custom network models for simulation and custom message passing over different network stacks. ProtoPeer is not only a framework for building systems but also for evaluating them. It has a unified system-wide infrastructure for event injection, measurement logging, measurement aggregation and managing evaluation scenarios. The simulator scales to tens of thousands of peers and gives accurate predictions closely matching the live network measurements.