如何在实时流应用程序上使用mpi?

时间:2016-06-29 21:37:13

标签: c++ mpi boost-mpi

我有2个进程,一个进程将数据包流式传输到另一个进程,直到内部中断停止进程(发送的进程)。我希望有一个其他进程可以接收的机制,直到收到此通道上的任何消息。

除了将halt命令作为消息传输之外,还有什么方法可以做到这一点吗? 我不希望将结束/中断作为另一个消息发送,因为可能存在中断可以终止发送方进程的情况。

dTime = MicroTimer
For i = 1 To 10000
  If Cells(i, 4) <> Empty And Cells(i, 5) <> Empty Then
    'Do something
  Else
    'Do nothing
  End If
Next i
dTime = MicroTimer - dTime '21.0493610010926

1 个答案:

答案 0 :(得分:1)

如果其中一个MPI_COMM_WORLD进程死亡,则无法正常继续应用程序。发送暂停命令并让发送者保持活着绝对是你应该做的。

理论上,您可以在MPI中使用单向通信或使用超时机制(使用irecv / request::cancel),但我认为没有任何方法可以理解......