Java News from Thursday, August 21, 2008

Laurent Cohen has released the Java Parallel Processing Framework (JPPF) 1.4, an open source Grid Computing platform written in Java. "The client has to split up the calculations into pieces that are executed in a single server node, and pass them to the JPPF framework. The atomic portions that are executed in a JPPF node are called tasks. It is up to the client application to define a reasonable part of the complete algorithm as a task. Small tasks may cause a high transport overhead, while large tasks may cause poor parallelism in execution." Java 5 or later is required.

Overall it looks interesting and cleaner than I expected. I don't think this is all the way to Hadoop and map-reduce though. I see one major flaw in the design: it relies on Java object serialization to pass arguments back and forth over the network. That's pretty much always a mistake for multiple reasons. Objects can't be serialized. (Not just in Java either. This is a general characteristic of objects.) Absent executing code, there simply is no such thing as an object. The sooner we start realizing that the object metaphor fails across networks the better. I 'm not saying you can't submit tasks to remote servers. I'm just saying you can't do it by sending an object across the network. There are no objects on the wire, only bytes.