JPPF, java, parallel computing, distributed computing, grid computing, parallel, distributed, cluster, grid, cloud, open source, android, .net

The open source
grid computing

 Home   About   Features   Download   Documentation   Forums 

8/4/2018 JPPF 6.0 beta

This preview release brings outstanding new features and enhancements


Download - Documentation - Javadoc - previous JPPF 6.0 alpha 4 release - User forums - Issue tracker - Source code

New features highlights

Heartbeat mechanism for connection failure detection

The existing mechanism was completely refactored into a NIO-based framework, with major advantages:

  • it now uses the same server port as for the job data, distributed class loader and JMX remote connector
  • the server-side NIO implementation allows greater scalability by multiplexing network connections
  • the heartbeat mechanism can now be applied to P2P connections between servers and to client connections
  • the configuration was greatly simplified: an additional TCP port is no longer needed on the server side, and the client-side configuration (for peer servers, nodes and clients) is obtained from the server during handshake
  • all server discovery plugins (from clients, nodes and other peer servers) have been updated to reflect these changes

Desktop administration console enhancement

The master/slave nodes relationships are now visible in the graph view of the topology

Various enhancements

All implemented issues




6/10/2018 JPPF 6.0 alpha 4

This preview release brings outstanding new features and enhancements


Download - Documentation - Javadoc - previous JPPF 6.0 alpha 3 release - User forums - Issue tracker - Source code

New features highlights

Pluggable monitoring data providers

  • this extension mechanism allows the management and monitoring API to provide user-defined data fields representing diagnostics data, health or general information on the JPPF node and driver JVM processes or the system on which they run
  • custom data fields are automatically added to the JVM health view of the desktop and web administration consoles
  • all numeric data fields are automatically made available to the user-defined charts of the desktop console
  • monitoring data providers have full localization support
  • the default data fields in the JVM health view are supplied by a built-in monitoring data provider

New JVM / Process / System Health built-in data fields

Thanks to the integration of Oshi, new fields have been added that are not natively available to the JVM:

  • CPU temperature
  • OS name and version
  • Process Resident Set Size (RSS), how much memory is allocated to the process, excluding swap
  • Process Virtual Memory Size (VSZ), shows all the memory the process can access, including swap
  • Swap usage amount and percentage

Nio-based JMX remote connector

  • full-fledged, fast and scalable, NIO-based implementation of the JMX remote specification
  • available as a standalone JMX remote connector
  • also fully integrated with JPPF, removing the need for JPPF servers to configure a separate JMX port
  • now integrated as the default JMX remote connector in JPPF grids

Various enhancements

All implemented issues




4/15/2018 The JPPF source code has migrated to Github!

The JPPF source code is now hosted on Github, here.

The related documentation was updated to reflect this change.

Existing services remain as they are, in particular the user forums, the issue tracker and the downloads

9/29/2017 JPPF 6.0 alpha 3 preview

This preview release brings outstanding new features and enhancements


Download - Documentation - Javadoc - previous JPPF 6.0 alpha 2 release

New features highlights

Multi-server topologies improvements

Full-fledged NIO implementation
  • communication between servers was refactored to work purely via the NIO APIs
  • it now reuses the existing NIO thread pool instead of starting its own threads
Server to server connection pooling
  • communication between servers is now defined via connection pools of arbitrary size
  • this enables a more efficient distribution of the load between servers and improves scalability
  • pooling is now enabled from the configuration and all discovery services

Complex expressions as arguments of execution policies

Persistence and reuse of load-balancers states

All implemented issues



8/15/2017 JPPF 6.0 alpha 2 preview

This preview release brings outstanding new features and enhancements


Download - Documentation - Javadoc - previous JPPF 6.0 alpha release

New features highlights

Database Services

This new faciltiy allows to create and configure JDBC data sources and use them in any JPPF component.
In particular, it is possible to:
  • define JDBC data sources in the JPPF configuration and access them from the tasks or client code
  • define data sources in a JPPF driver and propagate them to all or a selection of the attached nodes
  • dynamically create and manage data sources with a dedicated API

Jobs Persistence

JPPF drivers can now persist the jobs they receive, along with their results, in a permanent store.
This adds major new capabilities to the drivers, in particular:

Jobs persistence is a pluggable facility, for which JPPF provides four built-in implementations:

Users can also implement their own persistence service, according to their specific needs.

Misc improvements

  • Tne JPPF client code handling the connections state was simplified, resulting in improved robustness and performance
  • JPPF tasks can now access the node they execute on
  • Significant performance improvements, based on numerous profiling sessions and stress tests

All implemented issues



4/10/2017 JPPF 6.0-alpha preview release

This preview release brings outstanding new features and enhancements


Download - Documentation - Javadoc

New features highlights

Web administration console:

  • the web console provides management and monitoring of JPPF grids from a web application
  • container-managed authentication allows any authentication policy supported by the web/application server
  • authorizations with three application-defined roles: adminsitrator (JPPF client configuration and management), manager (grid management) and monitor (monitoring and read-only operations)
  • connections to the servers and client configuration can be performed in-place without restarting the web server
  • functionally equivalent to the rich client console, except for the charts that are still missing
  • tested on leading web and application servers: Glassfish, JBoss, Wildfly, Tomcat, Jetty, Websphere Liberty, Weblogic
  • fully localized (English and French translations available at this time)

API enhancements:

  • all APIs deprecated in 5.x were removed
  • wherever applicable, setter and modifier methods were refactored to enable method call chaining, allowing a more fluent code style

Desktop administration console enhancements

  • load-balancing settings tab was moved to a popup dialog in the topology views
  • added a "select all nodes" button in the toplogy views and a "select all jobs" buttons in the jobs view

All implemented issues




4/2/2017 JPPF 5.2.6 maintenance release

This maintenance release brings important bug fixes and enhancements.

Bug fixes


4/2/2017 JPPF 5.1.6 maintenance release

This maintenance release brings an important bug fix.

Bug fixes

11/27/2016 JPPF 5.2.3 maintenance release

This maintenance release an important bug fix

Bug fixes

8/22/2016 JPPF 5.2.1 maintenance release

This maintenance release brings important bug fixes and enhancements


Bug fixes

8/2/2016 JPPF 5.2 Generally Available

This version brings amazing features and enhancements


Download - Documentation - Javadoc

New features highlights

Administration console:

  • node filtering with an execution policy editor with import/export capabilities
  • ability to select the visible statistics in the server statiscs view
  • syntax hihghlighting in all the editors: properties/node filtering
  • the admin console splash screen is now customizable via the configuration
  • The administration console is now fully localized, with full English and French translations available


  • all documented properties are now defined as constants
  • a new and elegant API was created to handle them easily
  • it is now possible to specify in the configuration which JVM to use for the nodes and servers. This also applies to master and slave nodes when they are (re)started


Android node:

Job SLA:

  • The job SLA can now specifiy filtering rules based on the server properties and the number of nodes satisfying one or more conditions
    Example: "execute when the server has at least 2 GB of heap memory and at least 3 nodes with more than 4 cores each"
  • The job SLA can specify the desired configuration of the nodes on which it will execute and force the nodes to reconfigure themselves accordingly
  • execution policies based on server properties now have access to the server statistics

Management and Monitoring

Two new types of node selectors are now available: scripted node selector and custom node selector


A new load-balancing algorithm, named "rl2", was implemented


Added a complete section on load balancing



The JPPF jar files now include the version number in their name, e.g. jppf-common-5.2.jar

Continuous Integration

  • A large amount of time and effort was invested in setting up a continuous integration environment based on Jenkins
  • Automated builds are now in place with results automatically published to the JPPF web site
  • Automated tests coverage was largely improved

Resolved issues




6/29/2016 JPPF 5.2 beta 2 preview

This preview version brings amzaing new features


New features highlights

Administration console:

  • node filtering with an execution policy editor with import/export capabilities
  • ability to select the visible statistics in the server statiscs view
  • syntax hihghlighting in all the editors: properties/node filtering
  • the admin console splash screen is now customizable via the configuration


  • all documented properties are now defined as constants
  • a new and elegant API was created to handle them easily
  • it is now possible to specify in the configuration which JVM to use for the nodes and servers.
  • This also applies to master and slave nodes when they are (re)started


Android node:

