Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python多处理池的限制_Python_Multiprocessing_Cluster Computing - Fatal编程技术网

Python多处理池的限制

Python多处理池的限制,python,multiprocessing,cluster-computing,Python,Multiprocessing,Cluster Computing,我经常运行一个耗时的程序。我有机会访问一个需要504个处理器的集群,但客户服务速度很慢,所以我向您求助。我正在使用一个非常简单的应用程序,如下所示: import multiprocessing def function(data): data = complicated_function_I_was_given(data) with open('unique_id', 'w') as f: f.write(data) pool = multiprocessi

我经常运行一个耗时的程序。我有机会访问一个需要504个处理器的集群,但客户服务速度很慢,所以我向您求助。我正在使用一个非常简单的应用程序,如下所示:

import multiprocessing

def function(data):
    data = complicated_function_I_was_given(data)
    with open('unique_id', 'w') as f:
        f.write(data)

pool = multiprocessing.Pool(504)
pool.map(function, data_iterator)

现在,虽然我可以看到过程开始了“复杂的函数”写了一堆废话,但是有唯一的名称,所以我确信没有冲突,过程看起来真的很慢。我希望data_iterator中的一些数据能够立即得到处理,尽管有些数据需要几天的时间,但在1天后什么也没有产生。可能是多处理池有限制吗?或者它没有在不同的节点上分配进程我知道每个节点有12个核?我正在使用python2.6.5。

您可以尝试使用Python中的一种来扩展工作,我从未听说过使用多处理器来扩展这么多处理器的工作

或者它没有在不同的节点上分配进程我知道每个节点有12个核?我正在使用python2.6.5

我认为这是您的问题:除非您的集群体系结构非常不寻常,并且所有处理器似乎都在同一台逻辑机器上,否则多处理只能访问本地内核。您可能需要使用不同的并行化库


另请参见。

谢谢您的链接,我认为您是对的。我不知道我怎么会错过那个问题!现在要玩mpi4py than。