JPPF makes it easy to parallelize computationally intensive tasks and execute them on a Grid.
- Ease of use: installing a JPPF grid is as easy as running the web installer or un-zipping a few files. Launch as many nodes and servers as needed and get immediately ready to write your first JPPF application. The APIs are easy to learn, yet very powerful, flexible and semantically consistent, and will allow you to get started in no time.
- Dynamic flexible topology: from master/worker to P2P, with anything in between, JPPF allows any topology that will suit your requirements. Furthermore, the topology is not static and can grow or shrink dynamically and on-demand, with a unique ability to adapt to any workload. Easily build any level of redundancy, avoid single points of failure and ensure the best performance and throughput for your needs.
- Fault tolerance, self-repair and recovery: with built-in failure detection and fault tolerance mechanisms at all levels, a JPPF grid can survive massive failures in the topology, whatever the cause. From job requeuing to nodes rerouting, down to the ultimate failover to local execution - and even that has its own crash recovery capability -, JPPF ensures that the job is done even in extreme degradation conditions.
- Matching the Workload with the Grid: the right tools at the right time for the job. Ensure that jobs are executed where they are supposed to, without interfering with each other and in the best conditions. Fine-grained node filtering, job prioritization and scheduling, grid partitioning and many other features provide a dynamic way of matching heterogenous workloads to the grid's capacity.
- No deployment: the built-in networked and distributed class loader transparently ensures that the nodes can download the Java code for your application from where it is running. New or changed code is automatically reloaded into the nodes without any deployment hassle. Not only is tweaking and tinkering with the code no longer a source of time-consuming problems, it is actively facilitated and encouraged.
- Security: communications between components of a JPPF grid support SSL/TLS encrytpion and authentication all the way. Certificate-based authentication, 1 way or mutual, is fully supported. Additional extension points allow you to further transform any data that is transported over network connections: tunnel grid data within your own protocol, use an additional encryption layer, or any data transformation which can be of use.
- Administration and monitoring: the JPPF graphical administration console, along with the public API it is based on, enable remote monitoring and management of the grid topology, jobs life cycle, servers and nodes health, load-balancing configuration, server statistics, and a lot more. The console also provides the ability to define your own dynamic charts based on dozens of dynamically updated fields you can chose from.
- Load balancing: multiple built-in load-balancing algorithms are available at client and server levels, to enable an optimal distribution of the workload over the entire grid topology. Load balancing can be statically defined, adaptive based on the the topology and jobs requirements or even user-defined thanks to the dedicated extension point.
- Android, .Net and J2EE integration: specialized client and node implementations bring JPPF grids to the Android, .Net and J2EE worlds. Open up your grid implementation to the world of Android mobile devices. Write your jobs in any .Net language and execute them on .Net-enabled JPPF nodes. Use JPPF services from JEE enterprise applications or wrap them as Web or REST services. Make interoperability an operational reality.
- Customization: whenever your specialized needs go beyond what is available out-of-the-box, JPPF provides many extension points, addons and plugins which allow you to tailor, extend and customize the behavior of any of its components. Make JPPF your grid computing solution, without ever being stuck because of missing features.
Very good software. Simple to start using (less than 30 minutes) but with a lot of depth.
Very useful. Our project is based on this.
very good project, thanks!
Very easy to install on Mac OS X and Windows (just unzip 3 files). I like the broadcast feature where you can submit a job to all the child nodes. I've been using JPPF to run the tiny 50k gradle 1.3 wrapper jar in a subprocess to have all the power of executing gradle and groovy scripts on remote child nodes.
It works. It supports pretty much everything you can think of. It doesn't crash in the hands of a casual user.