gpt4 book ai didi

python - 串行转并行转多机

转载 作者:行者123 更新时间:2023-12-01 04:54:27 28 4
gpt4 key购买 nike

我连续运行以下代码来请求一堆网址:

# takes 5 hours
data = []
for url in urls:
data.append(request_url(url))

然后我将其转换为使用多处理并行运行:

# takes 50 minutes
p = Pool(20)
data = p.map(request_url, urls)

如果我想提高速度,我将如何将该过程分布到多个服务器上,什么是一个好的方法?

最佳答案

您可以使用 pathos (及其姊妹包 pyina)来帮助您准确地确定如何并行分发代码。

pathos 为跨线程、多处理和套接字的并行处理提供统一的 API。 API 提供了 Pool 对象,这些对象具有阻塞、非阻塞迭代以及异步 mappipe 方法。 pyina 将此 API 扩展到 MPI 以及 torqueslurm 等调度程序。通常,您可以嵌套这些构造,以便拥有异构和分层的并行分布式计算。

您根本不需要修改代码即可使用 pathos(和 pyina)。

SO 上有一些这样的例子,包括: Python Multiprocessing with Distributed Cluster Using PathosPython Multiprocessing with Distributed Cluster

以及在 pathospyinamystic 中找到的 examples 目录中 - 在这里找到: https://github.com/uqfoundation

关于python - 串行转并行转多机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27751023/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com