我有一个公式需要大约0.5秒来计算。但是,我需要使用不同的值执行此计算100万次。公式(简化)的一个例子:
y = a + b
其中我有100万个a
和b
的组合,这些组合都需要计算。这些100万个组合保存在名为combinations
的列表中。我使用Python。
我的想法是为每100,000个计算启动一个AWS实例,所以在这种情况下我需要10.然后我的想法是将combinations
列表分成10个部分({{1}等)。然后我必须向每个AWS实例发送组合子集。
但我怎么能做到最好呢?我的想法是拥有一个可供所有实例访问的共享卷,并在该卷上放置我通过SSH调用的part1 = combinations[:100000]
脚本:
calculate.py
或者芹菜可能是更好的方法吗?或许是另一种方式?
编辑:我做了一些测试,Celery似乎还有发展方向。
答案 0 :(得分:0)
您可以使用pathos
设置ssh-tunnel,然后使用pathos
的{{1}}分支将函数提交给多个服务器 - 或者只使用parallelpython
中的隧道1}}并使用pathos
或rpyc
等其他内容通过隧道连接到不同的服务器。