Python multiprocessing 并行化原则

处理multiprocessing解决棘手的并行问题时,遵循以下策略:

  • 把工作拆分成独立单元;
  • 如果每项工作所花的时间是可变的,那就考虑随机化工作的序列;
  • 对工作队列进行排序,首先处理最慢的任务可能是一个最有用的策略(平均而言);
  • 对于细小琐碎的任务,考虑将他们合并分块(chunk),这样能有效减小fork/join通信开销;
  • 任务数量与物理CPU数量保持一致;

部分摘自 <High Performance Python> (by Micha Gorelick, Ian Ozsvald)


已发布

分类

来自

标签:

评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据