PAWN Experimental Evaluation
We evaluated the performance of PAWN on the LAN and on the WAN.
We compared the features offered by PAWN, such as
message queuing for guaranteed delivery and Remote Method Invocation
for distributed object interaction and management, on top of JXTA's
pipe and Resolver services, that offer no guarantee and no object
management service. We show that PAWN does not add a significant
overhead on the underlying overlay network provided by JXTA, making it
a suitable peer-to-peer messaging middleware for scientific
collaborations.
Experimental Setup and Hosts Configurations
On the LAN:
On the WAN:
Hosts configuration:
Communication Timing on LAN
In this experiment, an application peer pushes a response using the
Application Execution Service [AEX].
20 client peers acknowledge the response using the Application
Monitoring and Steering Service [AMS].
We can see that the difference between 2peers and 20 peers remains
consistent over the varying message sizes evaluated.
The system is scalalbe.
The discrepancy of results for the measurements obtained for messages
of size 50k and 100k cannot be explained and are related to some
network irregularities, due to other jobs running on the host at the
time of the measurements.
Communication Timing on WAN
In this experiment, we compared the overhead incurred by using a
wide-area communication; as we can see from the graph, this overhead
is very significant, and can be explained by the HTTP Relaying
performed by the Remote host in order to overcome the blocking and
firewall issues between peers. This overhead is due to the lack of
persistency of the TCP connection, since every relayed message uses
HTTP as transport, it establishes and breaks down the communication
for every message, inducing severe latencies that explain the overhead
shown on the graph.
Load measurements on the LAN
In this experiment we compare the core JXTA Rendezvous to a PAWN
Rendezvous that uses message queues to send and receive messages.
All messages are sent simultaneously from one peer to all the
remaining peers.
Load measurements on the WAN
For a wide area network, we could not conduct a similar experiment as
in the LAN because messages were being dropped severely in between the
TCP layer and the JXTA pipe layer. In order to conduct a meaningful
experiment, we decreased the time interval between messages from 1s to
100ms and notice a message drop from JXTA at 300ms.
JXTA Pipe and PAWN Remote Method Call
The time overhead spent invoking remote method calls on PAWN can be
associated to the time spent in the remote call and the time to create
the XML interface representing the call.