Job SLA:

  • The job SLA can now specifiy filtering rules based on the server properties and the number of nodes satisfying one or more conditions
    Example: "execute when the server has at least 2 GB of heap memory and at least 3 nodes with more than 4 cores each"
  • The job SLA can specify the desired configuration of the nodes on which it will execute and force the nodes to reconfigure themselves accordingly
  • execution policies based on server properties now have access to the server statistics


Added a complete section on load balancing


Resolved issues




5/11/2016 JPPF 5.2 beta preview

This version brings awesome new features


New features highlights

Administration console:

  • node filtering with an execution policy editor with import/export capabilities
  • ability to select the visible statistics in the server statiscs view
  • syntax hihghlighting in all the editors: properties/node filtering
  • the admin console splash screen is now customizable via the configuration


  • all documented properties are now defined as constants
  • a new and elegant API was created to handle them easily
  • it is now possible to specify in the configuration which JVM to use for the nodes and servers.
  • This also applies to master and slave nodes when they are (re)started


Android node:

Job SLA:

  • The job SLA can now specifiy filtering rules based on the server properties and the number of nodes satisfying one or more conditions
    Example: "execute when the server has at least 2 GB of heap memory and at least 3 nodes with more than 4 cores each"
  • The job SLA can specify the desired configuration of the nodes on which it will execute and force the nodes to reconfigure themselves accordingly
  • execution policies based on server properties now have access to the server statistics


Added a complete section on load balancing


A new sample was added, illustrating a full-fledged management of dependencies between jobs

Resolved issues




2/8/2016 JPPF 5.2 alpha preview

This version brings awesome new features


New features highlights

Administration console:

  • node filtering with an execution policy editor with import/export capabilities
  • ability to select the visible statistics in the server statiscs view
  • syntax hihghlighting in all the editors: properties/node filtering
  • the admin console splash screen is now customizable via the configuration


  • all documented properties are now defined as constants
  • a new and elegant API was created to handle them easily
  • it is now possible to specify in the configuration which JVM to use for the nodes and servers.
  • This also applies to master and slave nodes when they are (re)started


Android node:

It is now possible to configure the node to stop working or terminate when the device's battery is low

Resolved issues




2/5/2016 JPPF 5.1.2 maintenance release

This maintenance release brings an important bug fix

Bug fixes

10/25/2015 JPPF 4.2.9 maintenance release

This maintenance release brings important bug fixes

Bug fixes

Download all JPPF 4.2.9 files here

10/15/2015 JPPF 5.1

This release brings Android integration, a new job monitoring and management API, powerful management new features and enhancements, new server extensions and various other enhancements

Android integration

The main focus of this release, the Android node for JPPF, enables execution of Java or Android workloads on Android devices.

Client-side Job monitoring API

A new job monitoring API, which builds on, and complements, the topology monitoring, provides an automatically updated view of the jobs hierarchy by server / jobs / node dispatches.

Management and monitoring

  • Job monitoring and management operations now accept a job selector parameter, allowing bulk operations with fine-grained filtering
  • It is now possible to dynamically update the SLA and metadata of a job, even while it is executing
  • Node connection events can now be received as remote JMX notifications
  • The node forwarding MBean now has dedicated methods for node provisioning, providing a much less cumbersome API

Server extensions and improvements

Other enhancements

  • The configuration API now has a fluent interface for setting properties with typed values
  • Job-aware load balancers now have full access to the information provided by the JPPFDistributedJob interface
  • The "nodethreads" load-balancing algorithm now takes into account the sum of the threads in all the nodes attached to a peer server

Documentation improvements

All code in the online documentation and samples now benefits from a full-fledged syntax highlighting, in the hope of making your reading experience an even more pleasant one.

All new features and enhancements

New Features


4/3/2015 JPPF 5.0.1 maintenance release

This maintenance release brings a bug fix and an enhancement

Bug fixes


3/6/2015 JPPF 4.2.7 maintenance release

This maintenance release brings two bug fixes

Bug fixes

3/2/2015 JPPF 5.0

This release brings .Net integration, full revamping of the administration console, a more consistent packaging, new monitoring an dmanagement features, and more.

.Net integration

The main focus of this release, the .Net bridge for JPPF brings JPPF grids to the .Net world.

Administration console extensions

New APIs

  • A new grid topology monitoring API was added, enabling developers to programmatically browse the JPPF topology and receive notifications of any change. This is also the API the administration console is based on
  • New and convenient methods were added to easily explore the client connections pools and obtain connection objects
  • Execution policies now have access to contextual information during their evaluation
  • Connection pools defined in the configuration can now indivdually specify whether secure connections should be used
  • A new helper class is provided to facilitate the implemetntation of job streaming patterns

Server extensions and improvements

  • It is now possible to receive the status of tasks returning from the nodes with fine details
  • The thread pool management was refactored, resulting in many less threads created and increased scalability

Management and monitoring

  • server monitoring: all MBean methods getting information on the nodes now accept a NodeSelector parameter to provide fine-grained filtering
  • server management: server broadcasting can now be remotely enabled or disabled on-demand
  • nodes reprovisioning requests, as well as shutdown and restart requests, can now be deferred until the nodes are idle


Refactoring of distribution packaging

The JPPF jar files were refactored to adopt a more meaningful naming and a consistent distribution of the code.

All new features and enhancements

New Features


2/12/2015 JPPF 5.0 RC1

What's in JPPF 5.0 RC1


New Features


1/15/2015 JPPF 5.0 beta

This beta version sees many new features, the most notable being the .Net bridge for JPPF, which enables executing .Net workloads on a JPPF grid


New Features


12/26/2014 JPPF 4.2.5 Maintenance release

This maintenance release brings important bug fixes and enhancements

Bug fixes


7/18/2014 JPPF 4.2 released

JPPF 4.2 brings simpler and more powerful client-side APIs, greater scalability options, emphasis on concurrent jobs in the grid and much more

What's new in JPPF 4.2

Simplification of the client APIs

Cancelling a job, as well as getting or monitoring its results can now be done from the job itself, in a much simpler way:
Since v4.2
JPPFJob job = ...
List<Task<?>> results = job.awaitResults();

Before v4.2
JPPFJob job = ...
JPPFResultCollector collector =
  (JPPFResultCollector) job.getResultListener();
List<Task<?>> results = collector.awaitResults();

Greater focus on connections pools

  • Each connection pool now manages an associated dynamic pool of JMX connections, instead of having one JMX connection per JPPF connection. This results in much less threads created on the client and server sides and increases scalability
  • The JPPFConnectionPool API has been greatly enriched, for an easier and more powerful handling of its capabilities
  • Similarly, the API to explore connections pools is now broader and more flexible

Emphasis on submitting jobs concurrently

New execution policies

  • The new IsInIPv4Subnew policy filters nodes based on their membership in one or more IPv4 subnets
  • The IsInIPv6Subnet policy plays the same role for IPv6 addresses

Control of tasks resubmmission

The maximum number of times a task can schedule itself for resubmission is now configurable at the task level, in addition to the job level.

Tutorial updates

The JPPF tutorial was updated to account for the greatest and latest features.

List of new features in JPPF 4.2

List of enhancements

List of implemented tasks

List of bug fixes

4/21/2014 JPPF 4.1 released

JPPF 4.1 brings node provisioning, customizable node connection starategies, dynamic connection pools, powerful configuration enhancements and much more

What's new in JPPF 4.1

Node provisioning

Not enough nodes in your grid when the workload peaks? Start new nodes on demand wih the node provisioning facility!

  • grow or shrink your JPPF grid dynamically
  • accessible via API and the administration console
  • see it in action with the Adaptive Grid example

Customizable node connection strategies

Define which server your nodes will connect and failover to with the connection strategy API. A built-in implementation is provided, which relies on a CSV file of server definitions and fails over to the configuration-based default when no server is available.

Client connection pools

  • A new client API enables exploring and growing or shrinking client to server connections dynamically
  • See it in action in the Adaptive Grid example
  • Connection pools of auto-discovered servers, as well as the local executor, can now be assigned a priority
  • Connection failover based on the priority of the server connections was integrated back into the core client functionality. The ClientWithFailover feature was deprecated accordingly

