我是pathos
作者。基本上,对于 (1),您可以使用pathos.pp
通过套接字连接连接到另一台计算机。 pathos.pp
具有与 几乎完全相同的 API pathos.multiprocessing
,尽管pathos.pp
您可以servers
在设置Pool
.
但是,如果您想与 SSH 建立安全连接,最好建立一个 SSH 隧道连接(如您链接到的示例中),然后将localhost
本地端口号传递servers
给Pool
. pp-worker
然后这将通过 ssh 隧道连接到远程。请参阅:
https ://github.com/uqfoundation/pathos/blob/master/examples/test_ppmap2.py和
http://www.cacr.caltech.edu/~mmckerns/pathos.html
最后,如果您使用pathos.pp
的是远程服务器,如上所述,您应该已经在执行 (3)。但是,嵌套并行映射会更有效(对于一组足够并行的作业),因此首先使用pathos.pp.ParallelPythonPool
在服务器之间构建并行映射,然后在函数内部N
使用并行映射调用 -way 作业pathos.multiprocessing.ProcessingPool
您正在与pathos.pp
. 这将最大限度地减少跨远程连接的通信。
此外,如果您有 ssh-agent 为您工作,则无需提供 SSH 密码。请参阅: http: //mah.everybody.org/docs/ssh。Pathos 假设跨远程服务器的并行映射,您将有 ssh-agent 工作,并且您无需在每次连接时都输入密码。
编辑:在此处为您的问题添加示例代码:Python Multiprocessing with Distributed Cluster