如何生成信号以停止在分布式模型中执行其他进程

时间:2012-01-21 08:48:05

标签: algorithm mpi parallel-processing distributed-computing

问题是在大小为20gb的文件中搜索最大长度为10bytes的字符串。文件在一行中包含一个字符串。我正在编写并行编程来执行此操作。我只是将文件划分为约(文件/ P中的字节数)字节的p个进程,并且并行地读取所有进程的这个块。在此之后,我同时搜索了所有进程中的字符串。

所以我只想在所有其他进程中停止搜索,同时我在任何一个进程中获得字符串匹配,以获得并行编程的好处。

我们如何停止执行其他流程?

1 个答案:

答案 0 :(得分:1)

不确定它是否是最优雅的方式,但是一旦一个进程找到匹配的字符串,它就可以MPI_Isend()到所有进程,不再需要进行任何工作。

如果有等待的消息,每个进程都会使用MPI_Iprobe()检查一次,如果有:使用MPI_Rccv()接受它,现在该进程可以优雅地终止。