doSMP:无法创建任务队列:超出限制

时间:2011-06-08 18:13:19

标签: windows r parallel-processing

我试图在Windows R中使用doSMP并行.CAll函数,但是出现了以下错误:

1: In startWorkers(wr) : there is an existing doSMP session using doSMP1
2: In startWorkers(wr) : there is an existing doSMP session using doSMP2
3: In startWorkers(wr) : there is an existing doSMP session using doSMP3
4: In startWorkers(wr) : there is an existing doSMP session using doSMP4
5: In startWorkers(wr) : there is an existing doSMP session using doSMP5
6: In startWorkers(wr) : there is an existing doSMP session using doSMP6
7: In startWorkers(wr) : there is an existing doSMP session using doSMP7
8: In startWorkers(wr) : there is an existing doSMP session using doSMP8 
9: In startWorkers(wr) :
possible leak of worker sessions: consider using FORCE=TRUE

我做了rmSessions(all = TRUE),但R总是冻结在以下几行:

attempting to delete qnames: doSMP1, doSMP2, doSMP3,doSMP4,doSMP5,doSMP6,doSMP7,doSMP8

我已多次重启R和Windows,甚至试图删除该软件包并重新安装它但仍无法正常工作。 无论如何要删除这些会话?

我想要的是并行调用.Call的for循环,是否有其他软件包可以在Windows R中执行此操作? 非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

我在使用doSMP库方面相当新,并且遇到了与您相同的问题。我确信还有其他软件包可以进行并行处理,尽管doSMP看起来使用起来相当简单。我养成了将rmSessions(all = T)放在我的代码开头(加载doSMP库之后)的习惯,只是为了确保没有活动的会话并且没有程序崩溃的问题。我认为你必须要记住的是每次循环结束时调用stopWorkers函数,否则R似乎对你生气。希望这会有所帮助。