Performance scalability of the JXTA P2P framework Gabriel Antoniu1, Loïc Cudennec1, Mathieu Jan1 & Mike Duigou2 1PARIS
Research Group, IRISA / INRIA, France 2Project JXTA, Sun Microsystems, USA
GdX meeting - November 2006
Why an experimental evaluation of P2P systems?
The P2P model has interesting properties
But most evaluations are simulations
Metric used: number of logical hops Few practical experiments on testbeds Does the simulation model match the reality?
Generic P2P libraries are available: JXTA, FreePastry, etc
Scalability, volatility tolerance, high-availability, etc
Useful for building higher-level services & applications
What performance can be expected by higher-levels?
Focus of this study: the JXTA P2P framework 2
Challenge: large-scale performance evaluation of JXTA
What is the best structure for a JXTA overlay?
To how many peers a JXTA overlay can scale?
How peers should be interconnected?
What are the performance of a JXTA overlay?
Bandwidth and memory consumption
Time to discover resources? Time for resolving a communication channel? Latency and bandwidth of communication channels?
Our focus: adapt JXTA to grid architectures
3
Related work
Focus of current evaluations of DHTs
Study of DHT under realistic conditions (churns for instance)
Theoretical analysis Based on traces of real systems
But: few large-scale experiments on a testbed
JXTA field Cost of loosely-consistent DHT algorithm [Halepovic et al. 2003] But: no in-depth explanations, tests not well-defined and not at large scale (up to 32 peers) No clear view of the performance of JXTA!
Our past experiments on Grid’5000
Performance evaluations and optimizations of JXTA communication layers (GP2PC’2005, HPCC’2005) 4
Short overview of JXTA
Open-source platform for programming P2P applications
Peer
Specify a set of protocols using XML Several bindings (J2SE, J2ME, C, etc) http://www.jxta.org/ Uniquely identified (Peer ID) Multiple network access points (TCP, HTTP, etc)
Peer groups (= overlay) Not part of the specification
Algorithms for the implementation of protocols Structure of a JXTA overlay 5
JXTA protocol stack
Peer Discovery Protocol
Protocol
JXTA standard protocol
Protocol
JXTA core protocol
Pipe Binding Protocol
Pipe Binding Protocol
Peer Discovery Protocol
Peer Resolver Protocol
Peer Resolver Protocol
Rendezvous Protocol
Rendezvous Protocol
Endpoint Routing Protocol
Endpoint Routing Protocol
Physical Transport Protocols
TCP, HTTP, etc
Physical Transport Protocols 6
Focus: rendezvous and discovery protocol
Type of peer involved
Rendezvous: Edge:
We note S a JXTA overlay
Rendezvous protocol
Peerview protocol Rendezvous lease protocol Rendezvous propagation protocol
Discovery protocol 7
The peerview protocol: managing an overlay
Each overlay
Ordered list (by peerID) of peers currently acting as rendezvous peers Used for routing messages Let = size (global peerview)
Each
has a global peerview
Let
has its own version = size (
(local peerview)
)
Goal of the peerview protocol
If property satisfied: optimal queries propagation 8
The peerview protocol: managing an overlay
9
The peerview protocol: managing an overlay
Probe: message from
Contains rendezvous advertisement of
In response,
to
returns
Its own rendezvous advertisement Referral response: randomly chosen rendezvous advertisement from
needs to probe
before adding it to
…
10
Time for the PV to converge across rendezvous peers? (1/4)
Testbed: Grid’5000 with up to 580 nodes
Logical overlay:
Multi-site experiments (up to 6 sites simultaneously)
Only rendezvous peers = 10, 45, 50, 80, 160, 580 (for chain topology) = 160, 220, 338 (for tree topology)
Goal of experiments:
= 11
Time for the PV to converge across rendezvous peers? (2/4)
12
Time for the PV to converge across rendezvous peers? (3/4)
13
Time for the PV to converge across rendezvous peers? (4/4)
14
The discovery protocol: advertisements
Loosely-Consistent Distributed Hash Table (LC-DHT)
Advertisements defines attributes for indexing
Publish and discover advertisements within a given
Attribute table = (index attribute, value) + lifetime + peerID of the publishing edge peer
Rendezvous peers
Keep attribute tables pushed by Replicate them on other rendezvous peers: replica peer
15
How advertisements are published? We assume that property (1) is satisfied: Overlay:
0
006
1 2
020 036
3 4 5
050 088 180
16
How advertisements are searched?
We again assume that property (1) is satisfied
17
Analysis of the discovery protocol
Link with the peerview protocol
Complexity:
Consistent locals peerview ensure optimal discovery query propagation (property 1) Fall-back mechanism: walk the global peerview
Publish: for DHTs, for LC-DHT Lookup: for DHTS, for LC-DHT If locals peerview are consistent : for LC-DHT
Motivation for LC-DHT
Handle volatility conditions without the maintenance cost of classical DHTs
18
Time to discover a specific advertisement?
Testbed: Grid’5000 with up to 255 nodes
Logical overlay:
Multi-site experiments
Rendezvous peers + edge peers = 5, 50, 100, 150, 200 = 2, 52
Noiser edges: publish 100 extra advertisements 19
Time to discover a specific advertisement?
20
Conclusion
Large-scale evaluation of two main protocols of JXTA
Management of a JXTA overlay (peerview protocol) Publish and discovery mechanism (discovery protocol)
Loosely-Consistent Distributed Hash Table
Answer to questions such as
How many rendezvous peers should I deploy? What is the performance of a JXTA overlay?
Default values need to be tuned (we show how) 21
Future work
Model for the convergence of local peerviews More evaluations of the discovery protocol
Complex queries (range queries)
Study volatility impact on both protocols
Benchmark of other services at a large scale
Resolver service (RPC in a P2P fashion) Pipe binding protocol, etc
Benchmark of JXTA-based services at a large scale (JuxMem) 22
Performance scalability of the JXTA P2P framework Gabriel Antoniu1, Loïc Cudennec1, Mathieu Jan1 & Mike Duigou2 1PARIS
Research Group, IRISA / INRIA, France 2Project JXTA, Sun Microsystems, USA
GdX meeting - November 2006