Distributed processing with execnet
The execnet module has a share-nothing model and uses channels for communication. Channels in this context are software abstractions used to send and receive messages between (distributed) computer processes. execnet is most useful for combining heterogeneous computing environments with different Python interpreters and installed software. The environments can have different operating systems and Python implementations (CPython, Jython, PyPy, or others).
In the shared nothing architecture, computing nodes don't share memory or files. The architecture is therefore totally decentralized with completely independent nodes. The obvious advantage is that we are not dependent on any one node.
Getting ready
Install execnet with the following command:
$ pip/conda install execnet
I tested the code with execnet 1.3.0.
How to do it...
- The imports are as follows:
import dautil as dl import ch12util from functools import partial import matplotlib.pyplot as plt import...