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   On Github   Forums 

3/28/2019 JPPF 6.1 release notes

JPPF 6.1 new features and enhancements summary

Java 8 upgrade

  • as of this version, JPPF is now built and runs with Java 8 or later
  • the source code no longer compiles or runs with Java 7
  • the JPPFJob API was updated to facilitate the submission of tasks as lambdas

Network communication and workload distribution

Asynchronous communication between node and server

  • nodes can now process any number of jobs concurrently
  • this addresses the issue where some threads of a node could be idle, even when work was available
  • overall performance gain due to I/O being performed in parallel with job processing
  • configurable limit on the number of jobs a node can process concurrently (unlimited by default)

Client connection concurrency

  • connections from a client to a driver can now handle an unlimited number of concurrent jobs
  • in other words, multiple connections are no longer required to achieve job concurrency
  • the concurrency level for all connections in a pool can be updated statically or dynamically
  • the jobs concurrentcy documentation and sample were updated accordingly

Pluggable node throttling mechanism

  • this mechanism prevents resource (e.g. heap, cpu) exhaustion in the node, due to too many concurrent jobs. When a condition is reached, the node refuses new jobs. When the condition no longer applies, the node accepts jobs again.
  • it can also be used to limit the workload based on any condition, for instance based on time windows or the status of external services
  • A built-in implementation provides throttling based on heap usage

Management and Monitoring

JVM health monitoring enhancements

  • new monitored data elements were added: peak threads count, total started threads count and JVM uptime
  • custom value converters can now be associated with each monitored datum, to enable customized rendering of their value

Node provisioning notifications

  • The node provisioning service of each master node now emits JMX notifications each time a slave node is started or stopped.

Job and Client APIs

Preference execution policy

  • The new preference policy attribute, in the job SLA, defines an ordered set of execution policies, such that eligible channels or nodes will be chosen from those that satisfy the policy with the foremost position.

New job SLA attributes

New convenience execution policies

New MavenLocation class

  • MavenLocation is a Location implementation which allows downloading artifacts from any maven repository. COnsequently, MavenCentralLocation is now a specialized subclass pointing to the Maven Central repository.

Deprecation of the "blocking" job attribute

  • A job should be submittable either synchronously or asynchronously, regardless of its state and at the user's choice at the time of submission. To this effect, the job's "blocking" attribute was deprecated. So was the "JPPFClient.submitJob()" method, which is now replaced with "JPPFClient.submit()" and "JPPFClient.submitAsync()".

Miscellaneous features and enhancements

Embedded drivers and nodes

  • it is now possible to start a driver and or a node programmatically
  • a driver and node embedded in the same JVM share common resources such as thread pools, JMX remote connector server, NIO acceptor (connections) server, etc.
  • a new dedicated sample was implemented

Offline documentation (PDF)

  • the source documents (.odt) were regrouped into a single document, in order to fix the broken cross-document links in the produced PDF
  • the font and background for code snippets were changed to improve readability

Feature removals

Following the move of JPPF to Java 8, we deeply regret to announce the removal of two integration features:
  • .Net bridge: the jni4net project, on which the .Net bridge is based, is no longer actively maintained and does not support some of the Java 8 language constructs
  • Android port: we no longer have the bandwidth to maintain the Android node integration. In particular: porting to a version of Android which supports Java 8 language features.

All implemented issues




Prior JPPF 6.1 preview releases

JPPF 6.1 beta - JPPF 6.1 alpha 2 - JPPF 6.1 alpha

JPPF links

Downloads - Documentation - Javadoc - User forums - Issue tracker - Source code

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