Interface defining executor factories.

ExecutorFactory should be considered to own the executors it creates; it is responsible for their instantiation and management.

ExecutorFactory exposes two methods, create_executor and clean_up_executors. There is a particular coupling between these two methods; any executor returned by create_executor should not be used after clean_up_executors has been called without reinitialization. That is, create_executor should be called again, and ExecutorFactory will ensure that the returned executor is safe for use.



View source

Releases any resources associated to the given cardinalities.

Note that calling this method may invalidate the state of any executors which have previously been returned by the factory with the cardinalities argument ; create_executor should be called again if a new executor which is safe to use is desired.

cardinalities The cardinalities of the executor whose state we wish to clear.


View source

Abstract method to construct instance of executor_base.Executor.

create_executor must accept a dict mapping placements.PlacementLiterals to ints, and return an executor_base.Executor.

cardinalities a dict mapping instances of placements.PlacementLiteral to ints, specifying the population size at each placement.

Instance of executor_base.Executor.