Powerful configuration enhancements

  • Variable substitutions for property values: the syntax ${property} can be used anywhere in the configuration files
  • Similarly, the ${env.VARIABLE} syntax enables environment variables substitution in configuration files
  • Scripting of configuration properties: the property values can now be defined as an expression in any JSR 223-compliant dynamic script language

On-demand task resubmission

Any JPPF task can now schedule itself for re-submission.

Capture of nodes and servers console output to files

The output of the JPPF nodes and server processes can now be redirected to files, for later retrieval and analysis.

New client job queue listener API

A new client API allows client applications to receive notifications of jobs added to or removed from the job queue.

Documentation improvements

List of new features in JPPF 4.1

List of enhancements

List of implemented tasks

4/16/2014 JPPF 4.0.3 Maintenance Release

This maintenance release brings important bug fixes and enhancements


Bug fixes

1/14/2014 JPPF 4.0 released

JPPF 4.0 brings volunteer computing, dynamic scripting, easier configuration management, awesome new demos, and a lot more

What's new in JPPF 4.0

Support for Java 7 and later

As of this release, JPPF will stop supporting Java 6 and will only run on Java 7 and later.
Application code written and compiled with Java 6 will still run as is.

Full support for volunteer computing

"JPPF@home" is now a reality. Build your volunteer computing project with all the benefits of a JPPF Grid and the underlying Java technologies. This is made possible with the addition of new capabilities which can be combined or used individually and enhance the scalability and reliability of JPPF grids:

Support for dynamic scripting

JPPF 4.0 leverages the JSR 223 specification and corresponding javax.script APIs to enable dynamic scripting and raise its capabilities to a new level:

  • scripted tasks allow you to execute tasks entirely written in any JSR 223-compliant dynamic script language
  • scripted execution policies make node and server channel filtering easier and more powerful than ever

Management console enhancements

  • Every tab in the administration console can be displayed in a separate view
  • New statistics were added to the server statistics view: class loading requests from the node and to the client, inbound and outbound network traffic to and from the nodes and clients
  • Statistics can now be exported to the clipboard from the server statistics view, as either CSV or formatted plain text
  • The statistics view now uses a flow layout for a better usability and user experience

Revamped task API

  • The base class for JPPF tasks was genericized and expanded into an interface/abstract class pattern. This results in documented API changes. A best effort was made to keep backward compatibility with JPPF 3.3, with a single and rare exception. The vast majority of existing applications will still run with the old deprecated APIs
  • Exception handling: the getException() / setException() methods have been deprecated in favor of the more generic getThrowable() / setThrowable()
  • Tasks now have the native ability to send notifications to locally registered listeners, remote JMX listeners, or both


  • The configuration plugin API was extended to enable reading the configuration from character streams (Java readers) in addition to byte streams
  • Configuration sources can now include other sources at any level of nesting, to enhance the readability, modularity and maintenance of JPPF configuration files

J2EE connector enhancements

New and enhanced extension points

  • A new serialization scheme API was implemented, to enable integration with a broader range of serialization frameworks, while keeping backward compatibility with older serialization schemes. A new sample illustrates how the integration with the Kryo framework can result in a major performance improvement.
  • Listeners to task notifications can now be registered with the nodes via the service provider interface
  • A screen saver can now be associated with a node, for use in a volunteer computing model, to add meaningful animated graphics, or even just for fun

New and enhanced samples

Automated testing coverage

Automated testing is a vital part of the JPPF development life cycle. Our automated testing framework creates small, but real, JPPF grids on the spot and uses the JPPF documented APIs to execute test cases based on JUnit.

  • The range of automated test cases was broadened to include all major features, and most minor ones
  • Various grid topologies are now included in the tests, incuding single servers or multiple servers in P2P, offline nodes, etc., with and without SSL/TLS communication
  • The J2EE connector is now automatically tested using scripts which download and install the application server, deploy the connector and test application, execute the JUnit-based tests and report the results

List of new features in JPPF 4.0

List of enhancements

List of implemented tasks

List of bug fixes

This release also includes all bug fixes from JPPF 3.3.x.

4/26/2013 JPPF 3.3.1 maintenance release

This maintenance release brings important bug fixes and performance improvements

What's new in JPPF 3.3.1

Bug fixes


4/8/2013 JPPF 3.3 Released

JPPF 3.3 brings grid health monitoring, flexible network management, GPU computig and a lot more

What's new in JPPF 3.3

Forwarding of node management requests through the server

This feature resolves a long-standing issue which prevented management and monitoring of the nodes not directly reachable by the clients and administration console. It also opens up new possibilities that make monitoring and management of a JPPF grid easier, more flexible and more powerful by an order of magnitude:

  • it dynamically adapts to the grid topology: new nodes are automatically enrolled in the forwarding mechanism, while terminated nodes are automatically unsubscribed
  • a very flexible node selection mechanism provides users with a fine-grained control of which nodes are involved
  • JMX notifications from the nodes are also forwarded with the same benefits
  • the JPPF administration console was entirely refactored to make the best use of this feature
  • resources usage for management and monitoring has dropped dramatically: the clients do not connect to the nodes anymore, which removes the need for additional network connections, along with the resources they consume

JVM monitoring and diagnostics help

A new JVM diagnostic MBean allows users to monitor the JVM health of remote servers and nodes. Both management APIs and administration console now provide a set of JVM telemetry and diagnostics features:

GPU computing

A new GPU computing demo was added to the JPPF samples pack, which demonstrates how JPPF tasks can submit work to OpenCL-compatible devices with the APARAPI library.

Class loading improvements

The nodes now have the ability to reset a client-linked class loader without the need to restart. This allows complete control over the class loader's classpath with minimal performance impact. The Extended class loading demo was updated to use this feature.

New node customization: class loading events

This new extension point enables users to receive notifications when a JPPF class loader loads a class or fails to load it.

JPPF artifacts published to Maven Central

As of JPPF 3.3, the JPPF jar files and associated sources and javadoc are available on Maven Central.

List of new features in JPPF 3.3

List of enhancements

List of bug fixes

1/27/2013 JPPF 3.2.2 Maintenance Release

This maintenance release brings important bug fixes, including a critical issue preventing secure connections to the server.

What's new in JPPF 3.2.2

Bug fixes

12/18/2012 JPPF 3.2 Released

JPPF 3.2 brings client-side scheduling and SLA, class loader performance and resilience improvements, IPv6 readiness.

What's new in JPPF 3.2

Load balancing in the client

As for the server with the nodes, the client can now distribute jobs over multiple server channels and the local execution channel. This opens up a broad variety of distribution capabilities, including:

  • distribution through connections to multiple servers
  • distribution through multiple connections to the same server
  • distribution to the client-local execution channel
  • any combination of the above
Load-balancing / scheduling is applied in exactly the same way as within the server, with the same APIs and configuration properties and the ability to implement custom class loaders.

Client-side SLA

All jobs now have a distinct service level agreement for the client-side dispatching of their tasks. This provides the ability for each job to specifiy:

  • a start and expiration schedule on the client side
  • an execution policy to determine through which channels a job can be dispatched (channel filtering)
  • the maximum number of channels to dispatch to
  • as a result, the ability to specifiy local vs. remote execution on a per job basis

Executor services enhancements

Class loading improvements

  • Parallel class loading requests from the same node are now batched and sent together to the server, providing a sigificant speed-up of the nodes performance
  • Nodes maintain a cache of classes and resources not found in the remote classpath, avoiding costly network requests and improving class loading performance overall
  • Local cache of resources found in remote classpaths can now be switched from file system to memory storage with automatic fallback strategy. This addresses environments where disk space available to the node is minimal or inexistant.

New JPPF task APIs

Two very useful methods were added to JPPFTask:

  • isInNode() determines whether the task is executing within a node or in the client's local executor
  • compute(JPPFCallable) enables the execution of a callback in the client. This replaces the ClientDataProvider API which is now deprecated.

IPv6 ready

All areas of JPPF networking have been updated to handle IPv6 addresses properly and transparently:

  • discovery information broadcast by the server
  • connectivity from the nodes and clients
  • JMX-based connections for management and monitoring of the Grid

Automated testing

A major effort has taken place to provide automated testing of the JPPF features, to ensure that the quality of each release meets the expectations. This results in a large and growing set of tests based on JUnit and integrated into our development process.
An additional module was created to perform stress testing of JPPF grids and improve its stability and resilience under high-throughput and highly unstable networking conditions.

