Python Joblib 并行:不平衡并行处理

Python Joblib Parallel: Unbalanced Parallel Processing

提问人:Tartar 提问时间:9/28/2023 更新时间:9/28/2023 访问量:16

问:

我有一个数据帧,需要应用一些计算。为了减少时间,我将 DataFrame 分为 4 个子集并将它们存储在列表中。然后我尝试使用 Parallel 并将我的进程应用于每个 df 子集,并从 joblib 延迟。线路如下:

Parallel(n_jobs=4)(delayed(process_name)(df_subset) for df_subset in df_list)

但问题是,每个过程的经过时间都是超级不稳定和不平衡的。(通常,最后一个线程需要太多时间。图片是:(https://i.stack.imgur.com/Yagep.png)

为什么会这样?以及如何解决这个问题?有什么替代方案? (Windows 10、Python 3.10.7、joblib 1.2.0、pandas 1.5.3、numpy 1.24.2)

我期望的是平衡每个线程的处理时间,并减少一般的处理时间。

python-3.x 并行处理 joblib

评论

0赞 D.L 10/2/2023
该问题需要足够的代码才能获得最小的可重现示例

答: 暂无答案