Simply put, 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.
How it works
Theres 2 aspects to this:
Dividing an application into smaller parts that can be executed independently and in parallel.
JPPF provides facilities that make this effort a lot easier, faster and much less painful than without them. The result is a JPPF object called a "job", itself made of smaller independent parts called "tasks".
Executing the app on the JPPF Grid.
The simplest possible JPPF Grid is made of a server, to which any number of execution nodes are attached. A node is a JPPF software component that is generally installed and running on a separate machine. This is commonly called a master/slave architecture, where the work is distributed by the server (aka "master") to the nodes (aka "slaves"). In JPPF terms, a unit of work is called a "job", and its constituting "tasks" are distributed by the server among the nodes for parallel execution.
Powered by the community
With over 10 years of active development, JPPF boasts an architecture with a proven record of reliability, performance and scalability. A project committed to its community, it demonstrates an outstanding support to its users and engages in a continuous conversation with them. Every question, issue report or feature request turns into a contribution which, in the end, benefits the whole community.
Chief among JPPF benefits is its ease of installation, use and deployment. There is no need to spend days to write a "Hello World" application. A couple of minutes, up to a couple of hours at most, will suffice. Deploying JPPF components over a cluster is as simple as copying files over FTP or any network file system. JPPF allows developers to focus on their core software development.