Konfigurowanie snow
w klastrze systemu Windows jest dość trudne. Każda z maszyn musi mieć zainstalowane R i snow
, ale to łatwa część. Aby uruchomić klaster SOCK, potrzebowałbyś demona sshd działającego na każdym komputerze pracującym, ale nadal możesz napotkać problemy, więc nie polecałbym go, chyba że jesteś dobry w debugowaniu i administrowaniu systemem Windows.
Myślę, że najlepszą opcją w klastrze Windows jest użycie MPI. Nie mam żadnego doświadczenia z MPI na Windowsie, ale słyszałem o ludziach, którzy osiągnęli sukces dzięki dystrybucjom MPICH i DeinoMPI MPI dla Windows. Po zainstalowaniu MPI w klastrze, należy również zainstalować pakiet Rmpi
ze źródła na każdym komputerze roboczym. Następnie należy utworzyć obiekt klastra za pomocą funkcji makeMPIcluster
. To dużo pracy, ale wydaje mi się, że jest bardziej prawdopodobne, że w końcu zadziała niż próba użycia klastra SOCK ze względu na problemy z ssh/sshd w systemie Windows.
Jeśli rozpaczliwie chcesz uruchomić pracę równoległą raz lub dwa razy w klastrze systemu Windows, możesz spróbować użyć trybu ręcznego. To pozwala na tworzenie klastra SOCK bez ssh:
workers <- c(rep("COMP01",32), rep("COMP02",32))
cl <- makeSOCKluster(workers, manual=TRUE)
Funkcja makeSOCKcluster
poprosi, aby rozpocząć każdy z pracowników, wyświetlając polecenia użyć dla każdego. Musisz ręcznie otworzyć okno poleceń na określonym komputerze i wykonać określone polecenie. Może to być bardzo uciążliwe, szczególnie w przypadku wielu pracowników, ale przynajmniej nie jest skomplikowane ani trudne. Może być również bardzo przydatny do debugowania w połączeniu z opcją outfile=''
.
Tak, musisz zainstalować R na każdym węźle. –
@HongOoi i czy muszę podać lokalizację R lub po prostu domyślną? – Manolete