一个核心上的所有作业都因R多核而失败

时间:2013-02-01 19:58:59

标签: r multicore mclapply

我在很长的名单上使用R多核。我在列表上调用了mclapply,它在我的机器上使用了12个核心。

当我的列表有大约1000个元素长时,它运行正常。 当我的列表超过〜2000个元素时(我不确定这个行为会在多长时间内启动),那么提交给核心5的所有作业都会失败。

(我通过将列表元素ID提交给this website找到了这一点。)

我在几个节点上尝试了这个但是我总是得到以下警告:

Warning message:
In mclapply(h.list, train_and_predict, learn.bias = F, ntree = ntree,  :
  scheduled core 5 encountered error in user code, all values of the job will be affected

问:为什么只有一个核心会失败?

非常感谢任何帮助。

PK

1 个答案:

答案 0 :(得分:2)

我认为当至少一个数据激活代码中的错误时会发生这种情况。 multicore无法恢复,并且该核心上的所有数据都已损坏。 mclapply在所有节点上均匀地划分数据,如果在一个节点上甚至一个数据都失败了。

我建议使用以下解决方案:从MN数据项开始;如果失败则逐渐减少M直到它起作用;然后M+1数据有问题。以mclapply为止的数据连续运行代码(即不使用M+1)并查看失败的位置。那就是错误。