List of enhancements in JPPF 3.2

List of new features

List of bug fixes

6/25/2012 JPPF 3.1 Released

This version brings new security features, load-balancing in the client, fork/join tasks execution and more.

What's new in JPPF 3.1


JPPF 3.1 brings a new security layer by performing all network communications through SSL/TLS, providing data encryption, data integrity and certificate-based authentication. Switching from plain to secure connections is as easy as toggling a single configuration flag. In this new context, a JPPF driver can serve both plain and secure connections, whereas clients and nodes attach via either. Secure communication has been implemented on top of all connections used by JPPF: client to server, node to server, server to server and JMX remote connectors.

Management and monitoring

  • A new graph view of the grid topology has been added to the administration console
  • A new management API was added to test execution policies against the current grid state
  • Jobs can now be cancelled directly from a standalone JPPF client or from a JCA connection to the J2EE connector

Executor services

Job SLAs and metadata, along with task timeout and cancel handlers, can now be dynamically configured for tasks and jobs submitted from a JPPFExecutorService


The load balancing between local and remote execution is now fully configurable in the client. The same algorithms and configuration parameters as for the server are available.


A new node extension enables switching the node execution model to a local fork/join model, using the JDK 7 APIs.

All implemented feature requests

1/31/2012 JPPF 3.0 Generally Available

JPPF 3.0 brings incredible improvements in ease of use, stability, reliability and flexibility

What's new in JPPF 3.0

Simplification and improvement of the configuration

  • Servers, nodes and clients now only require a single TCP port instead of 3 for executing jobs.
  • Adoption of the JMXMP remote connector allows JMX-based management to use a single port instead of 2.
  • Server discovery and manual configuration can now be mixed for clients and servers in P2P.

Improved recovery and failover on the client side

  • A persistence manager allows job states to be recovered after an applicationr crash.
    The persistence manager is an API which allows storing the states of the jobs on the fly and recover them after an application crash or restart. A default implementation is provided and demonstrated in a new sample.
  • Upon recovery of a client connection to the server, only the un-executed tasks in each job are resubmitted
  • Applications can now receive notifications when a job is sent to the server, and when the final results are returned.

Class loading

  • The distributed class loading mechanism is now fully documented.
  • New extensions enable the optimization of the class loading overhead at node startup, along with the ability to update the classpath at runtime.
  • New class loader delegation model enables faster class loading.
  • A new sample illustrates how to automate the management of remote library repositories on the grid nodes.

New customizations and extension points

Administration console, management and monitoring improvements

New samples

All implemented feature requests




Admin console and management


7/6/2011 JPPF 2.5.1 Released

This is a maintenance release which brings important bug fixes and a few minor enhancements.

What's new in JPPF 2.5.1

Bug fixes

3315652 - Unneeded delay upon client initialization
3317127 - Mishandling of tasks distribution in mixed execution mode
3321908 - Bad synchronization in the client leads to jobs resubmitted
3321904 - AbstractJPPFClassLoader is not calling super.findClass()
3322904 - Deadlock in JPPFClassLoader
3348381 - Client deadlock with asynchronous jobs
3354119 - Calling JPPFClient.getConnection() leads to client deadlock


3322850 - Make AbstractJPPFClassLoader.addURL() public
3322847 - Enable classloader to lookup resources in file system
3315389 - Return emptyList from JPPFJob:getTasks not

6/6/2011 JPPF 2.5 Released

Broadcast jobs, flexible serialization, data grid integration, embedded FTP server and many other enhancements and fixes.

What's new in JPPF 2.5

A new generic serialization framework enables developers to use non-serializable classes in their JPPF tasks. This is especially useful when using third party libraries whose source code is not available.

Broadcast jobs bring the ability to run the same JPPF job on all available grid nodes

Class loading performance enhancements: a new class definition cache on the server brings improved node startup time and faster job execution.

Administration console enhancements:

  • elements are now sorted in the tree views
  • ability to reset the server statistics
  • rendering and display fixes and enhancements

Data grid integration: the real-time portfolio updates sample now uses Hazelcast as its distributed data fabric

New integration sample: embedding a FTP server and client, demonstrates how Apache ftpd server can be embedded within a JPPF server, and how FTP client APIs can access it from a JPPF task.

New sample: parallel N-body problem implementation, a JPPF-powered implementation of the N-body problem applied to anti-protons trapped in a magnetic field.

Feature requests

3151670 - Client startup classes
3149103 - Broadcast jobs
3156063 - Provide shell scripts to run JPPF components
3037770 - Ability to sort artifacts in tree table view
3170878 - Use a soft map for the class definition cache
3170216 - Visual indicator for nodes that cannot be managed
2211733 - Ability to reset the server statistics
3179788 - Enable idle timeout on socket connections
3148503 - Remove driver from the admin console when it is shutdown
3105057 - Enable cancellation of a job upon client disconnection

Bug fixes

3166884 - The task life cycle documentation is outdated
3148007 - Job not removed from server upon suspend/resume
3152285 - Job never returns upon cancellation
3152769 - OutOfMemoryError: PermGen space upon many client runs
3162338 - Missing exception handling for custom load balancers
3166896 - JPPFExecutorService not working
3173345 - Multithreaded deserialization of Calendar leads to CCE
3215335 - IP address filtering is not working
3301406 - Client failover is not working

12/27/2010 JPPF 2.4 Released

This release provides critical bug fixes, performance and resources usage enhancements, along with new features that increase JPPF's ease of use and integration capabilities

What's new in JPPF 2.4

Executor service batch modes

The executor service facade to JPPF now enables the grouping of tasks submitted individually, according to space (number of tasks) or time (via timeout settings). Tasks submitted individually are grouped into JPPF jobs and thus benefit from full parallelism and a significant throughput increase.


A new JPPF overview chapter was added.
The online documentation was reorganized for an easier navigation experience.

New "node life cycle" extension point

It is now possible to subscribe to node life cycle events, and perform actions accordingly.

New "Node Life Cycle" sample

The "Node Life Cycle" sample was added to the JPPF samples pack, illustrating how transaction management can be controlled via node life cycle events.

Performance, memory footprint enhancements

Disk overflow capabilities were added to the nodes and clients.
Reworked I/O processing results in faster network I/O and smaller memory footprint.

New Features

  • 3134243 - Ability to receive notifications of node life cycle events
  • 3112354 - Ability to to specify the look and feel in the admin GUI
  • 3105038 - Document the job distribution model
  • 3102697 - Document JPPF class loading in details
  • 3094064 - Enable local execution in the J2EE connector
  • 3091088 - Enable synchronuous job execution with J2EE connector
  • 3091083 - Add ResultListener to non-blocking job when missing
  • 3091078 - Ability to disable remote execution
  • 3091077 - Implement disk overflow on clients and nodes
  • 3064104 - Batching individual tasks with the JPPFExecutorService

Bug Fixes

  • 3140964 - Fractals sample fails to start
  • 3132907 - CNFE when custom class loader is used
  • 3125121 - NPE in DriverJobManagement when in DEBUG mode
  • 3120933 - Server misses class loading requests
  • 3119256 - NPE in AbstractJPPFClassLoader.findResources()
  • 3112365 - Tabs appear twice in the admin GUI
  • 3110449 - OOM in the node upon large console output
  • 3103455 - [CRITICAL] CME upon returning results
  • 3101406 - Inconsistent behaviour for task timeout
  • 3100204 - Node connection status is incorrect.
  • 3100186 - Java service wrapper config file points to wrong libraries
  • 3098381 - Encryption example bug
  • 3096095 - Multiple driver connections being made to the same machine
  • 3095404 - Client does not receive results upon node error

10/18/2010 JPPF 2.3 Released

Major new features raise JPPF to a new level

What's new in JPPF 2.3

Idle host scavenging

JPPF now takes advantage of computers on which no user activity is occurring. It is very easy to configure a JPPF node to start when no keyboard or mouse activity has occurred for a specified time, and stop upon any new activity from the user.

Job scheduling enhancements

The scheduling mechanism has been improved to provide more fairness among concurrent jobs with the same priority.

Remote loggers

Logging traces are now available as JMX notifications via the JPPF management APIs. Developers can now receive, display and store traces from nodes and servers in a single location.

Detection and recovery from hardware failures of servers and nodes

A long-awaited new mechanism enables the detection of hardware failures of a node or server, allowing recovery in a resonable time frame. This brings a new level of resilience and reliability to the JPPF grid.

In-VM nodes

It is now possible to configure a node to run in the same JVM as a JPPF server, via a single on/off switch.

New Features

  • 3059420 - Take advantage of idle computers
  • 3044110 - Job scheduling enhancements
  • 3042238 - JMX-based remote loggers
  • 3042227 - Provide packaged sources for each module
  • 2981736 - Pluggable panels in the administration UI
  • 2977887 - Ability to run a node in the same JVM as the server

Bug Fixes

  • 3074513 - ClassCastException using JPPFClient(String) constructor
  • 3071454 - OOME: Direct buffer space, reading large data from a socket
  • 3071045 - Uncaught OOM in the driver while receiving tasks from a node
  • 3069849 - Driver hangs on disk overflow operation
  • 3066604 - Nodes shown in red in the console after driver restart

7/27/2010 JPPF 2.2 Released

Numerous enhancements, new features and bug fixes make JPPF more secure and enjoyable

What's new in JPPF 2.2

JVM Support

As of version 2.2, JPPF is dropping support for the JDK 1.5. Only JDK 1.6 and later are supported.

JPPF Executor Service

This new API provides an executor service facade for the JPPF client. It implements all the functionality specified in java.util.concurrent.ExecutorService

Administration console

  • A new status bar indicates the number of currently connected servers and nodes
  • The topology view includes two new buttons in the toolbar to select all servers or all nodes at once
  • Multiple bugs have been fixed, making the console mmore robust and reliable than ever


  • The J2EE connector now has the ability to connect to multiple servers and automatically discover servers on the network.
  • The Gigaspace connector was upgraded to support Gigaspaces XAP 7.1.1
  • The Tomcat connector was upgraded to support Tomcat 7.0.0 beta
All three connectors have seen their demo web application revamped for a more enjoyable experience


JPPF Jobs can now be set to expire at a specified date or after a specified amount of time.


The network data encryption sample was upgraded to offer a much more secure solution.

New Features

  • 3018899 - Upgrade to GigaSpaces XAP 7.1.1
  • 3018563 - Expiration date/time for jobs
  • 3016249 - Document usage of JPPF configuration APIs
  • 2994564 - Ability to select all nodes / all drivers in the console
  • 2990285 - J2EE connector: ability to connect to multiple JPPF servers
  • 2972415 - Provide an ExecutorService facade to the JPPF client

Bug Fixes

  • 3032447 - JMX connector binds RMI registry to the wrong host
  • 3030900 - Server fails to dispatch tasks to some nodes
  • 3017866 - When connected to multiple drivers, client only uses one
  • 3010245 - Typo and wrong comment in config of peer server discovery
  • 3006929 - Client connections are named improperly
  • 2993389 - Nodes are not removed from the console upon dying

4/24/2010 JPPF 2.1.1 Released

This release fixes a critical bug

What's new in JPPF 2.1.1

This release addresses and fixes a critical bug:

2990287 - Killing a node running on Unix causes the server to hang

