17th APAN Meetings,
Application Tech. Workshop:

P2P and Grid: Convergence and Challenges

P3: Personal Power Plant

Makes over your PCs into power generator on the Grid
Kazuyuki Shudo <shudo@ni.aist.go.jp>,
Yoshio Tanaka,
Satoshi Sekiguchi
Grid Technology Research Center, AIST, JapanP3: Personal Power Plant
Middleware for distributed
computation
Traditional goals

Cycle scavenging

Harvest compute power of existing PCs.

Internet-wide distributed computing

Conventional dist. computing

E.g. distributed.net, SETI@home

Challenging goals

Aggregate PCs and expose them as anintegrated Grid resource.
Integrate P3 with Grid middleware ?

Circulation of computational resources

Transfer individual resources (C2C,C2B) and also aggregated resources(B2B).
Commercial dealings need a market anda system supporting it.

Transfer and aggregation ofindividual resources

Design Goals
Application neutral

cf. Client software of traditional dist. comp. projects (e.g.
distributed.net) is tightly coupled with a few applications.
P3 is decoupled from applications and users can submit apps
into a PC pool.

Practical

not only for research.

There have been many many middleware for research purpose.
Development of P3 is funded to promote the development ofeconomy.

A Protein-Folding application is working on P3 and we test
practical use of P3.

Scalable

Of course ☺
We could test P3 with only dozens of PCs so far.
But we’re measuring other scalability factors including
throughput of workunit-processing by a master.

Design Goals (cont’d)NA(P)T and firewall traversable
Now, Most PCs are located behind a firewall on theInternet.
To overcome this restriction, many dist. comp. systems use
only HTTP as communication protocol and limit
communications to one-way (client -> server).Design Goals (cont’d)NA(P)T and firewall traversable

P3 uses JXTA for all communications.
JXTA is a widely accepted P2P protocol, project and librarythat provides common functions P2P software requires.
JXTA enables bidirectional communication over NA(P)T andmany kinds of firewall (incl. unidirectional HTTP only FW).
P3 provides message-passing API for parallel programming besides masterworker API.

Other aims in adopting JXTA:
Scalability: JXTA Project set its scalability target as 300,000 peers
are active in 1,500,000 peers.
Configuration-less: A P3 peer can discover other peers and submitted
jobs with JXTA’s discovery feature.
Multi-protocol: JXTA relay peers mediate messages between TCP,HTTP, IP multicast and possibly other protocols like Bluetooth.

Design Goals (cont’d)
Choice of applications by PC providers

PC providers (participants in a dist. comp. project) should be able tochoose jobs to which their PCs are devoted.

It is very important for PC providers to be able to control their own
resources.

In a traditional Internet-wide project, a PC provider has only one
choice, install or not.
Using P3, a PC provider can confirm a digital signature of a job
and decide whether to accept it or not.

Adaptation to both intra- and Internet

On the Internet, we have to assume that there are malicious PCproviders.

they will try to cheat the software and the operators of the project.
E.g. pretending to finish calculation, DoS attack and so on.

P3 can confirm the correctness of collected results by voting.
Distribute identical workunits and verify the returned results.
This function can be disabled and a veriyfying logic can besubstituted.

Design Goals (cont’d)Easy deployment and automatic updating
The amount of installation and updating labor areproportional to the number of PCs and can be huge.
Vulnerable client software will be mostly left as it is if thesoftware cannot be updated automatically somehow.
A vulnerability was found in SETI@home client software inApril 2003.

P3 can be installed by only mouse-clicks on a web page andupdated automatically.
cf. Java Web Start (JWS)Structure of P3
Job management subsystem

Host jobs (submitted apps) and control theirexecution.

Host: A daemon program runs on a provided PC.
Controller: by which a resource user submit and controljobs.
Job monitor: shows a state of a job and attending Hosts.

Parallel programming libraries

Application programs that use these libraries canrun on P3.
Master-worker
Message Passing (like MPI)

Job Management Subsystem:

Controller

A resource user submits and control jobs
with Controller.

Attending Hosts

A submitted job

Job Management Subsystem:

HostA daemon program runs on a provided PC.

A Host can be invoked in a head(GUI)-less mode. In that case, it decides
whether to join a found job or not according to a policy supplied by the
PC provider (owner).
Host can host multiple jobs simultaneously.

Discovered jobs
Output froma running job

Job Management Subsystem:

Job Monitor

Web browser

Total view

Number ofprocessedworkunits

Calculation
speed

Host view

Job Management Subsystem:

Job Monitor (cont’d)

Host Information

Job Information

Peer Groups (PG)
Net Peer GroupA PG always
exits in a JXTA
apps.

HostHost
Host
Host
HostController
Job Peer GroupController

Job Peer Group

Job Peer Group

Base Peer GroupController

HostNet Peer Group(always existing JXTA’s base group)

Base Peer GroupA PG for P3.
All Hosts andControllers join
this PG first.

Job Peer GroupA PG for eachjob.
All job-relatedcomm. are
performed in thisPG.
Job control
Parallelprocessing

Job Submission by Controller(3) Share application code in the groupwith JXTA CMS service
Application
Application
CodeCodeController

Job Peer Group

Base Peer Group(1) Create a Job Peer GroupController(2) Join the Job Peer GroupParticipation in a Job(4) Discover Application code(5) Obtain the code from a Controller
Application
Application
CodeCodeJob Peer Group

Base Peer Group(1) Discover Job Peer Groups(2) Decide to join a discovered job

HostHost

HostHost(3) Join the Job Peer GroupParallel Programming Libraries
Application programmers can use 2 libraries:
Master-worker
Message passing (like MPI)

Emulator- JXTA-MPI

enables us to run parallel apps on one PC.
It is extremely useful to test and debug the application inadvance of real deployment.
Application

Application

Master-Worker API

Message Passing API

Master-Worker
Library

Message Passing
Library

ObjectPassing
Emulator

OtherLibs

Object Passing
LibraryP2P comm. Library: JXTA

Performance Evaluation
JXTA provides a rich set of functions, but… Isn’t it
slow?
Certainly, not fast. But enough for many cases.

Performance measurements:

Basic communication performance
Latency and throughput

Application

RC5 attack

Environments:

2.4 GHz Xeon PCs, Gigabit Ethernet
Linux 2.4.19, Java 2 SDK 1.4.2, JXTA 2.1
Rich PC and network compared with today’s Internet, but
in which limits of P3 software can be measured clearly.

Communication Latency
1 byte round-trip communication.
A one-way comm. takes
TCP (in C):
TCP (in Java):
P3’s Message passing:Not fast

0.062 msec
0.064 msec
4.5 msec

It can limit the number of workunits that amaster can process. One workunit takes several
milliseconds.
Enough for many situations,but JXTA should be improved.

Communication Throughput
Message passing library is used.
About 100 Mbps (100 x 10 ** 6 bps).

Not very fast on Gigabit Ethernet, but P3 can fill Internet connections to small
offices and homes.

Throughput declines with larger messages.
Such a large message should be divided.

100 Mbps

1210.97 MB/s
Throughput（MB/s）

10JXTA-MPI
10 x 10**6 bps

8100 x 10**6 bps
642012481632

64

Data size（KB）

1282565121024

Application Performance
A load test with small workunits.

Brute-force attack on RC5 cryptsystem.
same as distributed.net working on RSA RC5 challenge.
P3 is tolerant of such granularity of workunits (taking several seconds)
with dozens of PCs.

32

Workunit
processing time:# of keys a workunit: 0x8000

28# of keys a workunit: 0x4000

0x8000: 1.4 sec
0x4000: 0.69 sec
0x2000: 0.36 sec# of keys a workunit: 0x2000

24Speedup Ratio

Ideal Speedup201612Very small. Unusualfor Internet-widecomputation.

840048121620

Number of Workers

242832

Related WorkJNGI

being developed by Sun Microsystems.
uses JXTA.
utilizes peer groups to manage many PCs efficiently.
cf. while P3 creates peer groups for each job.

Though a paper has been published (in GRID 2002), most partof the idea has not been implemented.

XtremWeb, GreenTea, Javelin, Bayanihan, …

PC providers cannot choose application programs.
Programming model is limited to master-worker or divideand-conquer.
Firewall are not considered.
use Java RMI, TCP and so on.

Not tolerant of malicious PC providers or obscure.

Future Plan
Public release2Q 2004 planned

Test with more PCs
Several hundreds or more PCs
with AIST super cluster ?
Having over 1000 PCs

Write a paper
A Japanese paper will be accepted, but