在R中令人尴尬地平行

时间:2015-01-07 23:47:43

标签: r parallel-processing

R中是否有任何功能令人尴尬地并行,因为我的代码是完全独立的,并且不需要进程之间的任何通信(没有返回值)?

目前我正在使用snowfall包中的sfLapply,但我的代码总是给我一个错误

 Error in unserialize(node$con) : error reading from connection

似乎错误是由套接字之间的连接失败引起的,并且可能与某些进程中较长的运行时间有关。我想尝试令人尴尬的并行,以最大限度地减少套接字之间的通信。

我的会话信息:

> sessionInfo()
R version 3.1.1 (2014-07-10)
Platform: x86_64-unknown-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C         LC_TIME=C            LC_COLLATE=C        
 [5] LC_MONETARY=C        LC_MESSAGES=C        LC_PAPER=C           LC_NAME=C           
 [9] LC_ADDRESS=C         LC_TELEPHONE=C       LC_MEASUREMENT=C     LC_IDENTIFICATION=C 

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] snowfall_1.84-6 snow_0.3-13    

loaded via a namespace (and not attached):
[1] tools_3.1.1 

1 个答案:

答案 0 :(得分:2)

我建议使用并行软件包作为后端,因为它完全兼容跨平台。我还推荐'foreach'软件包,因为在具有不同内核数的系统之间移植代码非常容易。