我刚刚在Mac OS-X Mountain Lion上使用本教程安装了Rmpi
:http://www.stats.uwo.ca/faculty/yu/Rmpi/mac_os_x.htm。我只需要使用Rmpi来使用所有内核,而不是在硬件集群或类似设备上部署。Rmpi是否需要互联网连接?
其实,一切正常,但现在我体验到,只要我没有一个活跃的互联网连接(如坐在火车上或只是转动无线)产卵奴隶将失败,我想知道这是否应该工作喜欢这个?
> require(Rmpi)
> mpi.spawn.Rslaves(nslaves=2)
--------------------------------------------------------------------------
At least one pair of MPI processes are unable to reach each other for
MPI communications. This means that no Open MPI device has indicated
that it can be used to communicate between these processes. This is
an error; Open MPI requires that all MPI processes be able to reach
each other. This error can sometimes be the result of forgetting to
specify the "self" BTL.
Process 1 ([[56132,1],0]) is on host: ABC-MB02
Process 2 ([[56132,2],0]) is on host: ABC-MB02
BTLs attempted: self sm
Your MPI job is now going to abort; sorry.
--------------------------------------------------------------------------
2 slaves are spawned successfully. 0 failed.
[ABC-MB02:53970] 2 more processes have sent help message help-mca-bml-r2.txt/unreachable proc
[ABC-MB02:53970] Set MCA parameter "orte_base_help_aggregate" to 0 to see all help/error messages
然后我的CPU的负载刚刚跳到100%,最终R会话会崩溃。
任何想法如何我可以避免这种行为?这是我的sessionInfo
R version 2.15.2 (2012-10-26)
Platform: x86_64-apple-darwin9.8.0/x86_64 (64-bit)
locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] graphics grDevices datasets stats utils methods base
other attached packages:
[1] Rmpi_0.6-3 ggplot2_0.9.3 stringr_0.6.2 reshape2_1.2.2 plyr_1.8
loaded via a namespace (and not attached):
[1] colorspace_1.2-1 dichromat_2.0-0 digest_0.6.3 grid_2.15.2 gtable_0.1.2 labeling_0.1
[7] MASS_7.3-23 munsell_0.4 proto_0.3-10 RColorBrewer_1.0-5 scales_0.2.3 tools_2.15.2
对于单个机器来说,使用'parallel'包中'mclapply'和朋友系列函数通常要方便得多,这些使用共享内存和分叉,而不是产生独立的进程。它也可能有助于为你的问题添加一个'mpi'标签,因为它听起来不像R特有的。 –
@MartinMorgan谢谢你的建议。问题是,我并不真正控制使用哪个并行库,因为这些功能是在我正在构建的其他软件包(来自Bioconductor的'xcms'和'CAMERA')中实现的。这些软件包只是测试是否安装了'Rmpi'(首选)或'snow',并将计算部署到我指定的多个核心。但是,用'雪'我可以绕过这里描述的问题,但面对其他问题。 – Beasterfield
这些软件包来自同一组;也许发送电子邮件到'packageDescription('CAMERA')$ Maintainer'和xcms会导致一个长期的解决方案? –