File List
Not logged in

Files of check-in [d26d71cd86] in directory wiki_references/2017/software/simulators/p2psim/src/2005_04_18_src/p2psim-0.3   [history]

This is a pre alpha version of p2psim. We would value your feedback with
suggestions and improvements.

Compiling p2psim
Please see INSTALL for compilation instructions.

Also, see:
Running p2psim

You'll need to create 3 files first.  A topology file, a protocol file, and an
events file.

Look at example/topology.txt for the syntax and an example of a topology file.
Look at example/protocol.txt for the syntax and an example of a protocol file.
Look at example/events.txt for the syntax and an example of an events file.

p2psim/p2psim [protocolfile] [topologyfile] [eventsfile]



scripts/ allows you to iterate (randomly or sequentially)
through different parameter configurations of a particular protocol.  To run,
make a file containing the names of all the parameters to test, and the
values those parameters should take.  For example:

base 1 2 3 4
timer 200 400 600
bigtimer *timer 2 4
littlebase <=base 1 2 3 4

base can take on values 1 through 4, and timer can take on 200, 400, or 600.
bigtimer will be equal to either twice or 4 times the timer value, and 
littlebase can be 1 through 4, but is constrained to be less than or equal to
the value of base.  Other modifiers include "=", "+", "<", 
and ">".  For examples of some parameter files, see the 
{tapestry, chord, kademlia, kelips}_args files in example/.

Run 'scripts/ --help' to see the available options.  It uses
the ChurnEventGenerator to generate events.  An example execution might be:

scripts/ --protocol tapestry --topology example/silly-top.txt --lookupmean 1000 --lifemean 100000 --deathmean 100000 --exittime 200000 --args example/tapestry_args --logdir /tmp/p2psimtest --randomize 100

Your logs will be in the directory /tmp/p2psimtest, which will be created if
it doesn't already exist.

Please see our FAQ at:, or send us
email at