与多处理相比,为什么用Joblib进行并行化会非常慢?

时间:2019-05-24 13:16:13

标签: python parallel-processing multiprocessing joblib

我是并行编程的新手。我的仿真软件会生成10个不同的结果文件,每个文件的输出数据范围为30到100 GB,我正在尝试使用python脚本从中提取所需的数据。

对于并行化,我尝试了Joblib(并行和延迟)和Multiprocessing(Pool.apply())。我发现第一个选项比第二个选项极端慢。例如,串行版本大约需要100分钟来处理10个结果文件,其中30 * 10 = 300 GB数据。带有Multiprocessing.Pool(10)的并行版本大约需要60分钟。令人惊讶的是,即使在120分钟之后,使用Joblib-Parallel(n_jobs = 10)进行的并行化也无法完成任务,结果我不得不停止执行。

任何人都可以解释为什么与Joblib-Parallel并行化要比串行版本慢吗?

0 个答案:

没有答案