2012-03-07 70 views
0

我的MPI应用程序将读取一系列图像来构建3-D数据。这是非常大的数据(大约4 GB)。我不希望数据分发给每个工作人员。我不知道如何处理这件事。共享内存可能是一个解决方案。但是如何使用MPI来使用共享内存。我已经搜寻了很多关于这个,没有发现好东西。有人可以给我建议或使用MPI进行大数据处理的示例(顺便说一下,我正在使用Open MPI实现)。 非常感谢您的大力帮助。MPI大数据处理

+0

MPI编程是一个完全分布式* * - 内存模型。对于共享内存,您需要像OpenMP之类的东西。 – chrisaycock 2012-03-07 05:04:50

+1

你*不希望将数据分发给每个工人?你究竟在问怎么做? – 2012-03-07 05:05:03

回答

1

您正在寻找的是添加到MPI-2中的单向通信。它在OpenMPI中可用。对于介绍,你可以看看http://www.linux-mag.com/id/1793/

的原则是,你创建一个窗口(共享内存的区域),那么你可以得到,或从窗口把数据。 MPI应该优化它以在可用时使用RMA。还有像围栏这样的机制来确保跨进程的同步。

+0

这就是我要找的。非常感谢Charles。 – user1253764 2012-03-07 16:25:36