PAWN : Enabling P2P interactions on the Grid



Abstract

The emergence of computational Grids and the potential for seamless aggregation, integration and interactions has made it possible for scientists and engineers to conceive a new generation of realistic, scientific and engineering simulations of complex physical phenomena. Global and autonomic scientific investigation requires continuous, seamless and secure interactions where the application components, grid services, resources (systems, CPUs, instruments, storage) and data (archives, sensors) can interact as peers. This paper presents Pawn, a peer-to-peer messaging substrate that builds on this emerging Grid middleware to enable the peer-to-peer interactions required for distributed computational systems targeting scientific investigation. Specifically it provides key messaging mechanisms to enable monitoring, computational interaction, steering, dynamic data interrogation and injection, and collaboration between peers across the Grid. Pawn builds on Project JXTA, DISCOVER and Globus middleware services and enables dynamic peer-to-peer discovery of applications, resources and users peers, and interactions between them. The design and implementation of Pawn and its use for enabling interaction for oil reservoir optimization on the Grid is presented.

Contributions

  • We argue that building large-scale scientific collaborations benefits from a purely peer-to-peer architecture as opposed to a client/server architecture.
  • We define the design requirements of a peer-to-peer messaging middleware.
  • We implemented and deployed PAWN, a peer-to-peer messaging that allows building interoperable, adaptive and autonomic applications in a scalable and transparent manner for the user.
  • We evaluated the performance of PAWN in real-world scenarios involving large-scale scientific collaborations, and showed that the decentralized nature of PAWN offers a novel approach to distributed collaborative application for monitoring and steering enabling loosely-coupled computational models comparable to tightly-coupled computationalmodels at the cost of the network delays latencies.

Motivation

The motivation for PAWN is to provide interaction mechanisms for science in a more robust manner than the centralized services architectures. This is accomplished by moving services at the peer's level and using a common messaging service as a carrier enabling these interactions.

The two pictures below represent the transition from a centralized service architecture to a decentralized architecture as proposed in PAWN.

    

PAWN defines and implements services that work on top of Project JXTA's core services.
JXTA defines 6 fundamental protocols :

  • An Endpoint Protocol for addressing and routing messages between endpoints
  • A Rendezvous Protocol for propagating messages within a peergroup, using the endpoint protocol
  • A Resolver Protocol for sending queries and responses, using the rendezvous protocol
  • A Pipe Binding Protocol that provides input and output virtual communication channels to an endpoint, using the resolver protocol
  • A Peer Information Protocol for monitoring a peer's load and status using the Resolver protocol
  • A Discovery Protocol for publishing and receiving advertisements from other peers in the group, using the resolver protocol
jxta_protocols.html provides a more complete description of those protocols and their associated messages. Visit Project JXTA's web page.

PAWN defines services that are common to collaborative applications in science.
Among those services are:



  • Application Execution and Control
  • Application Monitoring and Steering
  • Chat, Whiteboard, Presence
see pawn_protocols.html for full description

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. For graphs and measure, visit the Results page

Summary

Pawn is a peer-to-peer messaging substrate that supports peer-to-peer interactions required for global scientific investigation. Pawn provides guaranteed message delivery and ordering among distributed peers. It enables wide-area peer-to-peer interactions on the computational Grid by using the existing Grid services to deploy peers on available resources, and provides an overlay messaging enabling high-level scientific interactions such as dynamic data injection, synchronous/asynchronous communication, proxying, and data archival. Pawn leverages Project JXTA and defines high level services, enabling dynamic and adaptive application composition that can be deployed across wide-area networks. The design and implementation of Pawn and its use for enabling interaction for oil reservoir optimization on the Grid was presented. Our current efforts are focused on optimizing the gateway peers, in terms of their scalability and availability, and the connection of localized peergroups to form wide-area collaboratories.



Links

JXTA Features
Pawn slide
Notes on Java Native Interface
PAWN Javadocs
P2P web page
Project JXTA
Brendon Wilson's page
PAWN related work
Interesting article at gridtoday.com