我們使用MATLAB並行計算工具箱爲我們的項目之一,我們間歇性地出現以下錯誤的Socket操作錯誤是由於網絡問題,或pmode並行作業可能發生錯誤。這導致:java.io.IOException:由於系統缺少足夠的緩衝空間或隊列已滿而無法執行套接字上的操作與MATLAB和並行計算工具箱
所涉及的所有計算機均運行Windows XP SP3 32位,使用MATLAB 2009a。錯誤從不同的實驗室間歇發生。
任何想法將不勝感激。
這裏的代碼粗略/通用片斷爲它做什麼:
R = findResource();
matlabpool('open', 'local', R.ClusterSize);
spmd
... some loadlibrary() calls ...
end
parfor i = 1:num
... big calculations ...
end
%clear
matlabpool close
你試過增加Java內存嗎? – Jonas 2010-08-17 00:20:53
您每臺機器上運行多少名員工? 你正在向工作人員傳送大量數據嗎? 任何機會,你可以發佈一些代碼? – Edric 2010-08-17 07:49:30
@Jonas - 不幸的是我不知道該怎麼做,因爲Java組件似乎是Matlab內部的。 @Edric - 我們正在使用8名工人。我不確定數據的確切數量,但是我們會間歇性地遇到這個問題,而不管數據集(我們的一些大數據集是如何實現的,就像我們的一些相對較小的數據集一樣)。不幸的是它是專有代碼,但我會在我的問題中提供一些更通用的代碼片段。 謝謝! – russcollier 2010-08-17 14:13:06