BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage News Grid Computing with the Java Parallel Processing Framework

Grid Computing with the Java Parallel Processing Framework

The Java Parallel Processing Framework (JPPF) has been making frequent point releases recently. Currently at version 0.22, it is designed to distribute application tasks over a cluster of computers and coordinate their execution in parallel.   JPPF is made up of a client layer in which client apps request task executions, a service layer/JPPF Driver that queues execution requests from the client layer which will be taken by available nodes to process asynchronously, along with load balancing and recovery capabilities, and an execution layer on each node of the computation grid responsible for executing atomic tasks in parallel whose code is dynamically loaded from the JPPF driver. 

Defining a task is straight forward:

public class MyTask extends JPPFTask
{
public void run()
{
 ... my code ...

setResult(theComputationResult);
}
}

Then, submitting a task for execution from client code looks like this:

public class MyTaskSubmitter
{
 //Submit the tasks and wait for their execution.
 public void submit() throws Exception
 {
JPPFClient jppfClient = new JPPFClient();
List taskList = new ArrayList();
taskList.add(new MyTask());

jppfClient.submit(taskList, null);
 }
}


The key features of JPPF include:

  • An API to delegate the processing of parallelized tasks to local and remote execution services
  • API and UI support for server administration and monitoring
  • Asynchronous communication model to support a high level of concurrency
  • Scalability up to an arbitrary number of processing nodes
  • Built-in failover and recovery for all components of the framework (clients, server and nodes)
  • The framework is deployment-free: no need to install your application/task code on a server, just connect to the server and any new code is automatically taken into account

Licensed under the terms of LGPL, JPPF is aimed to be an open source alternative to the grid computing solution, in addition to the existing ones such as Globus, Sun's Grid Engine and Teragrid.

Rate this Article

Adoption
Style

BT