【发布时间】:2015-02-13 15:40:38
【问题描述】:
这是我的代码。循环内的东西是有道理的。
library(foreach)
library(doParallel)
cl <- makeCluster(7)
registerDoParallel(cl)
elasticitylist = foreach(i=1:nhousehold) %dopar% {
pricedraws = out$betadraw[i,12,]
elasticitydraws[,,i]= probarray[,,i] %*% diag(pricedraws)
elasticitydraws[,,i] = elasticitydraws[,,i] * as.vector(medianpricemat)
}
我不断收到此错误:
Error in serialize(data, node$con) : error writing to connection
我知道我有足够的核心(有 20 个)。有人能帮忙吗?似乎在文档中找不到答案!
当我在我的 unix 服务器上运行 ps -ef| grep user 时,我得到:
/apps/R.3.1.2/lib64/R/bin/exec/R --slave --no-restore -e parallel:::.slaveRSOCK() --args MASTER=localhost PORT=11025 OUT=/dev/null TIMEOUT=2592000 METHODS=TRUE XDR=TRUE
【问题讨论】:
-
代码与你的基本相同,除了一些手工生成的数据对我有用。如果您使示例可重现,我可以再看一下。您是否使用了不寻常的数据结构?
-
数据很大,但并不罕见。我认为 out$betadraw 是一个矩阵切片,可以吗?
标签: r parallel-processing