Korea-Japan Grid Symposium, Seoul
December 1-2, 2004

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 utilizing JXTA.
Traditional goals
Cycle scavenging

 Harvest compute power of existing PCs inan organization.

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 ?

cf. Community Scheduler Framework

Dealings and circulation of computationalresources
 Transfer individual resources (C2C, C2B)

and also aggregated resources (B2B).
 Other resources than processing power.
 Commercial dealings need a market and asystem supporting it.

Transfer and aggregation ofindividual resources

P2P way of interaction between PCs
P3 uses JXTA for all communicationsJXTA is a widely accepted P2P protocol, project and library, that provides
common functions P2P software requires.

P2P concepts supported by JXTA efficiently support P3:
 Ad-hoc self-organization

 PCs can discover and communicate with each other without pre-configuration.

DiscoveryPeer Group PCs dynamically discover each other and jobs without a central server.
 PCs are grouped into job groups, in which PCs carry out code distribution, jobcontrol, and collective communication for parallel computation.

Overlay Network

 Peer ID in JXTA is independent from physical IDs like IP addresses and MAC

addresses.
 JXTA enables end-to-end bidirectional communication over NA(P)T and firewall(even if the FW allows only unidirectional HTTP).
 This function supports parallel processing in the message-passing model, notonly master-worker model.

Other Benefits from JXTAScalability
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 andsubmitted jobs with JXTA’s discovery funciton.

Multi-protocol

JXTA relay peers mediate messages between
TCP, HTTP, IP multicast and possibly otherprotocols like Bluetooth.

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.
3D structure

Practical

not only for research.

 There have been many many middleware for research

purpose.
 Development of P3 is funded by a government agency topromote the development of economy.

A Protein-Folding application is working on P3.
Practicality of P3 has been improved with them.

Scalable

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.

of a protein

Design Goals (cont’d)NA(P)T and firewall traversable

Now, Most PCs are located behind a firewall onthe Internet.
 To overcome this restriction, many dist. comp.
systems use only HTTP as communication
protocol and limit communications to one-way(client -> server).
 e.g. United Devices’ GridMPP3 uses JXTA for all communications

 All P3 peers can communicate with each otherbidirectionally.
 P3 provides a message-passing API besides masterworker API.

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
P3 currently consists from of three subsystems


Job management, Parallel programming lib., Job monitor

Job management subsystemHost jobs (submitted apps) and control their execution.

 Host: A daemon program runs on a provided PC.
 Controller: by which a resource user submit and control jobs.

Parallel programming libraries
Application programs that use these libraries can run on P3.
 Master-worker
 Message Passing (like MPI)

Job monitor

Shows the state of jobs and Hosts
 Web-based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 run in a head(GUI)-less mode.

 In that case, the Host decides whether to join a found job or not according toa 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

How Peer Group is utilized
Net Peer Group


Host

Host
Host

HostBase Peer Group

HostController
Job Peer GroupController

Job Peer Group

Base Peer GroupController

Host

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

A PG for P3.
All Hosts andControllers join
this PG first.

Job Peer GroupJob Peer GroupA PG always
exits in a JXTA
apps.

A 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

HostHostHostHost(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 itslow?
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
10Throughput（MB/s）

JXTA-MPI
10 x 10**6 bps

8100 x 10**6 bps
6420124

8

1632

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

Granularity ofworkunit# of keys a workunit: 0x8000

28# of keys a workunit: 0x40000x8000: 1.4 sec
 0x4000: 0.69 sec
 0x2000: 0.36 sec# of keys a workunit: 0x2000

24

Speedup Ratio

Ideal Speedup

201612840048121620

Number of Workers

242832

Very fine for a loadtest. Unusual forInternet-widecomputation.

Related WorkJNGI

being developed by Sun Microsystems.
 uses JXTA.
 utilizes peer groups to manage many PCs efficiently.
 Groups of working peers are established in advance, and a

submitted (parallel) job is assigned one of those groups.
 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 (as of Sep 2003).

XtremWeb, GreenTea, Javelin, Bayanihan, …

Of course, they have their own good points, but 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.

Current Status and Future Plan
Publicly released
http://p-three.sourceforge.net/
 under Apache License 2.0 Like BSD license and imposes few constraints.
in September 2004

More applications and deployment
P3 as an application hosting environment(Osaka University and NICT).

KR-JP Grid Symposium, SeoulDecember 1-2, 2004

Integration Patterns ofP2P and Grid Technologies
Kazuyuki Shudo <shudo@ni.aist.go.jp>,
Grid Technology Research Center,AIST, Japan

Synergies between Grid and P2P
It seems to be an intuitive feel.
There have been activities including:General and conceptual discussion
Introduction of activities: projects and implementations
Key capabilities of these technologies
Comparison in major aspects

GGF9 workshop (Oct 2003)


Peer-to-Peer and Grids: Synergies and Opportunities
http://www-csag.ucsd.edu/P2P-Grid/

APAN and Internet2 joint meeting (Jan 2004)


P2P and GRID: Convergence and Challenges
http://apan.net/meetings/honolulu2004/ws-application.htm#appl3

This talk is a survey of instances of Grid/P2Pintegration
To extract integration patterns

Grid/P2P Technologies andtheir Integration
Technologies and characteristics regarded as
belonging to P2PResource discovery Ad-hoc and dynamic grouping/matchingNetwork overlay

 Logical ID, NA(P)T traversal, multi-protocol support

Scalability, Fault-tolerance, low management cost, …

GridResource aggregation

 Cluster of computers, global filesystem, …

Scheduling, Resource assignment Parallel/distributed processing (PKI-based) authentication/authorizationPreliminary Classification
toward TaxonomyInstances

JNGI, P3

P2P Grid Information Service



Sun ONE Grid Engine (SGE) + JXTA Distributed computing system based on JXTA P2P GIS (ISTI-CNR, Italy), GAIS (KISTI) SGE is a job management software for PC/WS cluster like PBS
and Platform’s LSF



P2P Grid system + Grid middleware

 cf. Community Scheduler Framework (CSF): OGSI-compliant

meta-scheduling framework built upon GT3

Platform’s LSF + Globus Toolkit 3.x (GT3) United Devices’ Grid MP was planned to be compliant with theCSF ?
Patterns

P2P distributed computing, Desktop Grid
 P2P over Grid
 Grid over P2P
P2P distributed computing
Aggregate computational resources with P2Ptechnologies for distributed computation

ex. JXTA-based dist. comp. middleware
 JNGI, P2P



(XtremWeb, SETI@home, distributed.net, …)

Job submission
Aggregation
with P2P tech

P2P over Grid
Aggregate resources with Grid technologies
and discover the resources with P2Ptechnologies
ex.
 P2P-based Grid Information Service


P2P GIS (ISTI-CNR, Italy), GAIS (KISTI), …

 Sun One Grid Engine (SGE) + JXTA

Discovery
with P2P tech
Aggregation
with Grid tech

Aggregation with Cluster tech &Exposure with Grid tech

Grid over P2P
Aggregate resources with P2P technologies andassign workloads/data onto the resources with Gridtechnologies
Secure co-allocationex.
United Devices’ Grid MP + Globus Toolkit

Workload assignmentwith Grid tech
Aggregation
with P2P tech

Jobsubmission

PCs in an organization/
on InternetSummary

Usual GridP2P over Grid

Resource Discovery

Grid

Resource Exposure, Workload assignment
Resource Aggregation

Purpose

Grid over P2P
P2P

GridCluster

P2P

Technologies

Other ways of classification?
Other integration pattern? techapplication?
New value with unexplored patterns?