JPPF is
an open source grid computing framework that can be used to run multiple java
applications in parallel in a distributed execution environment. It also
written in java
JPPF features
·
A JPPF grid can
be up and running in minutes
·
Simple
programming model for abstracts the complexity of distributed and parallel processing.
·
Highly scalable,
distributed framework for the parallel execution of CPU intensive tasks.
·
Graphical and
programmatic tools for fine-grained monitoring and administration
·
Fault-tolerance
and self-repair capabilities ensure service and reliability.
·
A set of fully
documented sample applications of JPPF to real-life problems
·
Very flexible and
business-friendly open source licensing
·
Multiple
built-in load-balancing algorithms are available at client and server
levels.
Requirements and
install
Current version of
JPPF is v6.0 (alpha).Java
1.7 or later and Apache Ant 1.7.0 or later should already be installed on your
machine.
·
You
need to download and install the following JPPF components:
·
JPPF
application template: this is the JPPF-x.y.z-application-template.zip file
·
JPPF
driver: this is the JPPF-x.y.z-driver.zip file
·
JPPF
node: this is the JPPF-x.y.z-node.zip file
·
JPPF
administration console: this is the JPPF-x.y.z-admin-ui.zip file
JPPF Topology
A JPPF grid
is made of three different types of components,
·
clients are entry points to the grid
and enable developers to submit work
·
servers are the components that receive
work from the clients, dispatch it to the nodes, receive the results from the
nodes, and redirect the results to the clients
·
nodes perform the job execution.
To mitigate single
point of failure, JPPF provides the ability to connect multiple servers
together in a peer-to-peer network and additional connectivity options for
clients and nodes, as illustrated in this figure:
There are a
number of major advantages to this design:
·
It enables a
greater scalability of the JPPF grid, by allowing the "pluging-in" of
additional servers dynamically. This way, a server can delegate a part of its
load to other servers.
·
No matter how
many servers are present, nodes and clients communicate with them in the exact
same way
·
Peer server
connections benefit from the same failover and recovery features available to
nodes and clients
How
it works
There are 2 steps.
· 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 application 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 to the nodes. 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.
JPPF Supported
Platforms
JPPF will run on any system that
supports Java: MacOS, Windows, Linux, zOS, on any hardware from a simple laptop
up to a mainframe computer. JPPF is not only limited to running Java jobs. You
can run any application that is available on your platform as a JPPF job. For
instance, you might want to run your favorite graphics suite in batch mode, to
render multiple large, complex images all at once.
There are similar framework as JPPF such
as GigaSpaces, Terracotta and GridGain.
Reference:www.JPPF.org
No comments:
Post a Comment