Documentation concerning the programming model and the API:
Examples:
A shorthand is provided when you run a class file alone (e.g. myprogram.class):
In a general way, you should use the -l option to specify a file in which are listed (one per line) the files to transfer.
/home/john/examples/myprogram.class /home/john/examples/myinput.dat http://mywebserver.org/~john/myinput2.dat
The last argument in p2pmpirun
(myprogram hereabove) is actually a class name that must contain a main method.
In the case of applications embedded in some jar files, this argument is exactly what you would write when running it with "java".
Example: you have the following jar file myjar.jar, containing (i.e, what you can see with jar tvf)
util/ListFigure.class util/ListNames.class query/BuildQuery.class query/StartQuery.class
StartQuery.java
has a main method.
Then, you must insert the absolute pathname of myjar.jar in the xferfiles file,
and the run command should be :
Since each execution may involve different peers, programs and input data are transfered before each execution. This is a waste of bandwidth when the selected peers from one execution to another remain the same.
Since 0.29.0, you can request remote peers to cache the transfered data. For that, you must add the cache keyword after the filename in the transfer file. For example,
/home/john/examples/myapp.jar cache /home/john/examples/small.jar /home/john/examples/largedata.dat cache