パッケージを使用しforeach
てコードを並行して実行しています。「小さな」データ セットでは正しく機能しますが、より大きなデータ セットでは実行できません。具体的には、次のエラーがスローされます。
serialize(data, node$con) のエラー: 接続への書き込みエラー
これは私のコードです:
library(foreach)
library(doParallel)
library(iterators)
numCores = detectCores() - 1
clm = makePSOCKcluster(numCores)
registerDoParallel(clm)
results = foreach(i = 1:1000) %dopar% {
myFunction(i, otherArguments)
}
stopCluster(clm)
実行中、タスク マネージャーで、プログラムが停止する前にメモリがほぼ 100% に達していることに気付きました。さまざまな数のコアを使用して を設定しようとしmemory.limit()
ましたが、体系的な方法ではなく、問題が解決しませんでした。私の問題は何ですか?どうすれば解決できますか?
コンピューター: Windows 10 64 ビット、28 GB RAM、CPU 8 コア、R3.2.2 (64 ビット)
同様のものがここに投稿されたことは知っていますが、問題は解決されませんでした。