Я использую функцию makeCluster из пакета R «параллельно» с машины Linux, чтобы запустить кластер с 16 узлами, работающими параллельно. Каждый узел выполняет обработку большого объема данных. Проблема в том, что мой скрипт дает результаты, но узлы не заканчиваются (они остаются активными, ничего не делая часами).
Мой код такой:
cl <- makeCluster(16)
parLapply (cl, seq (1, 16),
function(indice){
MY_TREATMENT .........
})
stopCluster(cl)
Я пытался убить узлы следующим образом:
cl <- makeCluster(16)
parLapply (cl, seq (1, 16),
function(indice){
id_son = Sys.getpid ()
MY_TREATMENT .........
system (paste0 ('kill -9', id_son)) })
stopCluster(cl)
Но это не работает и возвращает эту ошибку:
Error in unserialize(node$con) : error reading from connection
Есть идеи, как решить эту проблему?