mpi_backend

Module: environments.backends.mpi_backend

Distribute the processes on a High Performance Cluster

Very simple Implementation.

Author:Yohannes Kassahun (kassahun@informatik.uni-bremen.de)
Created:2011/01/11

Inheritance diagram for pySPACE.environments.backends.mpi_backend:

Inheritance diagram of pySPACE.environments.backends.mpi_backend

MpiBackend

class pySPACE.environments.backends.mpi_backend.MpiBackend(pool_size=156)[source]

Bases: pySPACE.environments.backends.base.Backend

A message passing interface (mpi) backend to pySPACE

In order to use this backend, you need a working MPI distribution and mpi4py. You can download mpi4py from http://code.google.com/p/mpi4py/. mpi4py is compatible with a python 2.3 to 2.7 or 3.0 to 3.1 distribution.

This backend assumes a global file system that is seen by all nodes running the processes.

Parameters
pool_size:
Define how many MPI processes should be started in parallel.

This should not exceed the amount of available processors. (or the number of mpi slots defined in the hostsfile)

(recommended, default: 156)

Class Components Summary

__abstractmethods__
__del__()
_abc_cache
_abc_negative_cache
_abc_negative_cache_version
_abc_registry
check_status() Returns a description of the current state of the operations execution.
cleanup() Remove the current operation and all potential results that
consolidate() Consolidates the results of the single processes into a consistent result of the whole
execute([timeout]) Executes all processes specified in the currently staged operation.
not_xor(a, b)
retrieve([timeout]) Returns the result of the operation.
stage_in(operation) Stage the current operation
__init__(pool_size=156)[source]
__del__()[source]
stage_in(operation)[source]

Stage the current operation

execute(timeout=1000000.0)[source]

Executes all processes specified in the currently staged operation.

check_status()[source]

Returns a description of the current state of the operations execution.

not_xor(a, b)[source]
retrieve(timeout=1000000.0)[source]

Returns the result of the operation.

consolidate()[source]

Consolidates the results of the single processes into a consistent result of the whole operation

cleanup()[source]

Remove the current operation and all potential results that have been stored in this object

__abstractmethods__ = frozenset([])
_abc_cache = <_weakrefset.WeakSet object>
_abc_negative_cache = <_weakrefset.WeakSet object>
_abc_negative_cache_version = 33
_abc_registry = <_weakrefset.WeakSet object>