Выполните следующие действия:
Составьте список адресов машин вы можете SSH. Это сложная часть, зависит от вашей операционной системы и того, с чем вам следует обратиться, если вы еще не пробовали ее раньше. В этом случае я использую адреса ipV4, но при использовании Amazon EC2 я использую имена хостов.
В моем случае мой список:
Моя машина (первичная): «192.168.1.235», пользователь «rajeevkumar» Другой Win-Vector LLC машины: «192.168.1.70», пользователь «rajeevkumar »
Заметьте, что мы не собирать пароли, как мы предполагаем, мы создали правильную “authorized_keys”
и пары ключей в “.ssh”
конфигурации всех этих машин. Мы называем машину мы используем, чтобы выдать общий вычислительный «первичный».
Жизненно вы пытаетесь все эти адреса с «SSH» в терминале оболочки, прежде чем пытаться их с R.
Теперь системный материал позади нас, часть R выглядит следующим образом. Начните свой кластер с:
primary <- '192.168.1.235'
machineAddresses <- list(
list(host=primary,user='johnmount',
ncore=4),
list(host='192.168.1.70',user='johnmount',
ncore=4)
)
spec <- lapply(machineAddresses,
function(machine) {
rep(list(list(host=machine$host,
user=machine$user)),
machine$ncore)
})
spec <- unlist(spec,recursive=FALSE)
parallelCluster <- parallel::makeCluster(type='PSOCK',
master=primary,
spec=spec)
print(parallelCluster)
## socket cluster with 8 nodes on hosts
## ‘192.168.1.235’, ‘192.168.1.70’
И все. Теперь вы можете выполнять свою работу на многих ядрах на многих машинах.
Вы можете прочитать по адресу:
http://www.r-bloggers.com/running-r-jobs-quickly-on-many-machines/
Для детальных команд смотрите здесь https://stackoverflow.com/questions/44912893/running-parallel-r-on-multiple-hosts/44912894 # 44912894 – niths4u