Overview of P3

last-modified: September 5, 2004

P3 is middleware for distributed computing with volatile PCs, in which participants provide and also use other's computers. This project is also an effort to develop such middleware on pure P2P facilities provided by JXTA.

Table of Contents

PCs interacts with each other in a true P2P mode

P3 utilizes JXTA (www.jxta.org), a widely accepted P2P communication library. P2P concepts which JXTA implements efficiently support P3:


Fig. 1: Peer groups.

Parallel Processing Libraries and Emulator

Two parallel programming APIs to application writers are provided:

These libraries are implemented over the Object Passing Library. An Emulator of the Object Passing Library is also provided and it hosts a parallel application even though it runs on one computer.


Fig. 2: Libraries and an emulator.

A parallel application using these libraries is usually hosted by P3 Job Management system, but the libraries are highly independent from it. It is possible to run the application with a simple wrapping program or other hosting facilities.

Job Management system

Job Management system conducts discovery of PCs and jobs, code distribution and execution control of submitted jobs. This subsystem consists of the following two programs:


Fig. 3: Controller.

Fig. 4: Host.

Job Monitor

On a web browser, a resource user can monitor progress of calculation for submitted jobs.


Fig. 5: Job Monitor.

Fig. 6: Host Information part on Job Monitor screen.

Return to P3 main page