【发布时间】:2011-10-18 08:11:42
【问题描述】:
在 MPI 中,是否可以在启动后添加新节点?例如,我有 2 台计算机已经在运行并行 MPI 应用程序。我在第三台计算机上启动此应用程序的另一个实例并将其添加到现有的通信器中。所有计算机都在本地网络中。
【问题讨论】:
标签: mpi distributed-computing openmpi
在 MPI 中,是否可以在启动后添加新节点?例如,我有 2 台计算机已经在运行并行 MPI 应用程序。我在第三台计算机上启动此应用程序的另一个实例并将其添加到现有的通信器中。所有计算机都在本地网络中。
【问题讨论】:
标签: mpi distributed-computing openmpi
MPI2 程序有可能产生新的等级。该函数是MPI_Comm_spawn,它在一个新的 MPI 通信器上启动子进程。也就是说,新的排名与之前运行的排名有不同的 MPI_COMM_WORLD。不过,应该可以创建一个包含所有当前正在运行的队伍的新通信器。
【讨论】:
不,目前无法将新节点添加到正在运行的 MPI 应用程序。 MPI 旨在了解程序启动时的节点总数。
正在处理出现故障的节点(例如在MPI-3)。也许如果您可以重新添加故障节点,那么您可以添加新节点,但这是我能想到的最接近的事情。有关 MPI 容错方法的更多信息,请参阅this answer。
【讨论】: