gpt4 book ai didi

algorithm - 如何最小化并行计算的运行时间?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:05:06 24 4
gpt4 key购买 nike

假设有一个函数f 确定一组n embarrassingly parallel 的结果。计算,并在找到最后一个问题的答案后立即终止。 n 进程中的每一个都会花费该进程独有的一些不可忽略的时间,并且在计算上花费的时间与计算期间完成的工作之间存在完美的线性相关性。

用更数学术语来说,每个 i 并行子问题 n_i 都需要时间 t_i 来终止,并且每个 t_i 对于每个并行子问题都是唯一的。

给定这些条件和无限数量的处理器,很容易看出算法的总运行时间正好是 max(t)。然而,人们编程的计算机有有限数量的处理器 p,之后引入更多的子进程会使现实系统不堪重负,实际上会增加 f 的总运行时间。

我的问题是 - 考虑到子进程数量受 p 限制的实际场景 - 可以确定如何最佳安排并行化子问题集的最快算法是什么 n 跨越 p 个处理器,以最小化函数 f?

的总运行时间

最佳答案

感谢stark对bin packing问题的评论,我发现这个问题居然有名字!它被称为 Multiprocessor Scheduling Problem 非常明智。 .正如我所怀疑的那样,它属于 NP,这意味着没有有效的算法来解决它。在我目前正在编写的应用程序的上下文中,这是一个非常不幸的消息,但了解它还是很有用的!

关于algorithm - 如何最小化并行计算的运行时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45445967/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com