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.
DistributedProblem