The computefarm project is a compute server framework for running compute-intensive jobs in parallel. A {@link org.tiling.computefarm.Job} is a piece of work generated by a client of the computefarm, which the client gets the computefarm to run using a {@link org.tiling.computefarm.JobRunner}. Typical `Job`s might be calculating a large Mersenne prime, or ray-tracing a scene from a cartoon movie.

The client divides the `Job` into small pieces that implement the {@link org.tiling.computefarm.Task} interface. Each `Task` is executed independently to produce a single result object, which implements `java.io.Serializable`. The `Job` then combines the individual results into a final, overall result.

The computefarm runs using JavaSpaces technology. `Task` objects are passed to the JavaSpace as the payload of a {@link org.tiling.computefarm.TaskEntry}. {@link org.tiling.computefarm.Worker} instances take the `TaskEntry` objects, execute the `Task` payload and pass the `java.io.Serializable` result back to the space as the payload of a `ResultEntry`. There can be many `Worker` instances, running on many machines that access the JavaSpace.