Troubleshooting
A list of frequently asked questions is under construction: FAQ.
General Overview
P2P-MPI has two main roles:
- Middleware: it is in charge of building an execution platform by discovering particpating modes.
- Programming model:it provides a message-passing programming model, through an MPI-like API.
Research papers help understand the design principles underlying
P2P-MPI. They are listed on the
ICPS website.
Middleware: starting a P2P-MPI node
Documentation related to the middleware part is divided into the following sections:
A small Flash demo illustrates a typical session.
Programming: writing programs to run on P2P-MPI nodes
Documentation concerning the programming model and the API is:
Compiling and running programs
- Compilation is as simple as javac myprogram.java.
- Running a program implies to transfer at least the .class file and optionally input files.
-
A shorthand is provided when you run a class file alone (e.g. myprogram.class):
p2pmpirun -n 3 myprogram
In that case, the MPD searches for a myprogram.class in the current directory, and if found will transparently transfer it to requested peers.
-
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.
p2pmpirun -n 3 -l mylist myprogram
where mylist is for example:
/home/john/examples/myprogram.class
/home/john/examples/myinput.dat
http://mywebserver.org/~john/myinput2.dat
Note that
- files should be specified with their absolute path,
- the class file must be in the list (whatever its place),
- http:// URL can be used instead of files.