MPI单一过程

时间:2014-10-17 10:23:59

标签: mpi

我是集群技术的新成员,我正在为我的公司测试MPICH2集群解决方案。

我们有一个实际上以这种方式行事的c程序:

  • 有一个主进程连接到数据库广告准备数据
  • 主进程使用不同的命令行参数创建一些子进程(使用fork()命令创建从进程)

可以在MPICH2集群上运行这些进程而无需修改吗? 否则,在群集上运行此程序需要进行哪些修改?

感谢所有

1 个答案:

答案 0 :(得分:0)

不要在单个机器上的并行进程和分布式进程(通过MPI)之间混淆,因为它们不是同一个东西。今天还有另一个问题是,我遇到了同样的问题,所以我会引用你的答案:https://stackoverflow.com/a/26428033/491687

调用fork()只会在与主进程相同的计算机上创建更多进程。如果你只是要使用共享内存和一些进程,那很好。但是,如果您需要使用大量进程处理大量数据(进程数量和内核数量,大致相同),那么MPI可能会有所帮助,因为它允许您将多台计算机连接在一起并在它们之间传递数据。

所以简短的回答是:不,你不能在没有修改的情况下使用MPI。将fork / join程序转换为MPI程序需要进行大量修改。这是设计的。他们不会试图解决同样的问题。