As I see it, JPPF is really more a generic grid platform in 100% Java, i.e. it does job submission, load balancing, some monitoring&management. If you want to do parallel programming it's more a 'do it yourself' approach. You can do parallel programming with it but how to divide a program into subtasks and reassemble the results from them is up to you. For this I think Parallel Java
http://www.cs.rit.edu/~ark/pj.shtml is better: it gives you MPI like functionality but also openMP like (for multithreading on one node) functionality. The grid management functionality of PJ is rather primitive (job submission is all done via ssh, no load balacing) and could be improved for example by taking it's own job management out en implement that via JPPF (so integrate PJ on top of JPPF). This should be feasible since both are open source & Java.