2012-03-07 74 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