Package org.moeaframework.util.distributed


package org.moeaframework.util.distributed
Classes to enable distributed computing. Algorithms that are naturally parallel can be parallelized using this package without altering the algorithm. This is feasible using the Future concept of blocking only when attempting to read the result and the evaluation has not yet completed. As long as the algorithm submits multiple jobs to the evaluate method prior to reading the results, the objectives and constraints, the algorithm is naturally parallel.

To use, an ExecutorService is required that will distributed the jobs to asynchronous threads, cores or compute nodes. Java frameworks such as JPPF and GridGain provide ExecutorService interfaces out-of-the-box. Then, the desired Problem is decorated with the DistributedProblem to enable parallel execution.