Python 多处理模块如何提供远程并发?

Python 多处理模块如何提供远程并发?,python,python-3.x,parallel-processing,python-multiprocessing,concurrent.futures,Python,Python 3.x,Parallel Processing,Python Multiprocessing,Concurrent.futures,我知道在concurrent.futures模块中,ProcessPoolExecutor子类使用multiprocessing模块生成多个进程 有可能在远程机器上实现这种并发性吗?如果是,不同进程如何共享或分配内存 在远程机器上实现这种多处理的其他挑战是什么? 我已经用这个方法尝试了本地并发。我只是想知道远程并发是否可以帮助我获得更好的性能。如果您有多台计算机可供使用,那么使用它们肯定可以获得更好的性能。由于远程机器的延迟和通信开销,它只适用于更大的工作负载 在行业中,(Py)Spark和(P

我知道在concurrent.futures模块中,ProcessPoolExecutor子类使用multiprocessing模块生成多个进程

有可能在远程机器上实现这种并发性吗?如果是,不同进程如何共享或分配内存

在远程机器上实现这种多处理的其他挑战是什么?


我已经用这个方法尝试了本地并发。我只是想知道远程并发是否可以帮助我获得更好的性能。

如果您有多台计算机可供使用,那么使用它们肯定可以获得更好的性能。由于远程机器的延迟和通信开销,它只适用于更大的工作负载

在行业中,(Py)Spark和(Py)Mesos等工具更适用于此任务

您可以使用
多处理
,以下是一个示例:

运行以下命令将为单个共享服务器创建服务器 远程客户端可以访问的队列:

一个客户端可以访问服务器,如下所示:

其他客户端也可以使用它:


你在谈论云计算吗?你是什么意思?我只是想知道如何使用多处理模块实现远程并发。我们是否可以在本地机器以外的任何其他机器上使用内核。
>>> from multiprocessing.managers import BaseManager
>>> from queue import Queue
>>> queue = Queue()
>>> class QueueManager(BaseManager): pass
>>> QueueManager.register('get_queue', callable=lambda:queue)
>>> m = QueueManager(address=('', 50000), authkey=b'abracadabra')
>>> s = m.get_server()
>>> s.serve_forever()
>>> from multiprocessing.managers import BaseManager
>>> class QueueManager(BaseManager): pass
>>> QueueManager.register('get_queue')
>>> m = QueueManager(address=('foo.bar.org', 50000), authkey=b'abracadabra')
>>> m.connect()
>>> queue = m.get_queue()
>>> queue.put('hello')
>>> from multiprocessing.managers import BaseManager
>>> class QueueManager(BaseManager): pass
>>> QueueManager.register('get_queue')
>>> m = QueueManager(address=('foo.bar.org', 50000), authkey=b'abracadabra')
>>> m.connect()
>>> queue = m.get_queue()
>>> queue.get()
'hello'