Python 多处理池再平衡

Python 多处理池再平衡,python,python-multiprocessing,evolutionary-algorithm,deap,Python,Python Multiprocessing,Evolutionary Algorithm,Deap,我正在使用DEAP的多处理池 根据多种因素,对每个人的评估可能需要5秒到1分钟,时间越短,通常对应的健康状况越好 问题在于,由于这种可变性,每一代的完成时间会增加2+分钟,因为一些线程在执行长达分钟的评估时“卡住”,而所有其他线程都完成了评估,导致所有内核空闲等待1-2个线程 有没有一种方法可以“重新平衡”线程,这样在有空线程时就没有带队列的单个线程 有没有一种方法可以在不产生任何健康评分的情况下中止执行个体?(干脆扔掉它们)当池的30%已经闲置时立即跳到下一代

我正在使用DEAP的多处理池

根据多种因素,对每个人的评估可能需要5秒到1分钟,时间越短,通常对应的健康状况越好

问题在于,由于这种可变性,每一代的完成时间会增加2+分钟,因为一些线程在执行长达分钟的评估时“卡住”,而所有其他线程都完成了评估,导致所有内核空闲等待1-2个线程

  • 有没有一种方法可以“重新平衡”线程,这样在有空线程时就没有带队列的单个线程
  • 有没有一种方法可以在不产生任何健康评分的情况下中止执行个体?(干脆扔掉它们)当池的30%已经闲置时立即跳到下一代