To patch an existing v2.1 server installation:

  • download the driver installation binaries (
  • unzip anywhere on your file system
  • copy the two files "jppf-server.jar" and "jppf-common.jar" into your v2.1 server installation's "lib" directory (replace the existing files with the new ones)
  • restart the JPPF server
  • no jar deployment is needed for the nodes, they will automatically pick the fixed code from the server

4/6/2010 JPPF 2.1 Released

Many improvements and fixes increase the reliability, scalability and ease of use of JPPF

What's new in JPPF 2.1


The development of this release has seen a lot of emphasis on both memory usage and performance improvements.
The JPPF server now executes multithreaded network I/O and reaches new levels of scalability.
JPPF applications can now enjoy faster execution of larger jobs.


Russian localization is now available for the graphical administration console.

Load balancing

Custom load-balancers can now use information about the nodes' environment and configuration, along with metadata about the jobs.
This allows for sophisticated load-balancing implementations that can adapt to the capabilities of each node and the computational characteristics of each job.
A sophisticated and fully documented sample illustrates these new capabilities and will get you started in no time.


The managment port auto-incrementation enables servers and nodes to automatically find port available numbers, making JPPF configuration even easier and removing one the main configuration hurdles.
It is now possible to specify the number of concurrent threads performing I/O in the server.

New Samples

Three new samples complement our offering in the JPPF samples pack:

New Feature Requests

  • 2966065 - Adapt the load-balancing to the weight of each job
  • 2955505 - Give load balancers access to the node's configuration
  • 2182052 - Simple local node monitoring in system tray

Bug Fixes

  • 2972979 - Un-connected nodes shouldn't report a valid number of thread
  • 2969881 - Undefined processing.threads causes execution policy to fail
  • 2969126 - ClientDataProvider feature not implemented in J2EE connector
  • 2967151 - Improper exception handling in JPPFBroadcaster
  • 2962404 - Changing load-balancer settings is done at the wrong time
  • 2955491 - Connection pool not working whith server discovery disabled
  • 2953562 - Node does not report results of tasks with timeout
  • 2933677 - Server thread stuck when serialization fails in node
  • 2914622 - Local IP addresses should include more than
  • 2907258 - JMX initialization failure causes node to stop working
  • 2907246 - Remote debugging is only possible on localhost

12/1/2009 JPPF 1.9.2 released

This is a maintenance release with no new features

Bug fixes:

  • 2902913 - Version number detection not working properly
  • 2900969 - App server stuck with 100% CPU usage
  • 2845323 - Ctrl + click selection not working in admin console


  • The J2EE connector is now available as a separate download

11/25/2009 JPPF 2.0 released

This release brings a new generation JPPF platform

What's new in JPPF 2.0

Jobs management and monitoring

Jobs can be suspended, resumed or terminated at anytime in their life cycle
Each job has an SLA, including rule-based node filtering, priority, maximum number of nodes and scheduled start date
All job state changes can be traced through real time notifications
Jobs can be traced down to each node on which they execute
Execution policies (i.e. rule-based node filtering) now have access to the node storage information (requires Java 1.6 or later)

Platform extensibility features

All management beans are now pluggable, users can add their own management modules at server or node level
Startup classes: users can now add their own initialization modules at server and node startup
Security: any data transiting over the network can now be encrypted by the way of user-defined transformations
Pluggable load-balancing modules allow users to write their own load balancing strategies

Performance improvements

Object loading and deserialization are now done in parallel in the nodes, leading to a susbtantial performance improvement
A simplification of the communication protocol allows for faster network I/O and greater memory efficiency A new built-in load-balancing algorithm was added, based on reinforcement learning techniques, and particularly efficient with a large number of nodes.

Client APIs

Emphasis was set on job-related APIs
Older task-related APIs were deprecated but kept functional for compatibility with older versions
Client connections state notifications were refactored, exposed and documented

Administration console

A new panel was added for jobs management and monitoring
Topology and jobs panels now have a toolbar adapting to the selected elements
The "admin" panel was removed
The load-balancing settings panel was updated to handle pluggable load-balancing algorithms
Server states are now emphasized using color highlighting
New icons are associated with servers, nodes and jobs in the topoloy and jobs panels
Usability was improved by automatically saving the user settings from one session to another for window size and location on the screen, as well as table columns sizes
The default look and feel was changed to JGoodies Looks


The documentation was almost completely rewritten and reorganized, in an effort to overcome what was our weakest point
The division into chapters and sections follows a logical path, resulting in easier navigation
An end-to-end tutorial was added, illustrating clearly and simply the development process for JPPF-empowered applications
The documentation is now available online on our wiki pages or as a PDF document

Distribution and download

The downloadable modules were given a clearer name: JPPF-2.0-module_name
A new web installer is now available, making the JPPF installation simpler than ever (uses Java Web Start technology)
The J2EE connector now comes as a separate module
A new "application template" module is now available, to quickly and easily start developing JPPF applications

Compatibility with previous versions

All applications developped with earlier versions of JPPF are compatible at the source level with JPPF 2.0. They may require a rebuild or recompilation, however the overhead should be kept to a minimum.
Due to changes in the communication protocol, version 1.9.1 clients, servers or nodes will NOT work with version 2.0 components. All components must be upgraded to version 2.0.

8/5/2009 JPPF 1.9.1 released

This maintenance release brings bug fixes and increased stability, along with a few new features.

New features in JPPF 1.9.1:

  • 2831040 - Upgrade GigaSpaces integration to XAP 7.0.0
  • 2819375 - Ability to run a driver as a service
  • 2813750 - Specify more than 1 server connection with auto discovery

Bug fixes:

  • 2831038 - ClassCastException in the Gigaspaces client
  • 2829440 - Impossible to set up peer driver discovery separately
  • 2821207 - J2EE: Execution hangs when too many jobs are submitted
  • 2795201 - Invocation of driver mbeans fails sometimes
  • 2798545 - submitNonBlocking() throws NPE even in local execution
  • 2789337 - CommandLineTask does not capture process output
  • 2788185 - Stop/restart a driver from the console throws an exception
  • 2786176 - Server performance degrades upon high node connection rate

4/30/2009 JPPF 1.9 released

New features and bug fixes in this version

• Submitted tasks can now fetch data from the client while executing
• A node's configuration can now be updated remotely without restart
• A new sample illustrates how tasks can communicate with each other
• Numberous bugs have been fixed, improving the overall stability and performance

2/19/2009 JPPF 1.8 released

The JPPF Team brings major new features in this version.

• A new API enables users to run non-Java processes on the nodes
• JPPF is now integrated with GigaSpaces XAP
• Jobs and tasks can now be prioritized
• The configuration of a client connection pool is now easy and intuitive

12/17/2008 JPPF 1.7 released

The JPPF Team brings unequaled ease of use

• Servers are now automatically detected, removing the need to use configuration files
• The administration console was enhanced for greater usability
• Administration commands can now be sent to multiple nodes at once
• The nodes' CPU usage can now be managed by setting the priority of the execution threads
• Critical class loading issues were fixed in the J2EE JCA connector

10/30/2008 JPPF: 1.6 released

The JPPF Team brings new features and bug fixes in this version.

• Tasks can now be defined from plain old Java objects
• A new JPPF Quick Start Guide is now availabe online and offline: /JPPFQuickStart
• A new management feature enables resetting a node's task counter
• Improvements to the remote JMX connectivity facilitate the JPPF administration through firewalls
• Bugs were fixed in the peer-to-peer communication between servers

9/18/2008 JPPF: 1.5 released

The JPPF Team brings new features and bug fixes in this version.

• Tasks can now be defined from existing code using annotations
• A new, simplified API for defining and submitting tasks was implemented
• These features are documented there
• The amount of logging on disconnection events from the server was reduced to a manageable level
• Multiple bugs were fixed that prevented the nodes from running as services.
• Multiple fixes were made to the JPPF screensaver.

8/20/2008 JPPF announces version 1.4

This release brings outstanding new features

• JPPF library files now include version and build information.
• Nodes can now be restarted or shutdown remotely from the administration console or by API
• Tasks can be executed locally by the client, with automatic load-balancing between local and remote execution.
• The nodes security policy can be downloaded from the server for an even easier deployment.
• The nodes collect the CPU time used by the tasks.

6/17/2008 JPPF is ever more effective in version 1.3

This release brings major enhancements and bug fixes.

• A critical bug was resolved that caused the server to freeze unexpectedly.
• A packaging issue was fixed for the Tomcat port.
• The administration and monitoring console now comes as a separate standalone package.
• The server now stores on file any data too large to fit in memory.
• A new abstraction model for IO operations brings a smaller footprint and a performance gain up to 15%.
• JPPF library files now include version and build information.

5/5/2008 JPPF brings outstanding flexibility in version 1.2

This release brings important new features and bug fixes.

• A powerful new feature allows users to specify on which nodes a set of tasks can be executed, by applying an execution policy against the nodes. Read more....
• JPPF can now use alternate serialization schemes, allowing the use of non-serializable classes and 3rd-party libraries. Read more....
• An new integration sample demonstrates how to integrate the JPPF J2SE client into a Servlet/JSP container such as Apache Tomcat 5.5 or 6.0.
• Clear initialization messages were added to the JPPF server and node components.
• A major upgrade of the communication framework brings increased performance and a smaller memory footprint.

2/19/2008 The JPPF team releases new networking features in version 1.1

This release brings important new features and bug fixes.

• A new networking tool, the TCP port multiplexer, was implemented to enable JPPF to work in firewalled environments.
It enables the routing of all JPPF network traffic through a single port, without any modification to the existing applications.
More details can be found on the JPPF And Networking wiki page
• A new node management feature was added, that enables updating a node's execution thread pool dynamically.
• A new node monitoring feature was added, allowing the collection of the node's system and java environments.
• Several bugs were fixed that caused errors to be raised when management was disabled in a server or a node.

1/31/2008 JPPF 1.0.1 released!

The JPPF Team is pleased to bring new bug fixes and enhancements.

New APIs were added to the J2EE connector to receive submission status events.

The capability to disable monitoring and manamgement features in nodes and servers was added.

Several minor bugs were fixed.

Some refactoring of the server APIs was performed, for a greater reusability and modularity.

12/27/2007 JPPF 1.0 Generally Available!

The JPPF Team is pleased to bring important bug fixes and enhancements.
A new, very efficient load balancing algorithm was added.
The administration console was upgraded accordingly.
The server performance was enhanced.
A web search engine application was added to the samples pack.
Many minor bugs were fixed.

11/26/2007 JPPF 1.0 RC2 released

The JPPF Team is pleased to bring important bug fixes and enhancements.

Performance enhancements were implemented in the server task dispatcher.

A bug was fixed in the JPPF resource adapter, that caused class loading issues when deployed in OC4J and Sun AS.

A minor display issue was fixed in the fractals explorer.

Improvements were made to the image color scheme in the fractals explorer.

11/15/2007 JPPF 1.0 RC1 released

The JPPF Team is pleased to bring exciting new features and enhancements

Tasks can now be canceled and restarted remotely, as well as configured to timeout a a given date of after a given elapsed time.

The Administration console was upgraded to handle the new task management features.

A major leap in execution performance has been implemented.

The JPPF JCA resource adapter now implements asynchonous tasks submission, removing any risk of J2EE transaction timeout.

New: the JPPF Samples Pack brings a set of exciting applications of JPPF to real-life problems.

In this version: a Mandelbrot fractals explorer and protein sequence alignment

9/6/2007 JPPF 1.0 beta2 released!

The JPPF Team is pleased to bring exciting new features

JPPF is now integrated with JMX, and uses it to provide extended administration and monitoring services to users and developers.

Monitoring capabilities have now been extended to the nodes as well as to the executed tasks, enabling a fine-grained monitoring of the code that is executed.

The administration console now provides an extended view of the JPPF network.

Critical issues were fixed that would cause a node to crash in specific conditions.

7/31/2007 JPPF 1.0 beta1 released!

This release brings major updates and new features.

JPPF is now licensed under the terms of the Apache License, Version 2.0. Starting from JPPF 1.0 beta1, all releases will be licensed under these terms. Prior versions will remain under the terms of the LGPL.

For the first time, JPPF integrates seamlessly with J2EE. The JPPF Resource Adapter provides J2EE application servers with an access to native grid services.

Numerous bug fixes, especially with regards to the distributed class loading mechanism.

5/1/2007 JPPF 0.26.0 released

This release brings exciting new features along with various bug fixes.
  • The demos and samples can now be run from a user interface, the demonstrations console.
  • The nodes can now override the performance settings on the server side.
  • Several critical bugs were fixed in the server.
  • Parts of the code were refactored for enhanced clarity and extensibility.

2/22/2007 JPPF 0.25.0 released!

The JPPF team is pleased to announce a new set of enhancements.
  • A server connection pooling capability was added to the client, resulting in increased throughput and performance.
  • A new demonstration and documentation section were added to illustrate that capability.
  • Multiple bugs were fixed in the administration console, resulting in a greater usability of its charting features.
  • A new, lightweight distribution of the source code was added to the JPPF release.

2/6/2007 JPPF 0.24.1 released!

The JPPF team has the pleasure to announce a new maintenance release.
  • The communications and execution performance was increased by 10%.
  • Numerous bugs were fixed in the server, increasing its stability and scalability.
  • A bug was fixed in the distributed class loader, that would cause the client to crash.
  • The graphical administration console was upgraded to use Substance L&F v3.1 and JFreeChart v1.0.3

12/26/2006 JPPF 0.24.0 released!

The JPPF team is pleased to announce a set of new exciting features.
  • New load-balancing and failover capabilities were added to the client, which can now connect to multiple servers.
  • The administration console now monitors multiple servers at once.
  • The classloading mechanism was improved to facilitate EJB invocations from a task.
  • The build scripts can now generate single jar files for nodes and servers deployment.
  • A bug was fixed that prevented the screensaver node from executing tasks.

11/6/2006 JPPF 0.23.1 released!

The JPPF team is pleased to announce this maintenance release, which brings performance enhancements and a major bug fix.
  • Fixed an issue in the adaptive scheduling algorithm, which caused the tasks to be executed by only one node at a time.
  • Improved the performance of the scheduling algorithm, resulting in a smaller execution overhead.
  • Fixed minor localization issues in the administration tool.

10/2/2006 JPPF 0.23.0 released!

The JPPF team is pleased to announce this new release, which brings major enhancements and numerous bug fixes.
  • JPPF now supports multiple servers in a peer-to-peer topology, enabling it to scale to millions of nodes.
  • Nodes can now be run as Windows services.
  • Many performance enhancements were made, making JPPF yet faster and easier to use.
  • Many bug fixes were performed, resulting in greater robustness and reliability.

7/4/2006 JPPF 0.22.0 released!

This release brings major new features and critical bug fixes.
  • A bug was fixed where a node would go into an infinite loop if its security policy file was not present.
  • A new node data provider was added, to allow the nodes to access files of arbitrary size, through an HTTP or FTP URL.
  • The preferences in the administration tool are now persisted.
  • Many enhancements where brought to the UI builder.

6/27/2006 JPPF 0.21.0 released!

This release is dedicated to the user interface and associated tools.
  • The capability to change the L&F skin/theme is now available from the top frame's system menu.
  • A feature was added to the UI, giving an overview of all the tabs in a tabbed pane.
  • Scripting capabilities were added to the UI building framework. Rich client interfaces can now be built almost without writing a single line of Java.
  • The implementation of a (experimental) graphical UI builder was started, to help building UIs from XML docs, including the capability to load and preview pages, alongside their XML representation.

6/20/2006 JPPF 0.20.0 released!

This release brings major improvements to the user interface.
  • Added support for internationalization of the administration and monitoring UI.
  • Translations are currently available in English, Portugese and French.
  • The Windows screensaver now comes with its own installer, based on the NSIS installer.
  • Various bug fixes and code refactoring.

6/13/2006 JPPF 0.19.0 released!

This release brings a number of significant improvements.
  • The XML-based UI builder was enhanced to provide new components and additional customizable properties.
  • Using these improvements, the charts configuration panel was migrated to an XML-based generation.
  • The client API was enhanced to additionally enable the instantiation of a client from external parameters, rather than solely rely on a static configuration file.
  • The tasks bundle size calculation has been switched to a finer level of granualrity. Now each node performs its own calculation, providing a subtantial global performance boost to the server. This feature provides JPPF with an actual grid scheduling strategy.

6/6/2006 JPPF 0.18.0 released!

After a long and hard work, this release brings numerous major feature enhancements and bug fixes.
  • We fixed a major bug where the server would throw a ClassCastException.
  • Nodes now check their up-to-date status as soon as they connect to the server, rather than after executing the first task bundle.
  • The persistence of the preferences in the admin tool was dramatically sped-up.
  • The JPPF client now provides a non-blocking way of submitting tasks, relying on a notification mechanism to obtain the results asynchronously.
  • A new sample demo was added to illustrate this new functionality.
  • The administration tool was refactored so that the screens, panels and most visual components are build from XML descriptors.
  • This enables developers to easily build their own admin tool, by adding and/or removing components to it, as well as by easily changing the layout and arrangement of components.
  • A new panel was added in the administration tool, to fine-tune the behaviour of the bundle size auto-tuning mechanism in the server.
  • The look and feel of the screensaver settings dialog was improved using a new color theme and enhanced layout.

5/16/2006 JPPF 0.17.1 released!

This release brings a set of bug fixes and more stable components.

The node security policy file is now part of the driver distribution, in order to have the nodes upload it from the driver. This will greatly facilitate the deployment of JPPF updates.
The nodes auto-update is now performed without disconnecting them from the server, removing the performance hit that occurred in previous versions.
A number of bugs were fixed in the screensaver, making it much more stable.

5/5/2006 JPPF 0.17.0 released!

In this release, several new features.

The size of the tasks bundles can now be calculated dynamically, using an algorithm based on Monte Carlo.
The security policy for the nodes can now be uploaded from the server, making its deployment effortless.
We enhanced the layout of the screensaver-based nodes and added an animation to it (flying JPPF logos).

5/2/2006 JPPF 0.16.0 released!

This release provides a few new features and bug fixes.

Added multithreading capability to the nodes, so they can execute multiple tasks concurrently.
Fixed various network IO-related issues that made the server unstable.
Fixed exception handling in the nodes. Exceptions are now reported back with the tasks.
Added a new packaging of a node as a screensaver (experimental - Windows only). This is an unstable version, please report any bug or issue.

4/27/2006 JPPF 0.15.1 released!

This maintenance release provides a fix for a crititcal bug in the previous version.

Fixed a bug where the server would not properly reset its state when a node was disconnected, leading the server to believe the node had not completed its task, wich was then submitted back to the execution queue.
This was causing in turn the server to be stuck when trying to notify a client, which was no longer there, of the task completion

4/25/2006 JPPF 0.15.0 released!

This release brings a long-time bug fix, and a new feature for the nodes.

A new "hot update" feature was added to the nodes, so they are automatically updated when a newer version of JPPF is installed.

Fixed a bug where the server would not detect immediately when a node was disconnected.

4/18/2006 JPPF 0.14.0 released!

This release brings several bug fixes, performance enhancements, and an important change to the licensing terms.

JPPF has switched to the GNU Lesser General Public License (LGPL). This follows a feedback from some of our users, who told us that GPL was too constraining, especially in a corporate context. From this version forward, JPPF will now be licensed under the LGPL. Prior versions will remain under the GPL.

The core communication framework has been refactored so as to use non-blocking I/O, bringing more robustness, scalability, and a performance gain of 10-15%.

Fixed a bug in the admin tool, where the task bundle size was not refreshed properly from the server.

Fixed a bug where, when a node was disconnected or crashed, its tasks were resubmitted at the end of the queue, rather than the start, which caused an important performance hit.

The project has been splitted into several module, making it easier to manage the code and work as a team.

4/6/2006 JPPF 0.13.0 released!

This release brings a major performance enhancement and a new member of the JPPF team.

Please join us in welcoming dcreado, your ideas and talent are greatly needed!
There could be no better gift for JPPF's first birthday.

Achieved a major performance enhancement by bundling atomic tasks together, rather then sending them together.
The code in the nodes a the core server has been refactored accordingly, to allow for further improvement.
Added capability in the administration tool to manually optimize the bundle size, allowing for a nice performance tuning.

3/22/2006 JPPF 0.12.0 released!

This release brings one new important feature, and a documented overview of JPPF.

Implemented a password protection mechanism in the administration tool. An admin password is now required to send an administration request to the server. The default password is 'admin' and can be changed from the tool as well.

Documented an overview of JPPF as a set of slides presentation. This will serve as the basis for a more complete user guide, to come soon.

3/14/2006 JPPF 0.11.5 released!

In this release, we focused on bug-fixing and improving the usability of the monitoring and admin tool.

Fixed bug #1446272: Linux: annoying preferences warning messages.
Fixed bug #1447225: Charts not restored in the order in which they were defined.

We also worked on making the definition of new charts easier and more comfortable.

3/9/2006 JPPF 0.11.4 released!

Today we made a maintenance release, to include a fix for a critical bug occurring on Linux platforms.

Fixed bug #1446269: JPPF Driver will not start on Linux.
Our apologies for all Linux users. We won't let you down!

3/7/2006 JPPF 0.11.3 released!

In this release, we added a new demo and fixed a number of minor bugs.
  • We added a new demo, in response to a comment about the performance of the framework. This demo shows a more efficient use of JPPF. This is an implementation of feature request #1442051: Provide more examples and demos in the distribution. There is also more information that can be found in bug #1441052: Remote nodes very slow
  • Fixed a few bugs in the monitoring and admin tool, tied to charts configuration
  • Updated the readme page to make it clearer and easier to get started with JPPF

3/3/2006 JPPF 0.11.2 released!

In this release, we added one major feature and fixed a fair number of bugs.
  • We added the capability for the user to define and customize the charts displayed in the graphical client.
    The user can define the type of chart, which data items to display in the charts, and a number of other parameters, like the title, unit the data is in, etc.
    All charts are now in a separate tabbed pane, in which individual tabs are user defined.
    The charts are added, configured or removed on the fly, and any change is immediately persisted through the Java preferences mechanism.
    This functionality is an implementation of feature request #1437652: Configurable charts in the monitoring tool.
  • We also added many new types of charts tp pick from: pie, ring, diffference, area charts, etc.
  • Fixed bug #1441052: Remote nodes very slow
  • Fixed bug #1440671: JPPF driver Ant script does not work
  • Fixed bug #1436667: Inconsistent numbers displayed in the monitoring UI

2/23/2006 JPPF 0.11.1 released!

For this release, we fixed one major bug.

Fixed bug #1436618: Server subprocess hanging when server is killed manually

2/21/2006 JPPF 0.11.0 released!

For this release, we added one major feature and fixed a serious bug.
  • Added new major feature: capability to stop and restart the server remotely
    • Refactored the server to enable the capability
    • Added client APIs to stop and restart the server remotely.
    • Added a new panel in the graphical client to perform a server stop and restart through the UI.
  • fixed bug #1434636 Multiple client requests not synchronized

2/17/2006 JPPF 0.10.2 released!

Today, we made some minor enhancements and bug fixes.
  • fixed bug #1433248
  • changed the bar charts to a 3D look
  • added the missing legend to the plot charts

2/16/2006 JPPF 0.10.1 released!

In this release, we added charting capabilties to the monitoring client.
  • added bar charts for snapshot visualization of the server state
  • added plot charts for visualizing the evolution of the server over time

2/13/2006 JPPF 0.10.0 released with a new user interface

In this release, we added a graphical client to monitor the server health and status.
  • new monitoring user interface
  • based on the Substance ( Look & Feel to enable skinable themes
  • added a new screenshots section to the web site, to give an overview of the look and capabilities

2/6/2006 JPPF 0.9.0 released!

In this release, one major feature and minor bug fixes.
  • added new security feature, based on the Java security mechanism
  • security can be disabled, and permissions customized, through a security policy file
  • minor bug fixes
  • updated the faq

1/30/2006 JPPF 0.8.2 released!

In this release, one new feature, some bug fixes, and code refactoring for more efficiency.
  • implemented an automatic client recovery feature. Now, when the server crashes, the client automatically attempts to reconnect, for a configured amount of time. If the the server is restarted in the meantime, the client resubmits the work that was interrupted.
  • refactoring of the recovery mechanism, so that it is reused throughout the framework (client, nodes and network class loader)
  • minor bug fixes
  • Javadoc improvements

1/25/2006 JPPF 0.8.1 released!

In this release, we added one major feature, pertaining to the robustness of the framework.
  • implemented an automatic node recovery feature. Now, when the server crashes, nodes autamatically attempt to reconnect, for a configured amount of time. An additional benefit to this, is that the nodes can be started before the server. Automatic recovery also applies to the dynamic class loading mechanism.
  • minor bug fixes
  • Javadoc improvements

1/18/2006 JPPF 0.8.0 released!

Sorry for the time it took for these new release, we've been working round-the-clock to bring major changes and enhancements to the framework.These should bring a much better experience in using JPPF for parallel computing.
  • changed the communication model to something similar to SETI@Home, to upgrade scalability to a new level.
  • added dynamic class loading capabilities, so that no deployment is required for the client applications.
  • dramatically simplified the configuration overhead - the framework can now be up and running on a grid in minutes.
  • extensively refactored the framework code, decreasing the code size and number of classes by over 50%.
  • added new binary distributions, for easy deployment of the server and nodes.
  • dropped the UI part of the framework, due to the new architecture that renders it useless.
  • the project web has been entirely revamped, to support the new face of JPPF.

10/26/2005 version 0.6.1_beta2 released!

This release provides bug fixes and documentation improvements.
  • improved README.html, to make it clearer how to start with JPPF, based on the feedback I got from these users who dared JPPF.
  • fixed an issue with the demo start script, which caused the UI to show up after a long delay.
  • fixed issues with the handling of exceptions within the client applications code. The nodes will not die anymore because of client exceptions. This greatly improves the framework's robustness.
  • added a runtime distribution component, to make it easier to deploy JPPF on a distributed network.

10/17/2005 JPPF goes beta with version 0.6.0!

This is the first beta version of JPPF. From now on, all the work will be dedicated to testing, bug fixing, and documentation fixing, until it is deemed "stable". There will be intermediate beta and release candidate versions, so don't lose hope.
  • full user guide, based on a fully documented example of the distribution.
  • a new matrix multiplication example, used as a basis for code samples in the user guide
  • various bug fixes and documentation improvements

10/5/2005 JPPF v0.5.4 released!

Major features related to integration with existing applications.
  • Added the capability to share common data amongst execution tasks. This is in fact a data provider API that enables tasks to share a common data source. The only implementation as of today provides support for in-memory data sharing; future implementations will provide support for file datasources, database datasources, and external services (i.e. JMS, Web services, etc...).
  • Local invocation of a node services is no longer in effect and was replaced with a remote invocation. From now on, execution service, GUI and client application run in separate (remote or local) processes. This also means that any number of GUI processes can monitor the activity of any node on the network.

9/24/2005 JPPF v0.5.3 released!

All changes in this release are major updates to the GUI.
  • Fixed all thread synchronization issues that caused exceptions to be thrown in the console or log file.
  • A dockable toolbar has been added to the main panel.
  • The layout of the views can now be dynamically changed by dragging and dropping the views onto one of the available slots, which appear as tabbed panes.

9/21/2005 JPPF v0.5.2 released!

  • This release adds a new recovery feature to enable a node to reconnect automatically when its parent was lost.

9/5/2005 JPPF v0.5.0 released!

  • Core support for dynamic node (re)configuration
  • Added UI for remotely configuring the nodes
  • Added new UI component to display node events, such as status changes, addition or removal of services
Related web site changes:
  • Added new screenshots page

7/31/2005 JPPF v0.4.0 released!

  • added support for dynamic failover and recovery
  • started working on a UI for dynamic node (re)configuration
Changes to the web site:
  • changed the color scheme (did you actually notice?)
  • removed the right frame - news now have their own separate page
  • Added a link to the news page in the menu on the left

6/5/2005 JPPF v0.3.0 released!

There's a lot of work that I did this week, resulting in quite a few improvements.
  • added support for dynamic node discovery
  • extended service nodes topology to an arbitrary tree
  • added monitoring UI event handling
  • added tree table display of service data
  • refactored UI components to make them more flexible
Changes to the web site:
  • added acknowledgments page

4/17/2005 JPPF v0.2.0 alpha 2 released

There's a lot of work that I did this week, resulting in quite a few improvements.


Major refactoring for enhanced features:

  • every node (machine) has a service manager that delegates task execution to its services or to other remote managers
  • drastically simplified node configuration
  • improved socket communications speed
  • added handling of administration requests and notifications
  • slight improvement to the monitoring UI
Home page
  • changed home page to use frames
  • created JPPF logo!
  • added architecture page
  • added links to Javadoc, screenshots

4/12/2005 First alpha released

I worked hard last week-end to make an alpha for this week. Main features: distribution of execution tasks on local and remote machines, service monitoring and profiling, basic load-balancing, added a sample app to the distribution.
Known issues (only the major one): peformance is a disaster!
There's a lot of (stress)testing in perspective, but I'm confident things will soon improve drastically.

JPPF Copyright © 2005-2018 Get JPPF at Fast, secure and Free Open Source software downloads