InfoQ

News

Parallel Processing Framework JPPF 1.1 Supports TCP Multiplexer and JMX Monitoring

Posted by Srini Penchikala on Apr 09, 2008 02:00 PM

Community
Java
Topics
Grid Computing
Tags
Concurrency,
Parallel Programming

The latest version of JPPF, a java based open source parallel processing framework, includes a networking tool called TCP port multiplexer to enable JPPF work in secure firewall environments. JPPF team released the version 1.1 of the framework which also includes JMX based node monitoring and management features.

Prior to the latest version of JPPF framework, there was no easy way to integrate JPPF in secure network environments, due to the inherent design of the communication layer. JPPF requires at least 3 separate TCP/IP ports to function but many firewalled environments only allow a single port. This blocks the network communication by preventing any traffic through the unauthorized ports.

The new TCP multiplexer addresses this limitation by enabling the routing of network traffic coming from multiple ports through a single port. It is then possible to tunnel the multiplexer-to-multiplexer traffic through SSH or any other protocol that allows tunneling of TCP/IP traffic. It also routes the same traffic from a single port to multiple ones on the other side of the network.

The end result is that JPPF components will continue to work in exactly the same way, except that they will connect to local multiplexer instances, rather than to remote JPPF servers. This opens the door to the deployment of JPPF in heavily secured environments, without having to deploy a complex hardware/software infrastructure.

TCP multiplexer tool comes as a separate component from JPPF components (clients, servers, and nodes) so it can be used without any changes to the existing JPPF client code. Each multiplexer instance is deployed as a separate process.

The first version of the multiplexer, released with JPPF 1.1, provides the basic functionality which currently only works for JPPF traffic. In a subsequent version, there will be another "flavor" that will work with any TCP/IP traffic. This will allow users to interact with web servers configured with non-standard ports or to make direct EJB calls to a J2EE server behind a firewall. The future versions of TCP multiplexer will also include the ability to apply independently developed filters enabling:

  • Encryption/decryption of the data routed from multiplexer to multiplexer
  • Encapsulation within higher-level protocols, for instance to work with HTTP and SOCKS proxies

Other new features in JPPF release include the following:

  • A new node management feature was added, that enables updating a node's execution thread pool dynamically.
  • A JMX based node monitoring feature was also added. This allows the administrators to collect the statistics like the node's system and java environment details.

The node monitoring feature is used to capture the information such as the state of the JVM, system and environment variables, available CPUs, and so forth. These statistics are accessible from the JPPF administration console. Other information available from the GUI console includes the node status, task execution status (whether a task has been executed or not), number of tasks executed etc. Specific tasks can be canceled or restarted from the admin console.

The admins and developers can get a overview of what environment a node runs in, as well as useful snapshots of its state, allowing for an understanding of how the load is handled. This information is available from the JPPF monitoring console as well as through dedicated APIs.

Laurent Cohen from JPPF team said that this is a preliminary step laying the ground for a new feature in the next major version, that will enable users and admins to control when, where and how JPPF jobs will be executed. JPPF jobs will be associated with an "execution policy" that will have access to the nodes' information and provide a fine-grained definition of the conditions in which a job can be executed.

The future roadmap of JPPF project also includes some major integration work, with a focus on integration with Gigaspaces for high volume transactional enterprise applications with computation-intensive needs, and business rules engines integration. Other future integrations include Business Process Management (BPM) and Extract, Transform and Load (ETL) frameworks. Also included in the roadmap is adding the multi-agent system capabilities to JPPF grid toolkit.

No comments

Reply

Exclusive Content

Rationalizing the Presentation Tier

Thin client paradigm characterized by web applications is a kludge that needs to be repudiated. Old compromises are no longer needed and it's time to move the presentation tier to where it belongs.

Agile Project Management: Lessons Learned at Google

In this presentation filmed during QCon 2007, Jeff Sutherland, the creator of Scrum, talks about his visit at Google to do an analysis of Google's first implementation of Scrum.

AtomServer – The Power of Publishing for Data Distribution

In this article, Bryon Jacob and Chris Berry introduce AtomServer, their implementation of a full-fledged Atom Store based on Apache Abdera, which is now available as open source.

An Introduction to Virtualization

It is easy to think that virtualization applies only to servers. In reality the recent resurgence of the concept is also being applied to networking, storage, and application infrastructure.

REST Anti-Patterns

In this article, Stefan Tilkov explains some of the most common anti-patterns found in applications that claim to follow a "RESTful" design and suggests ways to avoid them.

Choosing between Routing and Orchestration in an ESB

In this article, Adrien Louis and Marc Dutoo discuss the differences and relative merits of using orchestration vs. routing in a typical ESB setup, and discuss various implementation options.

Enterprise Batch Processing with Spring

Wayne Lund discusses batch processing, Spring Batch objectives and features, scenarios for usage, Spring Batch architecture, scaling, example code, failures and retrying, and the future roadmap.

User Story Estimation Techniques

Developer Jay Fields draws on his experiences as a ThoughtWorks consultant to describe effective user story estimation techniques.