是否可以将附加节点(主机)热插入到工作的 OpenMPI 应用程序中?我们谈论的是生产环境,我们甚至无法承受 5 秒的停机时间。我感兴趣的场景有两种:
- 我们只是想通过增加一个广播监听器来增强计算能力。
- 一个节点死了,主节点很好地处理它并将任务重新分配给其他人。系统管理员进来,重新启动死节点并将其重新插入集群。
哪种平台独立的 MPI 实现最适合上述场景?OpenMPI 在这里不是必须的。
是否可以将附加节点(主机)热插入到工作的 OpenMPI 应用程序中?我们谈论的是生产环境,我们甚至无法承受 5 秒的停机时间。我感兴趣的场景有两种:
哪种平台独立的 MPI 实现最适合上述场景?OpenMPI 在这里不是必须的。
MPI-2——任何实现——确实允许动态进程,事实上添加进程目前比删除进程更可行。您可以使用MPI_COMM_SPAWN启动具有给定可执行文件的新进程,并返回可用于在旧(原始)进程之间进行通信的内部通信器。
这里的技巧是——没有任何东西会自动检测到新节点。你必须有一些过程来留意他们,SPAWN
对他们有所了解。如果新节点只是主节点的侦听器,那可能是最好的情况,因为只有主节点真正需要知道它。确保生成发生在新节点上而不是其他地方的调用将通过info
spawn 的参数完成,并且可能取决于实现。