2013-12-09 68 views
0

我遇到了使用MPI將多個文件劃分到多個節點的方法。使用MPI劃分工作

Approach1
讓說,我有5個文件和5個節點,所有的文件都存在一個節點上。現在,有沒有什麼辦法可以指導節點讀取我想要的文件,而無需發送或接收任何數據?
例如,
File1中 - >由節點1(此節點的所有數據)
File2->由節點2
File3->通過節點3
File4->讀讀取由節點4
File5-讀讀>通過節點5
(節點2,3,4,5-從節點1讀取數據)

Approach2讀
我的另一種方法是讀node1上的所有文件,然後開始將數據發送到節點2,3,4,和5.

請讓我知道是否還有其他我應該遵循的好方法。
在此先感謝。

回答

1

都是可能的,這取決於你需要什麼。在不知道你想做什麼的很多信息的情況下,你需要問自己的問題是,所有文件是否適合內存中的一個節點?如果是的,它可能是有意義的使用方法2,如果你不適合在單個節點上內存中的所有數據,然後使用方法1.

方法1看起來像

if(rank == 1){ 
//load file1 
} 
+0

謝謝您回覆。我在任何節點上都有足夠的內存來讀取所有數據,但如果您可以請指導我關於如何使用小代碼片段來實現這一目標的方法1,這將非常有幫助。 – JackSparrow

+0

當你初始化mpi時,你肯定需要使用分配給每個節點的'int rank' – pyCthon

+0

謝謝我也在這個方向思考和最後一個問題:如果node2想要從node1讀取數據,我應該使用「MPI_FILE_READ」? – JackSparrow