我正在编写一个程序来检测远程机器的突然崩溃。manager 进程在机器 1 上运行,worker 进程在机器 2 上运行。 manager 服务器通过调用 向 worker 进程发送消息MPI_Isend
。远程工作者通过调用MPI_Irecv
. 每次通话后,我总是检查他们的返回码,看看是否有问题MPI_COMM_WORLD
。我还检查MPI_Test
了在 send 和 recv 调用之后运行的返回码。
不知何故,即使在我突然重新启动机器 2 后,返回码也始终为 0。我可以看到MPI_Isend
总是返回值 0。请给我一些关于如何检测远程机器故障的建议。
顺便说一句,我确实使用了以下语句:
MPI_Errhandler_set(MPI_COMM_WORLD,MPI_ERRORS_RETURN);