尝试使用registerDoParallel注册集群后,R卡住了

时间:2019-05-11 09:49:52

标签: r foreach doparallel

我有一段R代码,它从未在我的笔记本电脑上冻结,但是有时(每100次)在计算群集上运行时,它在“ registerDoParallel(cl)”之后立即冻结。因此,年龄可能会过去-它不会继续前进。计算集群没有什么复杂的-只有具有32个内核和大量RAM的LINUX机器。即使我尝试注册具有1个核心的集群,它也可能冻结。

我尝试使用FORK或PSOCK群集-没关系,仍然无法每隔数次工作。从日志文件中获取有意义的信息非常困难-此命令后立即卡住:

library(foreach)
library(doParallel)
numberOfThreads = 4 # may be any number from 1 to e.g. 5
no_cores <- min(detectCores() - 1, numberOfThreads)
cl<-makeCluster(no_cores)#, type="FORK")
registerDoParallel(cl)

print("This message will never be printed if it freezes")

有人对它为何如此表现有任何想法吗?

UPD:忘记添加-发生此错误时,有很多可用的内核和大量的RAM。明确的解决方案-https://www.rdocumentation.org/packages/R.utils/versions/2.8.0/topics/withTimeout,并且重复尝试一次又一次地注册集群-但这太难看了。

0 个答案:

没有答案