在R中令人尴尬地平行

embarrassingly parallel in R

R 中是否有任何函数可以实现令人尴尬的并行,因为我的代码是完全独立的并且不需要进程之间的任何通信(没有 return 值)?

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

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

错误似乎是由套接字之间的连接失败引起的,并且可能与某些进程中运行时间较长有关。我想尝试 embarrassingly parallel 来最小化套接字之间的通信。

我的会话信息:

> 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 

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