簡體   English   中英

Windows群集上的並行R.

[英]Parallel R on a Windows cluster

我有一個Windows HPC Server在后端運行一些節點。 我想使用后端的多個節點運行Parallel R. 我認為Parallel R可能在Windows上使用SNOW,但不太確定。 我的問題是,我是否還需要在后端節點上安裝R? 假設我想使用兩個節點,每個節點32個核心:

cl <- makeCluster(c(rep("COMP01",32),rep("COMP02",32)),type="SOCK")

現在,它只是掛起。

我還需要做什么? 后端節點是否需要運行某種sshd以便能夠相互通信?

在Windows群集上設置snow是相當困難的。 每台機器都需要安裝R和snow ,但這很容易。 要啟動SOCK集群,您需要在每台工作計算機上運行一個sshd守護程序,但是您仍然可能遇到麻煩,所以除非您擅長調試和Windows系統管理,否則我不會推薦它。

我認為Windows群集的最佳選擇是使用MPI。 我自己在Windows上沒有任何MPI經驗,但我聽說有人在Windows上使用MPICH和DeinoMPI MPI發行版取得了成功。 在群集上安裝MPI后,還需要在每台工作計算機上從源安裝Rmpi軟件包。 然后,您將使用makeMPIcluster函數創建集群對象。 這是一項很多工作,但我認為由於Windows上的ssh / sshd問題,它最終可能比嘗試使用SOCK集群更有效。

如果您迫切希望在Windows群集上運行一次或兩次並行作業,則可以嘗試使用手動模式。 它允許您在沒有ssh的情況下創建SOCK集群:

workers <- c(rep("COMP01",32), rep("COMP02",32))
cl <- makeSOCKluster(workers, manual=TRUE)

makeSOCKcluster函數將提示您啟動每個worker,顯示每個worker使用的命令。 您必須在指定的計算機上手動打開命令窗口並執行指定的命令。 它可能非常繁瑣,特別是對於許多工人來說,但至少它並不復雜或棘手。 它與outfile=''選項結合使用也非常有用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM