JPPF : a parallel processing framework for Java

Abstract

JPPF enables applications with large processing power requirements to be run on any number of computers, in order to dramatically reduce their processing time. This is done by splitting an application into smaller parts that can be executed simultaneously on different machines.

Proposal

JPPF aims at facilitating the parallelization of computation-intensive applications, with a focus on ease of use, performance and reliability.

To achieve these goals, the framework comes with a number of outstanding features:

Background

JPPF is a project being actively developed at SourceForge. It was created to address a class of problems called "embarrassingly parallel", which groups computational problems that can be decomposed into many smaller sub-problems, that are independant from each other and that can thus be executed in parallel.

Rationale

Given these last years' emergence of technologies that make commodity hardware, virtualization and cloud computing available to a fast-growing computing ecosystem, the project answers the need to execute applications ever faster, with a low entry cost, while at the same time preserving historical technological investments.

Current Status

Meritocracy

We acknowledge that a meritocratic governance is the only way for the project to grow and expand, in the spirit of open source and the ASF. It will benefit the project, its communities, the ASF, as well as the outer ecosystems.

Community

JPPF already has a relatively small, but steadily growing community of users. Given the applicability of the project to numerous industries and technological areas such as scientific research, finance, graphical/video rendering, telecoms, data mining, etc.., we are confident that there is a very large growth potential for developers and users communities around JPPF.

Core Developers

JPPF was founded in April 2005 by Laurent Cohen (laurent.cohen at jppf.org), who is currently the only active developer and code committer. The other active contributor is John Channing (john.channing at gmail.com) who provides advice and peer review on the project's architecture, design, requirements and promotion. Other project members and former project contributors include:

Alignment

The project is currently undergoing a refactoring of its network communication infrastructure, relying essentially on Mina, in order to provide a greater maintainability of the code, as well as extend its scalability and provide new functionalities such as truly secure communications and integration of other distributed computing models (e.g. P2P, map/reduce). JPPF also offers connectors for Geronimo and Tomcat.

Known Risks

Orphaned products

This is the main and most obvious risk of this project. The knowledge of the code is owned by a single developer, Laurent Cohen, who has committed about 98% of the existing code in the current repository. We are well aware of this problem, and it is our hope and challenge that integrating the Apache community will inspire the growth of a strong developers community around JPPF.

Inexperience with Open Source

JPPF was created as an Open Source project in April 2005, and has remained so since.

Homogenous Developers

A single active developer implies homogeneity.

Reliance on Salaried Developers

No one is currently paid to work on JPPF.

Relationships with Other Apache Products

A Excessive Fascination with the Apache Brand

Our main hope in joining the Apache community is that it will help build a strong developers and committers community around the project, and remove its reliance on a single developer. We aim at achieving this while attracting new users, in conformance with the Apache spirit and policies.

Documentation

Information on JPPF can be found at:

http://www.jppf.org (main site, documentation and user forums)

http://sourceforge.net/projects/jppf-project (code repository, bug tracker, features tracker)

Initial Source

The entire code for JPPF is held in a SourceForge CVS repository, and has been so since the project's inception in April 2005. This entire code base will be donated to Apache. The source code has been licensed under the ASL 2.0 since August 2007. Before that it was LGPL. All artifacts in the trunk and existing branches (1 branch) are now licensed under the ASL 2.0, with corresponding header when applicable.

External Dependencies

Other than the Apache products used in JPPF, the project currently depends on the following ASL 2.0 compatible products/licenses:

Dependencies on libraries with non AL-compatible licenses:

Cryptography

JPPF does not have any cryptographic component. However, the distribution includes a sample that shows encryption/decryption of data as a demonstration of one of its features. The sample is delivered with full source code and can be found at:

http://www.jppf.org/wiki/index.php?title=Extending_and_Customizing_JPPF#Transforming_and_encrypting_networked_data

Required Resources

Mailing lists

Subversion Repository

Issue Tracking

Others

Initial Committers

Affiliations

None of the initial committers are paid by their employer, nor do they represent their employer in any activity related to JPPF.

Sponsors

Champion

Nominated Mentors

We are currently looking for mentors within the community.

Sponsoring Entity