我们使用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