2013-05-28 111 views
0

我正在嘗試使用R snow軟件包建立SOCKet集羣。R基於SOCKet的集羣

我有機會獲得5臺機器的IP地址: xxx.xxx.xx.x1 xxx.xxx.xx.x2 xxx.xxx.xx.x3 xxx.xxx.xx.x4 XXX。 xxx.xx.x5

As in this question,我已成功將公鑰複製到這些機器,以便無密碼身份驗證起作用。從R內,這個作品

library(parallel) 
library(snowfall) 
for (i in seq.int(5)) system(print(paste('ssh ', '[email protected]', i, ' date', 
            sep = ''))) 

但是,這個掛起。

sockCluster = makeSOCKcluster(c('[email protected]', 
        '[email protected]', 
        '[email protected]', 
        '[email protected]', 
        '[email protected]')) 

我錯過了什麼?

回答

0

我很困惑,你說你正在使用snow包,但示例加載parallelsnowfall。這可能與您的問題有關,但也存在如何指定遠程用戶的問題。

Snow始終使用ssh -l選項,其值爲user選項,該選項的默認值爲Sys.info()["user"]。有可能makeSOCKcluster失敗,因爲用戶被指定爲兩種方式,但這讓我感到驚訝。我建議你嘗試只指定user選項:

library(snow) 
sockCluster <- makeSOCKcluster(c('xxx.xxx.xx.x1', 
        'xxx.xxx.xx.x2', 
        'xxx.xxx.xx.x3', 
        'xxx.xxx.xx.x4', 
        'xxx.xxx.xx.x5'), user='root') 
+0

'並行'包含'雪'和'多核'。 – tchakravarty

+0

@fgnu但'makeSOCKcluster'在'snow'中定義。如果你想使用'parallel',你應該使用'makePSOCKcluster'來代替。如果你想使用MPI集羣,'snow'仍然是必要的,所以它不能被parallel併入。 –