我正在並行運行多個進程,並且每個進程並行地讀取同一個文件。它看起來像某些進程看到文件的損壞版本,如果我將進程數量增加到> 15左右。處理這種情況的推薦方式是什麼?從多個進程並行讀取文件
更多詳細信息: 並行讀取的文件實際上是一個perl腳本。多個作業是python進程,每個作業都使用不同的輸入參數獨立啓動此perl腳本。當作業數量增加時,這些作業中的一部分會給出perl腳本語法無效的錯誤(這不是真的)。因此,我懷疑其中一些作業是在損壞的perl腳本中讀取的。
我正在32core機器上運行所有這些。
「它看起來像一些進程看到文件的損壞版本」 - 2件事情:(1)您的同步邏輯中可能有一個錯誤。 (2)不太可能讀取多個進程的文件會使其更快,但可能會更慢。 – 2014-09-26 00:22:05
沒有任何同步邏輯。正如我所說,這個文件是一個perl腳本,並行啓動。所以是的,它會更快,因爲每個perl進程都在獨立數據集上工作 – slash90 2014-09-26 00:26:09
「沒有任何同步邏輯」 - 存在您的問題! (我想的很多)。閱讀我再次說的話。我沒有說你大概複雜的處理速度不會更快,我說「它不太可能讀取多個進程的文件會使它更快(即文件讀取部分)」 – 2014-09-26 00:27:42