MPI服务器

时间:2015-05-27 08:39:24

标签: client-server mpi

假设我有一个MPI服务器和两个客户端--A和B,并且它们都同时连接到同一个MPI服务器。

this网站,它声明"If A is connected to B and B to C, then A is connected to C.""an error in one may affect the other"

这是否意味着如果B崩溃,对服务器的A + mpi呼叫也会受到影响?

如果是这样,是否有任何解决办法将它们分开,以免彼此影响?

2 个答案:

答案 0 :(得分:1)

我对MPI容错的看法比Jonathan Dursi更为积极,但只是略有不同。

您可以指示MPI报告错误。您不会清楚地知道您将如何处理这些信息,但在某些情况下,可能会重试或采取其他方法。

本文引用了很多文章并讨论了MPI的一个子集可能能够移植并仍然保持容错:http://www.mcs.anl.gov/~lusk/papers/fault-tolerance.pdf

很抱歉发送幻灯片而非实际内容,但Wes Bland在这个主题上做了很多工作(我相信他会在几分钟内提供更好的答案)http://www.mcs.anl.gov/~wbland/slides/jlpc13.pdf

答案 1 :(得分:1)

Rob Latham召唤......

MPI不保证您在发生故障后仍然可以与其他进程通信,但是尝试启用该使用模型已经有非标准的工作。

User Level Failure Mitigation是一种让您检测故障并继续执行的方法。链接的站点有一些示例和用例以及ULFM的完整规范。如果您想要的只是检测故障并继续,您可能不需要它提供的所有内容。您可以在该网站下载Open MPI的分支,也可以使用MPICH的已发布版本。对于任何一个,请使用MPIX_前缀作为新函数。

正如Jonathan Dursi在上面的评论中提到的那样,如果您正在寻找客户端/服务器模型,MPI可能不适合您。是的,这是可能的,但它并没有真正针对该用例进行优化,使用不同的通信机制可能会有更好的运气。