假设我有一个包含27个节点的HPC群集。我想执行100个工作,每个工作需要10000秒的计算时间。如果单个节点连续完成整个作业,则可以达到100 x 10000秒或11.57天。我的第一个假设是我可以简单地将11.57除以27以获得0.43天的集群计算时间。这是一个很好的估计吗?我觉得它可能更复杂,我错过了一些东西。也许我只是在思考......我只需要最准确的评估。
答案 0 :(得分:1)
使用Amdahl定律(https://en.m.wikipedia.org/wiki/Amdahl%27s_law),将总时间分成必须连续完成的部分,以及可以并行完成的部分。将第二部分除以您拥有的处理节点数,添加第一部分,您就可以估计需要多长时间。
一般而言,如果您的工作在很大程度上是独立的,那么必须连续完成的唯一部分就是启动作业和收获结果(如果有的话),这些结果必须传回中央处理器。